From 3dc11c71370bc2fa0139f24bd2f61acdeba6ef8a Mon Sep 17 00:00:00 2001 From: Vance Ingalls Date: Wed, 8 Jul 2026 20:32:22 -0700 Subject: [PATCH] feat(studio): add flat-inspector tokens and STUDIO_FLAT_INSPECTOR_ENABLED flag --- .fallowrc.jsonc | 6 ++++++ .../editor/manualEditingAvailability.test.ts | 10 ++++++++++ .../src/components/editor/manualEditingAvailability.ts | 9 +++++++++ packages/studio/src/styles/tailwind-preset.shared.js | 4 ++++ 4 files changed, 29 insertions(+) diff --git a/.fallowrc.jsonc b/.fallowrc.jsonc index 52dc3e3ad..ad4c1310d 100644 --- a/.fallowrc.jsonc +++ b/.fallowrc.jsonc @@ -325,6 +325,12 @@ "file": "packages/core/src/figma/manifest.ts", "exports": ["mediaDir", "typeDirPath", "isFigmaManifestRecord"], }, + // STUDIO_FLAT_INSPECTOR_ENABLED: exported for use by downstream studio + // inspector redesign tasks; consumed by components in later PRs. + { + "file": "packages/studio/src/components/editor/manualEditingAvailability.ts", + "exports": ["STUDIO_FLAT_INSPECTOR_ENABLED"], + }, ], "ignoreDependencies": [ // Runtime/dynamic deps not visible to static analysis: tsup `external`, diff --git a/packages/studio/src/components/editor/manualEditingAvailability.test.ts b/packages/studio/src/components/editor/manualEditingAvailability.test.ts index acd1f0694..2b36fe640 100644 --- a/packages/studio/src/components/editor/manualEditingAvailability.test.ts +++ b/packages/studio/src/components/editor/manualEditingAvailability.test.ts @@ -105,4 +105,14 @@ describe("manual editing availability", () => { expect(resolveStudioBooleanEnvFlag({ EMPTY: "" }, ["EMPTY"], true)).toBe(true); expect(resolveStudioBooleanEnvFlag({ UNKNOWN: "maybe" }, ["UNKNOWN"], false)).toBe(false); }); + + it("defaults the flat inspector flag to false and honors an explicit override", async () => { + const off = await loadAvailabilityWithEnv({}); + expect(off.STUDIO_FLAT_INSPECTOR_ENABLED).toBe(false); + + const on = await loadAvailabilityWithEnv({ + VITE_STUDIO_FLAT_INSPECTOR_ENABLED: "true", + }); + expect(on.STUDIO_FLAT_INSPECTOR_ENABLED).toBe(true); + }); }); diff --git a/packages/studio/src/components/editor/manualEditingAvailability.ts b/packages/studio/src/components/editor/manualEditingAvailability.ts index b49a0523c..5a9c80234 100644 --- a/packages/studio/src/components/editor/manualEditingAvailability.ts +++ b/packages/studio/src/components/editor/manualEditingAvailability.ts @@ -97,4 +97,13 @@ export const STUDIO_SDK_RESOLVER_SHADOW_ENABLED = resolveStudioBooleanEnvFlag( true, ); +// Studio inspector redesign ("Ledger, flat" — design_handoff_studio_inspector): +// flat identity header/footer/groups behind a flag for incremental review. +// Default false; enable via VITE_STUDIO_FLAT_INSPECTOR_ENABLED=true. +export const STUDIO_FLAT_INSPECTOR_ENABLED = resolveStudioBooleanEnvFlag( + env, + ["VITE_STUDIO_ENABLE_FLAT_INSPECTOR", "VITE_STUDIO_FLAT_INSPECTOR_ENABLED"], + false, +); + export const STUDIO_MANUAL_EDITING_DISABLED_TITLE = "Manual editing is temporarily disabled"; diff --git a/packages/studio/src/styles/tailwind-preset.shared.js b/packages/studio/src/styles/tailwind-preset.shared.js index 35142881e..0ba4a2ba6 100644 --- a/packages/studio/src/styles/tailwind-preset.shared.js +++ b/packages/studio/src/styles/tailwind-preset.shared.js @@ -17,6 +17,8 @@ const studioPreset = { hover: "#27272A", border: "#1E1E1E", "border-input": "#27272A", + hairline: "#1A1A1C", + "text-0": "#FAFAFA", "text-1": "#E4E4E7", "text-2": "#A1A1AA", "text-3": "#71717A", @@ -24,6 +26,8 @@ const studioPreset = { "text-5": "#3F3F46", accent: "#3CE6AC", danger: "#EF4444", + media: "#00E3FF", + container: "#F5A623", }, }, },