-
Notifications
You must be signed in to change notification settings - Fork 50
[WIP] [Project Solar / Phase 1 / Themed CSS for HDS components] Rollup configuration and Sass processing for multiple files #3259
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: project-solar/phase-1/HDS-5216_modes/modes-pipeline-implementation
Are you sure you want to change the base?
[WIP] [Project Solar / Phase 1 / Themed CSS for HDS components] Rollup configuration and Sass processing for multiple files #3259
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR reorganizes the Sass architecture for the Helios Design System components to support theming capabilities. It creates a foundation for generating multiple CSS builds with different theming strategies while maintaining the existing component functionality.
Key changes:
- Reorganizes Sass files to separate common components from theming-specific configurations
- Updates Rollup configuration to support multiple CSS output files with custom SCSS compilation
- Creates new themed CSS variants using CSS selectors and prefers-color-scheme approaches
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
packages/components/src/styles/components/index.scss |
New centralized index file importing all component SCSS files |
packages/components/src/styles/@hashicorp/design-system-components.scss |
Refactored to use new components index and updated token paths |
packages/components/src/styles/@hashicorp/design-system-components-theming-with-prefers-color-scheme.scss |
New themed variant using prefers-color-scheme media queries |
packages/components/src/styles/@hashicorp/design-system-components-theming-with-css-selectors.scss |
New themed variant using CSS selectors |
packages/components/rollup.config.mjs |
Updated with custom SCSS compilation function and multiple output configurations |
75bc4b6
to
b258e2e
Compare
1803ce4
to
66b876e
Compare
67f8499
to
d4cd0c3
Compare
66b876e
to
1a855c1
Compare
…added custom source files for theming + updated rollup config to process different files
…th output from `rollup-plugin-scss`
…er-cli-build.js`
… to new custom plugin
…ugin for every Scss compilation)
6251490
to
bb949c9
Compare
📌 Summary
This is built on top of #3239 and is based on the initial spike done by @alex-ju in #3235
🛠️ Detailed description
In this PR I have:
prefers-color-scheme
design-system-components.css
- current file for HDS componentsdesign-system-components-theming-with-css-selectors.css
- new file for theming via CSS selectorsdesign-system-components-theming-with-prefers-color-scheme.css
- new file for theming viaprefers-color-scheme
Then, after discussion and agreement with @alex-ju, I have moved also the existing compilation of the
design-system-components.scss
anddesign-system-power-select-overrides.scss
files to our custom plugin, so we can removerollup-plugin-scss
as dev-dependencydesign-system-power-select-overrides.scss
is not only copied in thedist
folder, but also compiled to.css
(and a.map
file is generated)rollup-plugin-scss
and see if there is something else that we want to port from their implementation into our custom plugin logic🔗 External links
Jira ticket: https://hashicorp.atlassian.net/browse/HDS-5505
👀 Component checklist
💬 Please consider using conventional comments when reviewing this PR.
📋 PCI review checklist
Examples of changes to controls include access controls, encryption, logging, etc.
Examples include changes to operating systems, ports, protocols, services, cryptography-related components, PII processing code, etc.