Skip to content
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

fix: Update mappings to system tokens instead of theme tokens #1314

Merged
merged 1 commit into from
Dec 17, 2024

Conversation

sandrahoang686
Copy link
Collaborator

@sandrahoang686 sandrahoang686 commented Dec 10, 2024

Description of Changes

I've updated our sass variable references to map directly to system tokens instead of theme tokens because of what was discussed during USWDS sync today to match the mappings in the figma. But i'm indifferent to these changes and have no strong opinions to whether or not they map to the theme or system tokens.

That is because whether our references map to the theme or system tokens, it is the same outcome. BUT we do need to know what theme tokens are RE-MAPPED to different system token values instead of their defaults because we should still make that update in the settings file.

For example, if our reference of theme base-darkest is re-mapped to a different system token value - any components used out of the box from USWDS that uses theme token color base-darkest should also be re-mapped. And then because we forward @forward 'uswds-theme'; in the theme-vars file, it would get that update in time. Which is why i'm indifferent to these changes.

Any strong opinions / thoughts about this @hanbyul-here @dzole0311 @AliceR ? cc @faustoperez

Notes & Questions About Changes

{Add additonal notes and outstanding questions here related to changes in this pull request}

Validation / Testing

{Update with info on what can be manually validated in the Deploy Preview link for example "Validate style updates to selection modal do NOT affect cards"}

@sandrahoang686 sandrahoang686 changed the title update mappings to system tokens instead of theme tokens Update mappings to system tokens instead of theme tokens Dec 10, 2024
Copy link

netlify bot commented Dec 10, 2024

Deploy Preview for veda-ui ready!

Name Link
🔨 Latest commit 6369a19
🔍 Latest deploy log https://app.netlify.com/sites/veda-ui/deploys/67589bef4ea81400089dd74a
😎 Deploy Preview https://deploy-preview-1314--veda-ui.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@sandrahoang686 sandrahoang686 changed the title Update mappings to system tokens instead of theme tokens chore: Update mappings to system tokens instead of theme tokens Dec 10, 2024
@AliceR AliceR changed the title chore: Update mappings to system tokens instead of theme tokens fix: Update mappings to system tokens instead of theme tokens Dec 11, 2024
@AliceR AliceR added the design system change https://github.com/NASA-IMPACT/veda-ui/blob/main/docs/adr/003-design-system-change.md label Dec 11, 2024
$veda-uswds-color-primary-darker: utils.color('blue-warm-80v');
$veda-uswds-color-secondary: utils.color('red-50');
$veda-uswds-color-base-dark: utils.color('gray-cool-60');
$veda-uswds-color-base-darkest: utils.color('gray-cool-80'); // re-mapped, theme-token 'base-darkest' originally mapped to 'gray-90'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'originally' as in 'the uswds default', right?

With the introduction of our $veda-uswds- variables we already decided leave the system, hence I agree, it does not matter what value we map that to.
Whenever we use one of the $veda-uswds- variables it indicates that we deviate from uswds, doesn't it? Do we need to keep track of what exactly the default was in the comments? 🤔
How do we make sure, that when we introduce a new USWDS component, it has the same colors etc. as the existing ones?

Just thinking out loud here.

Copy link

@faustoperez faustoperez Dec 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following the USWDS default (to some extent) was an intentional choice for this first template instance, but that could not be the case in the future.

I'm thinking about the earth.gov work or any customization for, let's say, the Air Quality instance.

To me, it would make sense that we override all default values for colors, typographies, etc. (even if they point the same default system values) so we don't have to keep track of the changes and have a single configuration file for each instance.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AliceR not necessarily are we deviating from uswds, we are mostly sticking to it with just a very few looking like they are being re-mapped. This file is just us creating references to uswds tokens so we dont have to import uswds-core in each component sass file when we want to use their tokens (also nicely organized so you can see all the tokens we use from uswds in one file). if we need to overwrite a specific style in a uswds component but not across uswds components that use the same token, we can just use these vars to make that change inside that specific component's sass file like here.

When introducing a new uswds component - if they use something we have already re-mapped in the settings file, it should just get that change. Hopefully that helps answer your thoughts.

Copy link
Collaborator

@hanbyul-here hanbyul-here left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this approach is fine, as long as we have a prefix (veda-) to signal that this is our take, and makes where the remap happens.
Thanks for handling 🙇

Copy link
Collaborator

@dzole0311 dzole0311 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for handling @sandrahoang686

Just a quick heads up: we’ll likely need a dedicated uswds-theme.scss configuration file per instance to customizes the components.

So a possible approach would be:

  1. Veda-UI ships it's own default styles bundled into one .css file (like we do now)
  2. Each instance includes its own _uswds-theme.scss file to override default styles (SCSS is needed to process the USWDS token names into pure CSS values)

We will try out the theming options we have via #1317.

@sandrahoang686 sandrahoang686 marked this pull request as ready for review December 16, 2024 14:51
@sandrahoang686 sandrahoang686 merged commit 55c04c3 into main Dec 17, 2024
18 of 21 checks passed
@sandrahoang686 sandrahoang686 deleted the update-references-to-uswds-mappings branch December 17, 2024 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design system change https://github.com/NASA-IMPACT/veda-ui/blob/main/docs/adr/003-design-system-change.md
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants