Skip to content

Commit dccaa47

Browse files
authored
Merge branch '13.0.x' into simeonoff/fix-10665
2 parents 8562713 + 6f1d0af commit dccaa47

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

projects/igniteui-angular/src/lib/core/styles/components/tabs/_tabs-theme.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,12 +280,12 @@
280280
%tabs-header-content {
281281
flex: 1 1 auto;
282282
overflow: hidden;
283+
scroll-behavior: smooth;
283284
}
284285

285286
%tabs-header-wrapper {
286287
position: relative;
287288
flex-grow: 1;
288-
transition: transform .2s $tabs-animation-function;
289289

290290
@if $bootstrap-theme or $indigo-theme {
291291
&::after {

projects/igniteui-angular/src/lib/tabs/tabs/tab-header.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export class IgxTabHeaderComponent extends IgxTabHeaderDirective implements Afte
9696
}
9797

9898
if (!unsupportedKey) {
99-
itemsArray[newIndex].headerComponent.nativeElement.focus();
99+
itemsArray[newIndex].headerComponent.nativeElement.focus({preventScroll:true});
100100
if (this.tab.panelComponent) {
101101
this.tabs.selectedIndex = newIndex;
102102
}

projects/igniteui-angular/src/lib/tabs/tabs/tabs.component.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -231,16 +231,19 @@ export class IgxTabsComponent extends IgxTabsDirective implements AfterViewInit,
231231

232232
private scroll(scrollRight: boolean): void {
233233
const tabsArray = this.items.toArray();
234-
for (const tab of tabsArray) {
234+
235+
for (let index = 0; index < tabsArray.length; index++) {
236+
const tab = tabsArray[index];
235237
const element = tab.headerComponent.nativeElement;
238+
236239
if (scrollRight) {
237240
if (element.offsetWidth + element.offsetLeft > this.viewPort.nativeElement.offsetWidth + this.offset) {
238241
this.scrollElement(element, scrollRight);
239242
break;
240243
}
241244
} else {
242-
if (element.offsetWidth + element.offsetLeft >= this.offset) {
243-
this.scrollElement(element, scrollRight);
245+
if (element.offsetLeft >= this.offset) {
246+
this.scrollElement(tabsArray[index - 1].headerComponent.nativeElement, scrollRight);
244247
break;
245248
}
246249
}
@@ -251,7 +254,7 @@ export class IgxTabsComponent extends IgxTabsDirective implements AfterViewInit,
251254
const viewPortWidth = this.viewPort.nativeElement.offsetWidth;
252255

253256
this.offset = (scrollRight) ? element.offsetWidth + element.offsetLeft - viewPortWidth : element.offsetLeft;
254-
this.itemsWrapper.nativeElement.style.transform = `translate(${-this.offset}px)`;
257+
this.viewPort.nativeElement.scrollLeft = this.offset;
255258
this.updateScrollButtons();
256259
}
257260

0 commit comments

Comments
 (0)