Skip to content

Fix Bricks SF color swatch positioning - #172

Merged
jackgranatowski merged 7 commits into
mainfrom
codex/napraw-poozenie-kwadratu-koloru
Jul 7, 2026
Merged

Fix Bricks SF color swatch positioning#172
jackgranatowski merged 7 commits into
mainfrom
codex/napraw-poozenie-kwadratu-koloru

Conversation

@jackgranatowski

@jackgranatowski jackgranatowski commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Motivation

  • Bricks' native color preview was being forced into a positioned context by the rule .bricks-control-preview:has(.slashed-sf-preview-label) { position: relative; }, which caused the SLASHED SF swatch to shift left of the input instead of remaining at the right-hand end of the input row.

Description

  • Remove the positioning override by deleting the .bricks-control-preview:has(.slashed-sf-preview-label) { position: relative; } rule from SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css and propagate the same change to the built asset SLASHED-for-WP/integrations/bricks/assets/editor-app/app.css so the absolute .slashed-sf-preview-label overlay no longer reflows Bricks' native preview.

Testing

  • Confirmed the selector/override is absent with rg -n "bricks-control-preview:has\\(\\.slashed-sf-preview-label\\)" SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css SLASHED-for-WP/integrations/bricks/assets/editor-app/app.css; test $? -eq 1 (success), and attempted npm --prefix SLASHED-for-WP/integrations/bricks/editor-app run build and npm --prefix SLASHED-for-WP/integrations/bricks/editor-app install but these were blocked due to the local vite binary missing and a 403 Forbidden from the registry respectively (build/install blocked).

Codex Task

Summary by CodeRabbit

  • New Features

    • Added a new Components section with reusable button and card controls, plus live previews.
    • Introduced more layout, spacing, shadow, surface, overlap, and background-layer styling options.
    • Added alternate text-selection colors, external-link label support, and expanded motion/scroll presets.
  • Bug Fixes

    • Improved theme switching so light/dark styles work consistently across theme aliases.
    • Updated preview and editor behavior for more accurate styling and selection overlays.
  • Chores

    • Refreshed bundled framework references and updated related style data.

@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@jackgranatowski, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 7 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 868f822d-1984-439c-89f2-1f71fc39c49b

📥 Commits

Reviewing files that changed from the base of the PR and between 288e5ee and 06afba6.

📒 Files selected for processing (6)
  • SLASHED-for-WP/admin-app/.vendored-manifest.json
  • SLASHED-for-WP/admin-app/framework-css/optional/components.css
  • SLASHED-for-WP/admin-app/framework-css/optional/tokens.components.css
  • SLASHED-for-WP/admin-app/src/components/panels/ComponentsPanel.svelte
  • SLASHED-for-WP/assets/admin-app/app.css
  • SLASHED-for-WP/assets/admin-app/app.js
📝 Walkthrough

Walkthrough

This PR adds a fluid container-relative token interpolation system (--sf-fluid-width), renames .sf-bg tokens to .sf-bg-layer, introduces new macros (surface-bg, corner-scoop, overlap), theme alias selectors, an optional .sf-btn/.sf-card component layer with its tokens, updated sync tooling to vendor optional layers, corresponding admin-app UI panels/data, and unrelated Bricks integration preview CSS fixes plus version reference bumps.

Changes

Framework tokens, CSS, and admin-app wiring

Layer / File(s) Summary
Core token contracts
framework-css/core/tokens.css, tokens.layout.css, tokens.macros.css
Adds --sf-fluid-width, --sf-media-radius, expanded shadow/animation tokens, --sf-bg-layer-* (replacing --sf-bg-*), selection alt colors, and surface-bg/corner-scoop/overlap macro inputs.
Layout/macro utilities
framework-css/core/layout.css, macros.css
Adds header padding modifiers, .sf-divide, .sf-overlay, .sf-fluid-cq, .sf-grid-flex, migrates .sf-bg to .sf-bg-layer, adds .sf-surface-bg, .sf-corner-scoop, .sf-overlap/.sf-overlap-host.
Theme alias selectors
framework-css/core/themes.css
Updates dark/light and section-level selectors to accept both data-theme and .sf-theme-* classes.
Optional components layer
framework-css/optional/components.css, tokens.components.css
Adds .sf-btn/.sf-card component styles, variants, states, and their tokens.
Sync/build vendoring
scripts/sync-core.mjs, .vendored-manifest.json, scripts/registry-sources.js, vite.config.js, src/main.ts
Vendors optional CSS layers, moves full bundle to framework-css/dist/, updates manifest, class registry, and import wiring.
Variable-scale slider UI
src/lib/variableScales.ts, SliderRow.svelte
Adds VarOption scale exports and a dropdown/raw-CSS editing mode driven by variableOptions.
Components domain and panel
App.svelte, CommandPalette.svelte, DomainPanel.svelte, HomePanel.svelte, SidebarNav.svelte, ComponentsPanel.svelte
Adds a "components" domain and a new panel for editing .sf-btn/.sf-card tokens.
Existing panel updates
BordersPanel.svelte, LayoutPanel.svelte, MacrosPanel.svelte, MiscPanel.svelte, MotionPanel.svelte, SpacingPanel.svelte, TypographyPanel.svelte, EffectsPanel.svelte
Wires variableOptions and new tokens (media-radius, bg-layer, surface-bg, selection alt, scroll-timeline exit, drop-shadow).
Preview panel updates
PreviewPanel.svelte
Switches to dist bundle path, reorders templates, updates markup to sf-card/sf-is-active.
Generated registry/hint data
src/data/api-index.generated.json, domain-patterns.json, token-registry.generated.json, data/classes-hints.json, data/inventory.json, data/variables-hints.json
Regenerates token/class metadata to reflect new/renamed tokens and classes.

Bricks integration preview styling and version bumps

Layer / File(s) Summary
Bricks preview overlay CSS and inventory
integrations/bricks/assets/editor-app/app.css, editor-app/src/styles/panel.css, integrations/bricks/data/inventory.json
Reworks the SF preview label overlay to flex-centered layout and hides the transparency pattern; regenerates bricks inventory data.
Version bumps
integrations/bricks/slashed-bricks.php, integrations/gutenberg/slashed-gutenberg.php, slashed.php
Bumps CSS reference constants from v0.6.34 to v0.7.1.

Estimated code review effort: 4 (Complex) | ~75 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Author as Framework repo
  participant SyncScript as sync-core.mjs
  participant VendoredCSS as admin-app/framework-css
  participant AdminApp as ComponentsPanel/SliderRow
  participant Overrides as overrides state

  Author->>SyncScript: publish core + optional layers
  SyncScript->>VendoredCSS: vendorChromeLocal/Remote()
  SyncScript->>VendoredCSS: vendorOptionalLocal/Remote()
  SyncScript->>VendoredCSS: write framework-css/dist/slashed.full.css
  AdminApp->>VendoredCSS: import optional/components.css
  AdminApp->>Overrides: onSet(--sf-btn-*/--sf-card-*)
  Overrides-->>AdminApp: overrides updated
  AdminApp->>VendoredCSS: preview renders .sf-btn/.sf-card with overrides
Loading

Possibly related issues

  • Components: second batch SLASHED#384: Implements the .sf-btn/.sf-card component batch and its tokens/panel wiring, directly matching this PR's Components domain and ComponentsPanel work.

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main Bricks editor fix and clearly describes the swatch positioning issue.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/napraw-poozenie-kwadratu-koloru

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.

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Fix Bricks SF color swatch positioning by removing preview positioning override

🐞 Bug fix 🕐 10-20 Minutes

Grey Divider

AI Description

• Remove a CSS rule that forced .bricks-control-preview into a positioned context.
• Keep Bricks’ native color preview aligned at the right end of the input row.
• Propagate the fix to the built editor-app CSS asset.
Diagram

