UNPKG

@taiga-ui/layout

Version:

A package with Taiga UI layout components

410 lines (400 loc) 57.9 kB
import * as i0 from '@angular/core'; import { signal, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, inject, computed, TemplateRef, ViewChild, ContentChild, Output, Directive } from '@angular/core'; import * as i3$1 from '@taiga-ui/core/components/button'; import { tuiButtonOptionsProvider, TuiButton } from '@taiga-ui/core/components/button'; import { TuiScrollable, TuiScrollbar } from '@taiga-ui/core/components/scrollbar'; import * as i1 from '@taiga-ui/core/directives/dropdown'; import { tuiDropdownOptionsProvider, TuiDropdownDirective, TuiDropdownHover, TuiDropdownPositionSided, TuiDropdownOpen, TuiDropdownManual, TUI_DROPDOWN_OPTIONS, tuiDropdown, TUI_DROPDOWN_COMPONENT, TuiWithDropdownOpen } from '@taiga-ui/core/directives/dropdown'; import { TuiFade } from '@taiga-ui/kit/directives/fade'; import { toObservable, toSignal } from '@angular/core/rxjs-interop'; import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous'; import * as i2 from '@taiga-ui/core/components/data-list'; import { tuiAsDataListHost, TuiDataList, TuiDataListComponent } from '@taiga-ui/core/components/data-list'; import * as i3 from '@taiga-ui/core/components/expand'; import { TuiExpand } from '@taiga-ui/core/components/expand'; import { TuiChevron, TUI_CHEVRON } from '@taiga-ui/kit/directives/chevron'; import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus'; import { skip } from 'rxjs'; import * as i4 from '@angular/router'; import { RouterLink, RouterLinkActive } from '@angular/router'; import { TuiIcons } from '@taiga-ui/core/directives/icons'; import { TUI_COMMON_ICONS, TUI_ICON_END, TUI_ANIMATIONS_SPEED } from '@taiga-ui/core/tokens'; import { tuiInjectElement, tuiIsHTMLElement } from '@taiga-ui/cdk/utils/dom'; import * as i1$1 from '@taiga-ui/core/directives/hint'; import { TuiHintDirective, tuiHintOptionsProvider } from '@taiga-ui/core/directives/hint'; import * as i1$2 from '@taiga-ui/cdk/directives/active-zone'; import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone'; import * as i2$1 from '@taiga-ui/cdk/directives/animated'; import { TuiAnimated } from '@taiga-ui/cdk/directives/animated'; import { tuiToAnimationOptions } from '@taiga-ui/core/utils/miscellaneous'; import { TUI_LAYOUT_ICONS } from '@taiga-ui/layout/tokens'; import { tuiTextfieldOptionsProvider } from '@taiga-ui/core/components/textfield'; import { tuiAvatarOptionsProvider } from '@taiga-ui/kit/components/avatar'; import { tuiBadgeOptionsProvider } from '@taiga-ui/kit/components/badge'; import { tuiBadgeNotificationOptionsProvider } from '@taiga-ui/kit/components/badge-notification'; import { tuiTabsOptionsProvider } from '@taiga-ui/kit/components/tabs'; import { tuiLinkOptionsProvider } from '@taiga-ui/core/components/link'; import { tuiBreadcrumbsOptionsProvider } from '@taiga-ui/kit/components/breadcrumbs'; class TuiAsideComponent { constructor() { // TODO: refactor to signal inputs after Angular update this.expanded = signal(false); } set tuiNavigationAside(expanded) { this.expanded.set(expanded); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAsideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiAsideComponent, isStandalone: true, selector: "aside[tuiNavigationAside]", inputs: { tuiNavigationAside: "tuiNavigationAside" }, host: { attributes: { "tuiNavigationAside": "", "tuiTheme": "dark" }, properties: { "class._expanded": "expanded()" } }, providers: [ tuiButtonOptionsProvider({ size: 's', appearance: 'flat-grayscale' }), tuiDropdownOptionsProvider({ appearance: 'dropdown-navigation', align: 'right', offset: 12, }), ], ngImport: i0, template: ` <ng-content select="header" /> <tui-scrollbar class="t-nav-scrollbar"> <div tuiFade="vertical" tuiScrollable class="t-nav-content" > <ng-content /> </div> </tui-scrollbar> <ng-content select="footer" /> `, isInline: true, styles: ["aside[tuiNavigationAside]{transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:3rem;left:0;z-index:1;display:flex;inset-inline-start:0;inline-size:3rem;flex-direction:column;padding:.5rem .5rem .25rem;box-sizing:border-box;background:var(--tui-theme-color, #000);color:var(--tui-text-primary)}aside[tuiNavigationAside]:before{content:\"\";position:absolute;top:0;left:100%;z-index:-1;inset-inline-start:100%;block-size:3rem;inline-size:3rem;pointer-events:none;border-top-left-radius:1.25rem;box-shadow:-1.5rem 0 var(--tui-theme-color, #000);transform:scaleX(var(--tui-inline))}aside[tuiNavigationAside]:after{content:\"\";position:fixed;top:inherit;left:0;bottom:-3rem;z-index:-1;inset-inline-start:0;inline-size:3rem;background:inherit}aside[tuiNavigationAside]._expanded{inline-size:14.375rem}aside[tuiNavigationAside]._expanded+main[tuiNavigationMain]{max-inline-size:calc(100% - 14.375rem)}aside[tuiNavigationAside] .t-nav-scrollbar{margin:0 -.25rem}aside[tuiNavigationAside] .t-nav-content{scrollbar-width:none;-ms-overflow-style:none;block-size:100%;padding:0 .25rem;overflow:auto}aside[tuiNavigationAside] .t-nav-content::-webkit-scrollbar,aside[tuiNavigationAside] .t-nav-content::-webkit-scrollbar-thumb{display:none}aside[tuiNavigationAside] tui-expand [tuiAsideItem]{padding-inline-start:2rem}aside[tuiNavigationAside] hr{background:var(--tui-border-normal);block-size:1px;margin:0 0 .25rem;border:none}aside[tuiNavigationAside] header{padding-block-end:.25rem;box-shadow:inset 0 -1px var(--tui-border-normal);margin-block-end:1rem}aside[tuiNavigationAside] footer{display:flex;flex-direction:column;flex:1}aside[tuiNavigationAside] footer:before{content:\"\";min-block-size:1.75rem;margin:0 -.5rem;flex:1;-webkit-mask:linear-gradient(transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%);mask:linear-gradient(transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%)}aside[tuiNavigationAside]+main[tuiNavigationMain]{max-inline-size:calc(100% - 3rem)}[tuiAsideItem][tuiAsideItem]{inline-size:100%;justify-content:flex-start;gap:.625rem;margin-block-end:.25rem}[tuiAsideItem][tuiAsideItem]:after{border:none!important;margin-inline-start:auto!important;color:var(--tui-text-tertiary)}[tuiAsideItem][tuiAsideItem].tui-dropdown-open,[tuiAsideItem][tuiAsideItem]._active:not(._chevron-rotated),aside[tuiNavigationAside]:not(._expanded) [tuiAsideItem][tuiAsideItem]._active{background:var(--tui-background-neutral-1-hover)}tui-dropdown[data-appearance=dropdown-navigation]{border:none;background:var(--tui-background-elevation-3);background:color-mix(in srgb,var(--tui-theme-color, #000) 80%,#fff)}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]{justify-content:flex-start;margin:0;padding:0 .5rem}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._active{background:transparent}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._link:not(._custom):after{opacity:0}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._link._active:after{opacity:1}\n"], dependencies: [{ kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }, { kind: "directive", type: TuiScrollable, selector: "[tuiScrollable]" }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAsideComponent, decorators: [{ type: Component, args: [{ standalone: true, selector: 'aside[tuiNavigationAside]', imports: [TuiFade, TuiScrollable, TuiScrollbar], template: ` <ng-content select="header" /> <tui-scrollbar class="t-nav-scrollbar"> <div tuiFade="vertical" tuiScrollable class="t-nav-content" > <ng-content /> </div> </tui-scrollbar> <ng-content select="footer" /> `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [ tuiButtonOptionsProvider({ size: 's', appearance: 'flat-grayscale' }), tuiDropdownOptionsProvider({ appearance: 'dropdown-navigation', align: 'right', offset: 12, }), ], host: { tuiNavigationAside: '', tuiTheme: 'dark', '[class._expanded]': 'expanded()', }, styles: ["aside[tuiNavigationAside]{transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:3rem;left:0;z-index:1;display:flex;inset-inline-start:0;inline-size:3rem;flex-direction:column;padding:.5rem .5rem .25rem;box-sizing:border-box;background:var(--tui-theme-color, #000);color:var(--tui-text-primary)}aside[tuiNavigationAside]:before{content:\"\";position:absolute;top:0;left:100%;z-index:-1;inset-inline-start:100%;block-size:3rem;inline-size:3rem;pointer-events:none;border-top-left-radius:1.25rem;box-shadow:-1.5rem 0 var(--tui-theme-color, #000);transform:scaleX(var(--tui-inline))}aside[tuiNavigationAside]:after{content:\"\";position:fixed;top:inherit;left:0;bottom:-3rem;z-index:-1;inset-inline-start:0;inline-size:3rem;background:inherit}aside[tuiNavigationAside]._expanded{inline-size:14.375rem}aside[tuiNavigationAside]._expanded+main[tuiNavigationMain]{max-inline-size:calc(100% - 14.375rem)}aside[tuiNavigationAside] .t-nav-scrollbar{margin:0 -.25rem}aside[tuiNavigationAside] .t-nav-content{scrollbar-width:none;-ms-overflow-style:none;block-size:100%;padding:0 .25rem;overflow:auto}aside[tuiNavigationAside] .t-nav-content::-webkit-scrollbar,aside[tuiNavigationAside] .t-nav-content::-webkit-scrollbar-thumb{display:none}aside[tuiNavigationAside] tui-expand [tuiAsideItem]{padding-inline-start:2rem}aside[tuiNavigationAside] hr{background:var(--tui-border-normal);block-size:1px;margin:0 0 .25rem;border:none}aside[tuiNavigationAside] header{padding-block-end:.25rem;box-shadow:inset 0 -1px var(--tui-border-normal);margin-block-end:1rem}aside[tuiNavigationAside] footer{display:flex;flex-direction:column;flex:1}aside[tuiNavigationAside] footer:before{content:\"\";min-block-size:1.75rem;margin:0 -.5rem;flex:1;-webkit-mask:linear-gradient(transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%);mask:linear-gradient(transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%)}aside[tuiNavigationAside]+main[tuiNavigationMain]{max-inline-size:calc(100% - 3rem)}[tuiAsideItem][tuiAsideItem]{inline-size:100%;justify-content:flex-start;gap:.625rem;margin-block-end:.25rem}[tuiAsideItem][tuiAsideItem]:after{border:none!important;margin-inline-start:auto!important;color:var(--tui-text-tertiary)}[tuiAsideItem][tuiAsideItem].tui-dropdown-open,[tuiAsideItem][tuiAsideItem]._active:not(._chevron-rotated),aside[tuiNavigationAside]:not(._expanded) [tuiAsideItem][tuiAsideItem]._active{background:var(--tui-background-neutral-1-hover)}tui-dropdown[data-appearance=dropdown-navigation]{border:none;background:var(--tui-background-elevation-3);background:color-mix(in srgb,var(--tui-theme-color, #000) 80%,#fff)}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]{justify-content:flex-start;margin:0;padding:0 .5rem}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._active{background:transparent}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._link:not(._custom):after{opacity:0}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._link._active:after{opacity:1}\n"] }] }], propDecorators: { tuiNavigationAside: [{ type: Input }] } }); class TuiAsideGroupComponent { constructor() { this.aside = inject(TuiAsideComponent); this.open = signal(false); this.template = null; this.expanded = computed(() => this.aside.expanded() && this.open()); this.binding = tuiDirectiveBinding(TuiDropdownDirective, 'tuiDropdown', computed(() => (this.aside.expanded() ? null : this.datalist))); this.openChange = toObservable(this.open).pipe(skip(1)); this.size = 's'; } set openSetter(open) { this.toggle(open); } toggle(open = !this.open()) { this.open.set(open && this.aside.expanded()); this.chevron?.chevron.set(this.open()); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAsideGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiAsideGroupComponent, isStandalone: true, selector: "tui-aside-group", inputs: { openSetter: ["open", "openSetter"] }, outputs: { openChange: "openChange" }, providers: [tuiAsDataListHost(TuiAsideGroupComponent)], queries: [{ propertyName: "chevron", first: true, predicate: TuiChevron, descendants: true, static: true }, { propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "datalist", first: true, predicate: ["datalist"], descendants: true, static: true }], hostDirectives: [{ directive: i1.TuiDropdownDirective }, { directive: i1.TuiDropdownHover }, { directive: i1.TuiDropdownPositionSided }, { directive: i1.TuiDropdownOpen }], ngImport: i0, template: "<div\n #host\n (click)=\"toggle()\"\n>\n <ng-content />\n</div>\n<tui-expand [expanded]=\"expanded()\">\n <ng-container *polymorpheusOutlet=\"template\" />\n</tui-expand>\n<ng-template #datalist>\n <tui-data-list>\n <tui-opt-group [label]=\"host.textContent\">\n <ng-container *polymorpheusOutlet=\"template\" />\n </tui-opt-group>\n </tui-data-list>\n</ng-template>\n", dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i2.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i2.TuiOptGroup, selector: "tui-opt-group", inputs: ["label"] }, { kind: "component", type: i3.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAsideGroupComponent, decorators: [{ type: Component, args: [{ standalone: true, selector: 'tui-aside-group', imports: [PolymorpheusOutlet, TuiDataList, TuiExpand], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsDataListHost(TuiAsideGroupComponent)], hostDirectives: [ TuiDropdownDirective, TuiDropdownHover, TuiDropdownPositionSided, TuiDropdownOpen, ], template: "<div\n #host\n (click)=\"toggle()\"\n>\n <ng-content />\n</div>\n<tui-expand [expanded]=\"expanded()\">\n <ng-container *polymorpheusOutlet=\"template\" />\n</tui-expand>\n<ng-template #datalist>\n <tui-data-list>\n <tui-opt-group [label]=\"host.textContent\">\n <ng-container *polymorpheusOutlet=\"template\" />\n </tui-opt-group>\n </tui-data-list>\n</ng-template>\n" }] }], propDecorators: { datalist: [{ type: ViewChild, args: ['datalist', { static: true }] }], chevron: [{ type: ContentChild, args: [TuiChevron, { static: true }] }], template: [{ type: ContentChild, args: [TemplateRef] }], openChange: [{ type: Output }], openSetter: [{ type: Input, args: ['open'] }] } }); class TuiHintAsideDirective { constructor() { this.el = tuiInjectElement(); this.aside = inject(TuiAsideComponent); this.dropdown = inject(TuiDropdownDirective, { optional: true }); this.binding = tuiDirectiveBinding(TuiHintDirective, 'tuiHint', computed(() => this.aside.expanded() || this.dropdown ? '' : () => this.el.textContent?.trim())); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiHintAsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiHintAsideDirective, isStandalone: true, selector: "[tuiHintAside]", providers: [tuiHintOptionsProvider({ direction: 'right' })], hostDirectives: [{ directive: i1$1.TuiHintDirective }], ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiHintAsideDirective, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[tuiHintAside]', providers: [tuiHintOptionsProvider({ direction: 'right' })], hostDirectives: [TuiHintDirective], }] }] }); class TuiAsideItemDirective { constructor() { this.icon = inject(TUI_COMMON_ICONS).check; this.icons = inject(TuiIcons); this.link = inject(RouterLink, { self: true, optional: true }); this.active = toSignal(inject(RouterLinkActive).isActiveChange); this.size = 's'; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAsideItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiAsideItemDirective, isStandalone: true, selector: "[tuiAsideItem]", host: { attributes: { "tuiButton": "", "tuiOption": "" }, properties: { "class._link": "link", "class._active": "active()", "class._custom": "icon !== icons.iconEnd()" } }, providers: [ tuiAsDataListHost(TuiAsideItemDirective), provideIcon(), provideDropdown(), ], hostDirectives: [{ directive: TuiHintAsideDirective }, { directive: i1.TuiDropdownManual }, { directive: i1.TuiDropdownPositionSided }, { directive: i3$1.TuiButton }, { directive: i4.RouterLinkActive, inputs: ["routerLinkActiveOptions", "routerLinkActiveOptions"] }], ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAsideItemDirective, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[tuiAsideItem]', providers: [ tuiAsDataListHost(TuiAsideItemDirective), provideIcon(), provideDropdown(), ], hostDirectives: [ TuiHintAsideDirective, TuiDropdownManual, TuiDropdownPositionSided, TuiButton, { directive: RouterLinkActive, inputs: ['routerLinkActiveOptions'], }, ], host: { tuiButton: '', tuiOption: '', '[class._link]': 'link', '[class._active]': 'active()', '[class._custom]': 'icon !== icons.iconEnd()', }, }] }] }); function provideIcon() { return { provide: TUI_ICON_END, useFactory: () => { if (inject(TuiChevron, { optional: true, self: true })) { return inject(TUI_CHEVRON); } const { check, more } = inject(TUI_COMMON_ICONS); const active = inject(TuiDataListComponent, { optional: true }) && inject(RouterLink, { self: true, optional: true }) ? check : ''; return inject(TuiDropdownDirective, { self: true, optional: true }) ? more : active; }, }; } function provideDropdown() { return { provide: TUI_DROPDOWN_OPTIONS, useFactory: () => ({ ...inject(TUI_DROPDOWN_OPTIONS, { skipSelf: true }), offset: inject(TuiDataListComponent, { optional: true }) ? 8 : 12, }), }; } class TuiDrawerComponent { constructor() { this.directive = inject(TuiDropdownDirective); this.animation = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED)); this.top = tuiIsHTMLElement(this.directive.el.offsetParent) && tuiIsHTMLElement(this.directive.el.offsetParent.offsetParent) ? this.directive.el.offsetParent.getBoundingClientRect().bottom - Math.max(this.directive.el.offsetParent.offsetParent.getBoundingClientRect().top, 0) : 0; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDrawerComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "tuiTheme": "dark" }, properties: { "style.top.px": "top" } }, hostDirectives: [{ directive: i1$2.TuiActiveZone }, { directive: i2$1.TuiAnimated }], ngImport: i0, template: ` <tui-scrollbar [style.height.%]="100"> <ng-container *polymorpheusOutlet="directive._content()" /> </tui-scrollbar> `, isInline: true, styles: [":host{position:fixed;left:0;right:0;bottom:0;background:var(--tui-theme-color, #000);inline-size:14.375rem;color:var(--tui-text-primary);pointer-events:auto;--tui-from: translateX(-100%)}:host.tui-enter,:host.tui-leave{animation-name:tuiSlide}:host ::ng-deep tui-data-list [tuiOption]{justify-content:flex-start;gap:.75rem;margin:0;font:var(--tui-font-text-ui-s);font-weight:700}:host ::ng-deep tui-data-list tui-opt-group:before{font:var(--tui-font-text-xs);text-transform:uppercase;color:var(--tui-text-tertiary)}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDrawerComponent, decorators: [{ type: Component, args: [{ standalone: true, imports: [PolymorpheusOutlet, TuiScrollbar], template: ` <tui-scrollbar [style.height.%]="100"> <ng-container *polymorpheusOutlet="directive._content()" /> </tui-scrollbar> `, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiActiveZone, TuiAnimated], host: { tuiTheme: 'dark', '[style.top.px]': 'top', }, styles: [":host{position:fixed;left:0;right:0;bottom:0;background:var(--tui-theme-color, #000);inline-size:14.375rem;color:var(--tui-text-primary);pointer-events:auto;--tui-from: translateX(-100%)}:host.tui-enter,:host.tui-leave{animation-name:tuiSlide}:host ::ng-deep tui-data-list [tuiOption]{justify-content:flex-start;gap:.75rem;margin:0;font:var(--tui-font-text-ui-s);font-weight:700}:host ::ng-deep tui-data-list tui-opt-group:before{font:var(--tui-font-text-xs);text-transform:uppercase;color:var(--tui-text-tertiary)}\n"] }] }] }); class TuiDrawerDirective { constructor() { this.x = inject(TUI_COMMON_ICONS).close; this.icons = inject(TuiIcons); this.dropdown = tuiDropdown(null); this.open = inject(TuiDropdownOpen); } ngDoCheck() { this.icons.iconStart.set(this.open.tuiDropdownOpen ? this.x : ''); } set template(template) { this.dropdown.set(template); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDrawerDirective, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDrawerDirective, isStandalone: true, selector: "[tuiIconButton][tuiNavigationDrawer]", providers: [ tuiButtonOptionsProvider({ appearance: 'secondary-grayscale' }), { provide: TUI_ICON_END, useFactory: () => inject(TUI_LAYOUT_ICONS).grid, }, { provide: TUI_DROPDOWN_COMPONENT, useValue: TuiDrawerComponent, }, ], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], hostDirectives: [{ directive: i1.TuiDropdownDirective }, { directive: i1.TuiWithDropdownOpen }], ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDrawerDirective, decorators: [{ type: Component, args: [{ standalone: true, // TODO: move to host directives selector: '[tuiIconButton][tuiNavigationDrawer]', template: '<ng-template><ng-content /></ng-template>', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ tuiButtonOptionsProvider({ appearance: 'secondary-grayscale' }), { provide: TUI_ICON_END, useFactory: () => inject(TUI_LAYOUT_ICONS).grid, }, { provide: TUI_DROPDOWN_COMPONENT, useValue: TuiDrawerComponent, }, ], hostDirectives: [TuiDropdownDirective, TuiWithDropdownOpen], }] }], propDecorators: { template: [{ type: ViewChild, args: [TemplateRef] }] } }); class TuiHeaderComponent { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiHeaderComponent, isStandalone: true, selector: "header[tuiNavigationHeader]", host: { attributes: { "tuiTheme": "dark" } }, providers: [ tuiAvatarOptionsProvider({ size: 's', appearance: 'secondary-grayscale' }), tuiBadgeNotificationOptionsProvider({ size: 'xs' }), tuiBadgeOptionsProvider({ size: 'm', appearance: 'primary' }), tuiButtonOptionsProvider({ size: 's', appearance: 'flat-grayscale' }), tuiDropdownOptionsProvider({ appearance: 'dropdown-navigation' }), tuiTextfieldOptionsProvider({ size: signal('s') }), ], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["header[tuiNavigationHeader][tuiNavigationHeader]{position:sticky;top:0;left:0;z-index:2;display:flex;inset-inline-start:0;block-size:3rem;inline-size:100vw;align-items:center;gap:.25rem;padding:.5rem;box-sizing:border-box;font:var(--tui-font-text-s);line-height:1rem;background:var(--tui-theme-color, #000);color:var(--tui-text-primary);box-shadow:0 -100rem 0 100rem var(--tui-theme-color, #000)}header[tuiNavigationHeader][tuiNavigationHeader]:before{content:\"\";position:absolute;top:100%;left:0;right:0;z-index:-1;block-size:3rem;pointer-events:none;box-shadow:0 -1.5rem var(--tui-theme-color, #000);border-radius:1.25rem 1.25rem 0 0}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationLogo]{padding:0 .5rem;margin:0 1rem}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationLogo] tui-icon{font-size:1rem}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationSegments]{display:flex;gap:.5rem;min-inline-size:12rem}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationSegments]>*:not(:last-child){flex:1 0 auto}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationSegments]>*:last-child{min-inline-size:3rem;flex:1 1 auto}header[tuiNavigationHeader][tuiNavigationHeader] [tuiButton],header[tuiNavigationHeader][tuiNavigationHeader] [tuiBadge],header[tuiNavigationHeader][tuiNavigationHeader] [tuiChip],header[tuiNavigationHeader][tuiNavigationHeader] tui-badge,header[tuiNavigationHeader][tuiNavigationHeader] tui-chip{max-inline-size:12.5rem}header[tuiNavigationHeader][tuiNavigationHeader] hr{flex:1;block-size:calc(100% + 1rem);min-inline-size:4rem;margin:-.5rem 0;border:none;flex-shrink:0;background:transparent;-webkit-mask:linear-gradient(to right,transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%);mask:linear-gradient(to right,transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%)}header[tuiNavigationHeader][tuiNavigationHeader] hr~[tuiButton]{margin-inline-end:.5rem}header[tuiNavigationHeader][tuiNavigationHeader] tui-textfield{inline-size:12rem;margin-inline-end:1.75rem}tui-dropdown[data-appearance=dropdown-navigation]{border:none;color:var(--tui-text-primary);background:var(--tui-background-elevation-3);background:color-mix(in srgb,var(--tui-theme-color, #000) 80%,#fff)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiHeaderComponent, decorators: [{ type: Component, args: [{ standalone: true, selector: 'header[tuiNavigationHeader]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [ tuiAvatarOptionsProvider({ size: 's', appearance: 'secondary-grayscale' }), tuiBadgeNotificationOptionsProvider({ size: 'xs' }), tuiBadgeOptionsProvider({ size: 'm', appearance: 'primary' }), tuiButtonOptionsProvider({ size: 's', appearance: 'flat-grayscale' }), tuiDropdownOptionsProvider({ appearance: 'dropdown-navigation' }), tuiTextfieldOptionsProvider({ size: signal('s') }), ], host: { tuiTheme: 'dark', }, styles: ["header[tuiNavigationHeader][tuiNavigationHeader]{position:sticky;top:0;left:0;z-index:2;display:flex;inset-inline-start:0;block-size:3rem;inline-size:100vw;align-items:center;gap:.25rem;padding:.5rem;box-sizing:border-box;font:var(--tui-font-text-s);line-height:1rem;background:var(--tui-theme-color, #000);color:var(--tui-text-primary);box-shadow:0 -100rem 0 100rem var(--tui-theme-color, #000)}header[tuiNavigationHeader][tuiNavigationHeader]:before{content:\"\";position:absolute;top:100%;left:0;right:0;z-index:-1;block-size:3rem;pointer-events:none;box-shadow:0 -1.5rem var(--tui-theme-color, #000);border-radius:1.25rem 1.25rem 0 0}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationLogo]{padding:0 .5rem;margin:0 1rem}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationLogo] tui-icon{font-size:1rem}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationSegments]{display:flex;gap:.5rem;min-inline-size:12rem}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationSegments]>*:not(:last-child){flex:1 0 auto}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationSegments]>*:last-child{min-inline-size:3rem;flex:1 1 auto}header[tuiNavigationHeader][tuiNavigationHeader] [tuiButton],header[tuiNavigationHeader][tuiNavigationHeader] [tuiBadge],header[tuiNavigationHeader][tuiNavigationHeader] [tuiChip],header[tuiNavigationHeader][tuiNavigationHeader] tui-badge,header[tuiNavigationHeader][tuiNavigationHeader] tui-chip{max-inline-size:12.5rem}header[tuiNavigationHeader][tuiNavigationHeader] hr{flex:1;block-size:calc(100% + 1rem);min-inline-size:4rem;margin:-.5rem 0;border:none;flex-shrink:0;background:transparent;-webkit-mask:linear-gradient(to right,transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%);mask:linear-gradient(to right,transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%)}header[tuiNavigationHeader][tuiNavigationHeader] hr~[tuiButton]{margin-inline-end:.5rem}header[tuiNavigationHeader][tuiNavigationHeader] tui-textfield{inline-size:12rem;margin-inline-end:1.75rem}tui-dropdown[data-appearance=dropdown-navigation]{border:none;color:var(--tui-text-primary);background:var(--tui-background-elevation-3);background:color-mix(in srgb,var(--tui-theme-color, #000) 80%,#fff)}\n"] }] }] }); class TuiLogoComponent { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLogoComponent, isStandalone: true, selector: "[tuiNavigationLogo]", ngImport: i0, template: '<ng-content />', isInline: true, styles: ["[tuiNavigationLogo]{display:flex;align-items:center;gap:.5rem;overflow:hidden;white-space:nowrap;font-weight:700}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLogoComponent, decorators: [{ type: Component, args: [{ standalone: true, selector: '[tuiNavigationLogo]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["[tuiNavigationLogo]{display:flex;align-items:center;gap:.5rem;overflow:hidden;white-space:nowrap;font-weight:700}\n"] }] }] }); class TuiMainComponent { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMainComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiMainComponent, isStandalone: true, selector: "main[tuiNavigationMain]", host: { attributes: { "tuiNavigationMain": "" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["main[tuiNavigationMain]{transition-property:max-width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,8.5625rem));align-items:start;gap:0 1rem;place-content:start center;flex:1;border:1.5rem solid transparent;border-block-start:0;isolation:isolate;box-sizing:border-box}main[tuiNavigationMain]>*{grid-column:span 12;max-inline-size:100%}main[tuiNavigationMain]>nav[tuiNavigationNav]:not(:first-child){border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 100vw;box-shadow:inset 0 -1px var(--tui-border-normal)}main[tuiNavigationMain]>[tuiHeader]{margin:1rem 0 .5rem}main[tuiNavigationMain]>[tuiHeader][tuiCardLarge]{flex-direction:column;gap:1rem}main[tuiNavigationMain]>[tuiHeader][tuiCardLarge]>:last-child:not([tuiTitle]){margin-block-end:.25rem}main[tuiNavigationMain]>[tuiHeader]:not([tuiCardLarge]) [tuiTitle]{max-inline-size:42rem;margin-inline-end:auto;white-space:nowrap;gap:.375rem;overflow:hidden}main[tuiNavigationMain]>[tuiHeader]:not([tuiCardLarge]) [tuiSubtitle]{display:-webkit-box;-webkit-box-orient:block-axis;-webkit-line-clamp:2;white-space:normal;word-break:break-word;font:var(--tui-font-text-s);overflow:hidden}main[tuiNavigationMain]>[tuiHeader] [tuiCaption]{scrollbar-width:none;-ms-overflow-style:none;display:flex;gap:1rem;color:var(--tui-text-tertiary);font:var(--tui-font-text-s);white-space:nowrap;text-transform:none;overflow:auto}main[tuiNavigationMain]>[tuiHeader] [tuiCaption]::-webkit-scrollbar,main[tuiNavigationMain]>[tuiHeader] [tuiCaption]::-webkit-scrollbar-thumb{display:none}main[tuiNavigationMain]>[tuiHeader] [tuiCaption] tui-icon{font-size:1rem;margin:.125rem 0;color:var(--tui-text-secondary)}main[tuiNavigationMain]>[tuiHeader] [tuiAccessories]{margin-inline-start:3rem;gap:.5rem!important}main[tuiNavigationMain]>a:first-child,main[tuiNavigationMain]>button:first-child,main[tuiNavigationMain]>tui-breadcrumbs:first-child{block-size:1.25rem;padding:0;margin-block-start:.875rem;justify-self:flex-start}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMainComponent, decorators: [{ type: Component, args: [{ standalone: true, selector: 'main[tuiNavigationMain]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { tuiNavigationMain: '', }, styles: ["main[tuiNavigationMain]{transition-property:max-width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,8.5625rem));align-items:start;gap:0 1rem;place-content:start center;flex:1;border:1.5rem solid transparent;border-block-start:0;isolation:isolate;box-sizing:border-box}main[tuiNavigationMain]>*{grid-column:span 12;max-inline-size:100%}main[tuiNavigationMain]>nav[tuiNavigationNav]:not(:first-child){border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 100vw;box-shadow:inset 0 -1px var(--tui-border-normal)}main[tuiNavigationMain]>[tuiHeader]{margin:1rem 0 .5rem}main[tuiNavigationMain]>[tuiHeader][tuiCardLarge]{flex-direction:column;gap:1rem}main[tuiNavigationMain]>[tuiHeader][tuiCardLarge]>:last-child:not([tuiTitle]){margin-block-end:.25rem}main[tuiNavigationMain]>[tuiHeader]:not([tuiCardLarge]) [tuiTitle]{max-inline-size:42rem;margin-inline-end:auto;white-space:nowrap;gap:.375rem;overflow:hidden}main[tuiNavigationMain]>[tuiHeader]:not([tuiCardLarge]) [tuiSubtitle]{display:-webkit-box;-webkit-box-orient:block-axis;-webkit-line-clamp:2;white-space:normal;word-break:break-word;font:var(--tui-font-text-s);overflow:hidden}main[tuiNavigationMain]>[tuiHeader] [tuiCaption]{scrollbar-width:none;-ms-overflow-style:none;display:flex;gap:1rem;color:var(--tui-text-tertiary);font:var(--tui-font-text-s);white-space:nowrap;text-transform:none;overflow:auto}main[tuiNavigationMain]>[tuiHeader] [tuiCaption]::-webkit-scrollbar,main[tuiNavigationMain]>[tuiHeader] [tuiCaption]::-webkit-scrollbar-thumb{display:none}main[tuiNavigationMain]>[tuiHeader] [tuiCaption] tui-icon{font-size:1rem;margin:.125rem 0;color:var(--tui-text-secondary)}main[tuiNavigationMain]>[tuiHeader] [tuiAccessories]{margin-inline-start:3rem;gap:.5rem!important}main[tuiNavigationMain]>a:first-child,main[tuiNavigationMain]>button:first-child,main[tuiNavigationMain]>tui-breadcrumbs:first-child{block-size:1.25rem;padding:0;margin-block-start:.875rem;justify-self:flex-start}\n"] }] }] }); class TuiNavComponent { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiNavComponent, isStandalone: true, selector: "nav[tuiNavigationNav]", providers: [ tuiBadgeOptionsProvider({ size: 'm' }), tuiButtonOptionsProvider({ size: 's' }), tuiTabsOptionsProvider({ size: 'm' }), ], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["nav[tuiNavigationNav]{top:3rem;z-index:1;display:flex;min-block-size:3rem;align-items:center;gap:.5rem;padding:.25rem 0 0;box-sizing:border-box;white-space:nowrap;overflow:hidden;font:var(--tui-font-text-s);line-height:1rem;color:var(--tui-text-secondary);border-image:linear-gradient(0deg,var(--tui-border-normal) 1px,var(--tui-background-base) 0) fill 0/0/0 100vw}nav[tuiNavigationNav] [tuiNavigationLogo]{font:var(--tui-font-text-m);font-weight:700;color:var(--tui-text-primary)}nav[tuiNavigationNav]>a{text-decoration:none;color:inherit}nav[tuiNavigationNav]>hr{inline-size:2rem;margin:0 0 0 auto;border:none;visibility:hidden;flex-shrink:0}nav[tuiNavigationNav] tui-icon{font-size:1rem;vertical-align:bottom}nav[tuiNavigationNav] tui-tabs,nav[tuiNavigationNav] [tuiTabs]{box-shadow:none;margin-inline-end:1rem}nav[tuiNavigationNav] tui-tabs:before,nav[tuiNavigationNav] [tuiTabs]:before{background:var(--tui-background-accent-opposite-pressed)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNavComponent, decorators: [{ type: Component, args: [{ standalone: true, selector: 'nav[tuiNavigationNav]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [ tuiBadgeOptionsProvider({ size: 'm' }), tuiButtonOptionsProvider({ size: 's' }), tuiTabsOptionsProvider({ size: 'm' }), ], styles: ["nav[tuiNavigationNav]{top:3rem;z-index:1;display:flex;min-block-size:3rem;align-items:center;gap:.5rem;padding:.25rem 0 0;box-sizing:border-box;white-space:nowrap;overflow:hidden;font:var(--tui-font-text-s);line-height:1rem;color:var(--tui-text-secondary);border-image:linear-gradient(0deg,var(--tui-border-normal) 1px,var(--tui-background-base) 0) fill 0/0/0 100vw}nav[tuiNavigationNav] [tuiNavigationLogo]{font:var(--tui-font-text-m);font-weight:700;color:var(--tui-text-primary)}nav[tuiNavigationNav]>a{text-decoration:none;color:inherit}nav[tuiNavigationNav]>hr{inline-size:2rem;margin:0 0 0 auto;border:none;visibility:hidden;flex-shrink:0}nav[tuiNavigationNav] tui-icon{font-size:1rem;vertical-align:bottom}nav[tuiNavigationNav] tui-tabs,nav[tuiNavigationNav] [tuiTabs]{box-shadow:none;margin-inline-end:1rem}nav[tuiNavigationNav] tui-tabs:before,nav[tuiNavigationNav] [tuiTabs]:before{background:var(--tui-background-accent-opposite-pressed)}\n"] }] }] }); const PROVIDERS = [ tuiTextfieldOptionsProvider({ size: signal('s') }), tuiBreadcrumbsOptionsProvider({ icon: '/' }), tuiLinkOptionsProvider({ appearance: 'action-grayscale' }), tuiTabsOptionsProvider({ size: 'm' }), tuiDropdownOptionsProvider({ align: 'right' }), ]; class TuiSubheaderComponent { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSubheaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSubheaderComponent, isStandalone: true, selector: "[tuiSubheader]:not([compact]),[tuiNavigationSubheader]:not([compact])", providers: [ PROVIDERS, tuiButtonOptionsProvider({ appearance: 'secondary', size: 'xs' }), ], ngImport: i0, template: ` <ng-content select="[tuiLink]" /> <ng-content select="tui-breadcrumbs" /> <ng-content select="[tuiHeader]" /> <ng-content /> <ng-content select="tui-tabs,[tuiTabs]" /> `, isInline: true, styles: ["[tuiSubheader][compact]{top:3rem;z-index:1;block-size:var(--tui-height-m);padding-block-start:.25rem}[tuiSubheader][compact] .t-nav-subheader{position:absolute;top:0;left:0;right:0;display:flex;block-size:inherit;align-items:center;gap:.5rem;font:var(--tui-font-text-s);white-space:nowrap;overflow:hidden;padding:inherit;border-image:linear-gradient(0deg,var(--tui-border-normal) 1px,var(--tui-background-base) 0) fill 0/0/0 100vw}[tuiSubheader][compact] .t-nav-subheader tui-breadcrumbs{flex:1;overflow:hidden}[tuiSubheader][compact] .t-nav-subheader>tui-tabs,[tuiSubheader][compact] .t-nav-subheader>tui-tabs-with-more,[tuiSubheader][compact] .t-nav-subheader>[tuiTabs],[tuiSubheader][compact] .t-nav-subheader>[tuiTabsWithMore]{margin-inline-start:auto;margin-inline-end:1.5rem;border-inline-start:3rem solid transparent;box-shadow:none}[tuiSubheader][compact] .t-nav-subheader tui-tabs:before,[tuiSubheader][compact] .t-nav-subheader tui-tabs-with-more:before,[tuiSubheader][compact] .t-nav-subheader [tuiTabs]:before,[tuiSubheader][compact] .t-nav-subheader [tuiTabsWithMore]:before{background:var(--tui-background-accent-opposite-pressed)}[tuiSubheader]:not([compact]){margin-block-start:.875rem}[tuiSubheader]:not([compact]) [tuiHeader]{margin:1rem 0 .5rem}[tuiSubheader]:not([compact]) [tuiHeader]:first-child{margin-block-start:0}[tuiSubheader]:not([compact]) [tuiHeader] [tuiTitle]{max-inline-size:42rem;margin-inline-end:auto}[tuiSubheader]:not([compact]) [tuiHeader] [tuiSubtitle]{font:var(--tui-font-text-s)}[tuiSubheader]:not([compact]) [tuiHeader] [tuiSubtitle] tui-icon{font-size:1rem}[tuiSubheader]:not([compact]) [tuiHeader]+tui-textfield{margin-block-start:.75rem}[tuiSubheader]:not([compact]) tui-tabs,[tuiSubheader]:not([compact]) [tuiTabs]{margin-block-start:.5rem}[tuiSubheader]:not([compact]) tui-tabs:before,[tuiSubheader]:not([compact]) [tuiTabs]:before{background:var(--tui-background-accent-opposite-pressed)}[tuiSubheader]:not([compact]) tui-tabs [tuiButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiButton],[tuiSubheader]:not([compact]) tui-tabs [tuiIconButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiIconButton]{margin-inline-start:.5rem;align-self:center}[tuiSubheader]:not([compact]) tui-tabs [tuiTab]+[tuiButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiTab]+[tuiButton],[tuiSubheader]:not([compact]) tui-tabs [tuiTab]+[tuiIconButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiTab]+[tuiIconButton]{margin-inline-start:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSubheaderComponent, decorators: [{ type: Component, args: [{ standalone: true, selector: '[tuiSubheader]:not([compact]),[tuiNavigationSubheader]:not([compact])', template: ` <ng-content select="[tuiLink]" /> <ng-content select="tui-breadcrumbs" /> <ng-content select="[tuiHeader]" /> <ng-content /> <ng-content select="tui-tabs,[tuiTabs]" /> `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [ PROVIDERS, tuiButtonOptionsProvider({ appearance: 'secondary', size: 'xs' }), ], styles: ["[tuiSubheader][compact]{top:3rem;z-index:1;block-size:var(--tui-height-m);padding-block-start:.25rem}[tuiSubheader][compact] .t-nav-subheader{position:absolute;top:0;left:0;right:0;display:flex;block-size:inherit;align-items:center;gap:.5rem;font:var(--tui-font-text-s);white-space:nowrap;overflow:hidden;padding:inherit;border-image:linear-gradient(0deg,var(--tui-border-normal) 1px,var(--tui-background-base) 0) fill 0/0/0 100vw}[tuiSubheader][compact] .t-nav-subheader tui-breadcrumbs{flex:1;overflow:hidden}[tuiSubheader][compact] .t-nav-subheader>tui-tabs,[tuiSubheader][compact] .t-nav-subheader>tui-tabs-with-more,[tuiSubheader][compact] .t-nav-subheader>[tuiTabs],[tuiSubheader][compact] .t-nav-subheader>[tuiTabsWithMore]{margin-inline-start:auto;margin-inline-end:1.5rem;border-inline-start:3rem solid transparent;box-shadow:none}[tuiSubheader][compact] .t-nav-subheader tui-tabs:before,[tuiSubheader][compact] .t-nav-subheader tui-tabs-with-more:before,[tuiSubheader][compact] .t-nav-subheader [tuiTabs]:before,[tuiSubheader][compact] .t-nav-subheader [tuiTabsWithMore]:before{background:var(--tui-background-accent-opposite-pressed)}[tuiSubheader]:not([compact]){margin-block-start:.875rem}[tuiSubheader]:not([compact]) [tuiHeader]{margin:1rem 0 .5rem}[tuiSubheader]:not([compact]) [tuiHeader]:first-child{margin-block-start:0}[tuiSubheader]:not([compact]) [tuiHeader] [tuiTitle]{max-inline-size:42rem;margin-inline-end:auto}[tuiSubheader]:not([compact]) [tuiHeader] [tuiSubtitle]{font:var(--tui-font-text-s)}[tuiSubheader]:not([compact]) [tuiHeader] [tuiSubtitle] tui-icon{font-size:1rem}[tuiSubheader]:not([compact]) [tuiHeader]+tui-textfield{margin-block-start:.75rem}[tuiSubheader]:not([compact]) tui-tabs,[tuiSubheader]:not([compact]) [tuiTabs]{margin-block-start:.5rem}[tuiSubheader]:not([compact]) tui-tabs:before,[tuiSubheader]:not([compact]) [tuiTabs]:before{background:var(--tui-background-accent-opposite-pressed)}[tuiSubheader]:not([compact]) tui-tabs [tuiButton],[tuiSubheade