{label}
@@ -46,6 +56,26 @@ export const TokenSwatchRow: React.FC
= ({
/>
);
})}
+ {saved.map((sw) => {
+ const stored = swatchValue(sw);
+ const live = stored !== sw.hex;
+ const pressed = live ? current === stored : !!currentHex && currentHex === sw.hex.toLowerCase();
+ const title = savedSwatchTitle(sw);
+ return (
+
);
diff --git a/craft/src/styles/editor.css b/craft/src/styles/editor.css
index 270ddba..26aa5af 100644
--- a/craft/src/styles/editor.css
+++ b/craft/src/styles/editor.css
@@ -3382,3 +3382,11 @@ body {
.guided-regenerate-btn:hover { background: var(--color-bg-hover); }
.guided-regenerate-btn:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 1px; }
/* /#followups */
+
+/* Saved colours: a "live" brand swatch gets a double ring */
+.token-swatch--live {
+ box-shadow: 0 0 0 2px var(--color-bg-surface, #18181b), 0 0 0 3px var(--color-accent);
+}
+.token-swatch--live.active {
+ box-shadow: 0 0 0 2px var(--color-bg-surface, #18181b), 0 0 0 4px var(--color-accent);
+}