Skip to content

feat: add tabGroupIndicator theme property and extract wrap underline…#1172

Merged
mathuo merged 8 commits intomasterfrom
feat/theme-tab-group-indicator
Apr 11, 2026
Merged

feat: add tabGroupIndicator theme property and extract wrap underline…#1172
mathuo merged 8 commits intomasterfrom
feat/theme-tab-group-indicator

Conversation

@mathuo
Copy link
Copy Markdown
Owner

@mathuo mathuo commented Apr 11, 2026

… logic

Add a tabGroupIndicator property to DockviewTheme that controls how tab groups are visually indicated: 'wrap' (default SVG wrap-around) or 'none' (pure CSS via tab classes and --dv-tab-group-color custom property).

Extract the ~480-line SVG wrap underline logic from TabGroupManager into a self-contained WrapTabGroupIndicator class behind an ITabGroupIndicator interface, reducing TabGroupManager from 892 to 541 lines.

Set the abyss theme to use 'none' mode with a pure CSS box-shadow indicator as a demonstration of CSS-only tab group styling.

mathuo and others added 2 commits April 11, 2026 21:24
… logic

Add a `tabGroupIndicator` property to `DockviewTheme` that controls how
tab groups are visually indicated: 'wrap' (default SVG wrap-around) or
'none' (pure CSS via tab classes and --dv-tab-group-color custom property).

Extract the ~480-line SVG wrap underline logic from TabGroupManager into
a self-contained WrapTabGroupIndicator class behind an ITabGroupIndicator
interface, reducing TabGroupManager from 892 to 541 lines.

Set the abyss theme to use 'none' mode with a pure CSS box-shadow
indicator as a demonstration of CSS-only tab group styling.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@codesandbox-ci
Copy link
Copy Markdown

codesandbox-ci bot commented Apr 11, 2026

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 146851a:

Sandbox Source
dockview-app Configuration
editor-gridview Configuration
externaldnd-dockview Configuration
fullwidthtab-dockview Configuration
iframe-dockview Configuration
keyboard-dockview Configuration
nativeapp-dockview Configuration
rendering-dockview Configuration

mathuo and others added 6 commits April 11, 2026 21:36
…cator generic

Move the pure-CSS tab group indicator styles out of the abyss theme mixin
into a generic .dv-tab-group-indicator-none rule so any theme can opt in
via the tabGroupIndicator property. Toggle the class on the dockview root
element when the mode changes so switching back to 'wrap' properly clears
the CSS-only styles.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Reduces code duplication in WrapTabGroupIndicator flagged by SonarCloud.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

@mathuo mathuo merged commit f51b70f into master Apr 11, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant