Skip to content

feat: tokens stability for breaking changes - #3179

Open
martascorreia wants to merge 26 commits into
nextfrom
feat/tokens-stability
Open

feat: tokens stability for breaking changes#3179
martascorreia wants to merge 26 commits into
nextfrom
feat/tokens-stability

Conversation

@martascorreia

@martascorreia martascorreia commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Description:

closes #2764

Definition of Reviewable:

  • Documentation is created/updated
  • Migration Guide is created/updated
  • E2E tests (features, a11y, bug fixes) are created/updated
  • Stories (features, a11y) are created/updated
  • relevant tickets are linked

@changeset-bot

changeset-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 1a00cfd

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 5 packages
Name Type
@solid-design-system/tokens Major
@solid-design-system/docs Major
@solid-design-system/mcp Major
@solid-design-system/components Major
@solid-design-system/styles Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

Copy link
Copy Markdown
Contributor

🚀 Storybook has been deployed for branch feat_tokens-stability

@martascorreia martascorreia changed the title feat: tokens stability feat: tokens stability for breaking changes Jul 23, 2026
@martascorreia
martascorreia changed the base branch from main to next July 23, 2026 10:10
@martascorreia

Copy link
Copy Markdown
Contributor Author

relates to #3075 as this branch already removes the automatic adding of legacy variables to the themes' stylesheets.

Comment thread .changeset/rich-teeth-prove.md Outdated
Comment on lines -529 to 555
:root, .sd-theme-sp {
/*
* Deprecated variables – manually overriding these in custom themes might lead to problems in future versions of Solid.
* Use the actual used value instead. Example:
* Instead of --sd-chip-border-width use --sd-marker-border-width for your overrides.
*/
--sd-button--size-lg-border-radius: var(--sd-button-border-radius);
--sd-button--size-md-border-radius: var(--sd-button-border-radius);
--sd-button--size-sm-border-radius: var(--sd-button-border-radius);
--sd-button--secondary--inverted--color-border: var(--sd-button-secondary-inverted-color-border);
--sd-chip-font-size: var(--sd-marker-font-size);
--sd-chip-border-width: var(--sd-marker-border-width);
--sd-chip-font-weight: var(--sd-marker-font-weight);
--sd-flag-border-width: var(--sd-marker-border-width);
--sd-form-control-color-icon: var(--sd-form-control-color-icon-fill);
--sd-menu-color-icon: var(--sd-menu-item-color-icon-fill);
--sd-menu-color-text: var(--sd-menu-item-color-text);
--sd-menu--disabled-color-icon: var(--sd-menu-item--disabled-color-icon-fill);
--sd-menu--disabled-color-text: var(--sd-menu-item--disabled-color-text);
--sd-tag-font-weight: var(--sd-choice-control-font-weight);
--sd-tag--disabled-color-border: var(--sd-color-border-neutral-500);
--sd-navigation-item--current-color-text: var(--sd-navigation-item-color-text);
--sd-option--disabled-color-border: var(--sd-color-border-neutral-500);
--sd-audio__timestamp-color-text: var(--sd-color-text-neutral-700);
--sd-accordion__chevron-color-text: var(--sd-accordion-color-icon-fill, var(--sd-color-icon-fill-primary));
--sd-form-control__tooltip-color-icon: var(--sd-interactive--default-color-text);
} No newline at end of file

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

As these are removed it's now a Breaking Change.

### Deprecated CSS variables (tokens)

The following CSS variables (tokens) are deprecated and will be removed in a future release. Update your custom styles to use the recommended replacements.
The following CSS variables (tokens) are deprecated and will be removed in a future release. Please update your custom styles to use the recommended replacements.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

They ARE removed now, right? :)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

They are removed from the theming sheets, but not yet from the components, that is #3075. So I only added the paragraph after, but I can already rephrase it as removed.

About this, do you think we should leave the list from now on and keep adding to it every time we have a new deprecated variable? I add the extra "removed" column to differentiate between the already removed (for this breaking change) and the ones that we could remove in the future, but I'm not sure if this will confuse users:
image

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What if we just put it into the Breaking Changes?

Comment on lines +162 to +168
--text-3xl: var(--sd-text-3xl, 2rem);
--text-4xl: var(--sd-text-4xl, 2.5rem);
--text-base: var(--sd-text-base, 1rem);
--text-color-accent: rgba(var(--sd-color-text-accent, 45 157 0));
--text-color-black: rgba(var(--sd-color-text-black, 24 24 24));
--text-color-error: rgba(var(--sd-color-text-error, 204 25 55));
--text-color-neutral-500: rgba(var(--sd-color-text-neutral-500, 174 174 174));

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

As we now have fallbacks, we should definitely highlight to the users! Themes don't have to be installed anymore if there are only components using >v6 and higher or <v4 and lower.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

feat: ensure tokens stability for breaking changes

5 participants