From 1a9a252b8e4c5c03187f1d0dcac1790bc107c8a1 Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Tue, 21 Jul 2026 14:56:49 +0300 Subject: [PATCH 01/17] feat(tabs): redesign (#DS-4761) --- packages/components/tabs/_tabs-common.scss | 64 +++++++++++-------- .../components/tabs/tab-header.component.ts | 12 ++-- packages/components/tabs/tab-header.scss | 4 ++ packages/components/tabs/tabs-tokens.scss | 1 + 4 files changed, 50 insertions(+), 31 deletions(-) diff --git a/packages/components/tabs/_tabs-common.scss b/packages/components/tabs/_tabs-common.scss index a5581907a..df0f01863 100644 --- a/packages/components/tabs/_tabs-common.scss +++ b/packages/components/tabs/_tabs-common.scss @@ -33,25 +33,6 @@ outline: none; - &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical) { - padding-left: 14px; - padding-right: 14px; - } - - &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-left { - padding-left: tokens.kbq-difference-series-css-variables( - [tabs-size-tab-item-padding-horizontal, - tabs-size-tab-item-focus-outline-width] - ); - } - - &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-right { - padding-right: tokens.kbq-difference-series-css-variables( - [tabs-size-tab-item-padding-horizontal, - tabs-size-tab-item-focus-outline-width] - ); - } - &.kbq-selected { cursor: default; } @@ -75,19 +56,48 @@ &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):before { content: ''; position: absolute; - left: 0; - right: 0; - top: -10px; - bottom: -10px; + //left: calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); + //right: calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); + //top: calc(-1 * (var(--kbq-size-s) + var(--kbq-tabs-size-tab-item-focus-outline-width))); + //bottom: calc(-1 * (var(--kbq-size-s) + var(--kbq-tabs-size-tab-item-focus-outline-width))); + // -10px accounts for 8px content-area padding + 2px border to reach the header edges. + inset: calc(-1 * (var(--kbq-size-s) + var(--kbq-tabs-size-tab-item-focus-outline-width))) + calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); + } + + // acts as a noop for now + &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):not(.kbq-tab-label_icon-only):after { + content: ''; + position: absolute; + // Extend by border-width to match offsetWidth (used by active-tab-underline div). + left: calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); + right: calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); + // -10px positions the underline at the separator (padding box bottom + 8px pad + 2px border). + bottom: calc(-1 * (var(--kbq-size-s) + var(--kbq-tabs-size-tab-item-focus-outline-width))); + height: 3px; + border-radius: var(--kbq-size-3xs) var(--kbq-size-3xs) 0 0; + background: transparent; + transition: background 0.2s ease-in-out; + pointer-events: none; } &.kbq-tab-label_icon-only { width: var(--kbq-size-3xl); height: var(--kbq-size-3xl); padding: 0 !important; - margin-inline: var(--kbq-size-xs); + margin-inline: var(--kbq-size-xxs); box-sizing: content-box; + &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical) { + width: var(--kbq-tabs-size-tab-item-underlined-icon-only-size); + height: var(--kbq-tabs-size-tab-item-underlined-icon-only-size); + + &:before { + left: calc(-1 * (var(--kbq-size-xxs) + var(--kbq-tabs-size-tab-item-focus-outline-width))); + right: calc(-1 * (var(--kbq-size-xxs) + var(--kbq-tabs-size-tab-item-focus-outline-width))); + } + } + // Keep the space between icon-only tabs clickable after adding margins. &:not(.kbq-tab-label_vertical):after { content: ''; @@ -97,8 +107,8 @@ bottom: 0; // Absolute offsets are calculated from the padding box, so we add // focus outline width to fully cover the visual margin gap. - left: calc(-1 * (var(--kbq-size-xs) + var(--kbq-tabs-size-tab-item-focus-outline-width))); - right: calc(-1 * (var(--kbq-size-xs) + var(--kbq-tabs-size-tab-item-focus-outline-width))); + left: calc(-1 * (var(--kbq-size-xxs) + var(--kbq-tabs-size-tab-item-focus-outline-width))); + right: calc(-1 * (var(--kbq-size-xxs) + var(--kbq-tabs-size-tab-item-focus-outline-width))); background: transparent; } } @@ -166,7 +176,7 @@ position: absolute; bottom: 0; height: 3px; - border-radius: 2px 2px 0 0; + border-radius: var(--kbq-size-3xs) var(--kbq-size-3xs) 0 0; background: var(--kbq-line-contrast); transition: all 0.2s ease-in-out; } diff --git a/packages/components/tabs/tab-header.component.ts b/packages/components/tabs/tab-header.component.ts index f473a74bc..8c27fdf57 100644 --- a/packages/components/tabs/tab-header.component.ts +++ b/packages/components/tabs/tab-header.component.ts @@ -23,8 +23,8 @@ import { KbqTabLabelWrapper } from './tab-label-wrapper.directive'; */ export type ScrollDirection = 'after' | 'before'; -/** Corresponds to `margin-inline: var(--kbq-size-xs)` on `.kbq-tab-label_icon-only`. */ -const ICON_ONLY_TAB_MARGIN_INLINE = 6; +/** Corresponds to `margin-inline: var(--kbq-size-xxs)` on `.kbq-tab-label_icon-only`. */ +const ICON_ONLY_TAB_MARGIN_INLINE = 4; /** * The header of the tab group which displays a list of all the tabs in the tab group. @@ -66,10 +66,14 @@ export class KbqTabHeader extends KbqPaginatedTabHeader { if (!this.isBrowser) return undefined; const item = this.items.get(this.selectedIndex); - const width = item?.elementRef?.nativeElement?.offsetWidth; + const labelContent = + item?.elementRef?.nativeElement?.querySelector('.kbq-tab-label__content') ?? + item?.elementRef?.nativeElement; + const width = labelContent?.offsetWidth; if (!width) return width; + // TODO: align width for icon only tab - use full width of element instead of element content return item!.tab?.iconOnlyLabel ? width + ICON_ONLY_TAB_MARGIN_INLINE * 2 : width; } @@ -82,7 +86,7 @@ export class KbqTabHeader extends KbqPaginatedTabHeader { if (!left) return left; - return item!.tab?.iconOnlyLabel ? left - ICON_ONLY_TAB_MARGIN_INLINE : left; + return item!.tab?.iconOnlyLabel ? left - ICON_ONLY_TAB_MARGIN_INLINE : left + 12; } protected itemSelected(event: KeyboardEvent): void { diff --git a/packages/components/tabs/tab-header.scss b/packages/components/tabs/tab-header.scss index 786ae0ed5..3348f6dc4 100644 --- a/packages/components/tabs/tab-header.scss +++ b/packages/components/tabs/tab-header.scss @@ -9,6 +9,10 @@ position: relative; flex-shrink: 0; border-radius: var(--kbq-tabs-size-tab-stack-horizontal-border-radius); + + &.kbq-tab-header_underlined { + border-radius: 0; + } } .kbq-tab-list__content { diff --git a/packages/components/tabs/tabs-tokens.scss b/packages/components/tabs/tabs-tokens.scss index 2869ae5ba..8010bc766 100644 --- a/packages/components/tabs/tabs-tokens.scss +++ b/packages/components/tabs/tabs-tokens.scss @@ -7,6 +7,7 @@ --kbq-tabs-size-tab-item-focus-outline-width: var(--kbq-size-3xs); --kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-border-radius); --kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s); + --kbq-tabs-size-tab-item-underlined-icon-only-size: calc(var(--kbq-size-3xl) - var(--kbq-size-xxs)); /* THEME TOKENS */ --kbq-tabs-tab-item-filled-on-background-default-background: transparent; --kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast); From aa2dae62b3e15002344a5a8867967dd20c005a44 Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Tue, 21 Jul 2026 14:57:36 +0300 Subject: [PATCH 02/17] feat: remove first tab padding --- packages/components/tabs/_tabs-common.scss | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/components/tabs/_tabs-common.scss b/packages/components/tabs/_tabs-common.scss index df0f01863..bd66028a5 100644 --- a/packages/components/tabs/_tabs-common.scss +++ b/packages/components/tabs/_tabs-common.scss @@ -154,7 +154,16 @@ } .kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content { - padding: 8px 0; + padding: var(--kbq-size-s) 0; + + > .kbq-tab-label:first-child, + > .kbq-tab-link:first-child { + padding-left: 0; + } + + > .kbq-tab-label_icon-only:first-child { + margin-left: 0; + } } .kbq-tab-header_underlined:not(.kbq-tab-header_vertical):after { From b49e7d269bd2b811f332c1d5cfc205a3cf5b39bd Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Tue, 21 Jul 2026 15:19:51 +0300 Subject: [PATCH 03/17] feat: hover effect on underline tab & proper width/left calculation --- packages/components/tabs/_tabs-common.scss | 11 ---------- packages/components/tabs/_tabs-theme.scss | 8 +++++++ .../components/tabs/tab-header.component.ts | 22 ++++++++++--------- packages/components/tabs/tabs-tokens.scss | 4 ++++ 4 files changed, 24 insertions(+), 21 deletions(-) diff --git a/packages/components/tabs/_tabs-common.scss b/packages/components/tabs/_tabs-common.scss index bd66028a5..1a3b7da6a 100644 --- a/packages/components/tabs/_tabs-common.scss +++ b/packages/components/tabs/_tabs-common.scss @@ -56,23 +56,15 @@ &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):before { content: ''; position: absolute; - //left: calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); - //right: calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); - //top: calc(-1 * (var(--kbq-size-s) + var(--kbq-tabs-size-tab-item-focus-outline-width))); - //bottom: calc(-1 * (var(--kbq-size-s) + var(--kbq-tabs-size-tab-item-focus-outline-width))); - // -10px accounts for 8px content-area padding + 2px border to reach the header edges. inset: calc(-1 * (var(--kbq-size-s) + var(--kbq-tabs-size-tab-item-focus-outline-width))) calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); } - // acts as a noop for now &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):not(.kbq-tab-label_icon-only):after { content: ''; position: absolute; - // Extend by border-width to match offsetWidth (used by active-tab-underline div). left: calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); right: calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); - // -10px positions the underline at the separator (padding box bottom + 8px pad + 2px border). bottom: calc(-1 * (var(--kbq-size-s) + var(--kbq-tabs-size-tab-item-focus-outline-width))); height: 3px; border-radius: var(--kbq-size-3xs) var(--kbq-size-3xs) 0 0; @@ -98,15 +90,12 @@ } } - // Keep the space between icon-only tabs clickable after adding margins. &:not(.kbq-tab-label_vertical):after { content: ''; display: block; position: absolute; top: 0; bottom: 0; - // Absolute offsets are calculated from the padding box, so we add - // focus outline width to fully cover the visual margin gap. left: calc(-1 * (var(--kbq-size-xxs) + var(--kbq-tabs-size-tab-item-focus-outline-width))); right: calc(-1 * (var(--kbq-size-xxs) + var(--kbq-tabs-size-tab-item-focus-outline-width))); background: transparent; diff --git a/packages/components/tabs/_tabs-theme.scss b/packages/components/tabs/_tabs-theme.scss index 9032593ae..7a4428724 100644 --- a/packages/components/tabs/_tabs-theme.scss +++ b/packages/components/tabs/_tabs-theme.scss @@ -16,6 +16,10 @@ &:is(:hover, .kbq-hover):not(.kbq-disabled) { @include kbq-tab-item-state($type, $sub-type, states-hover); + + &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):not(.kbq-tab-label_icon-only)::after { + background: var(--kbq-tabs-tab-item-#{$type}-#{$sub-type}-states-hover-underline-color); + } } &.kbq-tab-label_empty { @@ -27,6 +31,10 @@ &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical) { background: none; + + &:not(.kbq-tab-label_icon-only)::after { + background: transparent; + } } &:is(:hover, .kbq-hover) { diff --git a/packages/components/tabs/tab-header.component.ts b/packages/components/tabs/tab-header.component.ts index 8c27fdf57..2bf790c68 100644 --- a/packages/components/tabs/tab-header.component.ts +++ b/packages/components/tabs/tab-header.component.ts @@ -23,8 +23,8 @@ import { KbqTabLabelWrapper } from './tab-label-wrapper.directive'; */ export type ScrollDirection = 'after' | 'before'; -/** Corresponds to `margin-inline: var(--kbq-size-xxs)` on `.kbq-tab-label_icon-only`. */ -const ICON_ONLY_TAB_MARGIN_INLINE = 4; +/** Corresponds to `--kbq-tabs-size-tab-item-padding-horizontal` on text/icon+text tabs. */ +const TAB_PADDING = 12; /** * The header of the tab group which displays a list of all the tabs in the tab group. @@ -66,15 +66,17 @@ export class KbqTabHeader extends KbqPaginatedTabHeader { if (!this.isBrowser) return undefined; const item = this.items.get(this.selectedIndex); - const labelContent = - item?.elementRef?.nativeElement?.querySelector('.kbq-tab-label__content') ?? - item?.elementRef?.nativeElement; - const width = labelContent?.offsetWidth; + const nativeElement = item?.elementRef?.nativeElement; - if (!width) return width; + if (item?.tab?.iconOnlyLabel) { + return nativeElement?.offsetWidth; + } - // TODO: align width for icon only tab - use full width of element instead of element content - return item!.tab?.iconOnlyLabel ? width + ICON_ONLY_TAB_MARGIN_INLINE * 2 : width; + const width = + nativeElement?.querySelector('.kbq-tab-label__content')?.offsetWidth ?? + nativeElement?.offsetWidth; + + return width; } /** Left offset of the active tab, adjusted for icon-only tab margins. */ @@ -86,7 +88,7 @@ export class KbqTabHeader extends KbqPaginatedTabHeader { if (!left) return left; - return item!.tab?.iconOnlyLabel ? left - ICON_ONLY_TAB_MARGIN_INLINE : left + 12; + return item?.tab?.iconOnlyLabel ? left : left + TAB_PADDING; } protected itemSelected(event: KeyboardEvent): void { diff --git a/packages/components/tabs/tabs-tokens.scss b/packages/components/tabs/tabs-tokens.scss index 8010bc766..df4d013fb 100644 --- a/packages/components/tabs/tabs-tokens.scss +++ b/packages/components/tabs/tabs-tokens.scss @@ -8,6 +8,10 @@ --kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-border-radius); --kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s); --kbq-tabs-size-tab-item-underlined-icon-only-size: calc(var(--kbq-size-3xl) - var(--kbq-size-xxs)); + --kbq-tabs-tab-item-filled-on-background-states-hover-underline-color: var(--kbq-line-contrast-fade); + --kbq-tabs-tab-item-filled-on-surface-states-hover-underline-color: var(--kbq-line-contrast-fade); + --kbq-tabs-tab-item-transparent-on-background-states-hover-underline-color: var(--kbq-line-contrast-fade); + --kbq-tabs-tab-item-transparent-on-surface-states-hover-underline-color: var(--kbq-line-contrast-fade); /* THEME TOKENS */ --kbq-tabs-tab-item-filled-on-background-default-background: transparent; --kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast); From d794b268dc0ca2c55c2f3a965d9dcca1a12d98d1 Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Tue, 21 Jul 2026 17:46:18 +0300 Subject: [PATCH 04/17] feat: proper underline position and width --- packages/components/tabs/_tabs-common.scss | 27 +++++++++++++++---- packages/components/tabs/_tabs-theme.scss | 10 ++++--- .../components/tabs/tab-header.component.ts | 18 ++++--------- packages/components/tabs/tab-nav-bar.ts | 15 +++++++++-- 4 files changed, 47 insertions(+), 23 deletions(-) diff --git a/packages/components/tabs/_tabs-common.scss b/packages/components/tabs/_tabs-common.scss index 1a3b7da6a..aac26d6f8 100644 --- a/packages/components/tabs/_tabs-common.scss +++ b/packages/components/tabs/_tabs-common.scss @@ -63,8 +63,12 @@ &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):not(.kbq-tab-label_icon-only):after { content: ''; position: absolute; - left: calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); - right: calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); + left: calc( + var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width) + ); + right: calc( + var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width) + ); bottom: calc(-1 * (var(--kbq-size-s) + var(--kbq-tabs-size-tab-item-focus-outline-width))); height: 3px; border-radius: var(--kbq-size-3xs) var(--kbq-size-3xs) 0 0; @@ -88,6 +92,17 @@ left: calc(-1 * (var(--kbq-size-xxs) + var(--kbq-tabs-size-tab-item-focus-outline-width))); right: calc(-1 * (var(--kbq-size-xxs) + var(--kbq-tabs-size-tab-item-focus-outline-width))); } + + &:after { + top: auto; + bottom: calc(-1 * (var(--kbq-size-s) + var(--kbq-tabs-size-tab-item-focus-outline-width))); + height: 3px; + left: calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); + right: calc(-1 * var(--kbq-tabs-size-tab-item-focus-outline-width)); + border-radius: var(--kbq-size-3xs) var(--kbq-size-3xs) 0 0; + transition: background 0.2s ease-in-out; + pointer-events: none; + } } &:not(.kbq-tab-label_vertical):after { @@ -145,13 +160,15 @@ .kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content { padding: var(--kbq-size-s) 0; - > .kbq-tab-label:first-child, + // Negative margin shifts the first tab left so the focus frame can extend beyond the + // container edge (instead of padding-left:0 which would clip it under overflow:hidden). + > .kbq-tab-label:first-child:not(.kbq-tab-label_icon-only), > .kbq-tab-link:first-child { - padding-left: 0; + margin-inline-start: calc(-1 * var(--kbq-tabs-size-tab-item-padding-horizontal)); } > .kbq-tab-label_icon-only:first-child { - margin-left: 0; + margin-inline-start: 0; } } diff --git a/packages/components/tabs/_tabs-theme.scss b/packages/components/tabs/_tabs-theme.scss index 7a4428724..b397f5a9e 100644 --- a/packages/components/tabs/_tabs-theme.scss +++ b/packages/components/tabs/_tabs-theme.scss @@ -17,8 +17,12 @@ &:is(:hover, .kbq-hover):not(.kbq-disabled) { @include kbq-tab-item-state($type, $sub-type, states-hover); - &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):not(.kbq-tab-label_icon-only)::after { - background: var(--kbq-tabs-tab-item-#{$type}-#{$sub-type}-states-hover-underline-color); + &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical) { + background: transparent; + + &:not(.kbq-selected)::after { + background: var(--kbq-tabs-tab-item-#{$type}-#{$sub-type}-states-hover-underline-color); + } } } @@ -32,7 +36,7 @@ &.kbq-tab-label_underlined:not(.kbq-tab-label_vertical) { background: none; - &:not(.kbq-tab-label_icon-only)::after { + &::after { background: transparent; } } diff --git a/packages/components/tabs/tab-header.component.ts b/packages/components/tabs/tab-header.component.ts index 2bf790c68..c8f93684a 100644 --- a/packages/components/tabs/tab-header.component.ts +++ b/packages/components/tabs/tab-header.component.ts @@ -61,34 +61,26 @@ export class KbqTabHeader extends KbqPaginatedTabHeader { private readonly isBrowser = inject(Platform).isBrowser; - /** Width of the active tab, adjusted for icon-only tab margins. */ protected get activeTabOffsetWidth(): number | undefined { if (!this.isBrowser) return undefined; const item = this.items.get(this.selectedIndex); - const nativeElement = item?.elementRef?.nativeElement; + const width = item?.elementRef?.nativeElement?.offsetWidth; - if (item?.tab?.iconOnlyLabel) { - return nativeElement?.offsetWidth; - } + if (!width || item?.tab?.iconOnlyLabel) return width; - const width = - nativeElement?.querySelector('.kbq-tab-label__content')?.offsetWidth ?? - nativeElement?.offsetWidth; - - return width; + return width - TAB_PADDING * 2; } - /** Left offset of the active tab, adjusted for icon-only tab margins. */ protected get activeTabOffsetLeft(): number | undefined { if (!this.isBrowser) return undefined; const item = this.items.get(this.selectedIndex); const left = item?.elementRef?.nativeElement?.offsetLeft; - if (!left) return left; + if (!left || item?.tab?.iconOnlyLabel) return left; - return item?.tab?.iconOnlyLabel ? left : left + TAB_PADDING; + return left + TAB_PADDING; } protected itemSelected(event: KeyboardEvent): void { diff --git a/packages/components/tabs/tab-nav-bar.ts b/packages/components/tabs/tab-nav-bar.ts index 37d7cac61..25e9a6916 100644 --- a/packages/components/tabs/tab-nav-bar.ts +++ b/packages/components/tabs/tab-nav-bar.ts @@ -30,6 +30,9 @@ import { KbqPaginatedTabHeader } from './paginated-tab-header'; // Increasing integer for generating unique ids for tab nav components. let nextUniqueId = 0; +/** Corresponds to `--kbq-tabs-size-tab-item-padding-horizontal` on text tabs in underlined mode. */ +const TAB_PADDING = 12; + /** * Navigation component matching the styles of the tab group header. */ @@ -88,13 +91,21 @@ export class KbqTabNavBar extends KbqPaginatedTabHeader implements AfterContentI protected get activeTabOffsetWidth(): number | undefined { if (!this.isBrowser) return undefined; - return this.items.get(this.selectedIndex)?.elementRef?.nativeElement?.offsetWidth; + const width = this.items.get(this.selectedIndex)?.elementRef?.nativeElement?.offsetWidth; + + if (!width) return width; + + return width - TAB_PADDING * 2; } protected get activeTabOffsetLeft(): number | undefined { if (!this.isBrowser) return undefined; - return this.items.get(this.selectedIndex)?.elementRef?.nativeElement?.offsetLeft; + const left = this.items.get(this.selectedIndex)?.elementRef?.nativeElement?.offsetLeft; + + if (!left) return left; + + return left + TAB_PADDING; } override ngAfterContentInit() { From 56a70c08136956ded218821f46e011e11b77356a Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Tue, 21 Jul 2026 17:47:02 +0300 Subject: [PATCH 05/17] feat: upd examples --- packages/components-dev/tabs/module.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/components-dev/tabs/module.ts b/packages/components-dev/tabs/module.ts index fb2093ed0..01ae3feac 100644 --- a/packages/components-dev/tabs/module.ts +++ b/packages/components-dev/tabs/module.ts @@ -4,14 +4,16 @@ import { KbqIconModule } from '@koobiq/components/icon'; import { KbqPopoverModule } from '@koobiq/components/popover'; import { KbqTabChangeEvent, KbqTabsModule } from '@koobiq/components/tabs'; import { TabsVerticalExample } from 'packages/docs-examples/components/tabs'; +import { TabsUnderlinedExample } from '../../../dist/docs-examples/components/tabs'; import { DevThemeToggle } from '../theme-toggle'; @Component({ selector: 'dev-examples', - imports: [TabsVerticalExample], + imports: [TabsVerticalExample, TabsUnderlinedExample], template: `
+ `, changeDetection: ChangeDetectionStrategy.OnPush }) From d2fb9726be9b3ce914aadc4fda6f7f2bda30a3c5 Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Tue, 21 Jul 2026 17:57:27 +0300 Subject: [PATCH 06/17] chore: refactor --- packages/components/tabs/_tabs-theme.scss | 2 +- packages/components/tabs/tabs-tokens.scss | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/components/tabs/_tabs-theme.scss b/packages/components/tabs/_tabs-theme.scss index b397f5a9e..4c791f043 100644 --- a/packages/components/tabs/_tabs-theme.scss +++ b/packages/components/tabs/_tabs-theme.scss @@ -21,7 +21,7 @@ background: transparent; &:not(.kbq-selected)::after { - background: var(--kbq-tabs-tab-item-#{$type}-#{$sub-type}-states-hover-underline-color); + background: var(--kbq-line-contrast-fade); } } } diff --git a/packages/components/tabs/tabs-tokens.scss b/packages/components/tabs/tabs-tokens.scss index df4d013fb..8010bc766 100644 --- a/packages/components/tabs/tabs-tokens.scss +++ b/packages/components/tabs/tabs-tokens.scss @@ -8,10 +8,6 @@ --kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-border-radius); --kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s); --kbq-tabs-size-tab-item-underlined-icon-only-size: calc(var(--kbq-size-3xl) - var(--kbq-size-xxs)); - --kbq-tabs-tab-item-filled-on-background-states-hover-underline-color: var(--kbq-line-contrast-fade); - --kbq-tabs-tab-item-filled-on-surface-states-hover-underline-color: var(--kbq-line-contrast-fade); - --kbq-tabs-tab-item-transparent-on-background-states-hover-underline-color: var(--kbq-line-contrast-fade); - --kbq-tabs-tab-item-transparent-on-surface-states-hover-underline-color: var(--kbq-line-contrast-fade); /* THEME TOKENS */ --kbq-tabs-tab-item-filled-on-background-default-background: transparent; --kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast); From b31bdaddc93b3741bc929556d77edf2f739f4e78 Mon Sep 17 00:00:00 2001 From: Nikita Guryev Date: Tue, 21 Jul 2026 18:07:49 +0300 Subject: [PATCH 07/17] chore: added tests --- packages/components/tabs/tab-header.spec.ts | 75 ++++++++++++++++++++ packages/components/tabs/tab-nav-bar.spec.ts | 51 +++++++++++++ 2 files changed, 126 insertions(+) diff --git a/packages/components/tabs/tab-header.spec.ts b/packages/components/tabs/tab-header.spec.ts index 5360e0479..594256110 100644 --- a/packages/components/tabs/tab-header.spec.ts +++ b/packages/components/tabs/tab-header.spec.ts @@ -307,6 +307,81 @@ describe('KbqTabHeader', () => { discardPeriodicTasks(); })); }); + + describe('activeTabOffset', () => { + let header: KbqTabHeader; + + beforeEach(() => { + fixture = TestBed.createComponent(SimpleTabHeaderApp); + fixture.detectChanges(); + + appComponent = fixture.componentInstance; + header = appComponent.tabHeader(); + }); + + describe('activeTabOffsetWidth', () => { + it('subtracts TAB_PADDING * 2 from offsetWidth for text tabs', () => { + const item = header.items.get(0)!; + + Object.defineProperty(item.elementRef.nativeElement, 'offsetWidth', { configurable: true, value: 120 }); + + expect((header as any).activeTabOffsetWidth).toBe(96); + }); + + it('returns raw offsetWidth for icon-only tabs', () => { + const item = header.items.get(0)!; + + Object.defineProperty(item.elementRef.nativeElement, 'offsetWidth', { configurable: true, value: 36 }); + (item as any).tab = { iconOnlyLabel: true }; + + expect((header as any).activeTabOffsetWidth).toBe(36); + }); + + it('returns undefined when no item at selectedIndex', () => { + appComponent.selectedIndex = 99; + fixture.detectChanges(); + + expect((header as any).activeTabOffsetWidth).toBeUndefined(); + }); + }); + + describe('activeTabOffsetLeft', () => { + it('adds TAB_PADDING to offsetLeft for text tabs', () => { + appComponent.selectedIndex = 2; + fixture.detectChanges(); + + const item = header.items.get(2)!; + + Object.defineProperty(item.elementRef.nativeElement, 'offsetLeft', { configurable: true, value: 100 }); + + expect((header as any).activeTabOffsetLeft).toBe(112); + }); + + it('handles negative offsetLeft for the first tab shifted by negative margin-inline-start', () => { + const item = header.items.get(0)!; + + Object.defineProperty(item.elementRef.nativeElement, 'offsetLeft', { configurable: true, value: -12 }); + + expect((header as any).activeTabOffsetLeft).toBe(0); + }); + + it('returns raw offsetLeft for icon-only tabs', () => { + const item = header.items.get(0)!; + + Object.defineProperty(item.elementRef.nativeElement, 'offsetLeft', { configurable: true, value: -4 }); + (item as any).tab = { iconOnlyLabel: true }; + + expect((header as any).activeTabOffsetLeft).toBe(-4); + }); + + it('returns undefined when no item at selectedIndex', () => { + appComponent.selectedIndex = 99; + fixture.detectChanges(); + + expect((header as any).activeTabOffsetLeft).toBeUndefined(); + }); + }); + }); }); interface ITab { diff --git a/packages/components/tabs/tab-nav-bar.spec.ts b/packages/components/tabs/tab-nav-bar.spec.ts index 427e34782..135daf520 100644 --- a/packages/components/tabs/tab-nav-bar.spec.ts +++ b/packages/components/tabs/tab-nav-bar.spec.ts @@ -107,6 +107,57 @@ describe(KbqTabNavBar.name, () => { expect(tabLink.tabIndex).toBe(3); }); + + describe('activeTabOffset', () => { + let fixture: ComponentFixture; + let navBar: KbqTabNavBar; + + beforeEach(() => { + fixture = TestBed.createComponent(SimpleTabNavBarTestApp); + fixture.detectChanges(); + navBar = fixture.debugElement.query(By.directive(KbqTabNavBar)).componentInstance; + }); + + describe('activeTabOffsetWidth', () => { + it('subtracts TAB_PADDING * 2 from offsetWidth', () => { + const item = navBar.items.get(0)!; + + Object.defineProperty(item.elementRef.nativeElement, 'offsetWidth', { configurable: true, value: 120 }); + + expect((navBar as any).activeTabOffsetWidth).toBe(96); + }); + + it('returns undefined when no item at selectedIndex', () => { + (navBar as any).selectedIndex = 99; + + expect((navBar as any).activeTabOffsetWidth).toBeUndefined(); + }); + }); + + describe('activeTabOffsetLeft', () => { + it('adds TAB_PADDING to offsetLeft', () => { + const item = navBar.items.get(0)!; + + Object.defineProperty(item.elementRef.nativeElement, 'offsetLeft', { configurable: true, value: 100 }); + + expect((navBar as any).activeTabOffsetLeft).toBe(112); + }); + + it('handles negative offsetLeft for the first tab shifted by negative margin-inline-start', () => { + const item = navBar.items.get(0)!; + + Object.defineProperty(item.elementRef.nativeElement, 'offsetLeft', { configurable: true, value: -12 }); + + expect((navBar as any).activeTabOffsetLeft).toBe(0); + }); + + it('returns undefined when no item at selectedIndex', () => { + (navBar as any).selectedIndex = 99; + + expect((navBar as any).activeTabOffsetLeft).toBeUndefined(); + }); + }); + }); }); @Component({ From 4180cb9a427b30c164a9c828d1195cef0ffc3916 Mon Sep 17 00:00:00 2001 From: NikGurev <42917304+NikGurev@users.noreply.github.com> Date: Wed, 22 Jul 2026 06:58:13 +0000 Subject: [PATCH 08/17] test: updated e2e snapshots --- .../tabs/__screenshots__/01-dark.png | Bin 175524 -> 173750 bytes .../tabs/__screenshots__/01-light.png | Bin 170000 -> 168597 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/components/tabs/__screenshots__/01-dark.png b/packages/components/tabs/__screenshots__/01-dark.png index 90de0bf3864026eb33faaed2e44a3872788ce656..e4f7c3dd4cb378afb13f53782045c9182f18a8d0 100644 GIT binary patch literal 173750 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Ⓢ(E-%x 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