graph TD
  A["Bricks editor UI"] --> B["panel.css (source)"] --> C["Build step"] --> D["app.css (built)"] --> E[".bricks-control-preview"]
  E --> F[".slashed-sf-preview-label"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Add a dedicated positioned wrapper for the overlay
  • ➕ Avoids changing positioning/layout semantics on Bricks’ native .bricks-control-preview element
  • ➕ Makes the overlay anchoring explicit and less sensitive to upstream Bricks CSS changes
  • ➖ Requires markup/template changes (may be harder/impossible depending on integration points)
  • ➖ More invasive than a simple CSS rule removal
2. Scope positioning to a more specific internal element
  • ➕ Could preserve overlay anchoring while minimizing side effects on the control row layout
  • ➖ Couples the integration to Bricks’ internal DOM structure/classes, increasing breakage risk across Bricks updates

Recommendation: The chosen approach (removing position: relative from .bricks-control-preview:has(.slashed-sf-preview-label)) is the least invasive and best aligns with preserving Bricks’ native layout. Consider a wrapper-based approach only if future Bricks changes remove the existing positioning context needed for the absolute overlay.

Files changed (2) +1 / -4

Bug fix (2) +1 / -4
app.cssRemove '.bricks-control-preview' positioning override from built CSS +1/-1

Remove '.bricks-control-preview' positioning override from built CSS

• Deletes the ':has(.slashed-sf-preview-label)' rule that set 'position: relative' on '.bricks-control-preview'. This prevents the SLASHED SF overlay styling from altering Bricks’ native swatch layout in production assets.

SLASHED-for-WP/integrations/bricks/assets/editor-app/app.css

panel.cssStop forcing positioned context on Bricks preview container +0/-3

Stop forcing positioned context on Bricks preview container

• Removes the '.bricks-control-preview:has(.slashed-sf-preview-label) { position: relative; }' rule. The '.slashed-sf-preview-label' remains absolutely positioned, but no longer reflows Bricks’ native color preview placement.

SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css

@qodo-code-review

qodo-code-review Bot commented Jul 7, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Context used
✅ Compliance rules (platform): 5 rules

Grey Divider


Remediation recommended

1. Overlay anchor now external ✓ Resolved 🐞 Bug ☼ Reliability
Description
After deleting the rule that positioned .bricks-control-preview when the label exists,
.slashed-sf-preview-label is still injected as position: absolute; inset: 0, so its placement
now depends on Bricks providing a positioned ancestor. If .bricks-control-preview is `position:
static` in any Bricks variant/state, the ✕ overlay can be positioned relative to an unexpected
ancestor (or the viewport) instead of the preview swatch.
Code

SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css[R805-807]

.slashed-sf-preview-label {
  position: absolute;
  inset: 0;
Relevance

⭐⭐ Medium

Conflicting history: PRs #37/#38 added parent position:relative; later PR #39 emphasized not
fighting Bricks CSS.

PR-#37
PR-#38
PR-#39

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The overlay is injected into .bricks-control-preview by JS and is styled as absolutely positioned
with inset:0 by CSS; removing the .bricks-control-preview:has(.slashed-sf-preview-label)
positioning rule means the repo no longer provides an explicit containing block and instead relies
on Bricks’ own CSS (as also noted by comments in panel.css).

SLASHED-for-WP/integrations/bricks/editor-app/src/lib/color-swatches.js[216-255]
SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css[740-744]
SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css[800-815]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The PR removes the only in-repo rule that ensured `.bricks-control-preview` is a positioning context when the ✕ overlay (`.slashed-sf-preview-label`) is injected. The overlay remains `position:absolute; inset:0`, so without a positioned ancestor it may anchor incorrectly.

### Issue Context
`updatePreviewForSFToken()` injects the `.slashed-sf-preview-label` span into `.bricks-control-preview`. The CSS for the label is absolute/inset, so it needs a containing block.

### Fix Focus Areas
- SLASHED-for-WP/integrations/bricks/editor-app/src/lib/color-swatches.js[227-255]
- SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css[740-815]

### Suggested fix
In `updatePreviewForSFToken(preview, showLabel)`, when `showLabel` is true:
1) Compute `getComputedStyle(preview).position`.
2) If it is `"static"`, set `preview.style.position = "relative"` **and mark that you did so** (e.g., `preview.dataset.slashedSfPos = "relative"`).
3) When hiding the label, if the dataset flag is present, remove the inline style and the dataset flag.

This keeps Bricks’ native positioning intact when it’s already `absolute/relative/etc`, while still guaranteeing correct anchoring when it’s `static`.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

Comment thread SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css Outdated
jackgranatowski and others added 5 commits July 7, 2026 10:25
…t/ rename

