Skip to content

refactor(theme)!: rename the semantic tokens after the accent roles - #7070

Open
benjamincanac wants to merge 24 commits into
docs/theming-pagesfrom
refactor/theme-tokens
Open

benjamincanac wants to merge 24 commits into
docs/theming-pagesfrom
refactor/theme-tokens

Conversation

@benjamincanac

@benjamincanac benjamincanac commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

🔗 Linked issue

Stacked on #7067, the top of the Epic A/E stack (#6918). Part of #6610. The docs site and playgrounds follow in the next PR, split off to stay under CodeRabbit's 300 file limit.

❓ Type of change

  • 📖 Documentation (updates to the documentation or readme)
  • 🐞 Bug fix (a non-breaking change that fixes an issue)
  • 👌 Enhancement (improving an existing functionality)
  • ✨ New feature (a non-breaking change that adds functionality)
  • 🧹 Chore (updates to the build process or auxiliary tools and libraries)
  • ⚠️ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

The surface tokens and the accent roles described the same tiers with different words, and the role names disagreed with their values: the role called border was the strong one, border-muted the default. They now share one vocabulary. bg-soft is the always neutral fill, bg-accent-soft the one that follows color, and the neutral scope maps most roles onto the surface token of the same name.

v4 v5
bg-default bg-surface
bg-elevated bg-soft
bg-accented bg-soft-hover
bg-elevated/50 bg-tint (new token)
text-dimmed text-faint
text-toned text-default
border-accented border-strong
outline-primary/25 outline-focus (new token)
role border / border-soft / border-muted border-strong / border / border

The CSS variables take the property they style as a prefix (--ui-bg-soft, --ui-text-faint, --ui-border-strong), and the tokens move from @layer theme to @layer base behind :where() like the palettes, so an override in @layer base no longer loses to them. --ui-bg-tint and --ui-focus are unset by default: the utilities mix --ui-bg-soft and --ui-primary on the element, so a subtree overriding those follows. The utilities in the page background take the same word: ring-bg, border-bg, fill-bg, stroke-bg and ring-offset-bg become *-surface. The unused divide-bg and outline-default are removed.

border-muted keeps its name and its values, 200 light and 700 dark: it's the border for a bg-soft or bg-muted fill, which share the default border's 800 in dark mode. The neutral border role points at it, so neutral subtle rings and code blocks stay visible. A translucent dark default border was tried and dropped: it doubled at the overlapping seams of the table variants and gave ProsePre two border tones.

A few components look slightly different, all listed in the migration guide: the colored tint role goes from 10% to 5%, neutral components on the border role take border-muted (subtle variants lighter in light mode, outline Alert and ChatMessage one shade lighter in dark), the neutral soft hover is solid, the FileUpload dropzone hover goes from 25% to 50% of bg-soft, and the text-toned call sites move one shade.

Until #7071 moves the docs app and playgrounds over, tokens.css keeps the v4 class names as a temporary bridge so this PR builds and lints on its own. #7071 removes it.

The migration guide has the full table, the replacement order for a find and replace, and what it can't catch: variable overrides in user CSS, roles set per color (--ui-primary-border changes meaning) and classes built at runtime.

📝 Checklist

  • I have linked an issue or discussion.
  • I have updated the documentation accordingly.

@benjamincanac
benjamincanac added this pull request to stack #7069 September 28, 2026 16:32
@benjamincanac benjamincanac mentioned this pull request Sep 28, 2026
43 tasks
@codspeed

codspeed Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 35 untouched benchmarks
⏩ 10 skipped benchmarks1


Comparing refactor/theme-tokens (56d9a37) with docs/theming-pages (b2b50b2)2

Open in CodSpeed

Footnotes

  1. 10 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

  2. No successful run was found on docs/theming-pages (a27cc57) during the generation of this report, so e62a692 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩

@vercel

vercel Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
ui-repl Ready Ready Preview Sep 29, 2026 3:55pm UTC

Request Review

@coderabbitai

coderabbitai Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: ddced4e6-a84e-4635-babc-162c0b3ae735

📥 Commits

Reviewing files that changed from the base of the PR and between 5e28dee and d19b4e9.

