From cad01ed2e819d9c271b75b6f58a744cdd9e9a586 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 07:10:32 +0000 Subject: [PATCH 1/2] fix: re-sync single-row mobile preview toolbar from framework Pulls in the PreviewPanel.svelte change from codeslash-dev/SLASHED#466: the preview toolbar (template tabs, width/theme controls, motion select, refresh/external-link) no longer wraps onto 2-3 lines on narrow viewports, eating a large chunk of the WP admin Tokens page on mobile. It's now a fixed-height single row that scrolls horizontally. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01SQXr34nocCi1jrGcp5TPVm --- .../admin-app/.vendored-manifest.json | 102 +++++++++--------- .../src/components/shell/PreviewPanel.svelte | 17 +-- SLASHED-for-WP/assets/admin-app/app.css | 2 +- SLASHED-for-WP/assets/admin-app/app.js | 2 +- 4 files changed, 62 insertions(+), 61 deletions(-) diff --git a/SLASHED-for-WP/admin-app/.vendored-manifest.json b/SLASHED-for-WP/admin-app/.vendored-manifest.json index 94435823..6aa34fb3 100644 --- a/SLASHED-for-WP/admin-app/.vendored-manifest.json +++ b/SLASHED-for-WP/admin-app/.vendored-manifest.json @@ -3,205 +3,205 @@ "description": "Files vendored from the SLASHED framework configurator. DO NOT edit directly — make changes in codeslash-dev/SLASHED → configurator/src/ and re-run npm run sync.", "frameworkRepo": "https://github.com/codeslash-dev/SLASHED", "configuratorSrc": "configurator/src/", - "source": "github:codeslash-dev/slashed@main", - "syncedAt": "2026-07-01T06:36:17.233Z" + "source": "local", + "syncedAt": "2026-07-01T07:10:03.902Z" }, "vendoredFiles": [ { "file": "src/app.css", - "source": "github:codeslash-dev/slashed/configurator/src/app.css@main" + "source": "local:configurator/src/app.css" }, { "file": "src/App.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/App.svelte@main" + "source": "local:configurator/src/App.svelte" }, { "file": "src/components/CommandPalette.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/CommandPalette.svelte@main" + "source": "local:configurator/src/components/CommandPalette.svelte" }, { "file": "src/components/DomainPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/DomainPanel.svelte@main" + "source": "local:configurator/src/components/DomainPanel.svelte" }, { "file": "src/components/inputs/ClampField.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/inputs/ClampField.svelte@main" + "source": "local:configurator/src/components/inputs/ClampField.svelte" }, { "file": "src/components/inputs/ColorInput.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/inputs/ColorInput.svelte@main" + "source": "local:configurator/src/components/inputs/ColorInput.svelte" }, { "file": "src/components/inputs/OklchColorDesk.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/inputs/OklchColorDesk.svelte@main" + "source": "local:configurator/src/components/inputs/OklchColorDesk.svelte" }, { "file": "src/components/inputs/PowerKnobRow.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/inputs/PowerKnobRow.svelte@main" + "source": "local:configurator/src/components/inputs/PowerKnobRow.svelte" }, { "file": "src/components/inputs/RangeWithNumber.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/inputs/RangeWithNumber.svelte@main" + "source": "local:configurator/src/components/inputs/RangeWithNumber.svelte" }, { "file": "src/components/inputs/SliderRow.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/inputs/SliderRow.svelte@main" + "source": "local:configurator/src/components/inputs/SliderRow.svelte" }, { "file": "src/components/inputs/TokenRow.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/inputs/TokenRow.svelte@main" + "source": "local:configurator/src/components/inputs/TokenRow.svelte" }, { "file": "src/components/panels/AllTokensTab.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/AllTokensTab.svelte@main" + "source": "local:configurator/src/components/panels/AllTokensTab.svelte" }, { "file": "src/components/panels/BordersPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/BordersPanel.svelte@main" + "source": "local:configurator/src/components/panels/BordersPanel.svelte" }, { "file": "src/components/panels/CheatsheetPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/CheatsheetPanel.svelte@main" + "source": "local:configurator/src/components/panels/CheatsheetPanel.svelte" }, { "file": "src/components/panels/ColorsPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/ColorsPanel.svelte@main" + "source": "local:configurator/src/components/panels/ColorsPanel.svelte" }, { "file": "src/components/panels/EffectsPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/EffectsPanel.svelte@main" + "source": "local:configurator/src/components/panels/EffectsPanel.svelte" }, { "file": "src/components/panels/ExportPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/ExportPanel.svelte@main" + "source": "local:configurator/src/components/panels/ExportPanel.svelte" }, { "file": "src/components/panels/GenericTokenPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/GenericTokenPanel.svelte@main" + "source": "local:configurator/src/components/panels/GenericTokenPanel.svelte" }, { "file": "src/components/panels/HomePanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/HomePanel.svelte@main" + "source": "local:configurator/src/components/panels/HomePanel.svelte" }, { "file": "src/components/panels/LayoutPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/LayoutPanel.svelte@main" + "source": "local:configurator/src/components/panels/LayoutPanel.svelte" }, { "file": "src/components/panels/MacrosPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/MacrosPanel.svelte@main" + "source": "local:configurator/src/components/panels/MacrosPanel.svelte" }, { "file": "src/components/panels/MiscPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/MiscPanel.svelte@main" + "source": "local:configurator/src/components/panels/MiscPanel.svelte" }, { "file": "src/components/panels/MotionPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/MotionPanel.svelte@main" + "source": "local:configurator/src/components/panels/MotionPanel.svelte" }, { "file": "src/components/panels/ShadowsPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/ShadowsPanel.svelte@main" + "source": "local:configurator/src/components/panels/ShadowsPanel.svelte" }, { "file": "src/components/panels/SpacingPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/SpacingPanel.svelte@main" + "source": "local:configurator/src/components/panels/SpacingPanel.svelte" }, { "file": "src/components/panels/ThemesPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/ThemesPanel.svelte@main" + "source": "local:configurator/src/components/panels/ThemesPanel.svelte" }, { "file": "src/components/panels/TypographyPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/TypographyPanel.svelte@main" + "source": "local:configurator/src/components/panels/TypographyPanel.svelte" }, { "file": "src/components/panels/WcagPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/panels/WcagPanel.svelte@main" + "source": "local:configurator/src/components/panels/WcagPanel.svelte" }, { "file": "src/components/shell/PreviewPanel.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/shell/PreviewPanel.svelte@main" + "source": "local:configurator/src/components/shell/PreviewPanel.svelte" }, { "file": "src/components/shell/SidebarNav.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/shell/SidebarNav.svelte@main" + "source": "local:configurator/src/components/shell/SidebarNav.svelte" }, { "file": "src/components/shell/StatusBar.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/shell/StatusBar.svelte@main" + "source": "local:configurator/src/components/shell/StatusBar.svelte" }, { "file": "src/components/shell/StudioHeader.svelte", - "source": "github:codeslash-dev/slashed/configurator/src/components/shell/StudioHeader.svelte@main" + "source": "local:configurator/src/components/shell/StudioHeader.svelte" }, { "file": "src/data/api-index.generated.json", - "source": "github:codeslash-dev/slashed/configurator/src/data/api-index.generated.json@main" + "source": "local:configurator/src/data/api-index.generated.json" }, { "file": "src/data/bundles.generated.json", - "source": "github:codeslash-dev/slashed/configurator/src/data/bundles.generated.json@main" + "source": "local:configurator/src/data/bundles.generated.json" }, { "file": "src/data/classes.generated.json", - "source": "github:codeslash-dev/slashed/configurator/src/data/classes.generated.json@main" + "source": "local:configurator/src/data/classes.generated.json" }, { "file": "src/data/domain-patterns.json", - "source": "github:codeslash-dev/slashed/configurator/src/data/domain-patterns.json@main" + "source": "local:configurator/src/data/domain-patterns.json" }, { "file": "src/data/token-registry.generated.json", - "source": "github:codeslash-dev/slashed/configurator/src/data/token-registry.generated.json@main" + "source": "local:configurator/src/data/token-registry.generated.json" }, { "file": "src/lib/basics.ts", - "source": "github:codeslash-dev/slashed/configurator/src/lib/basics.ts@main" + "source": "local:configurator/src/lib/basics.ts" }, { "file": "src/lib/codec.ts", - "source": "github:codeslash-dev/slashed/configurator/src/lib/codec.ts@main" + "source": "local:configurator/src/lib/codec.ts" }, { "file": "src/lib/colorUtils.ts", - "source": "github:codeslash-dev/slashed/configurator/src/lib/colorUtils.ts@main" + "source": "local:configurator/src/lib/colorUtils.ts" }, { "file": "src/lib/domains.ts", - "source": "github:codeslash-dev/slashed/configurator/src/lib/domains.ts@main" + "source": "local:configurator/src/lib/domains.ts" }, { "file": "src/lib/lumlockerPreview.svelte.ts", - "source": "github:codeslash-dev/slashed/configurator/src/lib/lumlockerPreview.svelte.ts@main" + "source": "local:configurator/src/lib/lumlockerPreview.svelte.ts" }, { "file": "src/lib/persistence.ts", - "source": "github:codeslash-dev/slashed/configurator/src/lib/persistence.ts@main" + "source": "local:configurator/src/lib/persistence.ts" }, { "file": "src/lib/powerKnobs.ts", - "source": "github:codeslash-dev/slashed/configurator/src/lib/powerKnobs.ts@main" + "source": "local:configurator/src/lib/powerKnobs.ts" }, { "file": "src/lib/previewResolver.svelte.ts", - "source": "github:codeslash-dev/slashed/configurator/src/lib/previewResolver.svelte.ts@main" + "source": "local:configurator/src/lib/previewResolver.svelte.ts" }, { "file": "src/lib/savedThemes.ts", - "source": "github:codeslash-dev/slashed/configurator/src/lib/savedThemes.ts@main" + "source": "local:configurator/src/lib/savedThemes.ts" }, { "file": "src/main.ts", - "source": "github:codeslash-dev/slashed/configurator/src/main.ts@main" + "source": "local:configurator/src/main.ts" }, { "file": "src/types.ts", - "source": "github:codeslash-dev/slashed/configurator/src/types.ts@main" + "source": "local:configurator/src/types.ts" }, { "file": "src/vite-env.d.ts", - "source": "github:codeslash-dev/slashed/configurator/src/vite-env.d.ts@main" + "source": "local:configurator/src/vite-env.d.ts" } ] } diff --git a/SLASHED-for-WP/admin-app/src/components/shell/PreviewPanel.svelte b/SLASHED-for-WP/admin-app/src/components/shell/PreviewPanel.svelte index 378c0bb1..a519c983 100644 --- a/SLASHED-for-WP/admin-app/src/components/shell/PreviewPanel.svelte +++ b/SLASHED-for-WP/admin-app/src/components/shell/PreviewPanel.svelte @@ -558,10 +558,11 @@ ${BODIES[template]}
- -
+ +
-
+
{#each TEMPLATES as t (t.id)}
-
+
');function yu(a,e){ea(e,!0);function o(T){const Q=typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches,le=Hi(T,{reduceMotion:Q});return Object.keys(le).length>0?{...le,...T}:T}const n=[{id:"marketing",label:"Marketing"},{id:"components",label:"Components"},{id:"stylescape",label:"Stylescape"}],l=new Set(["system-ui","-apple-system","BlinkMacSystemFont","ui-monospace","ui-serif","ui-sans-serif","sans-serif","serif","monospace","cursive","fantasy","Georgia","Times New Roman","Times","Impact","Arial Narrow","Arial","Helvetica","Helvetica Neue","Courier New","Courier","Fira Code","Verdana"]);function i(T){if(!T?.trim())return null;const Q=T.trim().match(/^['"]([^'"]+)['"]/),ke=(Q?Q[1]:T.split(",")[0]).trim();return ke&&!l.has(ke)?ke:null}function c(T){const Q=new Set,le=[];for(const ke of["--sf-font-body","--sf-font-heading","--sf-font-mono"]){const Ce=i(T[ke]??"");!Ce||Q.has(Ce)||(Q.add(Ce),le.push({name:Ce,url:`https://fonts.googleapis.com/css2?family=${encodeURIComponent(Ce)}:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap`}))}return le}function d(T,Q){for(const{name:le,url:ke}of c(Q)){const Ce=`gf-${le.replace(/\s+/g,"-").toLowerCase()}`;if(!T.getElementById(Ce)){const Ve=T.createElement("link");Ve.id=Ce,Ve.rel="stylesheet",Ve.href=ke,T.head.appendChild(Ve)}}}const p=[50,100,200,300,400,500,600,700,800,900,950],m=["xs","s","m","l","xl","2xl","full"],h=["xs","s","m","l","xl","2xl"],v=["3xs","2xs","xs","s","m","l","xl","2xl","3xl","4xl"],b=["display-l","display-m","display-s","2xl","xl","l","m","s","xs"];function k(){const T=(Q,le,ke)=>p.map(Ce=>`.pv-sw--${Q}-${Ce}{background:var(--sf-color-${le}-${Ce}${ke?`,var(--sf-color-${ke}-${Ce})`:""});}`).join("");return` +`;var fu=g(""),uu=g(""),pu=g(''),mu=g(''),vu=g('
Light
Dark
'),hu=g(''),gu=g("
"),bu=g('
');function yu(a,e){ea(e,!0);function o(T){const Q=typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches,le=Hi(T,{reduceMotion:Q});return Object.keys(le).length>0?{...le,...T}:T}const n=[{id:"marketing",label:"Marketing"},{id:"components",label:"Components"},{id:"stylescape",label:"Stylescape"}],l=new Set(["system-ui","-apple-system","BlinkMacSystemFont","ui-monospace","ui-serif","ui-sans-serif","sans-serif","serif","monospace","cursive","fantasy","Georgia","Times New Roman","Times","Impact","Arial Narrow","Arial","Helvetica","Helvetica Neue","Courier New","Courier","Fira Code","Verdana"]);function i(T){if(!T?.trim())return null;const Q=T.trim().match(/^['"]([^'"]+)['"]/),ke=(Q?Q[1]:T.split(",")[0]).trim();return ke&&!l.has(ke)?ke:null}function c(T){const Q=new Set,le=[];for(const ke of["--sf-font-body","--sf-font-heading","--sf-font-mono"]){const Ce=i(T[ke]??"");!Ce||Q.has(Ce)||(Q.add(Ce),le.push({name:Ce,url:`https://fonts.googleapis.com/css2?family=${encodeURIComponent(Ce)}:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap`}))}return le}function d(T,Q){for(const{name:le,url:ke}of c(Q)){const Ce=`gf-${le.replace(/\s+/g,"-").toLowerCase()}`;if(!T.getElementById(Ce)){const Ve=T.createElement("link");Ve.id=Ce,Ve.rel="stylesheet",Ve.href=ke,T.head.appendChild(Ve)}}}const p=[50,100,200,300,400,500,600,700,800,900,950],m=["xs","s","m","l","xl","2xl","full"],h=["xs","s","m","l","xl","2xl"],v=["3xs","2xs","xs","s","m","l","xl","2xl","3xl","4xl"],b=["display-l","display-m","display-s","2xl","xl","l","m","s","xs"];function k(){const T=(Q,le,ke)=>p.map(Ce=>`.pv-sw--${Q}-${Ce}{background:var(--sf-color-${le}-${Ce}${ke?`,var(--sf-color-${ke}-${Ce})`:""});}`).join("");return` /* Text roles (core ships no utility classes — these mirror semantic tokens) */ .pv-eyebrow{font-size:var(--sf-text-xs);font-weight:var(--sf-font-weight-heading);text-transform:uppercase;letter-spacing:0.08em;color:var(--sf-color-text--muted);} .pv-lead{font-size:var(--sf-text-l);color:var(--sf-color-text--secondary);} From 57f64f1ccbdb24b5e0b9ccb126396caf508dcf61 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 07:18:40 +0000 Subject: [PATCH 2/2] fix: re-sync min-h toolbar fix from framework Pulls in the PreviewPanel.svelte change from codeslash-dev/SLASHED#466: switch the preview toolbar from a hard h-10 to min-h-10 so it can't clip a control that renders taller than 40px (OS text scaling, browser zoom, platform-native
');function yu(a,e){ea(e,!0);function o(T){const Q=typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches,le=Hi(T,{reduceMotion:Q});return Object.keys(le).length>0?{...le,...T}:T}const n=[{id:"marketing",label:"Marketing"},{id:"components",label:"Components"},{id:"stylescape",label:"Stylescape"}],l=new Set(["system-ui","-apple-system","BlinkMacSystemFont","ui-monospace","ui-serif","ui-sans-serif","sans-serif","serif","monospace","cursive","fantasy","Georgia","Times New Roman","Times","Impact","Arial Narrow","Arial","Helvetica","Helvetica Neue","Courier New","Courier","Fira Code","Verdana"]);function i(T){if(!T?.trim())return null;const Q=T.trim().match(/^['"]([^'"]+)['"]/),ke=(Q?Q[1]:T.split(",")[0]).trim();return ke&&!l.has(ke)?ke:null}function c(T){const Q=new Set,le=[];for(const ke of["--sf-font-body","--sf-font-heading","--sf-font-mono"]){const Ce=i(T[ke]??"");!Ce||Q.has(Ce)||(Q.add(Ce),le.push({name:Ce,url:`https://fonts.googleapis.com/css2?family=${encodeURIComponent(Ce)}:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap`}))}return le}function d(T,Q){for(const{name:le,url:ke}of c(Q)){const Ce=`gf-${le.replace(/\s+/g,"-").toLowerCase()}`;if(!T.getElementById(Ce)){const Ve=T.createElement("link");Ve.id=Ce,Ve.rel="stylesheet",Ve.href=ke,T.head.appendChild(Ve)}}}const p=[50,100,200,300,400,500,600,700,800,900,950],m=["xs","s","m","l","xl","2xl","full"],h=["xs","s","m","l","xl","2xl"],v=["3xs","2xs","xs","s","m","l","xl","2xl","3xl","4xl"],b=["display-l","display-m","display-s","2xl","xl","l","m","s","xs"];function k(){const T=(Q,le,ke)=>p.map(Ce=>`.pv-sw--${Q}-${Ce}{background:var(--sf-color-${le}-${Ce}${ke?`,var(--sf-color-${ke}-${Ce})`:""});}`).join("");return` +`;var fu=g(""),uu=g(""),pu=g(''),mu=g(''),vu=g('
Light
Dark
'),hu=g(''),gu=g("
"),bu=g('
');function yu(a,e){ea(e,!0);function o(T){const Q=typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches,le=Hi(T,{reduceMotion:Q});return Object.keys(le).length>0?{...le,...T}:T}const n=[{id:"marketing",label:"Marketing"},{id:"components",label:"Components"},{id:"stylescape",label:"Stylescape"}],l=new Set(["system-ui","-apple-system","BlinkMacSystemFont","ui-monospace","ui-serif","ui-sans-serif","sans-serif","serif","monospace","cursive","fantasy","Georgia","Times New Roman","Times","Impact","Arial Narrow","Arial","Helvetica","Helvetica Neue","Courier New","Courier","Fira Code","Verdana"]);function i(T){if(!T?.trim())return null;const Q=T.trim().match(/^['"]([^'"]+)['"]/),ke=(Q?Q[1]:T.split(",")[0]).trim();return ke&&!l.has(ke)?ke:null}function c(T){const Q=new Set,le=[];for(const ke of["--sf-font-body","--sf-font-heading","--sf-font-mono"]){const Ce=i(T[ke]??"");!Ce||Q.has(Ce)||(Q.add(Ce),le.push({name:Ce,url:`https://fonts.googleapis.com/css2?family=${encodeURIComponent(Ce)}:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap`}))}return le}function d(T,Q){for(const{name:le,url:ke}of c(Q)){const Ce=`gf-${le.replace(/\s+/g,"-").toLowerCase()}`;if(!T.getElementById(Ce)){const Ve=T.createElement("link");Ve.id=Ce,Ve.rel="stylesheet",Ve.href=ke,T.head.appendChild(Ve)}}}const p=[50,100,200,300,400,500,600,700,800,900,950],m=["xs","s","m","l","xl","2xl","full"],h=["xs","s","m","l","xl","2xl"],v=["3xs","2xs","xs","s","m","l","xl","2xl","3xl","4xl"],b=["display-l","display-m","display-s","2xl","xl","l","m","s","xs"];function k(){const T=(Q,le,ke)=>p.map(Ce=>`.pv-sw--${Q}-${Ce}{background:var(--sf-color-${le}-${Ce}${ke?`,var(--sf-color-${ke}-${Ce})`:""});}`).join("");return` /* Text roles (core ships no utility classes — these mirror semantic tokens) */ .pv-eyebrow{font-size:var(--sf-text-xs);font-weight:var(--sf-font-weight-heading);text-transform:uppercase;letter-spacing:0.08em;color:var(--sf-color-text--muted);} .pv-lead{font-size:var(--sf-text-l);color:var(--sf-color-text--secondary);}