sync-core.mjs only ever vendored core/ chrome layers, so main.ts's new
`@framework-css/optional/components.css` import (and its
tokens.components.css dependency) had no vendored source and broke
`npm run build:admin-app` in CI. Also follow the framework's own
badges/ -> dist/ rename for the full CSS bundle PreviewPanel.svelte
imports, and re-sync src/ + framework-css/ to match the framework's
current main.
Bundled framework CSS was pinned to v0.6.34, well behind the framework's
current v0.7.1 release. Ran `npm run update-framework` to pull the latest
release bundles, regenerate data/inventory.json + classes-hints.json +
variables-hints.json from framework source, and stamp SLASHED_*_CSS_REF
to v0.7.1.
package-lock.json still said MIT; package.json has said
GPL-3.0-or-later since the license change. npm install regenerates
this automatically, it had just drifted.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
SLASHED-for-WP/admin-app/framework-css/optional/components.css (1)

250-257: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Redundant fallback chain on .sf-card__media radius.

--sf-card-media-radius in tokens.components.css already resolves via var(--sf-card-radius, var(--sf-radius-m)), so re-adding the same fallback chain here is redundant (harmless, just noise).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@SLASHED-for-WP/admin-app/framework-css/optional/components.css` around lines
250 - 257, The `.sf-card__media` radius fallback chain is duplicated because
`--sf-card-media-radius` already falls back to `--sf-card-radius` and
`--sf-radius-m`. Simplify the `border-radius` in the `.sf-card__media` rule to
use just the media radius token with its existing fallback, and keep the rest of
the component styles unchanged.
SLASHED-for-WP/admin-app/framework-css/optional/tokens.components.css (1)

38-46: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Field tokens currently unconsumed.

--sf-field-* tokens are defined here but no .sf-field class ships in this PR's optional/components.css; presumably reserved for a future optional/forms.css layer. Worth a short comment noting the intended consumer to avoid confusion for future maintainers.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@SLASHED-for-WP/admin-app/framework-css/optional/tokens.components.css` around
lines 38 - 46, Add a brief comment near the field token definitions in
tokens.components.css clarifying that the --sf-field-* tokens are intentionally
unused in this PR and are reserved for a future consumer such as an
optional/forms.css layer. Point maintainers to the intended .sf-field styling
hook so the purpose of these tokens is clear without changing the token values.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@SLASHED-for-WP/admin-app/src/components/panels/ComponentsPanel.svelte`:
- Around line 91-97: The “Radius (outer, computed)” hint is using fallback
defaults from getVal() even when cardRadius/cardPadding are backed by
var()/calc()/clamp() values, so the displayed sum can be wrong after choosing a
sibling option in the dropdown. Update ComponentsPanel.svelte to resolve the
radius/padding tokens by token id instead of relying on
CARD_TOKENS[2]/CARD_TOKENS[0], and change the computed hint logic to show a
non-numeric text fallback when getVal() cannot resolve the real applied value
rather than displaying a stale number.

---

Nitpick comments:
In `@SLASHED-for-WP/admin-app/framework-css/optional/components.css`:
- Around line 250-257: The `.sf-card__media` radius fallback chain is duplicated
because `--sf-card-media-radius` already falls back to `--sf-card-radius` and
`--sf-radius-m`. Simplify the `border-radius` in the `.sf-card__media` rule to
use just the media radius token with its existing fallback, and keep the rest of
the component styles unchanged.

In `@SLASHED-for-WP/admin-app/framework-css/optional/tokens.components.css`:
- Around line 38-46: Add a brief comment near the field token definitions in
tokens.components.css clarifying that the --sf-field-* tokens are intentionally
unused in this PR and are reserved for a future consumer such as an
optional/forms.css layer. Point maintainers to the intended .sf-field styling
hook so the purpose of these tokens is clear without changing the token values.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d8c8f100-eb97-42fc-b396-641af819a141

📥 Commits

Reviewing files that changed from the base of the PR and between 0c9a6c4 and 288e5ee.

⛔ Files ignored due to path filters (6)
  • SLASHED-for-WP/admin-app/framework-css/dist/slashed.full.css is excluded by !**/dist/**
  • SLASHED-for-WP/dist/slashed.full.css is excluded by !**/dist/**
  • SLASHED-for-WP/dist/slashed.optimal-components.css is excluded by !**/dist/**
  • SLASHED-for-WP/dist/slashed.optimal-utilities.css is excluded by !**/dist/**
  • SLASHED-for-WP/dist/slashed.optimal.css is excluded by !**/dist/**
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (45)
  • SLASHED-for-WP/admin-app/.vendored-manifest.json
  • SLASHED-for-WP/admin-app/framework-css/core/layout.css
  • SLASHED-for-WP/admin-app/framework-css/core/macros.css
  • SLASHED-for-WP/admin-app/framework-css/core/themes.css
  • SLASHED-for-WP/admin-app/framework-css/core/tokens.css
  • SLASHED-for-WP/admin-app/framework-css/core/tokens.layout.css
  • SLASHED-for-WP/admin-app/framework-css/core/tokens.macros.css
  • SLASHED-for-WP/admin-app/framework-css/optional/components.css
  • SLASHED-for-WP/admin-app/framework-css/optional/tokens.components.css
  • SLASHED-for-WP/admin-app/scripts/sync-core.mjs
  • SLASHED-for-WP/admin-app/src/App.svelte
  • SLASHED-for-WP/admin-app/src/components/CommandPalette.svelte
  • SLASHED-for-WP/admin-app/src/components/DomainPanel.svelte
  • SLASHED-for-WP/admin-app/src/components/inputs/SliderRow.svelte
  • SLASHED-for-WP/admin-app/src/components/panels/BordersPanel.svelte
  • SLASHED-for-WP/admin-app/src/components/panels/ComponentsPanel.svelte
  • SLASHED-for-WP/admin-app/src/components/panels/EffectsPanel.svelte
  • SLASHED-for-WP/admin-app/src/components/panels/HomePanel.svelte
  • SLASHED-for-WP/admin-app/src/components/panels/LayoutPanel.svelte
  • SLASHED-for-WP/admin-app/src/components/panels/MacrosPanel.svelte
  • SLASHED-for-WP/admin-app/src/components/panels/MiscPanel.svelte
  • SLASHED-for-WP/admin-app/src/components/panels/MotionPanel.svelte
  • SLASHED-for-WP/admin-app/src/components/panels/SpacingPanel.svelte
  • SLASHED-for-WP/admin-app/src/components/panels/TypographyPanel.svelte
  • SLASHED-for-WP/admin-app/src/components/shell/PreviewPanel.svelte
  • SLASHED-for-WP/admin-app/src/components/shell/SidebarNav.svelte
  • SLASHED-for-WP/admin-app/src/data/api-index.generated.json
  • SLASHED-for-WP/admin-app/src/data/classes.generated.json
  • SLASHED-for-WP/admin-app/src/data/domain-patterns.json
  • SLASHED-for-WP/admin-app/src/data/token-registry.generated.json
  • SLASHED-for-WP/admin-app/src/lib/variableScales.ts
  • SLASHED-for-WP/admin-app/src/main.ts
  • SLASHED-for-WP/admin-app/vite.config.js
  • SLASHED-for-WP/assets/admin-app/app.css
  • SLASHED-for-WP/assets/admin-app/app.js
  • SLASHED-for-WP/data/classes-hints.json
  • SLASHED-for-WP/data/inventory.json
  • SLASHED-for-WP/data/variables-hints.json
  • SLASHED-for-WP/integrations/bricks/assets/editor-app/app.css
  • SLASHED-for-WP/integrations/bricks/data/inventory.json
  • SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css
  • SLASHED-for-WP/integrations/bricks/slashed-bricks.php
  • SLASHED-for-WP/integrations/gutenberg/slashed-gutenberg.php
  • SLASHED-for-WP/slashed.php
  • scripts/registry-sources.js

Addresses CodeRabbit review on PR172: pull in the upstream fix (SLASHED
main @ 8303017) for the "Radius (outer, computed)" hint silently showing
a stale value once radius/padding is set via the variable-scale dropdown,
plus two trivial optional/components.css cleanups. All three files are
vendored from the framework, so the fix landed there first and this
commit is just the resync.
@jackgranatowski
jackgranatowski merged commit ca65e12 into main Jul 7, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants