@taiga-ui/kit 3.6.0 → 3.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-arrow.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-badge.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-marker-icon.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +7 -40
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +148 -59
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-constants.umd.js +0 -3
- package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
- package/components/multi-select/multi-select.component.d.ts +3 -11
- package/components/tabs/index.d.ts +2 -0
- package/components/tabs/tabs/tabs.component.d.ts +9 -9
- package/components/tabs/tabs-vertical/tabs-vertical.component.d.ts +11 -0
- package/components/tabs/tabs.directive.d.ts +15 -0
- package/components/tabs/tabs.module.d.ts +8 -6
- package/components/tree/components/tree-item/tree-item.component.d.ts +1 -1
- package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +1 -1
- package/components/tree/misc/tree.constants.d.ts +1 -1
- package/components/tree/misc/tree.tokens.d.ts +1 -1
- package/constants/index.d.ts +0 -1
- package/esm2015/components/accordion/accordion-item/accordion-item.component.js +1 -1
- package/esm2015/components/action/action.component.js +1 -1
- package/esm2015/components/arrow/arrow-options.js +3 -1
- package/esm2015/components/arrow/arrow.component.js +4 -2
- package/esm2015/components/avatar/avatar.component.js +3 -3
- package/esm2015/components/badge/badge.component.js +1 -1
- package/esm2015/components/carousel/carousel.component.js +1 -1
- package/esm2015/components/files/file/file.component.js +1 -1
- package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
- package/esm2015/components/input-tag/input-tag.component.js +2 -2
- package/esm2015/components/line-clamp/line-clamp.component.js +1 -1
- package/esm2015/components/marker-icon/marker-icon.component.js +1 -1
- package/esm2015/components/multi-select/multi-select.component.js +5 -30
- package/esm2015/components/multi-select-option/multi-select-option.component.js +1 -1
- package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
- package/esm2015/components/progress/progress-bar/progress-bar.component.js +1 -1
- package/esm2015/components/progress/progress-circle/progress-circle.component.js +1 -1
- package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +1 -1
- package/esm2015/components/push/push-alert.component.js +3 -1
- package/esm2015/components/push/push-alert.directive.js +3 -1
- package/esm2015/components/push/push.service.js +3 -1
- package/esm2015/components/select-option/select-option.component.js +1 -1
- package/esm2015/components/slider/helpers/slider-key-steps.directive.js +3 -1
- package/esm2015/components/slider/slider.component.js +3 -1
- package/esm2015/components/stepper/step/step.component.js +4 -2
- package/esm2015/components/stepper/stepper.component.js +3 -1
- package/esm2015/components/tabs/index.js +3 -1
- package/esm2015/components/tabs/tab/tab.component.js +1 -1
- package/esm2015/components/tabs/tabs/tabs.component.js +29 -51
- package/esm2015/components/tabs/tabs-vertical/tabs-vertical.component.js +48 -0
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +8 -7
- package/esm2015/components/tabs/tabs.directive.js +60 -0
- package/esm2015/components/tabs/tabs.module.js +14 -4
- package/esm2015/components/tabs/underline/underline.component.js +1 -1
- package/esm2015/components/tag/tag.component.js +1 -1
- package/esm2015/components/text-area/text-area.component.js +1 -1
- package/esm2015/components/toggle/toggle.component.js +1 -1
- package/esm2015/components/tree/components/tree-item/tree-item.component.js +5 -2
- package/esm2015/components/tree/components/tree-item/tree-item.providers.js +4 -1
- package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +5 -2
- package/esm2015/components/tree/misc/tree.constants.js +3 -1
- package/esm2015/components/tree/misc/tree.interfaces.js +1 -1
- package/esm2015/components/tree/misc/tree.tokens.js +3 -1
- package/esm2015/constants/index.js +1 -2
- package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
- package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-action.js +1 -1
- package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-arrow.js +1 -1
- package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-avatar.js +2 -2
- package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-badge.js +1 -1
- package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-marker-icon.js +1 -1
- package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select-option.js +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +4 -29
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js +3 -3
- package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +137 -55
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-toggle.js +1 -1
- package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js +2 -2
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-constants.js +1 -3
- package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
- package/package.json +4 -4
- package/constants/icon-blank.d.ts +0 -1
- package/esm2015/constants/icon-blank.js +0 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, ElementRef, Optional, Component, ChangeDetectionStrategy, Inject, HostBinding,
|
|
2
|
+
import { InjectionToken, ElementRef, Optional, Component, ChangeDetectionStrategy, Inject, HostBinding, EventEmitter, Directive, Input, Output, HostListener, NgZone, ChangeDetectorRef, ContentChildren, forwardRef, TemplateRef, ViewChild, NgModule } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/router';
|
|
4
4
|
import { RouterLinkActive } from '@angular/router';
|
|
5
5
|
import * as i4 from '@taiga-ui/cdk';
|
|
6
|
-
import { TuiDestroyService, TuiFocusVisibleService, tuiTypedFromEvent, tuiIsNativeFocused,
|
|
6
|
+
import { TuiDestroyService, TuiFocusVisibleService, tuiTypedFromEvent, tuiIsNativeFocused, tuiMoveFocus, tuiDefaultProp, tuiZonefree, EMPTY_QUERY, TuiResizeService, tuiPure, tuiClamp, tuiIsElement, tuiGetClosestFocusable, tuiToInt, TuiItemDirective, TuiFocusableModule, TuiItemModule } from '@taiga-ui/cdk';
|
|
7
7
|
import * as i2$1 from '@taiga-ui/core';
|
|
8
8
|
import { TuiRouterLinkActiveService, MODE_PROVIDER, TUI_MODE, TuiHostedDropdownModule, TuiSvgModule } from '@taiga-ui/core';
|
|
9
9
|
import { TUI_TAB_MARGIN, TUI_MORE_WORD } from '@taiga-ui/kit/tokens';
|
|
@@ -13,9 +13,9 @@ import { EMPTY, merge, identity, ReplaySubject, of } from 'rxjs';
|
|
|
13
13
|
import { filter, map, switchMap, mapTo, share, debounceTime, tap, startWith, takeUntil } from 'rxjs/operators';
|
|
14
14
|
import * as i5 from '@angular/common';
|
|
15
15
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
16
|
-
import * as i7 from '@tinkoff/ng-polymorpheus';
|
|
17
|
-
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
|
18
16
|
import { __decorate } from 'tslib';
|
|
17
|
+
import * as i8 from '@tinkoff/ng-polymorpheus';
|
|
18
|
+
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
|
19
19
|
import { ANIMATION_FRAME } from '@ng-web-apis/common';
|
|
20
20
|
import { asCallable } from '@tinkoff/ng-event-plugins';
|
|
21
21
|
|
|
@@ -67,7 +67,7 @@ class TuiTabComponent {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
TuiTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabComponent, deps: [{ token: RouterLinkActive, optional: true }, { token: ElementRef }, { token: TUI_MODE }, { token: TUI_TAB_EVENT }, { token: TUI_TAB_MARGIN }, { token: TuiFocusVisibleService }], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
TuiTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]", host: { attributes: { "type": "button" }, listeners: { "$.data-mode.attr": "mode$" }, properties: { "style.--tui-tab-margin.px": "margin", "class._focus-visible": "this.focusVisible", "class._active": "this.isActive" } }, providers: TUI_TAB_PROVIDERS, ngImport: i0, template: "<ng-container *ngIf=\"event$ | async\"></ng-container>\n<span class=\"t-highlight\"><ng-content></ng-content></span>\n", styles: [":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host-context(tui-tabs >):first-child,:host-context([tuiTabs] >):first-child,:host-context(tui-tabs > :first-child),:host-context([tuiTabs] > :first-child){margin-left:0}:host{transition-property:all;transition-duration
|
|
70
|
+
TuiTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]", host: { attributes: { "type": "button" }, listeners: { "$.data-mode.attr": "mode$" }, properties: { "style.--tui-tab-margin.px": "margin", "class._focus-visible": "this.focusVisible", "class._active": "this.isActive" } }, providers: TUI_TAB_PROVIDERS, ngImport: i0, template: "<ng-container *ngIf=\"event$ | async\"></ng-container>\n<span class=\"t-highlight\"><ng-content></ng-content></span>\n", styles: [":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host-context(tui-tabs >):first-child,:host-context([tuiTabs] >):first-child,:host-context(tui-tabs > :first-child),:host-context([tuiTabs] > :first-child){margin-left:0}:host{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;position:relative;display:flex;flex-shrink:0;height:100%;box-sizing:border-box;justify-content:space-between;align-items:center;white-space:nowrap;cursor:pointer;outline:none;text-decoration:none;color:inherit;transition-property:color,box-shadow,opacity;margin-left:var(--tui-tab-margin, 1.5rem)}:host:disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host:not([data-mode])._active{opacity:1;color:var(--tui-text-01);box-shadow:none}:host[data-mode=onDark]{color:rgba(255,255,255,.72)}:host[data-mode=onDark]:hover,:host[data-mode=onDark]._active{color:#fff}:host[data-mode=onDark]._focus-visible .t-highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]:hover,:host[data-mode=onLight]._active{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .t-highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .t-highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;margin:0;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif}:host._android:hover{box-shadow:none}:host._android._active{opacity:1;color:var(--tui-base-09)}:host._android .t-highlight{width:auto}:host._ios{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;margin:0;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif}:host._ios:hover{box-shadow:none}:host._ios._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}:host._ios .t-highlight{width:auto}@media (hover: hover){:host:hover{color:var(--tui-text-01)}}.t-highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.t-highlight ::ng-deep>*{flex-shrink:0}:host-context(tui-tabs[data-vertical]),:host-context([tuiTabs][data-vertical]){min-height:2.75rem;height:auto;white-space:normal;margin:0;text-align:left;padding:.25rem 1.25rem .25rem 0}:host-context(tui-tabs[data-vertical]):after,:host-context([tuiTabs][data-vertical]):after{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;right:0;width:2px;background:var(--tui-primary);transform:scaleX(0);transform-origin:right}:host-context(tui-tabs[data-vertical]):hover,:host-context([tuiTabs][data-vertical]):hover{box-shadow:inset -2px 0 var(--tui-base-03)}:host-context(tui-tabs[data-vertical])._active:after,:host-context([tuiTabs][data-vertical])._active:after{transform:none}:host-context(tui-tabs[data-vertical=\"right\"]),:host-context([tuiTabs][data-vertical=\"right\"]){text-align:right;padding:.25rem 0 .25rem 1.25rem}:host-context(tui-tabs[data-vertical=\"right\"]):after,:host-context([tuiTabs][data-vertical=\"right\"]):after{right:auto;left:0;transform-origin:left}:host-context(tui-tabs[data-vertical=\"right\"]):hover,:host-context([tuiTabs][data-vertical=\"right\"]):hover{box-shadow:inset 2px 0 var(--tui-base-03)}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
71
71
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabComponent, decorators: [{
|
|
72
72
|
type: Component,
|
|
73
73
|
args: [{
|
|
@@ -110,6 +110,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
110
110
|
args: [`class._active`]
|
|
111
111
|
}] } });
|
|
112
112
|
|
|
113
|
+
class TuiTabsDirective {
|
|
114
|
+
constructor(elementRef) {
|
|
115
|
+
this.elementRef = elementRef;
|
|
116
|
+
this.activeItemIndex = 0;
|
|
117
|
+
this.activeItemIndexChange = new EventEmitter();
|
|
118
|
+
}
|
|
119
|
+
get tabs() {
|
|
120
|
+
return Array.from(this.elementRef.nativeElement.querySelectorAll(`[tuiTab]`));
|
|
121
|
+
}
|
|
122
|
+
get activeElement() {
|
|
123
|
+
return this.tabs[this.activeItemIndex] || null;
|
|
124
|
+
}
|
|
125
|
+
onActivate(element) {
|
|
126
|
+
const index = this.tabs.findIndex(tab => tab === element);
|
|
127
|
+
if (index === this.activeItemIndex) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this.activeItemIndexChange.emit(index);
|
|
131
|
+
this.activeItemIndex = index;
|
|
132
|
+
}
|
|
133
|
+
moveFocus(current, step) {
|
|
134
|
+
const { tabs } = this;
|
|
135
|
+
tuiMoveFocus(tabs.indexOf(current), tabs, step);
|
|
136
|
+
}
|
|
137
|
+
ngAfterViewChecked() {
|
|
138
|
+
const { tabs, activeElement } = this;
|
|
139
|
+
tabs.forEach(nativeElement => {
|
|
140
|
+
const active = nativeElement === activeElement;
|
|
141
|
+
nativeElement.classList.toggle(`_active`, active);
|
|
142
|
+
nativeElement.setAttribute(`tabIndex`, active ? `0` : `-1`);
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
TuiTabsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsDirective, deps: [{ token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
147
|
+
TuiTabsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsDirective, selector: "tui-tabs, nav[tuiTabs]", inputs: { activeItemIndex: "activeItemIndex" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { listeners: { "tui-tab-activate.stop": "onActivate($event.target)" } }, ngImport: i0 });
|
|
148
|
+
__decorate([
|
|
149
|
+
tuiDefaultProp()
|
|
150
|
+
], TuiTabsDirective.prototype, "activeItemIndex", void 0);
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsDirective, decorators: [{
|
|
152
|
+
type: Directive,
|
|
153
|
+
args: [{
|
|
154
|
+
selector: `tui-tabs, nav[tuiTabs]`,
|
|
155
|
+
}]
|
|
156
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
|
|
157
|
+
type: Inject,
|
|
158
|
+
args: [ElementRef]
|
|
159
|
+
}] }]; }, propDecorators: { activeItemIndex: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], activeItemIndexChange: [{
|
|
162
|
+
type: Output
|
|
163
|
+
}], onActivate: [{
|
|
164
|
+
type: HostListener,
|
|
165
|
+
args: [`${TUI_TAB_ACTIVATE}.stop`, [`$event.target`]]
|
|
166
|
+
}] } });
|
|
167
|
+
|
|
113
168
|
const TUI_TABS_DEFAULT_OPTIONS = {
|
|
114
169
|
underline: true,
|
|
115
170
|
exposeActive: true,
|
|
@@ -144,7 +199,7 @@ class TuiUnderlineComponent {
|
|
|
144
199
|
}
|
|
145
200
|
}
|
|
146
201
|
TuiUnderlineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiUnderlineComponent, deps: [{ token: ElementRef }, { token: NgZone }, { token: ANIMATION_FRAME }, { token: TUI_MODE }], target: i0.ɵɵFactoryTarget.Component });
|
|
147
|
-
TuiUnderlineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiUnderlineComponent, selector: "tui-underline", inputs: { element: "element" }, host: { listeners: { "$.data-mode.attr": "mode$", "$.style.transitionProperty": "transition$()", "$.style.transform": "transform$()", "$.style.width.px": "width$()" } }, providers: [MODE_PROVIDER], ngImport: i0, template: ``, isInline: true, styles: [":host{transition-property:all;transition-duration
|
|
202
|
+
TuiUnderlineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiUnderlineComponent, selector: "tui-underline", inputs: { element: "element" }, host: { listeners: { "$.data-mode.attr": "mode$", "$.style.transitionProperty": "transition$()", "$.style.transform": "transform$()", "$.style.width.px": "width$()" } }, providers: [MODE_PROVIDER], ngImport: i0, template: ``, isInline: true, styles: [":host{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;left:0;height:100%;color:var(--tui-primary);transform:scale(0);box-shadow:inset 0 -.1875rem 0 -.0625rem;transition-property:none;pointer-events:none}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host[data-mode=onLight]{color:var(--tui-text-02)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
148
203
|
__decorate([
|
|
149
204
|
tuiDefaultProp()
|
|
150
205
|
], TuiUnderlineComponent.prototype, "element", null);
|
|
@@ -185,54 +240,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
185
240
|
args: [`$.style.width.px`]
|
|
186
241
|
}] } });
|
|
187
242
|
|
|
188
|
-
const TAB_ACTIVE_CLASS = `_active`;
|
|
189
243
|
class TuiTabsComponent {
|
|
190
|
-
constructor(options, elementRef,
|
|
244
|
+
constructor(options, elementRef, tabs, changeDetectorRef, resize$) {
|
|
191
245
|
this.options = options;
|
|
192
246
|
this.elementRef = elementRef;
|
|
193
|
-
this.
|
|
247
|
+
this.tabs = tabs;
|
|
194
248
|
this.children = EMPTY_QUERY;
|
|
195
249
|
this.underline = this.options.underline;
|
|
196
|
-
this.activeItemIndexChange = new EventEmitter();
|
|
197
|
-
this.activeItemIndex = 0;
|
|
198
250
|
resize$.pipe(filter(() => this.underline)).subscribe(() => {
|
|
199
251
|
changeDetectorRef.detectChanges();
|
|
200
252
|
});
|
|
201
253
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
this.
|
|
254
|
+
/** @deprecated use `activeItemIndex` from {@link TuiTabsDirective} instead */
|
|
255
|
+
get activeItemIndex() {
|
|
256
|
+
return this.tabs.activeItemIndex;
|
|
205
257
|
}
|
|
206
|
-
|
|
207
|
-
|
|
258
|
+
/** @deprecated use `activeItemIndex` from {@link TuiTabsDirective} instead */
|
|
259
|
+
set activeItemIndex(index) {
|
|
260
|
+
this.tabs.activeItemIndex = index;
|
|
208
261
|
}
|
|
209
262
|
get activeElement() {
|
|
210
|
-
return this.tabs
|
|
211
|
-
}
|
|
212
|
-
onActivate(element) {
|
|
213
|
-
const index = this.tabs.findIndex(tab => tab === element);
|
|
214
|
-
if (index === this.activeItemIndex) {
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
this.activeItemIndexSetter = index;
|
|
218
|
-
this.activeItemIndexChange.emit(index);
|
|
263
|
+
return this.tabs.activeElement;
|
|
219
264
|
}
|
|
220
265
|
onKeyDownArrow(current, step) {
|
|
221
|
-
|
|
222
|
-
tuiMoveFocus(tabs.indexOf(current), tabs, step);
|
|
266
|
+
this.tabs.moveFocus(current, step);
|
|
223
267
|
}
|
|
224
268
|
ngAfterViewChecked() {
|
|
225
|
-
|
|
226
|
-
tabs.forEach(nativeElement => {
|
|
227
|
-
this.renderer.removeClass(nativeElement, TAB_ACTIVE_CLASS);
|
|
228
|
-
this.renderer.setAttribute(nativeElement, `tabIndex`, `-1`);
|
|
229
|
-
});
|
|
230
|
-
if (activeElement) {
|
|
231
|
-
this.renderer.addClass(activeElement, TAB_ACTIVE_CLASS);
|
|
232
|
-
this.renderer.setAttribute(activeElement, `tabIndex`, `0`);
|
|
233
|
-
}
|
|
269
|
+
this.scrollTo(this.tabs.activeItemIndex);
|
|
234
270
|
}
|
|
235
|
-
scrollTo(
|
|
271
|
+
scrollTo(index) {
|
|
272
|
+
const element = this.tabs.tabs[index];
|
|
236
273
|
if (!element) {
|
|
237
274
|
return;
|
|
238
275
|
}
|
|
@@ -248,8 +285,8 @@ class TuiTabsComponent {
|
|
|
248
285
|
}
|
|
249
286
|
}
|
|
250
287
|
}
|
|
251
|
-
TuiTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsComponent, deps: [{ token: TUI_TABS_OPTIONS }, { token: ElementRef }, { token:
|
|
252
|
-
TuiTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsComponent, selector: "tui-tabs, nav[tuiTabs]", inputs: { underline: "underline"
|
|
288
|
+
TuiTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsComponent, deps: [{ token: TUI_TABS_OPTIONS }, { token: ElementRef }, { token: TuiTabsDirective }, { token: ChangeDetectorRef }, { token: TuiResizeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
289
|
+
TuiTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsComponent, selector: "tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])", inputs: { underline: "underline" }, host: { listeners: { "keydown.arrowRight.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowLeft.prevent": "onKeyDownArrow($event.target,-1)" }, properties: { "class._underline": "this.underline" } }, providers: [
|
|
253
290
|
TuiDestroyService,
|
|
254
291
|
TuiResizeService,
|
|
255
292
|
MutationObserverService,
|
|
@@ -263,10 +300,13 @@ TuiTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
|
|
|
263
300
|
__decorate([
|
|
264
301
|
tuiDefaultProp()
|
|
265
302
|
], TuiTabsComponent.prototype, "underline", void 0);
|
|
303
|
+
__decorate([
|
|
304
|
+
tuiPure
|
|
305
|
+
], TuiTabsComponent.prototype, "scrollTo", null);
|
|
266
306
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsComponent, decorators: [{
|
|
267
307
|
type: Component,
|
|
268
308
|
args: [{
|
|
269
|
-
selector: `tui-tabs, nav[tuiTabs]`,
|
|
309
|
+
selector: `tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])`,
|
|
270
310
|
templateUrl: `./tabs.template.html`,
|
|
271
311
|
styleUrls: [`./tabs.style.less`],
|
|
272
312
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -288,9 +328,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
288
328
|
}] }, { type: i0.ElementRef, decorators: [{
|
|
289
329
|
type: Inject,
|
|
290
330
|
args: [ElementRef]
|
|
291
|
-
}] }, { type:
|
|
331
|
+
}] }, { type: TuiTabsDirective, decorators: [{
|
|
292
332
|
type: Inject,
|
|
293
|
-
args: [
|
|
333
|
+
args: [TuiTabsDirective]
|
|
294
334
|
}] }, { type: i0.ChangeDetectorRef, decorators: [{
|
|
295
335
|
type: Inject,
|
|
296
336
|
args: [ChangeDetectorRef]
|
|
@@ -305,20 +345,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
305
345
|
}, {
|
|
306
346
|
type: HostBinding,
|
|
307
347
|
args: [`class._underline`]
|
|
308
|
-
}], activeItemIndexSetter: [{
|
|
309
|
-
type: Input,
|
|
310
|
-
args: [`activeItemIndex`]
|
|
311
|
-
}], activeItemIndexChange: [{
|
|
312
|
-
type: Output
|
|
313
|
-
}], onActivate: [{
|
|
314
|
-
type: HostListener,
|
|
315
|
-
args: [`${TUI_TAB_ACTIVATE}.stop`, [`$event.target`]]
|
|
316
348
|
}], onKeyDownArrow: [{
|
|
317
349
|
type: HostListener,
|
|
318
350
|
args: [`keydown.arrowRight.prevent`, [`$event.target`, `1`]]
|
|
319
351
|
}, {
|
|
320
352
|
type: HostListener,
|
|
321
353
|
args: [`keydown.arrowLeft.prevent`, [`$event.target`, `-1`]]
|
|
354
|
+
}], scrollTo: [] } });
|
|
355
|
+
|
|
356
|
+
class TuiTabsVerticalComponent {
|
|
357
|
+
constructor(tabs) {
|
|
358
|
+
this.tabs = tabs;
|
|
359
|
+
this.vertical = `left`;
|
|
360
|
+
}
|
|
361
|
+
onKeyDownArrow(current, step) {
|
|
362
|
+
this.tabs.moveFocus(current, step);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
TuiTabsVerticalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsVerticalComponent, deps: [{ token: TuiTabsDirective }], target: i0.ɵɵFactoryTarget.Component });
|
|
366
|
+
TuiTabsVerticalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsVerticalComponent, selector: "tui-tabs[vertical], nav[tuiTabs][vertical]", inputs: { vertical: "vertical" }, host: { listeners: { "keydown.arrowDown.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target,-1)" }, properties: { "attr.data-vertical": "this.vertical" } }, ngImport: i0, template: `
|
|
367
|
+
<ng-content></ng-content>
|
|
368
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:column;font:var(--tui-font-text-m);color:var(--tui-text-02);box-shadow:inset -1px 0 var(--tui-base-03)}:host[data-vertical=right]{box-shadow:inset 1px 0 var(--tui-base-03)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
369
|
+
__decorate([
|
|
370
|
+
tuiDefaultProp()
|
|
371
|
+
], TuiTabsVerticalComponent.prototype, "vertical", void 0);
|
|
372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsVerticalComponent, decorators: [{
|
|
373
|
+
type: Component,
|
|
374
|
+
args: [{
|
|
375
|
+
selector: `tui-tabs[vertical], nav[tuiTabs][vertical]`,
|
|
376
|
+
template: `
|
|
377
|
+
<ng-content></ng-content>
|
|
378
|
+
`,
|
|
379
|
+
styleUrls: [`./tabs-vertical.style.less`],
|
|
380
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
381
|
+
}]
|
|
382
|
+
}], ctorParameters: function () { return [{ type: TuiTabsDirective, decorators: [{
|
|
383
|
+
type: Inject,
|
|
384
|
+
args: [TuiTabsDirective]
|
|
385
|
+
}] }]; }, propDecorators: { vertical: [{
|
|
386
|
+
type: Input
|
|
387
|
+
}, {
|
|
388
|
+
type: HostBinding,
|
|
389
|
+
args: [`attr.data-vertical`]
|
|
390
|
+
}], onKeyDownArrow: [{
|
|
391
|
+
type: HostListener,
|
|
392
|
+
args: [`keydown.arrowDown.prevent`, [`$event.target`, `1`]]
|
|
393
|
+
}, {
|
|
394
|
+
type: HostListener,
|
|
395
|
+
args: [`keydown.arrowUp.prevent`, [`$event.target`, `-1`]]
|
|
322
396
|
}] } });
|
|
323
397
|
|
|
324
398
|
const TUI_TABS_REFRESH = new InjectionToken(`[TUI_TABS_REFRESH]: Refresh stream`);
|
|
@@ -493,7 +567,7 @@ class TuiTabsWithMoreComponent {
|
|
|
493
567
|
}
|
|
494
568
|
}
|
|
495
569
|
TuiTabsWithMoreComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsWithMoreComponent, deps: [{ token: TUI_TABS_OPTIONS }, { token: TUI_TAB_MARGIN }, { token: TUI_TABS_REFRESH }, { token: ElementRef }, { token: ChangeDetectorRef }, { token: TUI_MORE_WORD }], target: i0.ɵɵFactoryTarget.Component });
|
|
496
|
-
TuiTabsWithMoreComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: { moreContent: "moreContent", dropdownContent: "dropdownContent", underline: "underline", activeItemIndex: "activeItemIndex", itemsLimit: "itemsLimit" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "class._underline": "this.underline" } }, providers: TUI_TABS_PROVIDERS, queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], viewQueries: [{ propertyName: "moreButton", first: true, predicate: TuiTabComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div class=\"t-wrapper\">\n <tui-tabs\n class=\"t-tabs\"\n [underline]=\"false\"\n [activeItemIndex]=\"activeItemIndex\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n >\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"index <= lastVisibleIndex; else hidden\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n <ng-template #hidden>\n <div [class.t-overflown]=\"isOverflown(index)\">\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class=\"t-more_wrapper\"\n [class.t-overflown]=\"!isMoreVisible\"\n [content]=\"dropdownContent || dropdown\"\n [(open)]=\"open\"\n >\n <button\n tuiTab\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [tuiFocusable]=\"isMoreFocusable\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <ng-container *polymorpheusOutlet=\"moreContent || more as text\">\n {{ text }}\n </ng-container>\n </button>\n <ng-template #more>\n {{ moreWord$ | async }}\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, element, false)\"\n >\n <div\n *ngFor=\"let item of items; let index = index\"\n (tui-tab-activate)=\"onClick(index)\"\n >\n <ng-container\n *ngIf=\"shouldShow(index)\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline\n *ngIf=\"underline\"\n [element]=\"activeElement\"\n ></tui-underline>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);height:var(--tui-height-l);box-sizing:border-box;color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:hidden}.t-wrapper{position:relative;display:flex}.t-tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.t-overflown{display:flex;margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.t-more_wrapper{height:100%;pointer-events:none}.t-more_wrapper button{pointer-events:auto}.t-icon{transition-property:transform;transition-duration
|
|
570
|
+
TuiTabsWithMoreComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: { moreContent: "moreContent", dropdownContent: "dropdownContent", underline: "underline", activeItemIndex: "activeItemIndex", itemsLimit: "itemsLimit" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "class._underline": "this.underline" } }, providers: TUI_TABS_PROVIDERS, queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], viewQueries: [{ propertyName: "moreButton", first: true, predicate: TuiTabComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div class=\"t-wrapper\">\n <tui-tabs\n class=\"t-tabs\"\n [underline]=\"false\"\n [activeItemIndex]=\"activeItemIndex\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n >\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"index <= lastVisibleIndex; else hidden\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n <ng-template #hidden>\n <div [class.t-overflown]=\"isOverflown(index)\">\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class=\"t-more_wrapper\"\n [class.t-overflown]=\"!isMoreVisible\"\n [content]=\"dropdownContent || dropdown\"\n [(open)]=\"open\"\n >\n <button\n tuiTab\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [tuiFocusable]=\"isMoreFocusable\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <ng-container *polymorpheusOutlet=\"moreContent || more as text\">\n {{ text }}\n </ng-container>\n </button>\n <ng-template #more>\n {{ moreWord$ | async }}\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, element, false)\"\n >\n <div\n *ngFor=\"let item of items; let index = index\"\n (tui-tab-activate)=\"onClick(index)\"\n >\n <ng-container\n *ngIf=\"shouldShow(index)\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline\n *ngIf=\"underline\"\n [element]=\"activeElement\"\n ></tui-underline>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);height:var(--tui-height-l);box-sizing:border-box;color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:hidden}.t-wrapper{position:relative;display:flex}.t-tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.t-overflown{display:flex;margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.t-more_wrapper{height:100%;pointer-events:none}.t-more_wrapper button{pointer-events:auto}.t-icon{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-right:-.25rem;vertical-align:bottom}.t-icon_rotated{transform:rotate(180deg)}.t-dropdown{padding:.5rem 0}.t-dropdown ::ng-deep *[tuiTab]{width:100%;height:2.75rem;justify-content:flex-start;margin:0;padding:0 1rem;color:var(--tui-text-02)}.t-dropdown ::ng-deep *[tuiTab]:before{display:none}.t-dropdown ::ng-deep *[tuiTab]:hover,.t-dropdown ::ng-deep *[tuiTab]:focus,.t-dropdown ::ng-deep *[tuiTab]._active{box-shadow:none;color:var(--tui-base-08);background:var(--tui-base-02)}.t-no-margin{margin-left:0}\n"], components: [{ type: TuiTabsComponent, selector: "tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])", inputs: ["underline"] }, { type: i2$1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i2$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: TuiUnderlineComponent, selector: "tui-underline", inputs: ["element"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TuiTabsDirective, selector: "tui-tabs, nav[tuiTabs]", inputs: ["activeItemIndex"], outputs: ["activeItemIndexChange"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i8.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
497
571
|
__decorate([
|
|
498
572
|
tuiDefaultProp()
|
|
499
573
|
], TuiTabsWithMoreComponent.prototype, "moreContent", void 0);
|
|
@@ -564,22 +638,26 @@ class TuiTabsModule {
|
|
|
564
638
|
TuiTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
565
639
|
TuiTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsModule, declarations: [TuiTabsWithMoreComponent,
|
|
566
640
|
TuiTabsComponent,
|
|
641
|
+
TuiTabsDirective,
|
|
642
|
+
TuiTabsVerticalComponent,
|
|
567
643
|
TuiTabComponent,
|
|
568
644
|
TuiUnderlineComponent], imports: [CommonModule,
|
|
645
|
+
PolymorpheusModule,
|
|
569
646
|
TuiHostedDropdownModule,
|
|
570
647
|
TuiSvgModule,
|
|
571
648
|
TuiFocusableModule,
|
|
572
|
-
PolymorpheusModule,
|
|
573
649
|
TuiItemModule], exports: [TuiTabsWithMoreComponent,
|
|
574
650
|
TuiTabsComponent,
|
|
651
|
+
TuiTabsDirective,
|
|
652
|
+
TuiTabsVerticalComponent,
|
|
575
653
|
TuiTabComponent,
|
|
576
654
|
TuiItemDirective] });
|
|
577
655
|
TuiTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsModule, imports: [[
|
|
578
656
|
CommonModule,
|
|
657
|
+
PolymorpheusModule,
|
|
579
658
|
TuiHostedDropdownModule,
|
|
580
659
|
TuiSvgModule,
|
|
581
660
|
TuiFocusableModule,
|
|
582
|
-
PolymorpheusModule,
|
|
583
661
|
TuiItemModule,
|
|
584
662
|
]] });
|
|
585
663
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsModule, decorators: [{
|
|
@@ -587,21 +665,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
587
665
|
args: [{
|
|
588
666
|
imports: [
|
|
589
667
|
CommonModule,
|
|
668
|
+
PolymorpheusModule,
|
|
590
669
|
TuiHostedDropdownModule,
|
|
591
670
|
TuiSvgModule,
|
|
592
671
|
TuiFocusableModule,
|
|
593
|
-
PolymorpheusModule,
|
|
594
672
|
TuiItemModule,
|
|
595
673
|
],
|
|
596
674
|
declarations: [
|
|
597
675
|
TuiTabsWithMoreComponent,
|
|
598
676
|
TuiTabsComponent,
|
|
677
|
+
TuiTabsDirective,
|
|
678
|
+
TuiTabsVerticalComponent,
|
|
599
679
|
TuiTabComponent,
|
|
600
680
|
TuiUnderlineComponent,
|
|
601
681
|
],
|
|
602
682
|
exports: [
|
|
603
683
|
TuiTabsWithMoreComponent,
|
|
604
684
|
TuiTabsComponent,
|
|
685
|
+
TuiTabsDirective,
|
|
686
|
+
TuiTabsVerticalComponent,
|
|
605
687
|
TuiTabComponent,
|
|
606
688
|
TuiItemDirective,
|
|
607
689
|
],
|
|
@@ -612,5 +694,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
612
694
|
* Generated bundle index. Do not edit.
|
|
613
695
|
*/
|
|
614
696
|
|
|
615
|
-
export { TUI_TABS_DEFAULT_OPTIONS, TUI_TABS_OPTIONS, TUI_TABS_PROVIDERS, TUI_TABS_REFRESH, TUI_TAB_ACTIVATE, TUI_TAB_EVENT, TUI_TAB_PROVIDERS, TuiTabComponent, TuiTabsComponent, TuiTabsModule, TuiTabsWithMoreComponent, TuiUnderlineComponent, tuiTabsOptionsProvider };
|
|
697
|
+
export { TUI_TABS_DEFAULT_OPTIONS, TUI_TABS_OPTIONS, TUI_TABS_PROVIDERS, TUI_TABS_REFRESH, TUI_TAB_ACTIVATE, TUI_TAB_EVENT, TUI_TAB_PROVIDERS, TuiTabComponent, TuiTabsComponent, TuiTabsDirective, TuiTabsModule, TuiTabsVerticalComponent, TuiTabsWithMoreComponent, TuiUnderlineComponent, tuiTabsOptionsProvider };
|
|
616
698
|
//# sourceMappingURL=taiga-ui-kit-components-tabs.js.map
|