diff --git a/packages/tui/src/routes/session/composer/subagents-tab.tsx b/packages/tui/src/routes/session/composer/subagents-tab.tsx index 79aa0582c8..1e907120fb 100644 --- a/packages/tui/src/routes/session/composer/subagents-tab.tsx +++ b/packages/tui/src/routes/session/composer/subagents-tab.tsx @@ -218,7 +218,7 @@ export function SubagentsTab(props: { sessionID: string }) { flexDirection="row" paddingLeft={1} paddingRight={1} - backgroundColor={themeV2.background.action({ focused: active() })} + backgroundColor={themeV2.background.action({ focused: active(), selected: entry.current })} onMouseOver={() => setStore("selected", index())} onMouseUp={() => { setStore("selected", index()) diff --git a/packages/tui/src/theme/v2/defaults.ts b/packages/tui/src/theme/v2/defaults.ts index cae67681a8..796bd9f89b 100644 --- a/packages/tui/src/theme/v2/defaults.ts +++ b/packages/tui/src/theme/v2/defaults.ts @@ -129,7 +129,7 @@ export const DEFAULT_THEME = { $hovered: "$hue.interactive.700", $focused: "$hue.interactive.700", $pressed: "$hue.interactive.800", - $selected: "$hue.interactive.700", + $selected: "transparent", $disabled: "$hue.neutral.300", }, destructive: { @@ -341,7 +341,7 @@ export const DEFAULT_THEME = { $hovered: "$hue.interactive.600", $focused: "$hue.interactive.600", $pressed: "$hue.interactive.800", - $selected: "$hue.interactive.600", + $selected: "transparent", $disabled: "$hue.neutral.800", }, destructive: { diff --git a/packages/tui/src/theme/v2/v1-migrate.ts b/packages/tui/src/theme/v2/v1-migrate.ts index 3b00547772..e688f02b2a 100644 --- a/packages/tui/src/theme/v2/v1-migrate.ts +++ b/packages/tui/src/theme/v2/v1-migrate.ts @@ -98,7 +98,7 @@ function migrateMode(theme: Theme, mode: Mode): FileThemeDefinition { overlay: backgroundMenu, }, action: { - primary: { default: "transparent", $hovered: backgroundPanel, $focused: primary, $selected: primary }, + primary: { default: "transparent", $hovered: backgroundPanel, $focused: primary, $selected: "transparent" }, destructive: { default: color("error") }, }, formfield: { diff --git a/packages/tui/test/theme/v2/resolve.test.ts b/packages/tui/test/theme/v2/resolve.test.ts index 67aafc208f..70811a6aaa 100644 --- a/packages/tui/test/theme/v2/resolve.test.ts +++ b/packages/tui/test/theme/v2/resolve.test.ts @@ -43,6 +43,8 @@ test("resolves independent definitions and hue aliases", () => { expect(lightTheme.background.surface.overlay).toBe(lightTheme.hue.neutral[400]) expect(lightTheme.syntax.keyword).toBeInstanceOf(RGBA) expect(lightTheme.text.action.primary.default).toBe(lightTheme.hue.neutral[200]) + expect(lightTheme.background.action.primary.selected.toInts()).toEqual([0, 0, 0, 0]) + expect(darkTheme.background.action.primary.selected.toInts()).toEqual([0, 0, 0, 0]) expect(lightTheme.contexts["@context:elevated"]?.background.action.primary.default).toBe( lightTheme.hue.interactive[500], ) diff --git a/packages/tui/test/theme/v2/v1-migrate.test.ts b/packages/tui/test/theme/v2/v1-migrate.test.ts index 27ccb9db25..e2cd71228e 100644 --- a/packages/tui/test/theme/v2/v1-migrate.test.ts +++ b/packages/tui/test/theme/v2/v1-migrate.test.ts @@ -28,7 +28,7 @@ test("migrates resolved V1 modes into literal V2 tokens", () => { expect(migrated.dark.background?.surface?.offset).toBe("$hue.neutral.700") expect(migrated.dark.background?.surface?.overlay).toBe("$hue.neutral.600") expect(migrated.light.text?.action?.primary?.default).toBe("$text.default") - expect(migrated.light.background?.action?.primary?.$selected).toBe("$hue.interactive.800") + expect(migrated.light.background?.action?.primary?.$selected).toBe("transparent") expect(migrated.light.scrollbar?.default).toBe(hex(legacy.borderActive)) expect(migrated.light.diff?.lineNumber?.background?.removed).toBe(hex(legacy.diffRemovedLineNumberBg)) expect(migrated.light.markdown?.emphasis).toBe(hex(legacy.markdownEmph)) @@ -41,7 +41,7 @@ test("migrates resolved V1 modes into literal V2 tokens", () => { expect(resolved.text.formfield.focused.toInts()).toEqual(legacy.primary.toInts()) expect(resolved.hue.accent[800].toInts()).toEqual(legacy.accent.toInts()) expect(resolved.hue.interactive[800].toInts()).toEqual(legacy.primary.toInts()) - expect(resolved.background.action.primary.selected.toInts()).toEqual(legacy.primary.toInts()) + expect(resolved.background.action.primary.selected.toInts()).toEqual([0, 0, 0, 0]) expect(resolved.text.action.primary.selected.toInts()).toEqual(legacy.primary.toInts()) expect(resolved.background.feedback.error.default.toInts()).toEqual(legacy.background.toInts()) expect(resolved.contexts["@context:elevated"]?.background.default.toInts()).toEqual(legacy.backgroundPanel.toInts())