From 8bab63b174dfca2a8837486210c63e50121ab90a Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Thu, 12 Jan 2023 07:48:59 -0500 Subject: [PATCH 01/11] docs: add design tokens ADR --- ...support.md => 0018-typescript-support.rst} | 4 +-- ...0019-scaling-styles-with-design-tokens.rst | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) rename docs/decisions/{0018-typescript-support.md => 0018-typescript-support.rst} (94%) create mode 100644 docs/decisions/0019-scaling-styles-with-design-tokens.rst diff --git a/docs/decisions/0018-typescript-support.md b/docs/decisions/0018-typescript-support.rst similarity index 94% rename from docs/decisions/0018-typescript-support.md rename to docs/decisions/0018-typescript-support.rst index 601018845d..be67169448 100644 --- a/docs/decisions/0018-typescript-support.md +++ b/docs/decisions/0018-typescript-support.rst @@ -1,5 +1,5 @@ -18. TypeScript support. ----------------------------------------------------------------- +18. TypeScript support +----------------------- Status ------ diff --git a/docs/decisions/0019-scaling-styles-with-design-tokens.rst b/docs/decisions/0019-scaling-styles-with-design-tokens.rst new file mode 100644 index 0000000000..c7d1cc5d31 --- /dev/null +++ b/docs/decisions/0019-scaling-styles-with-design-tokens.rst @@ -0,0 +1,27 @@ +19. Scaling the Paragon design system's styles with design tokens and `style-dictionary` +---------------------------------------------------------------------------------------- + +Status +------ + +Provisional + +Context +_______ + +TODO + +Decision +________ + +TODO + +Consequences +------------ +TODO + +Resources +---------- + +TODO + From d803816c10954ab4c52bafb4555e6783f9daf4e4 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Fri, 20 Jan 2023 09:20:10 -0500 Subject: [PATCH 02/11] docs: design tokens ADR --- ...0019-scaling-styles-with-design-tokens.rst | 97 +++++++++++++++--- .../assets/style-dictionary-build-diagram.png | Bin 0 -> 196232 bytes 2 files changed, 85 insertions(+), 12 deletions(-) create mode 100644 docs/decisions/assets/style-dictionary-build-diagram.png diff --git a/docs/decisions/0019-scaling-styles-with-design-tokens.rst b/docs/decisions/0019-scaling-styles-with-design-tokens.rst index c7d1cc5d31..95bde473e4 100644 --- a/docs/decisions/0019-scaling-styles-with-design-tokens.rst +++ b/docs/decisions/0019-scaling-styles-with-design-tokens.rst @@ -1,27 +1,100 @@ -19. Scaling the Paragon design system's styles with design tokens and `style-dictionary` ----------------------------------------------------------------------------------------- +1. Scaling the Paragon design system's styles with design tokens and `style-dictionary` +######################################################################################## Status ------- +====== Provisional Context -_______ +======= -TODO +A critical component of the Open edX platform is the ability to customize its visual styles to reflect the custom brand of its consumers in the Open edX community. Historically, the Open edX platform (via `edx-platform`) has supported a comprehensive theming system fulfilling the community's theming needs, including brand customization but also functionality, too (e.g., modifying, adding, or removing user interface elements). However, as we've moved towards React micro-frontends, the theming from a brand customization perspective has been largely replaced by the theming system provided by the Paragon design system. + +Within Paragon, "theming" predominantly refers to brand customization as it relates to visual styles. It does not intend to be responsible for customization of functionality as in the historical sense of comprehensive theming in `edx-platform`. Enabling such customization to bring comprehensive theming support to micro-frontends is on the roadmap for the Frontend Working Group as a separate initiative outside of Paragon itself. + +Current styles architecture +--------------------------- + +Today, Paragon's core styles are heavily based on `Bootstrap 4 `_. The decision to rely on Bootstrap was to extend a popular, existing repsonsive CSS framework to get an initial design system created more efficienctly than creating all styles from scratch in addition to general knowledge and awareness of Bootstrap throughout the frontend community (see `OEP-16 `_ for more details). + +Bootstrap 4 supports theming of visual styles through SCSS variables. As a result, Paragon's current theming system also relies overriding SCSS variables, both from core Bootstrap and custom Paragon variables. + +While Paragon's SCSS theming system has largely supported Open edX's transition from building legagy UIs in Django to React micro-frontends, we have identified several challenges that hinder its continued scalability and use in micro-frontends throughout Open edX. + +Challenges with current styles architecture +------------------------------------------- + +* **On theme changes, all its consuming applications must be upgraded, re-built, and re-deployed.** + + * Because Paragon currently heavily relies on SCSS variables for its theme, when any SCSS variable(s) are changed, every application consuming that theme needs to upgrade to the new version, be re-built, and get re-deployed. + + * With applications needing to be rebuild/redeployed, it's a significant effort to upgrade all applications to the new theme, especially if trying to do all applications at once. + + * With runtime theming via CSS variables, when a change is made to the theme, only the theme itself should need to get re-built, and the styles should automatically get applied to all consuming applications without needing to explicitly upgrade, re-build, and re-deploy those applications. + +* **Paragon styles are not platform agnostic nor a single source-of-truth.** + + * The styles associated with Paragon themes are largely only accessible in environments that support SCSS as pretty much all Paragon's style properties are baked into SCSS variables. + * Ideally, the style properties would be defined in a platform agnostic way such that they can be transformed for various platforms, like iOS and Android apps or even a Figma integration. + + * *Note: these additional platform support ideas is more of a longer-term vision for how we could extend the design tokens work further in the future.* + +* **Supporting both system-wide themes and organizational themes.** + + * The primary theming use case for Paragon is largely around system-wide theming, where all applications in the Open edX ecosystem share the same theme. + * However, there are use cases for organizational themes, too (i.e., updating the colors for specific partners/organizations, enterprise customers, etc.). + + * This is not well supported today and largely requires overriding CSS classes from Paragon rather than the desired approach of overriding underlying CSS variable(s). This an anti-pattern as Paragon class names should really be considered internal implementation details of Paragon components, and not used by consumers directly. + +* **Dependence on Bootstrap's internal styles.** + + * Since Paragon is largely built on top of Bootstrap 4, it relies heavily on Bootstrap's styles and SCSS variables for many core aspects of Paragon themes. However, Bootstrap 4 itself doesn't support runtime theming nor does it give us control to replace its variables with Paragon-specific CSS variables. Decision -________ +======== -TODO +We will migrate Paragon's theming and styles architecture to rely on CSS variables instead of SCSS variables to enable runtime theming support for consuming applications throughout the Open edX platform. + +In order to create a scalable, platform-agnostic way to define style properties (i.e., design tokens), Paragon will utilize `style-dictionary` (`docs `_), a "build system that allows you to define styles once, in a way for any platform or language to consume." + +If Paragon opted to hardcode the new CSS variables derived from the existing SCSS variables, we would still be in a situation where our design tokens are not platform-agnostic in that supporting CSS variables alone implies Paragon can only be utilized by browser-based applications. + +However, one of the long-term visions for the Paragon design system is to be the source of truth for visual styles across the entire Open edX ecosystem. This includes the iOS and Android mobile applications, which currently define and manage their styles (e.g., colors, spacing, etc.) separately from the design system itself even though they share similar design principles. + +By only transforming our hardcoded SCSS variables to hardcoded CSS variables, we would be missing out on the opportunity to iterate towards the vision of making the Paragon design system be platform-agnostic. + +As a result, Paragon's existing SCSS variables will be migrated to design tokens defined as JSON files that get transformed by `style-dictonary` into various platform-specific styles. To start, we are transforming the design tokens specified in JSON to CSS variables as well as some CSS utility classes. In the future, our approach may expand to transforming the design tokens to iOS and Android compatible files as well. + +By utilizing a tool like `style-dictonary`, the naming convention of design tokens and the resulting CSS variables will be standardized and consistent (e.g., prefixed with `pgn-`, defined within the context of specified categories like `color`). + +An additional longer term vision may also include transforming the Paragon design tokens to be compatible with Figma, such that the Paragon design tokens are truly a single source of truth across both design and engineering. + +How does `style-dictionary` work? +--------------------------------- + +At its core, `style-dictionary` finds all design token files, deep merges them together, and then parses them based on a configuration for how it should transform the discovered design tokens. As it parses the design token files, it resolves aliases or references to other design tokens. The final output from `style-dictionary` are automatically generated files (e.g., `variables.css`) based on the platforms specified in the configuration. + +.. image:: ./assets/style-dictionary-build-diagram.png + :width: 100% + :alt: `style-dictionary` build architecture diagram Consequences ------------- -TODO +============ + +* **Updates required for consuming applications using and/or overriding SCSS variables.** + + * We are attempting to mitigate this concern keeping the SCSS variables Paragon has in place today, but redefining them to reference the newly generated CSS variables instead. This approach should allow consumers who rely on the existing SCSS variables to continue to use them as they are, but still utilize the underlying CSS variable for runtime theming support instead. + * We also plan to ensure the output CSS/SCSS supported by Paragon is well-documented such that consumers know what variables are available to use. + +* **Breaking change for how Paragon themes are currently created.** -Resources ----------- + * Currently, Paragon themes are created following the guidance in `@edx/brand-openedx`, which defines a set of files in which theme authors should modify to override the core Paragon starter theme. These files include a `_variables.scss` file in which theme authors may override any of Paragon's SCSS variables. + * With design tokens, theme authors will no longer override any variables in SCSS/CSS directly, but rather define JSON files to override the core Paragon design tokens. After re-building the theme, a new `variables.css` file representing all the CSS variables for the theme is generated, including the overriden values in theme's custom JSON files. + * The resulting CSS file may be hosted on a CDN and applied at runtime to consuming applications. -TODO +* **Onboarding designers and engineers to design tokens.** + * Given defining styles via JSON files is a bit of a nascent paradigm, there is a fair concern that onboarding designers and engineers to this new styles architecture may be more difficult than defining traditional styles (e.g., hardcoding CSS variables). That said, with adequate documentation and training, we feel the benefits of design tokens for Paragon's future scalability outweigh potential increased complexities with getting up to speed with design tokens. + * There is also a vision that there could, in the future, be a user interface built on top of the JSON design tokens such that changes could be made by designers and engineers alike without needing to understanding the underlying `style-dictionary` tool and JSON schema. + * Design tokens will also be annotated with brief descriptions of their purpose, which will be helpful for theme authors. diff --git a/docs/decisions/assets/style-dictionary-build-diagram.png b/docs/decisions/assets/style-dictionary-build-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..80dd14f179d9cacc480d3dda633c697282a5219e GIT binary patch literal 196232 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�)|Vuz=0HMM+(Ai2EJP}6JM5p(If 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

