Skip to content

Remove built-in ThemeSeeds in favor of consumer components - #714

Merged
abernier merged 2 commits into
mainfrom
codex/remove-theme-seeds
Oct 13, 2026
Merged

abernier merged 2 commits into
mainfrom
codex/remove-theme-seeds

Conversation

@abernier

@abernier abernier commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Summary

Remove the built-in ThemeSeeds selector and seed table now owned by the design-system documentation. This is the counterpart to pmndrs/design-system#73, using the consumer components API from #713.

 MDX rendering
-  built-in ThemeSeeds + fragment fallback
+  consumer-registered components

 authoring/theme-seeds
-  embedded selector documentation
+  redirect to design-system/tokens/colors#seeds

Keep the shared theme hooks, footer controls and stored preset support used by the local component. Rewrite the persistence browser tests against remaining documentation pages. A patch changeset records the removal and consumer configuration migration; design-system was the only consumer.

Evidence

  • Before: the renderer owned the selector, table, fragment fallback and dedicated authoring page.
    After: all four are removed; design-system owns its interactive and static renderers.
  • pnpm run lgtm: 656 tests passed, 4 skipped; types, lint, formatting and registry validation passed.
  • Pre-merge pnpm run LGTM: passed on 94a141f; 656 unit tests passed (4 skipped), all 118 Playwright tests passed, including Purple and Lime persistence at mobile and desktop widths. Four-axis review found no issues requiring changes.
  • Built the CLI and rendered all 11 design-system pages with its local static component against this checkout after removing the built-in renderer.
  • Local validation history: an overlapping static build temporarily moved API/live sources and caused a typecheck failure; validation was rerun after restoration. The first browser run exposed a test helper hydration race on desktop; the helper now distinguishes the mobile breakpoint and awaits the controls.

Merge Danger

Door: two-way

The change is reversible and ships as a patch: design-system was the only consumer and is migrated in the linked PR.

Blast Radius: consumers

MDX using <ThemeSeeds /> must register its own component. The design-system counterpart now provides both renderers and stays pinned to docs 4.25.0 until a separate upgrade. Existing theme preferences and generic consumer components remain supported. The authoring URL redirect applies to Next server deployments; static exports do not apply Next redirects.

@abernier
abernier marked this pull request as ready for review October 13, 2026 15:00
@abernier
abernier merged commit 22cc30a into main Oct 13, 2026
7 of 8 checks passed
@pmndrs-release pmndrs-release Bot mentioned this pull request Oct 13, 2026

This branch was successfully deployed

1 active deployment
Preview — 94a141f4 Deployed Oct 13, 2026 by abernier via main-job #1245
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