@taiga-ui/kit
Version:
Taiga UI Angular main components kit
108 lines • 14.1 kB
JavaScript
import { __decorate } from "tslib";
import { ContentChildren, Directive, forwardRef, inject, Input, } from '@angular/core';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { WaMutationObserverService, WA_MUTATION_OBSERVER_INIT, } from '@ng-web-apis/mutation-observer';
import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
import { tuiZonefree } from '@taiga-ui/cdk/observables';
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
import { tuiPure, tuiPx } from '@taiga-ui/cdk/utils/miscellaneous';
import { TuiTab } from './tab.directive';
import { TuiTabsDirective } from './tabs.directive';
import { TUI_TABS_OPTIONS } from './tabs.options';
import * as i0 from "@angular/core";
import * as i1 from "./tabs.directive";
class TuiTabsHorizontal {
constructor() {
this.el = tuiInjectElement();
this.options = inject(TUI_TABS_OPTIONS);
this.tabs = inject(TuiTabsDirective);
this.children = EMPTY_QUERY;
this.sub = inject(WaMutationObserverService, { self: true })
.pipe(tuiZonefree(), takeUntilDestroyed())
.subscribe(() => this.refresh());
this.underline = this.options.underline;
}
ngAfterViewChecked() {
this.scrollTo(this.tabs.activeItemIndex);
this.refresh();
}
onKeyDownArrow(current, step) {
this.tabs.moveFocus(current, step);
}
refresh() {
const { activeElement } = this.tabs;
if (activeElement && !activeElement.isConnected) {
return;
}
const { offsetLeft = 0, offsetWidth = 0 } = activeElement || {};
this.el.style.setProperty('--t-left', tuiPx(offsetLeft));
this.el.style.setProperty('--t-width', tuiPx(offsetWidth));
}
scrollTo(index) {
const element = this.tabs.tabs[index];
if (!element) {
return;
}
const { offsetLeft, offsetWidth } = element;
if (offsetLeft < this.el.scrollLeft) {
this.el.scrollLeft = offsetLeft;
}
if (offsetLeft + offsetWidth > this.el.scrollLeft + this.el.offsetWidth) {
this.el.scrollLeft = offsetLeft + offsetWidth - this.el.offsetWidth;
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTabsHorizontal, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTabsHorizontal, isStandalone: true, selector: "tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])", inputs: { underline: "underline" }, host: { listeners: { "animationend": "refresh()", "keydown.arrowRight.prevent": "onKeyDownArrow($event.target, 1)", "keydown.arrowLeft.prevent": "onKeyDownArrow($event.target, -1)" }, properties: { "class._underline": "underline", "style.--t-color": "underline === true ? 'var(--tui-background-accent-1)' : underline" } }, providers: [
WaMutationObserverService,
{
provide: WA_MUTATION_OBSERVER_INIT,
useValue: {
childList: true,
characterData: true,
subtree: true,
},
},
], queries: [{ propertyName: "children", predicate: i0.forwardRef(function () { return TuiTab; }) }], hostDirectives: [{ directive: i1.TuiTabsDirective, inputs: ["activeItemIndex", "activeItemIndex", "size", "size"], outputs: ["activeItemIndexChange", "activeItemIndexChange"] }], ngImport: i0 }); }
}
__decorate([
tuiPure
], TuiTabsHorizontal.prototype, "scrollTo", null);
export { TuiTabsHorizontal };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTabsHorizontal, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: 'tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])',
providers: [
WaMutationObserverService,
{
provide: WA_MUTATION_OBSERVER_INIT,
useValue: {
childList: true,
characterData: true,
subtree: true,
},
},
],
hostDirectives: [
{
directive: TuiTabsDirective,
inputs: ['activeItemIndex', 'size'],
outputs: ['activeItemIndexChange'],
},
],
host: {
'[class._underline]': 'underline',
'[style.--t-color]': "underline === true ? 'var(--tui-background-accent-1)' : underline",
'(animationend)': 'refresh()',
'(keydown.arrowRight.prevent)': 'onKeyDownArrow($event.target, 1)',
'(keydown.arrowLeft.prevent)': 'onKeyDownArrow($event.target, -1)',
},
}]
}], propDecorators: { children: [{
type: ContentChildren,
args: [forwardRef(() => TuiTab)]
}], underline: [{
type: Input
}], scrollTo: [] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1ob3Jpem9udGFsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3RhYnMvdGFicy1ob3Jpem9udGFsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVILGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUNILHlCQUF5QixFQUN6Qix5QkFBeUIsR0FDNUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFakUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFFaEQsTUE4QmEsaUJBQWlCO0lBOUI5QjtRQStCcUIsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ25DLFNBQUksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUc5QixhQUFRLEdBQXVCLFdBQVcsQ0FBQztRQUUzQyxRQUFHLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixFQUFFLEVBQUMsSUFB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RSxNQUFNLENBQUM7NEJBQ25DLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO3lCQUNyQztxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0Ysb0JBQW9CLEVBQUUsV0FBVzt3QkFDakMsbUJBQW1CLEVBQ2YsbUVBQW1FO3dCQUN2RSxnQkFBZ0IsRUFBRSxXQUFXO3dCQUM3Qiw4QkFBOEIsRUFBRSxrQ0FBa0M7d0JBQ2xFLDZCQUE2QixFQUFFLG1DQUFtQztxQkFDckU7aUJBQ0o7OEJBT3NCLFFBQVE7c0JBRDFCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztnQkFRbEMsU0FBUztzQkFEZixLQUFLO2dCQTBCRSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICB0eXBlIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICB0eXBlIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtcbiAgICBXYU11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxuICAgIFdBX01VVEFUSU9OX09CU0VSVkVSX0lOSVQsXG59IGZyb20gJ0BuZy13ZWItYXBpcy9tdXRhdGlvbi1vYnNlcnZlcic7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVpvbmVmcmVlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlQdXJlLCB0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcblxuaW1wb3J0IHtUdWlUYWJ9IGZyb20gJy4vdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVRhYnNEaXJlY3RpdmV9IGZyb20gJy4vdGFicy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfVEFCU19PUFRJT05TfSBmcm9tICcuL3RhYnMub3B0aW9ucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktdGFiczpub3QoW3ZlcnRpY2FsXSksIG5hdlt0dWlUYWJzXTpub3QoW3ZlcnRpY2FsXSknLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBXYU11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBXQV9NVVRBVElPTl9PQlNFUlZFUl9JTklULFxuICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogVHVpVGFic0RpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWydhY3RpdmVJdGVtSW5kZXgnLCAnc2l6ZSddLFxuICAgICAgICAgICAgb3V0cHV0czogWydhY3RpdmVJdGVtSW5kZXhDaGFuZ2UnXSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5fdW5kZXJsaW5lXSc6ICd1bmRlcmxpbmUnLFxuICAgICAgICAnW3N0eWxlLi0tdC1jb2xvcl0nOlxuICAgICAgICAgICAgXCJ1bmRlcmxpbmUgPT09IHRydWUgPyAndmFyKC0tdHVpLWJhY2tncm91bmQtYWNjZW50LTEpJyA6IHVuZGVybGluZVwiLFxuICAgICAgICAnKGFuaW1hdGlvbmVuZCknOiAncmVmcmVzaCgpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93UmlnaHQucHJldmVudCknOiAnb25LZXlEb3duQXJyb3coJGV2ZW50LnRhcmdldCwgMSknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQpJzogJ29uS2V5RG93bkFycm93KCRldmVudC50YXJnZXQsIC0xKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGFic0hvcml6b250YWwgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfVEFCU19PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYnMgPSBpbmplY3QoVHVpVGFic0RpcmVjdGl2ZSk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVHVpVGFiKSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hpbGRyZW46IFF1ZXJ5TGlzdDx1bmtub3duPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1YiA9IGluamVjdChXYU11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLCB7c2VsZjogdHJ1ZX0pXG4gICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKCksIHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaCgpKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHVuZGVybGluZSA9IHRoaXMub3B0aW9ucy51bmRlcmxpbmU7XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjcm9sbFRvKHRoaXMudGFicy5hY3RpdmVJdGVtSW5kZXgpO1xuICAgICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25LZXlEb3duQXJyb3coY3VycmVudDogSFRNTEVsZW1lbnQsIHN0ZXA6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYnMubW92ZUZvY3VzKGN1cnJlbnQsIHN0ZXApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWZyZXNoKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7YWN0aXZlRWxlbWVudH0gPSB0aGlzLnRhYnM7XG5cbiAgICAgICAgaWYgKGFjdGl2ZUVsZW1lbnQgJiYgIWFjdGl2ZUVsZW1lbnQuaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtvZmZzZXRMZWZ0ID0gMCwgb2Zmc2V0V2lkdGggPSAwfSA9IGFjdGl2ZUVsZW1lbnQgfHwge307XG5cbiAgICAgICAgdGhpcy5lbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10LWxlZnQnLCB0dWlQeChvZmZzZXRMZWZ0KSk7XG4gICAgICAgIHRoaXMuZWwuc3R5bGUuc2V0UHJvcGVydHkoJy0tdC13aWR0aCcsIHR1aVB4KG9mZnNldFdpZHRoKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIHNjcm9sbFRvKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMudGFicy50YWJzW2luZGV4XTtcblxuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtvZmZzZXRMZWZ0LCBvZmZzZXRXaWR0aH0gPSBlbGVtZW50O1xuXG4gICAgICAgIGlmIChvZmZzZXRMZWZ0IDwgdGhpcy5lbC5zY3JvbGxMZWZ0KSB7XG4gICAgICAgICAgICB0aGlzLmVsLnNjcm9sbExlZnQgPSBvZmZzZXRMZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9mZnNldExlZnQgKyBvZmZzZXRXaWR0aCA+IHRoaXMuZWwuc2Nyb2xsTGVmdCArIHRoaXMuZWwub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMuZWwuc2Nyb2xsTGVmdCA9IG9mZnNldExlZnQgKyBvZmZzZXRXaWR0aCAtIHRoaXMuZWwub2Zmc2V0V2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=