F2Vj<=K$!DAs0m2p+Tcm(M7IjvVx}l|C{f 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 QN5GeasEkN~kgo6l0gpq)!vFvP literal 0 HcmV?d00001 From af1d63d50df87762080dadb142f7d52be044e82a Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Fri, 20 Jan 2023 17:33:01 -0500 Subject: [PATCH 03/11] docs: update to ADR with more details and examples --- ...0019-scaling-styles-with-design-tokens.rst | 146 +++++++++++++++++- 1 file changed, 143 insertions(+), 3 deletions(-) diff --git a/docs/decisions/0019-scaling-styles-with-design-tokens.rst b/docs/decisions/0019-scaling-styles-with-design-tokens.rst index 95bde473e4..6ec5a83f69 100644 --- a/docs/decisions/0019-scaling-styles-with-design-tokens.rst +++ b/docs/decisions/0019-scaling-styles-with-design-tokens.rst @@ -16,7 +16,7 @@ Within Paragon, "theming" predominantly refers to brand customization as it rela Current styles architecture --------------------------- -Today, Paragon's core styles are heavily based on `Bootstrap 4 `_. The decision to rely on Bootstrap was to extend a popular, existing repsonsive CSS framework to get an initial design system created more efficienctly than creating all styles from scratch in addition to general knowledge and awareness of Bootstrap throughout the frontend community (see `OEP-16 `_ for more details). +Today, Paragon's core styles are heavily based on `Bootstrap 4 `__. The decision to rely on Bootstrap was to extend a popular, existing repsonsive CSS framework to get an initial design system created more efficienctly than creating all styles from scratch in addition to general knowledge and awareness of Bootstrap throughout the frontend community (see `OEP-16 `__ for more details). Bootstrap 4 supports theming of visual styles through SCSS variables. As a result, Paragon's current theming system also relies overriding SCSS variables, both from core Bootstrap and custom Paragon variables. @@ -56,7 +56,7 @@ Decision We will migrate Paragon's theming and styles architecture to rely on CSS variables instead of SCSS variables to enable runtime theming support for consuming applications throughout the Open edX platform. -In order to create a scalable, platform-agnostic way to define style properties (i.e., design tokens), Paragon will utilize `style-dictionary` (`docs `_), a "build system that allows you to define styles once, in a way for any platform or language to consume." +In order to create a scalable, platform-agnostic way to define style properties (i.e., design tokens), Paragon will utilize `style-dictionary` (`docs `__), a "build system that allows you to define styles once, in a way for any platform or language to consume." If Paragon opted to hardcode the new CSS variables derived from the existing SCSS variables, we would still be in a situation where our design tokens are not platform-agnostic in that supporting CSS variables alone implies Paragon can only be utilized by browser-based applications. @@ -75,13 +75,145 @@ How does `style-dictionary` work? At its core, `style-dictionary` finds all design token files, deep merges them together, and then parses them based on a configuration for how it should transform the discovered design tokens. As it parses the design token files, it resolves aliases or references to other design tokens. The final output from `style-dictionary` are automatically generated files (e.g., `variables.css`) based on the platforms specified in the configuration. +The majority of the above architecture is handled `style-dictionary` itself; what concerns Paragon is how to define its configuration (i.e., which platforms to support) and the design tokens JSON file schema. + .. image:: ./assets/style-dictionary-build-diagram.png :width: 100% :alt: `style-dictionary` build architecture diagram +Design tokens implementation in Paragon +---------------------------------------- + +In Paragon's design token implementation with `style-dictionary`, there will be a new directory (`tokens`) containing the JSON files representing Paragon's design tokens schema. These tokens represent style properties defined at several different layers of abstraction: + +1. Global tokens +2. Alias tokens +3. Component tokens + +Global tokens +^^^^^^^^^^^^^ + +The primitive values in the Paragon design language. The color palette, typography, spacing, animation, etc. are treated as global tokens. They may be used directly, and are inherited by other token types. + +Example:: + + { + "color": { + "primary": { + "500": { + "value": "#00262B", + }, + "base": { + "value": "{color.primary.500.value}", + } + } + } + +The above global tokens would be transformed into CSS variables by `style-dictionary` as follows:: + + --pgn-color-primary-500: #00262B; + --pgn-color-primary-base: var(--pgn-color-primary-500); + +Alias tokens +^^^^^^^^^^^^ + +Intends to map global tokens and even other alias tokens to specific contexts, communicating the intended purpose of a token. + +Example:: + + { + "color": { + "theme": { + "default": { + "primary": { + "value": "{color.primary.500.value}" + } + } + } + } + } + +The above alias token would be transformed into a CSS variable by `style-dictionary` as follows:: + + --pgn-color-theme-default-primary: var(--pgn-color-primary-500); + +Component tokens +^^^^^^^^^^^^^^^^ + +An exhaustive representation of every value associated with specific components in the design system. Component tokens give explicit control over component-specific styles. They may inherit from other token types. + +Example:: + + { + "color": { + "btn": { + "bg": { + "primary": { + "value": "{color.theme.default.primary.value}" + } + } + } + } + } + +The above component token would be transformed to a CSS variable by `style-dictionary` as follows:: + + --pgn-color-btn-bg-primary: var(--pgn-color-theme-default-primary); + +By creating tokens within these 3 categories, the Paragon theming system provides more explicit control in how design tokens are utilized throughout the design system and its components. + +For example, by using alias tokens, theme authors may change the style properties of components consuming a specific alias token(s) without needing to necessarily change any underlying global token itself. + +In the token examples shown above, say the button component token referred directly to a global token instead. To update that button's background color (say, to a darker shade of the base primary color), the theme author must update the foundational global token to change the button color. However, this may have unintentend consequences in changing the color of components that were not intended to be changed. + +Instead, by having the component token inherit from an alias token, theme authors can modify the alias token without needing to change the underlying global token, which helps mitigate concerns around changing a foundational style property heavily used throughout the entire design system. + +In the above example, for instance, the value of `--pgn-color-theme-default-primary` could be changed to `{color.primary.700}` rather than changing the underlying value of `{color.primary.500}` directly, which might need to remain at its current value given its use elsewhere throughout the design system. + +Additional token file examples +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Please refer to the `tokens `__ defined in the current `alpha` release of Paragon. + +Implications for theme authors (e.g., `@edx/brand` packages) +------------------------------------------------------------ + +Currently, Paragon recommends theme authors to create a theme package such as `@edx/brand-openedx` (`Github `__) and `@edx/brand-edx.org` (`Github `__). + +While the migration from SCSS variables to CSS variables is a breaking change for theme authors, we have tried to mitigate this by keeping the existing SCSS variables but defining them such that their values refer to the new CSS variables. Because SCSS can't evaluate the CSS variable at runtime, it utilizes the CSS variable in the resulting output CSS used in the browser. + +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. + +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. + +This approach gives theme authors the same theming experience as core Paragon's tokens architecture though theme authors could also hardcode the CSS variables themselves like they do with SCSS variables today. The former approach is primarily recommended by Paragon to enable theme authors to have same theming approach as core Paragon. + +Furthermore, given CSS variables may be generated and consumed by applications in numerous ways, it's worth mentioning alternative strategies as well. + +For example, the above approach largely assumes you're able to generate and use a CSS file containing CSS variable overrides in consuming applications for each desired theme. It may be impractical to generate and host a CSS file for each dynamically generated theme, e.g. if the theme is driven by user input or the theme values (like HEX values) are stored in a database, retrieved by an API. + +In such cases, consumers could also directly override CSS variables at runtime by generating and injecting them into the `` of the HTML document (e.g., with `react-helmet`) after retrieving the values from an API, which would result in overriding the core Paragon CSS variables as well. + +Future considerations: Customizing the theme via a user interface +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +More forward thinking, we would also like to explore creating a UI on top of these design tokens such that the understanding and writing of JSON files is abstracted away from theme authors. Such a UI may also enable designers to self-serve update the theme. + +Though this theme customization UI is not included in the initial release of design tokens and CSS variables, there is desire to do some prototyping to see what might be possible; other groups in the community may also have the capacity to run with it as well. + +That said, such UI considerations thus far have largely been for theme authors at the system/provider level, not so much at the user level. It may be interesting to explore whether Paragon could (and/or should) expose some generic and flexible helper components, hooks, functions, etc. that consuming applications could utilize to simplify the creation and injection of a dynamic, user-driven theme's CSS variables. + +As a more concrete example, consuming applications could, in theory, use an exported function from Paragon that accepts a list of JSON and/or JavaScript objects as design tokens (similar to importing all the token files in the tokens build) and then run `style-dictionary` with the same (or extended) config on these custom tokens and the core Paragon tokens to generate the dynamic CSS variables. This solution, too, is still pretty raw and is likely out of scope of the initial design tokens release and this ADR. + Consequences ============ +* **May need to iterate on the design tokens schema.** + + * Identifying the best way to think about, represent, and communicate our design tokens in JSON is a new paradigm and we'll likely need to make some adjustments to the schema over time as design tokens get adopted by consumers and theme authors and we receive feedback on what's working and what isn't. + * Iterating on good naming conventions and JSON file schemas that make sense and continues to scale as the Paragon design system evolves will be a challenge, especially to do so in a way that doesn't cause downstream breaking changes without warning. We will likely need to establish a process for deprecating design tokens to facilitate some level of iteration on the token schema. + * Paragon's previous SCSS variables were a combination of only global and component tokens. The notion of "alias" tokens is new to Paragon and will require intentional thought into how alias tokens are defined and used. + * **Updates required for consuming applications using and/or overriding SCSS variables.** * We are attempting to mitigate this concern keeping the SCSS variables Paragon has in place today, but redefining them to reference the newly generated CSS variables instead. This approach should allow consumers who rely on the existing SCSS variables to continue to use them as they are, but still utilize the underlying CSS variable for runtime theming support instead. @@ -96,5 +228,13 @@ Consequences * **Onboarding designers and engineers to design tokens.** * Given defining styles via JSON files is a bit of a nascent paradigm, there is a fair concern that onboarding designers and engineers to this new styles architecture may be more difficult than defining traditional styles (e.g., hardcoding CSS variables). That said, with adequate documentation and training, we feel the benefits of design tokens for Paragon's future scalability outweigh potential increased complexities with getting up to speed with design tokens. - * There is also a vision that there could, in the future, be a user interface built on top of the JSON design tokens such that changes could be made by designers and engineers alike without needing to understanding the underlying `style-dictionary` tool and JSON schema. + * There is also a vision that there could, in the future, be a user interface built on top of the JSON design tokens such that changes could be made by designers and engineers alike without needing to understanding the underlying `style-dictionary` tool and JSON file schema. * Design tokens will also be annotated with brief descriptions of their purpose, which will be helpful for theme authors. + +* **Design tooling support for tokens is still relatively poor.** + + * One of the intriguing benefits of moving to design tokens is that they may be transformed to other formats compatible with different platforms. One of the areas the Paragon Working Group may like to explore in the future is an integration between its design tokens and the Figma design tool. + * One of the deliverables of the Paragon design system is the Figma library containing drop-in Paragon components that largely match the components as implemented in code. The Figma library enables designers to work more efficiently and consistently, without needing to redefine existing patterns. + * However, all of the visual styles associated with the design system are essentially defined twice: once in Figma and again in code. + * The longer term vision would be treat Figma as a compatible platform for Paragon's design tokens, such that these foundational style properties would truly become a single source of truth across for both designers and engineers alike. + * However, this vision is limited by what such design tools like Figma can support; While Figma does not have native support for design tokens, there are Figma plugins (e.g., `Design Tokens `__) that might be worth exploring in the future. From 173e3dcdf1962f02b2ca9d06cfa6e3dc863b1456 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Fri, 20 Jan 2023 17:44:15 -0500 Subject: [PATCH 04/11] docs: update ADR --- ...0019-scaling-styles-with-design-tokens.rst | 63 ++++++++++++------- 1 file changed, 42 insertions(+), 21 deletions(-) diff --git a/docs/decisions/0019-scaling-styles-with-design-tokens.rst b/docs/decisions/0019-scaling-styles-with-design-tokens.rst index 6ec5a83f69..b6a783eb77 100644 --- a/docs/decisions/0019-scaling-styles-with-design-tokens.rst +++ b/docs/decisions/0019-scaling-styles-with-design-tokens.rst @@ -208,33 +208,54 @@ As a more concrete example, consuming applications could, in theory, use an expo Consequences ============ -* **May need to iterate on the design tokens schema.** +May need to iterate on the design tokens schema +----------------------------------------------- - * Identifying the best way to think about, represent, and communicate our design tokens in JSON is a new paradigm and we'll likely need to make some adjustments to the schema over time as design tokens get adopted by consumers and theme authors and we receive feedback on what's working and what isn't. - * Iterating on good naming conventions and JSON file schemas that make sense and continues to scale as the Paragon design system evolves will be a challenge, especially to do so in a way that doesn't cause downstream breaking changes without warning. We will likely need to establish a process for deprecating design tokens to facilitate some level of iteration on the token schema. - * Paragon's previous SCSS variables were a combination of only global and component tokens. The notion of "alias" tokens is new to Paragon and will require intentional thought into how alias tokens are defined and used. +* Identifying the best way to think about, represent, and communicate our design tokens in JSON is a new paradigm and we'll likely need to make some adjustments to the schema over time as design tokens get adopted by consumers and theme authors and we receive feedback on what's working and what isn't. +* Iterating on good naming conventions and JSON file schemas that make sense and continues to scale as the Paragon design system evolves will be a challenge, especially to do so in a way that doesn't cause downstream breaking changes without warning. We will likely need to establish a process for deprecating design tokens to facilitate some level of iteration on the token schema. +* Paragon's previous SCSS variables were a combination of only global and component tokens. The notion of "alias" tokens is new to Paragon and will require intentional thought into how alias tokens are defined and used. -* **Updates required for consuming applications using and/or overriding SCSS variables.** +Updates required for consuming applications using and/or overriding SCSS variables +---------------------------------------------------------------------------------- - * We are attempting to mitigate this concern keeping the SCSS variables Paragon has in place today, but redefining them to reference the newly generated CSS variables instead. This approach should allow consumers who rely on the existing SCSS variables to continue to use them as they are, but still utilize the underlying CSS variable for runtime theming support instead. - * We also plan to ensure the output CSS/SCSS supported by Paragon is well-documented such that consumers know what variables are available to use. +* We are attempting to mitigate this concern keeping the SCSS variables Paragon has in place today, but redefining them to reference the newly generated CSS variables instead. This approach should allow consumers who rely on the existing SCSS variables to continue to use them as they are, but still utilize the underlying CSS variable for runtime theming support instead. +* We also plan to ensure the output CSS/SCSS supported by Paragon is well-documented such that consumers know what variables are available to use. -* **Breaking change for how Paragon themes are currently created.** +Breaking change for how Paragon themes are currently created +------------------------------------------------------------ - * Currently, Paragon themes are created following the guidance in `@edx/brand-openedx`, which defines a set of files in which theme authors should modify to override the core Paragon starter theme. These files include a `_variables.scss` file in which theme authors may override any of Paragon's SCSS variables. - * With design tokens, theme authors will no longer override any variables in SCSS/CSS directly, but rather define JSON files to override the core Paragon design tokens. After re-building the theme, a new `variables.css` file representing all the CSS variables for the theme is generated, including the overriden values in theme's custom JSON files. - * The resulting CSS file may be hosted on a CDN and applied at runtime to consuming applications. +* Currently, Paragon themes are created following the guidance in `@edx/brand-openedx`, which defines a set of files in which theme authors should modify to override the core Paragon starter theme. These files include a `_variables.scss` file in which theme authors may override any of Paragon's SCSS variables. +* With design tokens, theme authors will no longer override any variables in SCSS/CSS directly, but rather define JSON files to override the core Paragon design tokens. After re-building the theme, a new `variables.css` file representing all the CSS variables for the theme is generated, including the overriden values in theme's custom JSON files. +* The resulting CSS file may be hosted on a CDN and applied at runtime to consuming applications. -* **Onboarding designers and engineers to design tokens.** +Lack of support for SCSS calculations with CSS variables +-------------------------------------------------------- - * Given defining styles via JSON files is a bit of a nascent paradigm, there is a fair concern that onboarding designers and engineers to this new styles architecture may be more difficult than defining traditional styles (e.g., hardcoding CSS variables). That said, with adequate documentation and training, we feel the benefits of design tokens for Paragon's future scalability outweigh potential increased complexities with getting up to speed with design tokens. - * There is also a vision that there could, in the future, be a user interface built on top of the JSON design tokens such that changes could be made by designers and engineers alike without needing to understanding the underlying `style-dictionary` tool and JSON file schema. - * Design tokens will also be annotated with brief descriptions of their purpose, which will be helpful for theme authors. +* One of the benefits of SCSS is its useful helper functions that could be used with SCSS variables, such as `lighten` and `darken` to modify colors slightly. +* SCSS is unable to parse the value of CSS variables at build time so, theme authors can't use such SCSS helper functions with Paragon's CSS variables. +* As an alternative, we are proposing an approach to define `modifications `_ to tokens similar to `lighten` and `darken` via a `modify` array in the design token JSON properties. -* **Design tooling support for tokens is still relatively poor.** +An abbreviated example:: - * One of the intriguing benefits of moving to design tokens is that they may be transformed to other formats compatible with different platforms. One of the areas the Paragon Working Group may like to explore in the future is an integration between its design tokens and the Figma design tool. - * One of the deliverables of the Paragon design system is the Figma library containing drop-in Paragon components that largely match the components as implemented in code. The Figma library enables designers to work more efficiently and consistently, without needing to redefine existing patterns. - * However, all of the visual styles associated with the design system are essentially defined twice: once in Figma and again in code. - * The longer term vision would be treat Figma as a compatible platform for Paragon's design tokens, such that these foundational style properties would truly become a single source of truth across for both designers and engineers alike. - * However, this vision is limited by what such design tools like Figma can support; While Figma does not have native support for design tokens, there are Figma plugins (e.g., `Design Tokens `__) that might be worth exploring in the future. + { + "inverse-brand": { + "value": "{color.btn.bg.inverse-brand.value}", + "source": "$btn-brand-inverse-hover-bg", + "modify": [{ "type": "darken", "amount": 0.075 }] + }, + +Onboarding designers and engineers to design tokens +--------------------------------------------------- + +* Given defining styles via JSON files is a bit of a nascent paradigm, there is a fair concern that onboarding designers and engineers to this new styles architecture may be more difficult than defining traditional styles (e.g., hardcoding CSS variables). That said, with adequate documentation and training, we feel the benefits of design tokens for Paragon's future scalability outweigh potential increased complexities with getting up to speed with design tokens. +* There is also a vision that there could, in the future, be a user interface built on top of the JSON design tokens such that changes could be made by designers and engineers alike without needing to understanding the underlying `style-dictionary` tool and JSON file schema. +* Design tokens will also be annotated with brief descriptions of their purpose, which will be helpful for theme authors. + +Design tooling support for tokens is still relatively poor +----------------------------------------------------------- + +* One of the intriguing benefits of moving to design tokens is that they may be transformed to other formats compatible with different platforms. One of the areas the Paragon Working Group may like to explore in the future is an integration between its design tokens and the Figma design tool. +* One of the deliverables of the Paragon design system is the Figma library containing drop-in Paragon components that largely match the components as implemented in code. The Figma library enables designers to work more efficiently and consistently, without needing to redefine existing patterns. +* However, all of the visual styles associated with the design system are essentially defined twice: once in Figma and again in code. +* The longer term vision would be treat Figma as a compatible platform for Paragon's design tokens, such that these foundational style properties would truly become a single source of truth across for both designers and engineers alike. +* However, this vision is limited by what such design tools like Figma can support; While Figma does not have native support for design tokens, there are Figma plugins (e.g., `Design Tokens `__) that might be worth exploring in the future. From 1cbbaac9fa6a8d9115b235f82d1cecea60e9b518 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Fri, 20 Jan 2023 18:13:45 -0500 Subject: [PATCH 05/11] docs: minor updates --- ...0019-scaling-styles-with-design-tokens.rst | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/docs/decisions/0019-scaling-styles-with-design-tokens.rst b/docs/decisions/0019-scaling-styles-with-design-tokens.rst index b6a783eb77..d1e2e5daa4 100644 --- a/docs/decisions/0019-scaling-styles-with-design-tokens.rst +++ b/docs/decisions/0019-scaling-styles-with-design-tokens.rst @@ -1,5 +1,5 @@ -1. Scaling the Paragon design system's styles with design tokens and `style-dictionary` -######################################################################################## +19. Scaling the Paragon design system's styles with design tokens and ``style-dictionary`` +########################################################################################### Status ====== @@ -9,9 +9,9 @@ Provisional Context ======= -A critical component of the Open edX platform is the ability to customize its visual styles to reflect the custom brand of its consumers in the Open edX community. Historically, the Open edX platform (via `edx-platform`) has supported a comprehensive theming system fulfilling the community's theming needs, including brand customization but also functionality, too (e.g., modifying, adding, or removing user interface elements). However, as we've moved towards React micro-frontends, the theming from a brand customization perspective has been largely replaced by the theming system provided by the Paragon design system. +A critical component of the Open edX platform is the ability to customize its visual styles to reflect the custom brand of its consumers in the Open edX community. Historically, the Open edX platform (via ``edx-platform``) has supported a comprehensive theming system fulfilling the community's theming needs, including brand customization but also functionality, too (e.g., modifying, adding, or removing user interface elements). However, as we've moved towards React micro-frontends, the theming from a brand customization perspective has been largely replaced by the theming system provided by the Paragon design system. -Within Paragon, "theming" predominantly refers to brand customization as it relates to visual styles. It does not intend to be responsible for customization of functionality as in the historical sense of comprehensive theming in `edx-platform`. Enabling such customization to bring comprehensive theming support to micro-frontends is on the roadmap for the Frontend Working Group as a separate initiative outside of Paragon itself. +Within Paragon, "theming" predominantly refers to brand customization as it relates to visual styles. It does not intend to be responsible for customization of functionality as in the historical sense of comprehensive theming in ``edx-platform``. Enabling such customization to bring comprehensive theming support to micro-frontends is on the roadmap for the Frontend Working Group as a separate initiative outside of Paragon itself. Current styles architecture --------------------------- @@ -56,7 +56,7 @@ Decision We will migrate Paragon's theming and styles architecture to rely on CSS variables instead of SCSS variables to enable runtime theming support for consuming applications throughout the Open edX platform. -In order to create a scalable, platform-agnostic way to define style properties (i.e., design tokens), Paragon will utilize `style-dictionary` (`docs `__), a "build system that allows you to define styles once, in a way for any platform or language to consume." +In order to create a scalable, platform-agnostic way to define style properties (i.e., design tokens), Paragon will utilize ``style-dictionary`` (`docs `__), a "build system that allows you to define styles once, in a way for any platform or language to consume." If Paragon opted to hardcode the new CSS variables derived from the existing SCSS variables, we would still be in a situation where our design tokens are not platform-agnostic in that supporting CSS variables alone implies Paragon can only be utilized by browser-based applications. @@ -64,18 +64,18 @@ However, one of the long-term visions for the Paragon design system is to be the By only transforming our hardcoded SCSS variables to hardcoded CSS variables, we would be missing out on the opportunity to iterate towards the vision of making the Paragon design system be platform-agnostic. -As a result, Paragon's existing SCSS variables will be migrated to design tokens defined as JSON files that get transformed by `style-dictonary` into various platform-specific styles. To start, we are transforming the design tokens specified in JSON to CSS variables as well as some CSS utility classes. In the future, our approach may expand to transforming the design tokens to iOS and Android compatible files as well. +As a result, Paragon's existing SCSS variables will be migrated to design tokens defined as JSON files that get transformed by ```style-dictonary``` into various platform-specific styles. To start, we are transforming the design tokens specified in JSON to CSS variables as well as some CSS utility classes. In the future, our approach may expand to transforming the design tokens to iOS and Android compatible files as well. -By utilizing a tool like `style-dictonary`, the naming convention of design tokens and the resulting CSS variables will be standardized and consistent (e.g., prefixed with `pgn-`, defined within the context of specified categories like `color`). +By utilizing a tool like ``style-dictonary``, the naming convention of design tokens and the resulting CSS variables will be standardized and consistent (e.g., prefixed with ``pgn-``, defined within the context of specified categories like ``color``). An additional longer term vision may also include transforming the Paragon design tokens to be compatible with Figma, such that the Paragon design tokens are truly a single source of truth across both design and engineering. -How does `style-dictionary` work? +How does ``style-dictionary`` work? --------------------------------- -At its core, `style-dictionary` finds all design token files, deep merges them together, and then parses them based on a configuration for how it should transform the discovered design tokens. As it parses the design token files, it resolves aliases or references to other design tokens. The final output from `style-dictionary` are automatically generated files (e.g., `variables.css`) based on the platforms specified in the configuration. +At its core, ``style-dictionary`` finds all design token files, deep merges them together, and then parses them based on a configuration for how it should transform the discovered design tokens. As it parses the design token files, it resolves aliases or references to other design tokens. The final output from ``style-dictionary`` are automatically generated files (e.g., ``variables.css``) based on the platforms specified in the configuration. -The majority of the above architecture is handled `style-dictionary` itself; what concerns Paragon is how to define its configuration (i.e., which platforms to support) and the design tokens JSON file schema. +The majority of the above architecture is handled ``style-dictionary`` itself; what concerns Paragon is how to define its configuration (i.e., which platforms to support) and the design tokens JSON file schema. .. image:: ./assets/style-dictionary-build-diagram.png :width: 100% @@ -84,7 +84,7 @@ The majority of the above architecture is handled `style-dictionary` itself; wha Design tokens implementation in Paragon ---------------------------------------- -In Paragon's design token implementation with `style-dictionary`, there will be a new directory (`tokens`) containing the JSON files representing Paragon's design tokens schema. These tokens represent style properties defined at several different layers of abstraction: +In Paragon's design token implementation with ``style-dictionary``, there will be a new directory (``tokens``) containing the JSON files representing Paragon's design tokens schema. These tokens represent style properties defined at several different layers of abstraction: 1. Global tokens 2. Alias tokens @@ -109,7 +109,7 @@ Example:: } } -The above global tokens would be transformed into CSS variables by `style-dictionary` as follows:: +The above global tokens would be transformed into CSS variables by ``style-dictionary`` as follows:: --pgn-color-primary-500: #00262B; --pgn-color-primary-base: var(--pgn-color-primary-500); @@ -133,7 +133,7 @@ Example:: } } -The above alias token would be transformed into a CSS variable by `style-dictionary` as follows:: +The above alias token would be transformed into a CSS variable by ``style-dictionary`` as follows:: --pgn-color-theme-default-primary: var(--pgn-color-primary-500); @@ -156,7 +156,7 @@ Example:: } } -The above component token would be transformed to a CSS variable by `style-dictionary` as follows:: +The above component token would be transformed to a CSS variable by ``style-dictionary`` as follows:: --pgn-color-btn-bg-primary: var(--pgn-color-theme-default-primary); @@ -168,21 +168,21 @@ In the token examples shown above, say the button component token referred direc Instead, by having the component token inherit from an alias token, theme authors can modify the alias token without needing to change the underlying global token, which helps mitigate concerns around changing a foundational style property heavily used throughout the entire design system. -In the above example, for instance, the value of `--pgn-color-theme-default-primary` could be changed to `{color.primary.700}` rather than changing the underlying value of `{color.primary.500}` directly, which might need to remain at its current value given its use elsewhere throughout the design system. +In the above example, for instance, the value of ``--pgn-color-theme-default-primary`` could be changed to ``{color.primary.700}`` rather than changing the underlying value of ``{color.primary.500}`` directly, which might need to remain at its current value given its use elsewhere throughout the design system. Additional token file examples ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Please refer to the `tokens `__ defined in the current `alpha` release of Paragon. +Please refer to the `tokens `__ defined in the current ``alpha`` release of Paragon. -Implications for theme authors (e.g., `@edx/brand` packages) +Implications for theme authors (e.g., ``@edx/brand`` packages) ------------------------------------------------------------ -Currently, Paragon recommends theme authors to create a theme package such as `@edx/brand-openedx` (`Github `__) and `@edx/brand-edx.org` (`Github `__). +Currently, Paragon recommends theme authors to create a theme package such as ``@edx/brand-openedx`` (`Github `__) and ``@edx/brand-edx.org`` (`Github `__). While the migration from SCSS variables to CSS variables is a breaking change for theme authors, we have tried to mitigate this by keeping the existing SCSS variables but defining them such that their values refer to the new CSS variables. Because SCSS can't evaluate the CSS variable at runtime, it utilizes the CSS variable in the resulting output CSS used in the browser. -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. +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. 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. @@ -192,7 +192,7 @@ Furthermore, given CSS variables may be generated and consumed by applications i For example, the above approach largely assumes you're able to generate and use a CSS file containing CSS variable overrides in consuming applications for each desired theme. It may be impractical to generate and host a CSS file for each dynamically generated theme, e.g. if the theme is driven by user input or the theme values (like HEX values) are stored in a database, retrieved by an API. -In such cases, consumers could also directly override CSS variables at runtime by generating and injecting them into the `` of the HTML document (e.g., with `react-helmet`) after retrieving the values from an API, which would result in overriding the core Paragon CSS variables as well. +In such cases, consumers could also directly override CSS variables at runtime by generating and injecting them into the ```` of the HTML document (e.g., with ``react-helmet``) after retrieving the values from an API, which would result in overriding the core Paragon CSS variables as well. Future considerations: Customizing the theme via a user interface ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -203,7 +203,7 @@ Though this theme customization UI is not included in the initial release of des That said, such UI considerations thus far have largely been for theme authors at the system/provider level, not so much at the user level. It may be interesting to explore whether Paragon could (and/or should) expose some generic and flexible helper components, hooks, functions, etc. that consuming applications could utilize to simplify the creation and injection of a dynamic, user-driven theme's CSS variables. -As a more concrete example, consuming applications could, in theory, use an exported function from Paragon that accepts a list of JSON and/or JavaScript objects as design tokens (similar to importing all the token files in the tokens build) and then run `style-dictionary` with the same (or extended) config on these custom tokens and the core Paragon tokens to generate the dynamic CSS variables. This solution, too, is still pretty raw and is likely out of scope of the initial design tokens release and this ADR. +As a more concrete example, consuming applications could, in theory, use an exported function from Paragon that accepts a list of JSON and/or JavaScript objects as design tokens (similar to importing all the token files in the tokens build) and then run ``style-dictionary`` with the same (or extended) config on these custom tokens and the core Paragon tokens to generate the dynamic CSS variables. This solution, too, is still pretty raw and is likely out of scope of the initial design tokens release and this ADR. Consequences ============ @@ -231,9 +231,9 @@ Breaking change for how Paragon themes are currently created Lack of support for SCSS calculations with CSS variables -------------------------------------------------------- -* One of the benefits of SCSS is its useful helper functions that could be used with SCSS variables, such as `lighten` and `darken` to modify colors slightly. +* One of the benefits of SCSS is its useful helper functions that could be used with SCSS variables, such as ``lighten`` and ``darken`` to modify colors slightly. * SCSS is unable to parse the value of CSS variables at build time so, theme authors can't use such SCSS helper functions with Paragon's CSS variables. -* As an alternative, we are proposing an approach to define `modifications `_ to tokens similar to `lighten` and `darken` via a `modify` array in the design token JSON properties. +* As an alternative, we are proposing an approach to define `modifications `_ to tokens similar to ``lighten`` and ``darken`` via a ``modify`` array in the design token JSON properties. An abbreviated example:: @@ -248,7 +248,7 @@ Onboarding designers and engineers to design tokens --------------------------------------------------- * Given defining styles via JSON files is a bit of a nascent paradigm, there is a fair concern that onboarding designers and engineers to this new styles architecture may be more difficult than defining traditional styles (e.g., hardcoding CSS variables). That said, with adequate documentation and training, we feel the benefits of design tokens for Paragon's future scalability outweigh potential increased complexities with getting up to speed with design tokens. -* There is also a vision that there could, in the future, be a user interface built on top of the JSON design tokens such that changes could be made by designers and engineers alike without needing to understanding the underlying `style-dictionary` tool and JSON file schema. +* There is also a vision that there could, in the future, be a user interface built on top of the JSON design tokens such that changes could be made by designers and engineers alike without needing to understanding the underlying ``style-dictionary`` tool and JSON file schema. * Design tokens will also be annotated with brief descriptions of their purpose, which will be helpful for theme authors. Design tooling support for tokens is still relatively poor From 68de74b9fe3fc89d2289078ce2b5a2231bc485d6 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Fri, 20 Jan 2023 18:15:38 -0500 Subject: [PATCH 06/11] docs: another small update --- docs/decisions/0019-scaling-styles-with-design-tokens.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/decisions/0019-scaling-styles-with-design-tokens.rst b/docs/decisions/0019-scaling-styles-with-design-tokens.rst index d1e2e5daa4..3cec4b5e67 100644 --- a/docs/decisions/0019-scaling-styles-with-design-tokens.rst +++ b/docs/decisions/0019-scaling-styles-with-design-tokens.rst @@ -233,7 +233,7 @@ Lack of support for SCSS calculations with CSS variables * One of the benefits of SCSS is its useful helper functions that could be used with SCSS variables, such as ``lighten`` and ``darken`` to modify colors slightly. * SCSS is unable to parse the value of CSS variables at build time so, theme authors can't use such SCSS helper functions with Paragon's CSS variables. -* As an alternative, we are proposing an approach to define `modifications `_ to tokens similar to ``lighten`` and ``darken`` via a ``modify`` array in the design token JSON properties. +* As an alternative, we are proposing an approach to define `modifications `_ to tokens similar to ``lighten`` and ``darken`` via a ``modify`` array in the design token JSON properties based on functionality available via ``chroma-js`` (`NPM `__). An abbreviated example:: From 005c873e3563389f7dfa02e1414909ce39fac3a4 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Fri, 20 Jan 2023 18:17:26 -0500 Subject: [PATCH 07/11] docs: one more formatting nit --- docs/decisions/0019-scaling-styles-with-design-tokens.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/decisions/0019-scaling-styles-with-design-tokens.rst b/docs/decisions/0019-scaling-styles-with-design-tokens.rst index 3cec4b5e67..db9ebbc83f 100644 --- a/docs/decisions/0019-scaling-styles-with-design-tokens.rst +++ b/docs/decisions/0019-scaling-styles-with-design-tokens.rst @@ -224,7 +224,7 @@ Updates required for consuming applications using and/or overriding SCSS variabl Breaking change for how Paragon themes are currently created ------------------------------------------------------------ -* Currently, Paragon themes are created following the guidance in `@edx/brand-openedx`, which defines a set of files in which theme authors should modify to override the core Paragon starter theme. These files include a `_variables.scss` file in which theme authors may override any of Paragon's SCSS variables. +* Currently, Paragon themes are created following the guidance in ``@edx/brand-openedx``, which defines a set of files in which theme authors should modify to override the core Paragon starter theme. These files include a `_variables.scss` file in which theme authors may override any of Paragon's SCSS variables. * With design tokens, theme authors will no longer override any variables in SCSS/CSS directly, but rather define JSON files to override the core Paragon design tokens. After re-building the theme, a new `variables.css` file representing all the CSS variables for the theme is generated, including the overriden values in theme's custom JSON files. * The resulting CSS file may be hosted on a CDN and applied at runtime to consuming applications. From 6a5810340cd30e65844c93f992087468403ef10e Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Tue, 18 Jul 2023 07:19:16 -0400 Subject: [PATCH 08/11] docs: typos Co-authored-by: Felipe Montoya --- docs/decisions/0019-scaling-styles-with-design-tokens.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/decisions/0019-scaling-styles-with-design-tokens.rst b/docs/decisions/0019-scaling-styles-with-design-tokens.rst index db9ebbc83f..048c265949 100644 --- a/docs/decisions/0019-scaling-styles-with-design-tokens.rst +++ b/docs/decisions/0019-scaling-styles-with-design-tokens.rst @@ -16,7 +16,7 @@ Within Paragon, "theming" predominantly refers to brand customization as it rela Current styles architecture --------------------------- -Today, Paragon's core styles are heavily based on `Bootstrap 4 `__. The decision to rely on Bootstrap was to extend a popular, existing repsonsive CSS framework to get an initial design system created more efficienctly than creating all styles from scratch in addition to general knowledge and awareness of Bootstrap throughout the frontend community (see `OEP-16 `__ for more details). +Today, Paragon's core styles are heavily based on `Bootstrap 4 `__. The decision to rely on Bootstrap was to extend a popular, existing responsive CSS framework to get an initial design system created more efficiently than creating all styles from scratch in addition to general knowledge and awareness of Bootstrap throughout the frontend community (see `OEP-16 `__ for more details). Bootstrap 4 supports theming of visual styles through SCSS variables. As a result, Paragon's current theming system also relies overriding SCSS variables, both from core Bootstrap and custom Paragon variables. From 98673bd44692af4f87c6976d5db48810a6e2517e Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Tue, 18 Jul 2023 07:33:26 -0400 Subject: [PATCH 09/11] docs: update ADR to include example anti-pattern to org theming --- docs/decisions/0019-scaling-styles-with-design-tokens.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/decisions/0019-scaling-styles-with-design-tokens.rst b/docs/decisions/0019-scaling-styles-with-design-tokens.rst index 048c265949..f20a1e5ad3 100644 --- a/docs/decisions/0019-scaling-styles-with-design-tokens.rst +++ b/docs/decisions/0019-scaling-styles-with-design-tokens.rst @@ -45,7 +45,7 @@ Challenges with current styles architecture * The primary theming use case for Paragon is largely around system-wide theming, where all applications in the Open edX ecosystem share the same theme. * However, there are use cases for organizational themes, too (i.e., updating the colors for specific partners/organizations, enterprise customers, etc.). - * This is not well supported today and largely requires overriding CSS classes from Paragon rather than the desired approach of overriding underlying CSS variable(s). This an anti-pattern as Paragon class names should really be considered internal implementation details of Paragon components, and not used by consumers directly. + * This is not well supported today and largely requires overriding CSS classes from Paragon rather than the desired approach of overriding underlying CSS variable(s). This an anti-pattern as Paragon class names should really be considered internal implementation details of Paragon components, and not used by consumers directly. For example, the Enterprise MFEs within Open edX (e.g., frontend-app-learner-portal-enterprise) inject ``