Apply theme-driven token derivation to every CardContainer#5474
Conversation
theme.css now ships the full semantic token contract with defaults, so the --boxel-* derivation that was gated behind @isThemed applies to all containers; themed cards differ only in the knob values their scoped stylesheet provides. @isThemed remains as a marker-class-only arg. Adjust the section-heading and subheading fallbacks (weight 500, line-height md/base) to match the legacy defaults in variables.css so unthemed cards render value-identically. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: aa6e783056
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
This PR makes CardContainer always derive the legacy --boxel-* token system from the semantic theme knobs provided by theme.css, instead of gating that derivation behind the @isThemed arg. The @isThemed arg remains, but only as a deprecated marker that stamps the --themed class for compatibility.
Changes:
- Move the theme-driven token-derivation CSS from
.boxel-card-container--themedto.boxel-card-containerso it applies to all containers. - Align section-heading and subheading fallback line-height/font-weight values to match the legacy defaults from
variables.css. - Remove a container-level
letter-spacingdeclaration (this introduces a behavior change and is called out in review comments).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| font-family: var(--boxel-body-font-family); | ||
| font-size: var(--boxel-body-font-size); | ||
| font-weight: var(--boxel-body-font-weight); | ||
| letter-spacing: var(--tracking-normal); | ||
| line-height: var(--boxel-body-line-height); |
theme.cssships the full semantic token contract with defaults that resolve to the legacy--boxel-*values, so the token derivation that was gated behind@isThemednow applies to every CardContainer — the rules move from.boxel-card-container--themedto.boxel-card-container. Themed cards differ only in the knob values their scoped theme stylesheet provides.@isThemedremains as a deprecated, marker-class-only arg (still stamps the--themedclass) so existing callers are unaffected.md/base) are aligned with the legacy defaults invariables.css, so unthemed cards render value-identical to before.