⛔ Files ignored due to path filters (173)
  • test/components/__snapshots__/Accordion-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Accordion.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Alert-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Alert.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/AuthForm-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/AuthForm.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Avatar-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Avatar.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Badge-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Badge.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Banner-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Banner.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/BlogPost-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/BlogPost.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/BlogPosts-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/BlogPosts.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Button-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Button.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Calendar-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Calendar.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Card-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Card.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Carousel-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Carousel.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChangelogVersion-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChangelogVersion.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChangelogVersions-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChangelogVersions.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChatMessage-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChatMessage.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChatMessages-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChatMessages.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChatPrompt-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChatPrompt.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChatPromptSubmit-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChatPromptSubmit.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChatReasoning-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChatReasoning.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChatTool-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ChatTool.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Checkbox-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Checkbox.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/CheckboxGroup-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/CheckboxGroup.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Collapsible-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Collapsible.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/CommandPalette-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/CommandPalette.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ContextMenu-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ContextMenu.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/DashboardSearch-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/DashboardSearch.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/DashboardSearchButton-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/DashboardSearchButton.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/DashboardSidebar-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/DashboardSidebar.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Drawer-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Drawer.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/DropdownMenu-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/DropdownMenu.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Editor-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Editor.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/EditorToolbar-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/EditorToolbar.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Empty-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Empty.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/FieldGroup-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/FieldGroup.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/FileUpload-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/FileUpload.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/FooterColumns-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/FooterColumns.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Form-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Form.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Header-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Header.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Input-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Input.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/InputDate-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/InputDate.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/InputMenu-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/InputMenu.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/InputNumber-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/InputNumber.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/InputTags-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/InputTags.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/InputTime-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/InputTime.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Kbd-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Kbd.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Link-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Link.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Listbox-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Listbox.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Marquee-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Marquee.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Modal-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Modal.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/NavigationMenu-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/NavigationMenu.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageAnchors-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageAnchors.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageAside-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageAside.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageCTA-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageCTA.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageCard-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageCard.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageFeature-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageFeature.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageHeader-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageHeader.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageLinks-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageLinks.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageLogos-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PageLogos.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Pagination-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Pagination.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PinInput-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PinInput.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Popover-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Popover.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PricingPlan-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PricingPlan.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PricingPlans-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PricingPlans.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PricingTable-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/PricingTable.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Progress-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Progress.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ProgressGroup-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ProgressGroup.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/RadioGroup-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/RadioGroup.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ScrollArea-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/ScrollArea.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Select-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Select.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/SelectMenu-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/SelectMenu.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Sidebar-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Sidebar.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Skeleton-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Skeleton.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Slideover-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Slideover.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Slider-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Slider.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Stepper-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Stepper.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Switch-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Switch.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Table-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Table.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Tabs-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Tabs.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Textarea-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Textarea.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Timeline-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Timeline.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Toast-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Toast.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Tooltip-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Tooltip.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Tree-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/Tree.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/User-vue.spec.ts.snap is excluded by !**/*.snap
  • test/components/__snapshots__/User.spec.ts.snap is excluded by !**/*.snap
  • test/components/content/__snapshots__/ContentNavigation.spec.ts.snap is excluded by !**/*.snap
  • test/components/content/__snapshots__/ContentSearch.spec.ts.snap is excluded by !**/*.snap
  • test/components/content/__snapshots__/ContentSearchButton.spec.ts.snap is excluded by !**/*.snap
  • test/components/content/__snapshots__/ContentSurround.spec.ts.snap is excluded by !**/*.snap
  • test/components/content/__snapshots__/ContentToc.spec.ts.snap is excluded by !**/*.snap
📒 Files selected for processing (1)
  • docs/content/docs/1.getting-started/5.theme/1.design-system.md

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The change revises semantic color CSS tokens and aliases, including text, surface, border, ring, and accent-border roles. It updates component and prose theme classes to use the revised tokens. Migration guidance and design-system documentation describe utility and CSS-variable changes, layer precedence, and appearance differences. Documentation examples, contribution guidance, and test expectations are also updated to use the new token names.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~25 minutes

Merge Risk: ⚪ Minimal · up to d19b4

This change renames semantic color tokens and updates documentation accordingly. It is a deliberate breaking change with a described migration path; no functional or data-integrity defects were identified in the reviewed material.

Architecture Summary

Architecture risk: 🔵 Low · up to d19b4

The change affects 5 systems.

Changed systems: src, test, docs, skills, AGENTS.md

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — src (service) was modified; 96 changed files map to changed impact.
  • observed — test (ui) was modified; 16 changed files map to changed impact.
  • observed — docs (service) was modified; 10 changed files map to changed impact.
  • observed — skills (service) was modified; 2 changed files map to changed impact.

Before / after behavior

  • observed — Modified behavior in AGENTS.md: The Key Conventions example replaces bg-elevated with bg-soft as the semantic background color.
  • observed — Modified behavior in AGENTS.md: The Library Source semantic-colors convention likewise replaces bg-elevated with bg-soft.
  • observed — Modified behavior in docs/app/components/AdsCarbon.vue: The Carbon ad container’s hover background utility changes from hover:bg-elevated/50 to hover:bg-tint.
  • observed — Modified behavior in docs/content/docs/1.getting-started/5.theme/2.components.md: The Nuxt global Button theme example changes the neutral-outline hover class from hover:bg-accented to hover:bg-soft-hover.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 5…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the main change: renaming semantic theme tokens after aligning them with accent roles. It is concise and specific.
Description check ✅ Passed The description directly explains the breaking token renames, CSS changes, visual changes, migration guidance, and temporary compatibility aliases described in the changeset.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

# Conflicts:
#	docs/content/docs/1.getting-started/3.migration.md
#	src/runtime/theme/checkbox-group.ts
#	src/runtime/theme/checkbox.ts
#	src/runtime/theme/radio-group.ts
#	test/components/__snapshots__/Checkbox-vue.spec.ts.snap
#	test/components/__snapshots__/Checkbox.spec.ts.snap
#	test/components/__snapshots__/CheckboxGroup-vue.spec.ts.snap
#	test/components/__snapshots__/CheckboxGroup.spec.ts.snap
#	test/components/__snapshots__/RadioGroup-vue.spec.ts.snap
#	test/components/__snapshots__/RadioGroup.spec.ts.snap
@pkg-pr-new

pkg-pr-new Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
npm i https://pkg.pr.new/@nuxt/ui@7070

commit: 56d9a37

# Conflicts:
#	docs/content/docs/1.getting-started/3.migration.md
#	test/utils/tv.spec.ts

This branch was successfully deployed

2 active deployments
Preview – ui — 56d9a37d Deployed Sep 29, 2026 by vercel[bot]
Preview – ui-repl — 56d9a37d Deployed Sep 29, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant