@taiga-ui/kit 2.67.0 → 2.68.0

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/tabs/tab.directive.ts","ng://@taiga-ui/kit/components/tabs/tab/tab.providers.ts","ng://@taiga-ui/kit/components/tabs/tab/tab.component.ts","ng://@taiga-ui/kit/components/tabs/tabs-options.ts","ng://@taiga-ui/kit/components/tabs/tabs/tabs.component.ts","ng://@taiga-ui/kit/components/tabs/tabs-with-more/tabs-with-more.providers.ts","ng://@taiga-ui/kit/components/tabs/tabs-with-more/tabs-with-more.component.ts","ng://@taiga-ui/kit/components/tabs/underline/underline.component.ts","ng://@taiga-ui/kit/components/tabs/tabs.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","create","TuiTabDirective","template","TemplateRef","type","Inject","args","Directive","selector","TUI_TAB_EVENT","InjectionToken","TUI_TAB_PROVIDERS","TuiDestroyService","TuiFocusVisibleService","TuiRouterLinkActiveService","provide","deps","ElementRef","DOCUMENT","Optional","MutationObserverService","RouterLinkActive","useFactory","tabActiveFactory","MODE_PROVIDER","_a","documentRef","routerLinkActiveService","mutationObserverService","routerLinkActive","nativeElement","mutationObserver","pipe","filter","isActive","EMPTY","merge","identity","matches","typedFromEvent","map","dispatchEvent","tuiCustomEvent","bubbles","TuiTabComponent","elementRef","mode$","event$","margin","mobileAware","isIos","isAndroid","focusVisible$","_this","focusVisible","subscribe","visible","ngOnDestroy","isNativeFocused","setNativeFocused","Observable","TUI_MODE","TUI_TAB_MARGIN","TUI_MOBILE_AWARE","TUI_IS_IOS","TUI_IS_ANDROID","HostBinding","Component","changeDetection","ChangeDetectionStrategy","OnPush","providers","host","($.data-mode.attr)","[style.--tui-tab-margin.px]","TUI_TABS_DEFAULT_OPTIONS","underline","exposeActive","itemsLimit","Infinity","TUI_TABS_OPTIONS","factory","OBSERVER_INIT","childList","TuiTabsComponent","options","renderer","changeDetectorRef","resize$","children","EMPTY_QUERY","activeItemIndexChange","EventEmitter","activeItemIndex","detectChanges","index","scrollTo","tabs","Array","from","querySelectorAll","onActivate","element","findIndex","tab","activeItemIndexSetter","emit","onKeyDownArrow","current","step","moveFocus","indexOf","ngAfterViewChecked","activeElement","forEach","removeClass","setAttribute","addClass","offsetLeft","offsetWidth","scrollLeft","Renderer2","ChangeDetectorRef","TuiResizeService","ContentChildren","forwardRef","Input","tuiDefaultProp","Output","HostListener","TUI_TAB_ACTIVATE","MUTATION_OBSERVER_INIT","useValue","tabsRefreshFactory","mutations$","destroy$","_b","body","tap","contains","debounceTime","startWith","takeUntil","MUTATION_CONFIG","subtree","characterData","TABS_REFRESH","TABS_PROVIDERS","TuiTabsWithMoreComponent","refresh$","moreWord$","maxIndex","moreContent","dropdownContent","items","open","safeActiveIndex","tuiClamp","lastVisibleIndex","moreButton","offset","Math","min","ngAfterViewInit","getMaxIndex","onActiveItemIndexChange","updateActiveItemIndex","onClick","focusMore","onArrowRight","event","tuiAssertIsHTMLElement","onArrowLeft","onWrapperArrow","wrapper","prev","button","getClosestFocusable","isOverflown","shouldShow","clientWidth","activeWidth","scrollWidth","moreWidth","total","reduce","acc","toInt","TUI_MORE_WORD","ViewChild","read","TuiUnderlineComponent","ngZone","animationFrame$","ios","android","element$","ReplaySubject","switchMap","mapTo","tuiZonefree","of","share","transition$","asCallable","transform$","px","width$","next","NgZone","ANIMATION_FRAME","TuiTabsModule","NgModule","imports","CommonModule","TuiHostedDropdownModule","TuiSvgModule","TuiFocusableModule","PolymorpheusModule","declarations","exports"],"mappings":"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","sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {Directive, Inject, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: `ng-template[tuiTab]`,\n})\nexport class TuiTabDirective {\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n ) {}\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, Optional, Provider} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {MutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {\n tuiCustomEvent,\n TuiDestroyService,\n TuiFocusVisibleService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {EMPTY, identity, merge, Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\nexport const TUI_TAB_ACTIVATE = `tui-tab-activate`;\nexport const TUI_TAB_EVENT = new InjectionToken<Observable<Event>>(\n `Stream of tab activation events`,\n);\nexport const TUI_TAB_PROVIDERS: Provider[] = [\n TuiDestroyService,\n TuiFocusVisibleService,\n TuiRouterLinkActiveService,\n {\n provide: TUI_TAB_EVENT,\n deps: [\n ElementRef,\n DOCUMENT,\n TuiRouterLinkActiveService,\n [new Optional(), MutationObserverService],\n [new Optional(), RouterLinkActive],\n ],\n useFactory: tabActiveFactory,\n },\n MODE_PROVIDER,\n];\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function tabActiveFactory(\n {nativeElement}: ElementRef<HTMLElement>,\n documentRef: Document,\n routerLinkActiveService: Observable<boolean>,\n mutationObserverService: MutationObserverService | null,\n routerLinkActive: RouterLinkActive | null,\n): Observable<unknown> {\n const mutationObserver =\n routerLinkActive && mutationObserverService\n ? mutationObserverService.pipe(filter(() => routerLinkActive.isActive))\n : EMPTY;\n\n return merge(\n mutationObserver,\n routerLinkActiveService.pipe(filter(identity)),\n nativeElement.matches(`button`) ? typedFromEvent(nativeElement, `click`) : EMPTY,\n ).pipe(\n map(() =>\n nativeElement.dispatchEvent(\n tuiCustomEvent(TUI_TAB_ACTIVATE, {bubbles: true}, documentRef),\n ),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n OnDestroy,\n Optional,\n} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_IS_ANDROID,\n TUI_IS_IOS,\n TuiFocusVisibleService,\n} from '@taiga-ui/cdk';\nimport {TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_MOBILE_AWARE, TUI_TAB_MARGIN} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\nimport {TUI_TAB_EVENT, TUI_TAB_PROVIDERS} from './tab.providers';\n\n@Component({\n selector: `a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]`,\n templateUrl: `./tab.template.html`,\n styleUrls: [`./tab.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TAB_PROVIDERS,\n host: {\n '($.data-mode.attr)': `mode$`,\n '[style.--tui-tab-margin.px]': `margin`,\n type: `button`,\n },\n})\nexport class TuiTabComponent implements OnDestroy {\n @HostBinding(`class._ios`)\n readonly isIos: boolean;\n\n @HostBinding(`class._android`)\n readonly isAndroid: boolean;\n\n @HostBinding(`class._focus-visible`)\n focusVisible = false;\n\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n private readonly routerLinkActive: RouterLinkActive | null,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TAB_EVENT) readonly event$: Observable<Event>,\n @Inject(TUI_TAB_MARGIN) readonly margin: number,\n @Inject(TUI_MOBILE_AWARE) mobileAware: boolean,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(TUI_IS_ANDROID) isAndroid: boolean,\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n ) {\n this.isIos = mobileAware && isIos;\n this.isAndroid = mobileAware && isAndroid;\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding(`class._active`)\n get isActive(): boolean {\n return !!this.routerLinkActive && this.routerLinkActive.isActive;\n }\n\n ngOnDestroy(): void {\n if (isNativeFocused(this.elementRef.nativeElement)) {\n setNativeFocused(this.elementRef.nativeElement, false);\n }\n }\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiTabsOptions {\n readonly underline: boolean;\n readonly exposeActive: boolean;\n readonly itemsLimit: number;\n}\n\nexport const TUI_TABS_DEFAULT_OPTIONS: TuiTabsOptions = {\n underline: true,\n exposeActive: true,\n itemsLimit: Infinity,\n};\n\nexport const TUI_TABS_OPTIONS = new InjectionToken<TuiTabsOptions>(\n `Default parameters for tabs component`,\n {\n factory: () => TUI_TABS_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiTabsOptionsProvider: (\n options: Partial<TuiTabsOptions>,\n) => ValueProvider = (options: Partial<TuiTabsOptions>) => ({\n provide: TUI_TABS_OPTIONS,\n useValue: {...TUI_TABS_DEFAULT_OPTIONS, ...options},\n});\n","import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {\n EMPTY_QUERY,\n moveFocus,\n TUI_IS_ANDROID,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiDestroyService,\n TuiResizeService,\n} from '@taiga-ui/cdk';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {filter} from 'rxjs/operators';\n\nimport {TuiTabComponent} from '../tab/tab.component';\nimport {TUI_TAB_ACTIVATE} from '../tab/tab.providers';\nimport {TUI_TABS_OPTIONS, TuiTabsOptions} from '../tabs-options';\n\nconst TAB_ACTIVE_CLASS = `_active`;\n\n// TODO: 3.0 remove in ivy compilation\nexport const OBSERVER_INIT = {\n childList: true,\n};\n\n// @dynamic\n@Component({\n selector: `tui-tabs, nav[tuiTabs]`,\n templateUrl: `./tabs.template.html`,\n styleUrls: [`./tabs.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiResizeService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: OBSERVER_INIT,\n },\n ],\n})\nexport class TuiTabsComponent implements AfterViewChecked {\n @ContentChildren(forwardRef(() => TuiTabComponent))\n readonly children: QueryList<unknown> = EMPTY_QUERY;\n\n @Input()\n @HostBinding(`class._underline`)\n @tuiDefaultProp()\n underline = this.options.underline;\n\n @Input(`activeItemIndex`)\n set activeItemIndexSetter(index: number) {\n this.activeItemIndex = index;\n this.scrollTo(this.tabs[index]);\n }\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @HostBinding(`class._ios`)\n readonly isIos: boolean;\n\n @HostBinding(`class._android`)\n readonly isAndroid: boolean;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(TUI_TABS_OPTIONS) private readonly options: TuiTabsOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiResizeService) resize$: Observable<void>,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(TUI_IS_ANDROID) isAndroid: boolean,\n @Inject(TUI_MOBILE_AWARE) mobileAware: boolean,\n ) {\n this.isIos = mobileAware && isIos;\n this.isAndroid = mobileAware && isAndroid;\n\n resize$.pipe(filter(() => this.underline)).subscribe(() => {\n changeDetectorRef.detectChanges();\n });\n }\n\n get tabs(): readonly HTMLElement[] {\n return Array.from(\n this.elementRef.nativeElement.querySelectorAll<HTMLElement>(`[tuiTab]`),\n );\n }\n\n get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n @HostListener(`${TUI_TAB_ACTIVATE}.stop`, [`$event.target`])\n onActivate(element: HTMLElement): void {\n const index = this.tabs.findIndex(tab => tab === element);\n\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndexSetter = index;\n this.activeItemIndexChange.emit(index);\n }\n\n @HostListener(`keydown.arrowRight.prevent`, [`$event.target`, `1`])\n @HostListener(`keydown.arrowLeft.prevent`, [`$event.target`, `-1`])\n onKeyDownArrow(current: HTMLElement, step: number): void {\n const {tabs} = this;\n\n moveFocus(tabs.indexOf(current), tabs, step);\n }\n\n ngAfterViewChecked(): void {\n const {tabs, activeElement} = this;\n\n tabs.forEach(nativeElement => {\n this.renderer.removeClass(nativeElement, TAB_ACTIVE_CLASS);\n this.renderer.setAttribute(nativeElement, `tabIndex`, `-1`);\n });\n\n if (activeElement) {\n this.renderer.addClass(activeElement, TAB_ACTIVE_CLASS);\n this.renderer.setAttribute(activeElement, `tabIndex`, `0`);\n }\n }\n\n private scrollTo(element?: HTMLElement): void {\n if (!element) {\n return;\n }\n\n const {offsetLeft, offsetWidth} = element;\n const {nativeElement} = this.elementRef;\n\n if (offsetLeft < nativeElement.scrollLeft) {\n nativeElement.scrollLeft = offsetLeft;\n }\n\n if (\n offsetLeft + offsetWidth >\n nativeElement.scrollLeft + nativeElement.offsetWidth\n ) {\n nativeElement.scrollLeft =\n offsetLeft + offsetWidth - nativeElement.offsetWidth;\n }\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectorRef, ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {TuiDestroyService, TuiResizeService} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {debounceTime, filter, startWith, takeUntil, tap} from 'rxjs/operators';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function tabsRefreshFactory(\n resize$: Observable<unknown>,\n mutations$: Observable<unknown>,\n destroy$: Observable<unknown>,\n {body}: Document,\n {nativeElement}: ElementRef<Node>,\n changeDetectorRef: ChangeDetectorRef,\n): Observable<unknown> {\n return merge(\n resize$,\n mutations$.pipe(tap(() => changeDetectorRef.detectChanges())),\n ).pipe(\n // Ignoring cases when host is detached from DOM\n filter(() => body.contains(nativeElement)),\n debounceTime(0),\n startWith(null),\n takeUntil(destroy$),\n );\n}\n\n// TODO: 3.0 remove in ivy compilation\nexport const MUTATION_CONFIG = {\n childList: true,\n subtree: true,\n characterData: true,\n};\nexport const TABS_REFRESH = new InjectionToken<Observable<unknown>>(`Refresh stream`);\nexport const TABS_PROVIDERS: Provider[] = [\n TuiResizeService,\n TuiDestroyService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: MUTATION_CONFIG,\n },\n {\n provide: TABS_REFRESH,\n deps: [\n TuiResizeService,\n MutationObserverService,\n TuiDestroyService,\n DOCUMENT,\n ElementRef,\n ChangeDetectorRef,\n ],\n useFactory: tabsRefreshFactory,\n },\n];\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestFocusable,\n isNativeFocused,\n setNativeFocused,\n toInt,\n TuiActiveZoneDirective,\n tuiAssertIsHTMLElement,\n tuiClamp,\n TuiContextWithImplicit,\n tuiDefaultProp,\n} from '@taiga-ui/cdk';\nimport {TUI_MORE_WORD, TUI_TAB_MARGIN} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\nimport {TuiTabDirective} from '../tab.directive';\nimport {TuiTabComponent} from '../tab/tab.component';\nimport {TUI_TABS_OPTIONS, TuiTabsOptions} from '../tabs-options';\nimport {TABS_PROVIDERS, TABS_REFRESH} from './tabs-with-more.providers';\n\n// @dynamic\n@Component({\n selector: `tui-tabs-with-more, nav[tuiTabsWithMore]`,\n templateUrl: `./tabs-with-more.template.html`,\n styleUrls: [`./tabs-with-more.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TABS_PROVIDERS,\n})\nexport class TuiTabsWithMoreComponent implements AfterViewInit {\n @ViewChild(TuiTabComponent, {read: ElementRef})\n private readonly moreButton?: ElementRef<HTMLButtonElement>;\n\n private maxIndex = Infinity;\n\n @Input()\n @tuiDefaultProp()\n moreContent: PolymorpheusContent = ``;\n\n @Input()\n @tuiDefaultProp()\n dropdownContent: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n > = ``;\n\n @Input()\n @HostBinding(`class._underline`)\n @tuiDefaultProp()\n underline = this.options.underline;\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Input()\n @tuiDefaultProp()\n itemsLimit = this.options.itemsLimit;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiTabDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> = EMPTY_QUERY;\n\n open = false;\n\n constructor(\n @Inject(TUI_TABS_OPTIONS) private readonly options: TuiTabsOptions,\n @Inject(TUI_TAB_MARGIN) private readonly margin: number,\n @Inject(TABS_REFRESH) private readonly refresh$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_MORE_WORD) readonly moreWord$: Observable<string>,\n ) {}\n\n // TODO: Improve performance\n get tabs(): readonly HTMLElement[] {\n return Array.from<HTMLElement>(\n this.elementRef.nativeElement.querySelectorAll(`[tuiTab]`),\n );\n }\n\n get activeElement(): HTMLElement | null {\n const {tabs} = this;\n const safeActiveIndex = tuiClamp(this.activeItemIndex || 0, 0, tabs.length - 2);\n\n return this.options.exposeActive || this.lastVisibleIndex >= safeActiveIndex\n ? tabs[safeActiveIndex] || null\n : this.moreButton?.nativeElement || null;\n }\n\n get isMoreVisible(): boolean {\n return this.lastVisibleIndex < this.items.length - 1;\n }\n\n get isMoreFocusable(): boolean {\n return !!this.moreButton && isNativeFocused(this.moreButton.nativeElement);\n }\n\n get isMoreActive(): boolean {\n return (\n this.open ||\n (!this.options.exposeActive && this.lastVisibleIndex < this.activeItemIndex)\n );\n }\n\n get lastVisibleIndex(): number {\n if (this.itemsLimit + 1 >= this.items.length) {\n return this.maxIndex;\n }\n\n const offset =\n this.itemsLimit - 1 > this.activeItemIndex || !this.options.exposeActive\n ? 1\n : 2;\n\n return Math.min(this.itemsLimit - offset, this.maxIndex);\n }\n\n ngAfterViewInit(): void {\n this.refresh$\n .pipe(\n map(() => this.getMaxIndex()),\n filter(maxIndex => this.maxIndex !== maxIndex),\n )\n .subscribe(maxIndex => {\n this.maxIndex = maxIndex;\n this.changeDetectorRef.detectChanges();\n });\n }\n\n onActiveItemIndexChange(activeItemIndex: number): void {\n this.updateActiveItemIndex(activeItemIndex);\n }\n\n onClick(index: number): void {\n this.open = false;\n this.focusMore();\n this.updateActiveItemIndex(index);\n }\n\n onArrowRight(event: Event): void {\n tuiAssertIsHTMLElement(event.target);\n\n if (isNativeFocused(event.target)) {\n this.focusMore();\n }\n }\n\n onArrowLeft(): void {\n const {tabs} = this;\n let index = tabs.length - 2;\n\n while (index >= 0) {\n setNativeFocused(tabs[index]);\n\n if (isNativeFocused(tabs[index])) {\n return;\n }\n\n index--;\n }\n }\n\n onWrapperArrow(event: Event, wrapper: HTMLElement, prev: boolean): void {\n const button: HTMLButtonElement = event.target as HTMLButtonElement;\n const target = getClosestFocusable(button, prev, wrapper);\n\n if (target) {\n setNativeFocused(target);\n }\n }\n\n isOverflown(index: number): boolean {\n return index !== this.activeItemIndex || !this.options.exposeActive;\n }\n\n shouldShow(index: number): boolean {\n return index > this.lastVisibleIndex && this.isOverflown(index);\n }\n\n private focusMore(): void {\n if (this.moreButton) {\n setNativeFocused(this.moreButton.nativeElement);\n }\n }\n\n private getMaxIndex(): number {\n const {tabs, activeItemIndex, margin} = this;\n\n if (tabs.length < 2) {\n return 0;\n }\n\n const {clientWidth} = this.elementRef.nativeElement;\n const activeWidth = tabs[activeItemIndex] ? tabs[activeItemIndex].scrollWidth : 0;\n const moreWidth = tabs[tabs.length - 1].scrollWidth;\n let maxIndex = tabs.length - 2;\n let total =\n tabs.reduce((acc, {scrollWidth}) => acc + scrollWidth, 0) +\n maxIndex * margin -\n moreWidth;\n\n if (total <= clientWidth) {\n return Infinity;\n }\n\n while (maxIndex) {\n total -= tabs[maxIndex].scrollWidth + margin;\n maxIndex--;\n\n const activeDisplaced =\n this.options.exposeActive && activeItemIndex > maxIndex;\n const activeOffset = activeDisplaced ? activeWidth + margin : 0;\n const currentWidth = total + activeOffset + moreWidth + margin;\n // Needed for different rounding of visible and hidden elements scrollWidth\n const safetyOffset = toInt(this.maxIndex === maxIndex - 1);\n\n if (currentWidth + safetyOffset < clientWidth) {\n return maxIndex;\n }\n }\n\n return -1;\n }\n\n private updateActiveItemIndex(activeItemIndex: number): void {\n if (this.activeItemIndex === activeItemIndex) {\n return;\n }\n\n this.activeItemIndex = activeItemIndex;\n this.activeItemIndexChange.emit(activeItemIndex);\n this.maxIndex = this.getMaxIndex();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n NgZone,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {px, TUI_IS_ANDROID, TUI_IS_IOS, tuiDefaultProp, tuiZonefree} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {asCallable} from '@tinkoff/ng-event-plugins';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {debounceTime, map, mapTo, share, switchMap} from 'rxjs/operators';\n\n@Component({\n selector: `tui-underline`,\n template: ``,\n styleUrls: [`./underline.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': `mode$`,\n },\n})\nexport class TuiUnderlineComponent {\n private readonly element$ = new ReplaySubject<HTMLElement | null>(1);\n\n private readonly refresh$ = this.element$.pipe(\n switchMap(element =>\n element\n ? this.animationFrame$.pipe(mapTo(element), tuiZonefree(this.ngZone))\n : of(null),\n ),\n share(),\n );\n\n @Input()\n @tuiDefaultProp()\n set element(element: HTMLElement | null) {\n this.element$.next(element);\n }\n\n @HostBinding(`class._ios`)\n readonly isIos = this.mobileAware && this.ios;\n\n @HostBinding(`class._android`)\n readonly isAndroid = this.mobileAware && this.android;\n\n @HostListener(`$.style.transitionProperty`)\n readonly transition$ = asCallable(\n this.element$.pipe(\n map(element => element && `all`),\n debounceTime(50),\n ),\n );\n\n @HostListener(`$.style.transform`)\n readonly transform$ = asCallable(\n this.refresh$.pipe(\n map(element =>\n element ? `translate3d(${px(element.offsetLeft)}, 0, 0)` : null,\n ),\n ),\n );\n\n @HostListener(`$.style.width.px`)\n readonly width$ = asCallable(\n this.refresh$.pipe(map(element => element?.clientWidth || 0)),\n );\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n @Inject(TUI_MOBILE_AWARE) private readonly mobileAware: boolean,\n @Inject(TUI_IS_IOS) private readonly ios: boolean,\n @Inject(TUI_IS_ANDROID) private readonly android: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {\n nativeElement[`$.style.transitionProperty`] = this.transition$;\n nativeElement[`$.style.transform`] = this.transform$;\n nativeElement[`$.style.width.px`] = this.width$;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiHostedDropdownModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTabDirective} from './tab.directive';\nimport {TuiTabComponent} from './tab/tab.component';\nimport {TuiTabsComponent} from './tabs/tabs.component';\nimport {TuiTabsWithMoreComponent} from './tabs-with-more/tabs-with-more.component';\nimport {TuiUnderlineComponent} from './underline/underline.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiHostedDropdownModule,\n TuiSvgModule,\n TuiFocusableModule,\n PolymorpheusModule,\n ],\n declarations: [\n TuiTabsWithMoreComponent,\n TuiTabsComponent,\n TuiTabComponent,\n TuiUnderlineComponent,\n TuiTabDirective,\n ],\n exports: [\n TuiTabsWithMoreComponent,\n TuiTabsComponent,\n TuiTabComponent,\n TuiTabDirective,\n ],\n})\nexport class TuiTabsModule {}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/tabs/tab.directive.ts","ng://@taiga-ui/kit/components/tabs/tab/tab.providers.ts","ng://@taiga-ui/kit/components/tabs/tab/tab.component.ts","ng://@taiga-ui/kit/components/tabs/tabs-options.ts","ng://@taiga-ui/kit/components/tabs/tabs/tabs.component.ts","ng://@taiga-ui/kit/components/tabs/tabs-with-more/tabs-with-more.providers.ts","ng://@taiga-ui/kit/components/tabs/tabs-with-more/tabs-with-more.component.ts","ng://@taiga-ui/kit/components/tabs/underline/underline.component.ts","ng://@taiga-ui/kit/components/tabs/tabs.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","create","TuiTabDirective","template","TemplateRef","type","Inject","args","Directive","selector","TUI_TAB_EVENT","InjectionToken","TUI_TAB_PROVIDERS","TuiDestroyService","TuiFocusVisibleService","TuiRouterLinkActiveService","provide","deps","ElementRef","DOCUMENT","Optional","MutationObserverService","RouterLinkActive","useFactory","tabActiveFactory","MODE_PROVIDER","_a","documentRef","routerLinkActiveService","mutationObserverService","routerLinkActive","nativeElement","mutationObserver","pipe","filter","isActive","EMPTY","merge","identity","matches","typedFromEvent","map","dispatchEvent","tuiCustomEvent","bubbles","TuiTabComponent","elementRef","mode$","event$","margin","mobileAware","isIos","isAndroid","focusVisible$","_this","focusVisible","subscribe","visible","ngOnDestroy","isNativeFocused","setNativeFocused","Observable","TUI_MODE","TUI_TAB_MARGIN","TUI_MOBILE_AWARE","TUI_IS_IOS","TUI_IS_ANDROID","HostBinding","Component","changeDetection","ChangeDetectionStrategy","OnPush","providers","host","($.data-mode.attr)","[style.--tui-tab-margin.px]","TUI_TABS_DEFAULT_OPTIONS","underline","exposeActive","itemsLimit","Infinity","TUI_TABS_OPTIONS","factory","OBSERVER_INIT","childList","TuiTabsComponent","options","renderer","changeDetectorRef","resize$","children","EMPTY_QUERY","activeItemIndexChange","EventEmitter","activeItemIndex","detectChanges","index","scrollTo","tabs","Array","from","querySelectorAll","onActivate","element","findIndex","tab","activeItemIndexSetter","emit","onKeyDownArrow","current","step","moveFocus","indexOf","ngAfterViewChecked","activeElement","forEach","removeClass","setAttribute","addClass","offsetLeft","offsetWidth","scrollLeft","Renderer2","ChangeDetectorRef","TuiResizeService","ContentChildren","forwardRef","Input","tuiDefaultProp","Output","HostListener","TUI_TAB_ACTIVATE","MUTATION_OBSERVER_INIT","useValue","tabsRefreshFactory","mutations$","destroy$","_b","body","tap","contains","debounceTime","startWith","takeUntil","MUTATION_CONFIG","subtree","characterData","TABS_REFRESH","TABS_PROVIDERS","TuiTabsWithMoreComponent","refresh$","moreWord$","maxIndex","moreContent","dropdownContent","items","open","safeActiveIndex","tuiClamp","lastVisibleIndex","moreButton","offset","Math","min","ngAfterViewInit","getMaxIndex","onActiveItemIndexChange","updateActiveItemIndex","onClick","focusMore","onArrowRight","event","tuiAssertIsHTMLElement","onArrowLeft","onWrapperArrow","wrapper","prev","button","getClosestFocusable","isOverflown","shouldShow","clientWidth","activeWidth","scrollWidth","moreWidth","total","reduce","acc","toInt","TUI_MORE_WORD","ViewChild","read","TuiUnderlineComponent","ngZone","animationFrame$","ios","android","element$","ReplaySubject","switchMap","mapTo","tuiZonefree","of","share","transition$","asCallable","transform$","px","width$","next","NgZone","ANIMATION_FRAME","TuiTabsModule","NgModule","imports","CommonModule","TuiHostedDropdownModule","TuiSvgModule","TuiFocusableModule","PolymorpheusModule","declarations","exports"],"mappings":"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","sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {Directive, Inject, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: `ng-template[tuiTab]`,\n})\nexport class TuiTabDirective {\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n ) {}\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, Optional, Provider} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {MutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {\n tuiCustomEvent,\n TuiDestroyService,\n TuiFocusVisibleService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {EMPTY, identity, merge, Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\nexport const TUI_TAB_ACTIVATE = `tui-tab-activate`;\nexport const TUI_TAB_EVENT = new InjectionToken<Observable<Event>>(\n `Stream of tab activation events`,\n);\nexport const TUI_TAB_PROVIDERS: Provider[] = [\n TuiDestroyService,\n TuiFocusVisibleService,\n TuiRouterLinkActiveService,\n {\n provide: TUI_TAB_EVENT,\n deps: [\n ElementRef,\n DOCUMENT,\n TuiRouterLinkActiveService,\n [new Optional(), MutationObserverService],\n [new Optional(), RouterLinkActive],\n ],\n useFactory: tabActiveFactory,\n },\n MODE_PROVIDER,\n];\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function tabActiveFactory(\n {nativeElement}: ElementRef<HTMLElement>,\n documentRef: Document,\n routerLinkActiveService: Observable<boolean>,\n mutationObserverService: MutationObserverService | null,\n routerLinkActive: RouterLinkActive | null,\n): Observable<unknown> {\n const mutationObserver =\n routerLinkActive && mutationObserverService\n ? mutationObserverService.pipe(filter(() => routerLinkActive.isActive))\n : EMPTY;\n\n return merge(\n mutationObserver,\n routerLinkActiveService.pipe(filter(identity)),\n nativeElement.matches(`button`) ? typedFromEvent(nativeElement, `click`) : EMPTY,\n ).pipe(\n map(() =>\n nativeElement.dispatchEvent(\n tuiCustomEvent(TUI_TAB_ACTIVATE, {bubbles: true}, documentRef),\n ),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n OnDestroy,\n Optional,\n} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_IS_ANDROID,\n TUI_IS_IOS,\n TuiFocusVisibleService,\n} from '@taiga-ui/cdk';\nimport {TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_MOBILE_AWARE, TUI_TAB_MARGIN} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\nimport {TUI_TAB_EVENT, TUI_TAB_PROVIDERS} from './tab.providers';\n\n@Component({\n selector: `a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]`,\n templateUrl: `./tab.template.html`,\n styleUrls: [`./tab.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TAB_PROVIDERS,\n host: {\n '($.data-mode.attr)': `mode$`,\n '[style.--tui-tab-margin.px]': `margin`,\n type: `button`,\n },\n})\nexport class TuiTabComponent implements OnDestroy {\n @HostBinding(`class._ios`)\n readonly isIos: boolean;\n\n @HostBinding(`class._android`)\n readonly isAndroid: boolean;\n\n @HostBinding(`class._focus-visible`)\n focusVisible = false;\n\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n private readonly routerLinkActive: RouterLinkActive | null,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TAB_EVENT) readonly event$: Observable<Event>,\n @Inject(TUI_TAB_MARGIN) readonly margin: number,\n @Inject(TUI_MOBILE_AWARE) mobileAware: boolean,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(TUI_IS_ANDROID) isAndroid: boolean,\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n ) {\n this.isIos = mobileAware && isIos;\n this.isAndroid = mobileAware && isAndroid;\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding(`class._active`)\n get isActive(): boolean {\n return !!this.routerLinkActive && this.routerLinkActive.isActive;\n }\n\n ngOnDestroy(): void {\n if (isNativeFocused(this.elementRef.nativeElement)) {\n setNativeFocused(this.elementRef.nativeElement, false);\n }\n }\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiTabsOptions {\n readonly underline: boolean;\n readonly exposeActive: boolean;\n readonly itemsLimit: number;\n}\n\nexport const TUI_TABS_DEFAULT_OPTIONS: TuiTabsOptions = {\n underline: true,\n exposeActive: true,\n itemsLimit: Infinity,\n};\n\nexport const TUI_TABS_OPTIONS = new InjectionToken<TuiTabsOptions>(\n `Default parameters for tabs component`,\n {\n factory: () => TUI_TABS_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiTabsOptionsProvider: (\n options: Partial<TuiTabsOptions>,\n) => ValueProvider = (options: Partial<TuiTabsOptions>) => ({\n provide: TUI_TABS_OPTIONS,\n useValue: {...TUI_TABS_DEFAULT_OPTIONS, ...options},\n});\n","import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {\n EMPTY_QUERY,\n moveFocus,\n TUI_IS_ANDROID,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiDestroyService,\n TuiResizeService,\n} from '@taiga-ui/cdk';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {filter} from 'rxjs/operators';\n\nimport {TuiTabComponent} from '../tab/tab.component';\nimport {TUI_TAB_ACTIVATE} from '../tab/tab.providers';\nimport {TUI_TABS_OPTIONS, TuiTabsOptions} from '../tabs-options';\n\nconst TAB_ACTIVE_CLASS = `_active`;\n\n// TODO: 3.0 remove in ivy compilation\nexport const OBSERVER_INIT = {\n childList: true,\n};\n\n// @dynamic\n@Component({\n selector: `tui-tabs, nav[tuiTabs]`,\n templateUrl: `./tabs.template.html`,\n styleUrls: [`./tabs.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiResizeService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: OBSERVER_INIT,\n },\n ],\n})\nexport class TuiTabsComponent implements AfterViewChecked {\n @ContentChildren(forwardRef(() => TuiTabComponent))\n readonly children: QueryList<unknown> = EMPTY_QUERY;\n\n @Input()\n @HostBinding(`class._underline`)\n @tuiDefaultProp()\n underline = this.options.underline;\n\n @Input(`activeItemIndex`)\n set activeItemIndexSetter(index: number) {\n this.activeItemIndex = index;\n this.scrollTo(this.tabs[index]);\n }\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @HostBinding(`class._ios`)\n readonly isIos: boolean;\n\n @HostBinding(`class._android`)\n readonly isAndroid: boolean;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(TUI_TABS_OPTIONS) private readonly options: TuiTabsOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiResizeService) resize$: Observable<void>,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(TUI_IS_ANDROID) isAndroid: boolean,\n @Inject(TUI_MOBILE_AWARE) mobileAware: boolean,\n ) {\n this.isIos = mobileAware && isIos;\n this.isAndroid = mobileAware && isAndroid;\n\n resize$.pipe(filter(() => this.underline)).subscribe(() => {\n changeDetectorRef.detectChanges();\n });\n }\n\n get tabs(): readonly HTMLElement[] {\n return Array.from(\n this.elementRef.nativeElement.querySelectorAll<HTMLElement>(`[tuiTab]`),\n );\n }\n\n get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n @HostListener(`${TUI_TAB_ACTIVATE}.stop`, [`$event.target`])\n onActivate(element: HTMLElement): void {\n const index = this.tabs.findIndex(tab => tab === element);\n\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndexSetter = index;\n this.activeItemIndexChange.emit(index);\n }\n\n @HostListener(`keydown.arrowRight.prevent`, [`$event.target`, `1`])\n @HostListener(`keydown.arrowLeft.prevent`, [`$event.target`, `-1`])\n onKeyDownArrow(current: HTMLElement, step: number): void {\n const {tabs} = this;\n\n moveFocus(tabs.indexOf(current), tabs, step);\n }\n\n ngAfterViewChecked(): void {\n const {tabs, activeElement} = this;\n\n tabs.forEach(nativeElement => {\n this.renderer.removeClass(nativeElement, TAB_ACTIVE_CLASS);\n this.renderer.setAttribute(nativeElement, `tabIndex`, `-1`);\n });\n\n if (activeElement) {\n this.renderer.addClass(activeElement, TAB_ACTIVE_CLASS);\n this.renderer.setAttribute(activeElement, `tabIndex`, `0`);\n }\n }\n\n private scrollTo(element?: HTMLElement): void {\n if (!element) {\n return;\n }\n\n const {offsetLeft, offsetWidth} = element;\n const {nativeElement} = this.elementRef;\n\n if (offsetLeft < nativeElement.scrollLeft) {\n nativeElement.scrollLeft = offsetLeft;\n }\n\n if (\n offsetLeft + offsetWidth >\n nativeElement.scrollLeft + nativeElement.offsetWidth\n ) {\n nativeElement.scrollLeft =\n offsetLeft + offsetWidth - nativeElement.offsetWidth;\n }\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectorRef, ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {TuiDestroyService, TuiResizeService} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {debounceTime, filter, startWith, takeUntil, tap} from 'rxjs/operators';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function tabsRefreshFactory(\n resize$: Observable<unknown>,\n mutations$: Observable<unknown>,\n destroy$: Observable<unknown>,\n {body}: Document,\n {nativeElement}: ElementRef<Node>,\n changeDetectorRef: ChangeDetectorRef,\n): Observable<unknown> {\n return merge(\n resize$,\n mutations$.pipe(tap(() => changeDetectorRef.detectChanges())),\n ).pipe(\n // Ignoring cases when host is detached from DOM\n filter(() => body.contains(nativeElement)),\n debounceTime(0),\n startWith(null),\n takeUntil(destroy$),\n );\n}\n\n// TODO: 3.0 remove in ivy compilation\nexport const MUTATION_CONFIG = {\n childList: true,\n subtree: true,\n characterData: true,\n};\nexport const TABS_REFRESH = new InjectionToken<Observable<unknown>>(`Refresh stream`);\nexport const TABS_PROVIDERS: Provider[] = [\n TuiResizeService,\n TuiDestroyService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: MUTATION_CONFIG,\n },\n {\n provide: TABS_REFRESH,\n deps: [\n TuiResizeService,\n MutationObserverService,\n TuiDestroyService,\n DOCUMENT,\n ElementRef,\n ChangeDetectorRef,\n ],\n useFactory: tabsRefreshFactory,\n },\n];\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestFocusable,\n isNativeFocused,\n setNativeFocused,\n toInt,\n TuiActiveZoneDirective,\n tuiAssertIsHTMLElement,\n tuiClamp,\n TuiContextWithImplicit,\n tuiDefaultProp,\n} from '@taiga-ui/cdk';\nimport {TUI_MORE_WORD, TUI_TAB_MARGIN} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\nimport {TuiTabDirective} from '../tab.directive';\nimport {TuiTabComponent} from '../tab/tab.component';\nimport {TUI_TABS_OPTIONS, TuiTabsOptions} from '../tabs-options';\nimport {TABS_PROVIDERS, TABS_REFRESH} from './tabs-with-more.providers';\n\n// @dynamic\n@Component({\n selector: `tui-tabs-with-more, nav[tuiTabsWithMore]`,\n templateUrl: `./tabs-with-more.template.html`,\n styleUrls: [`./tabs-with-more.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TABS_PROVIDERS,\n})\nexport class TuiTabsWithMoreComponent implements AfterViewInit {\n @ViewChild(TuiTabComponent, {read: ElementRef})\n private readonly moreButton?: ElementRef<HTMLButtonElement>;\n\n private maxIndex = Infinity;\n\n @Input()\n @tuiDefaultProp()\n moreContent: PolymorpheusContent = ``;\n\n @Input()\n @tuiDefaultProp()\n dropdownContent: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n > = ``;\n\n @Input()\n @HostBinding(`class._underline`)\n @tuiDefaultProp()\n underline = this.options.underline;\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Input()\n @tuiDefaultProp()\n itemsLimit = this.options.itemsLimit;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiTabDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> = EMPTY_QUERY;\n\n open = false;\n\n constructor(\n @Inject(TUI_TABS_OPTIONS) private readonly options: TuiTabsOptions,\n @Inject(TUI_TAB_MARGIN) private readonly margin: number,\n @Inject(TABS_REFRESH) private readonly refresh$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_MORE_WORD) readonly moreWord$: Observable<string>,\n ) {}\n\n // TODO: Improve performance\n get tabs(): readonly HTMLElement[] {\n return Array.from<HTMLElement>(\n this.elementRef.nativeElement.querySelectorAll(`[tuiTab]`),\n );\n }\n\n get activeElement(): HTMLElement | null {\n const {tabs} = this;\n const safeActiveIndex = tuiClamp(this.activeItemIndex || 0, 0, tabs.length - 2);\n\n return this.options.exposeActive || this.lastVisibleIndex >= safeActiveIndex\n ? tabs[safeActiveIndex] || null\n : this.moreButton?.nativeElement || null;\n }\n\n get isMoreVisible(): boolean {\n return this.lastVisibleIndex < this.items.length - 1;\n }\n\n get isMoreFocusable(): boolean {\n return !!this.moreButton && isNativeFocused(this.moreButton.nativeElement);\n }\n\n get isMoreActive(): boolean {\n return (\n this.open ||\n (!this.options.exposeActive && this.lastVisibleIndex < this.activeItemIndex)\n );\n }\n\n get isMoreAlone(): boolean {\n return this.lastVisibleIndex < 0 && !this.options.exposeActive;\n }\n\n get lastVisibleIndex(): number {\n if (this.itemsLimit + 1 >= this.items.length) {\n return this.maxIndex;\n }\n\n const offset =\n this.itemsLimit - 1 > this.activeItemIndex || !this.options.exposeActive\n ? 1\n : 2;\n\n return Math.min(this.itemsLimit - offset, this.maxIndex);\n }\n\n ngAfterViewInit(): void {\n this.refresh$\n .pipe(\n map(() => this.getMaxIndex()),\n filter(maxIndex => this.maxIndex !== maxIndex),\n )\n .subscribe(maxIndex => {\n this.maxIndex = maxIndex;\n this.changeDetectorRef.detectChanges();\n });\n }\n\n onActiveItemIndexChange(activeItemIndex: number): void {\n this.updateActiveItemIndex(activeItemIndex);\n }\n\n onClick(index: number): void {\n this.open = false;\n this.focusMore();\n this.updateActiveItemIndex(index);\n }\n\n onArrowRight(event: Event): void {\n tuiAssertIsHTMLElement(event.target);\n\n if (isNativeFocused(event.target)) {\n this.focusMore();\n }\n }\n\n onArrowLeft(): void {\n const {tabs} = this;\n let index = tabs.length - 2;\n\n while (index >= 0) {\n setNativeFocused(tabs[index]);\n\n if (isNativeFocused(tabs[index])) {\n return;\n }\n\n index--;\n }\n }\n\n onWrapperArrow(event: Event, wrapper: HTMLElement, prev: boolean): void {\n const button: HTMLButtonElement = event.target as HTMLButtonElement;\n const target = getClosestFocusable(button, prev, wrapper);\n\n if (target) {\n setNativeFocused(target);\n }\n }\n\n isOverflown(index: number): boolean {\n return index !== this.activeItemIndex || !this.options.exposeActive;\n }\n\n shouldShow(index: number): boolean {\n return index > this.lastVisibleIndex && this.isOverflown(index);\n }\n\n private focusMore(): void {\n if (this.moreButton) {\n setNativeFocused(this.moreButton.nativeElement);\n }\n }\n\n private getMaxIndex(): number {\n const {tabs, activeItemIndex, margin} = this;\n\n if (tabs.length < 2) {\n return 0;\n }\n\n const {clientWidth} = this.elementRef.nativeElement;\n const activeWidth = tabs[activeItemIndex] ? tabs[activeItemIndex].scrollWidth : 0;\n const moreWidth = tabs[tabs.length - 1].scrollWidth;\n let maxIndex = tabs.length - 2;\n let total =\n tabs.reduce((acc, {scrollWidth}) => acc + scrollWidth, 0) +\n maxIndex * margin -\n moreWidth;\n\n if (total <= clientWidth) {\n return Infinity;\n }\n\n while (maxIndex) {\n total -= tabs[maxIndex].scrollWidth + margin;\n maxIndex--;\n\n const activeDisplaced =\n this.options.exposeActive && activeItemIndex > maxIndex;\n const activeOffset = activeDisplaced ? activeWidth + margin : 0;\n const currentWidth = total + activeOffset + moreWidth + margin;\n // Needed for different rounding of visible and hidden elements scrollWidth\n const safetyOffset = toInt(this.maxIndex === maxIndex - 1);\n\n if (currentWidth + safetyOffset < clientWidth) {\n return maxIndex;\n }\n }\n\n return -1;\n }\n\n private updateActiveItemIndex(activeItemIndex: number): void {\n if (this.activeItemIndex === activeItemIndex) {\n return;\n }\n\n this.activeItemIndex = activeItemIndex;\n this.activeItemIndexChange.emit(activeItemIndex);\n this.maxIndex = this.getMaxIndex();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n NgZone,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {px, TUI_IS_ANDROID, TUI_IS_IOS, tuiDefaultProp, tuiZonefree} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {asCallable} from '@tinkoff/ng-event-plugins';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {debounceTime, map, mapTo, share, switchMap} from 'rxjs/operators';\n\n@Component({\n selector: `tui-underline`,\n template: ``,\n styleUrls: [`./underline.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': `mode$`,\n },\n})\nexport class TuiUnderlineComponent {\n private readonly element$ = new ReplaySubject<HTMLElement | null>(1);\n\n private readonly refresh$ = this.element$.pipe(\n switchMap(element =>\n element\n ? this.animationFrame$.pipe(mapTo(element), tuiZonefree(this.ngZone))\n : of(null),\n ),\n share(),\n );\n\n @Input()\n @tuiDefaultProp()\n set element(element: HTMLElement | null) {\n this.element$.next(element);\n }\n\n @HostBinding(`class._ios`)\n readonly isIos = this.mobileAware && this.ios;\n\n @HostBinding(`class._android`)\n readonly isAndroid = this.mobileAware && this.android;\n\n @HostListener(`$.style.transitionProperty`)\n readonly transition$ = asCallable(\n this.element$.pipe(\n map(element => element && `all`),\n debounceTime(50),\n ),\n );\n\n @HostListener(`$.style.transform`)\n readonly transform$ = asCallable(\n this.refresh$.pipe(\n map(element =>\n element ? `translate3d(${px(element.offsetLeft)}, 0, 0)` : null,\n ),\n ),\n );\n\n @HostListener(`$.style.width.px`)\n readonly width$ = asCallable(\n this.refresh$.pipe(map(element => element?.clientWidth || 0)),\n );\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n @Inject(TUI_MOBILE_AWARE) private readonly mobileAware: boolean,\n @Inject(TUI_IS_IOS) private readonly ios: boolean,\n @Inject(TUI_IS_ANDROID) private readonly android: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {\n nativeElement[`$.style.transitionProperty`] = this.transition$;\n nativeElement[`$.style.transform`] = this.transform$;\n nativeElement[`$.style.width.px`] = this.width$;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiHostedDropdownModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTabDirective} from './tab.directive';\nimport {TuiTabComponent} from './tab/tab.component';\nimport {TuiTabsComponent} from './tabs/tabs.component';\nimport {TuiTabsWithMoreComponent} from './tabs-with-more/tabs-with-more.component';\nimport {TuiUnderlineComponent} from './underline/underline.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiHostedDropdownModule,\n TuiSvgModule,\n TuiFocusableModule,\n PolymorpheusModule,\n ],\n declarations: [\n TuiTabsWithMoreComponent,\n TuiTabsComponent,\n TuiTabComponent,\n TuiUnderlineComponent,\n TuiTabDirective,\n ],\n exports: [\n TuiTabsWithMoreComponent,\n TuiTabsComponent,\n TuiTabComponent,\n TuiTabDirective,\n ],\n})\nexport class TuiTabsModule {}\n"]}
@@ -26,6 +26,7 @@ export declare class TuiTabsWithMoreComponent implements AfterViewInit {
26
26
  get isMoreVisible(): boolean;
27
27
  get isMoreFocusable(): boolean;
28
28
  get isMoreActive(): boolean;
29
+ get isMoreAlone(): boolean;
29
30
  get lastVisibleIndex(): number;
30
31
  ngAfterViewInit(): void;
31
32
  onActiveItemIndexChange(activeItemIndex: number): void;
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiTabDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"ng-template[tuiTab]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":7,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":7,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":7,"character":60,"context":{"typeName":"Record"},"module":"./tab.directive"}]}]}]}},"TuiTabComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":27,"character":21},"member":"OnPush"},"providers":{"__symbolic":"reference","name":"TUI_TAB_PROVIDERS"},"host":{"($.data-mode.attr)":"mode$","[style.--tui-tab-margin.px]":"margin","type":"button","$quoted$":["($.data-mode.attr)","[style.--tui-tab-margin.px]"]},"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([tuiTabs]>):first-child,:host-context([tuiTabs]>:first-child),:host-context(tui-tabs>):first-child,:host-context(tui-tabs>:first-child){margin-left:0}:host{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;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:0;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]._active,:host[data-mode=onDark]:hover{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]._active,:host[data-mode=onLight]:hover{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,300ms);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}"]}]}],"members":{"isIos":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":36,"character":5},"arguments":["class._ios"]}]}],"isAndroid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":39,"character":5},"arguments":["class._android"]}]}],"focusVisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":42,"character":5},"arguments":["class._focus-visible"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":46,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":47,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"RouterLinkActive","line":47,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":49,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":49,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_MODE","line":50,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":51,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_TAB_EVENT"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":52,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_TAB_MARGIN","line":52,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":53,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_MOBILE_AWARE","line":53,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_IOS","line":54,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":55,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_ANDROID","line":55,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":56,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusVisibleService","line":56,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/router","name":"RouterLinkActive","line":48,"character":43},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":49,"character":68,"context":{"typeName":"HTMLElement"},"module":"./tab/tab.component"}]},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":51,"character":59,"context":{"typeName":"Event"},"module":"./tab/tab.component"}]},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":51,"character":59,"context":{"typeName":"Event"},"module":"./tab/tab.component"}]},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusVisibleService","line":56,"character":55}]}],"isActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":66,"character":5},"arguments":["class._active"]}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"TUI_TAB_ACTIVATE":"tui-tab-activate","TUI_TAB_EVENT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":33},"arguments":["Stream of tab activation events"]},"TUI_TAB_PROVIDERS":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":19,"character":4},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusVisibleService","line":20,"character":4},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiRouterLinkActiveService","line":21,"character":4},{"provide":{"__symbolic":"reference","name":"TUI_TAB_EVENT"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":25,"character":12},{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":26,"character":12},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiRouterLinkActiveService","line":27,"character":12},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":28,"character":17}},{"__symbolic":"reference","module":"@ng-web-apis/mutation-observer","name":"MutationObserverService","line":28,"character":29}],[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":29,"character":17}},{"__symbolic":"reference","module":"@angular/router","name":"RouterLinkActive","line":29,"character":29}]],"useFactory":{"__symbolic":"reference","name":"tabActiveFactory"}},{"__symbolic":"reference","module":"@taiga-ui/core","name":"MODE_PROVIDER","line":33,"character":4}],"tabActiveFactory":{"__symbolic":"function"},"TuiTabsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":12,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHostedDropdownModule","line":15,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgModule","line":16,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusableModule","line":17,"character":8},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":18,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiTabsWithMoreComponent"},{"__symbolic":"reference","name":"TuiTabsComponent"},{"__symbolic":"reference","name":"TuiTabComponent"},{"__symbolic":"reference","name":"TuiUnderlineComponent"},{"__symbolic":"reference","name":"TuiTabDirective"}],"exports":[{"__symbolic":"reference","name":"TuiTabsWithMoreComponent"},{"__symbolic":"reference","name":"TuiTabsComponent"},{"__symbolic":"reference","name":"TuiTabComponent"},{"__symbolic":"reference","name":"TuiTabDirective"}]}]}],"members":{}},"OBSERVER_INIT":{"childList":true},"TuiTabsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":46,"character":1},"arguments":[{"selector":"tui-tabs, nav[tuiTabs]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":50,"character":21},"member":"OnPush"},"providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":52,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiResizeService","line":53,"character":8},{"__symbolic":"reference","module":"@ng-web-apis/mutation-observer","name":"MutationObserverService","line":54,"character":8},{"provide":{"__symbolic":"reference","module":"@ng-web-apis/mutation-observer","name":"MUTATION_OBSERVER_INIT","line":56,"character":21},"useValue":{"__symbolic":"reference","name":"OBSERVER_INIT"}}],"template":"<ng-container *ngIf=\"children.changes | async\"></ng-container>\n<ng-content></ng-content>\n<tui-underline\n *ngIf=\"underline\"\n class=\"t-underline\"\n [element]=\"activeElement\"\n></tui-underline>\n","styles":[":host{scrollbar-width:none;-ms-overflow-style:none;position:relative;z-index:0;display:flex;font:var(--tui-font-text-m);height:var(--tui-height-l);color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:auto}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._android{height:auto}:host._ios{height:auto;border:2px solid transparent;border-radius:.5625rem;background:var(--tui-link);box-shadow:none}.t-underline{z-index:-1}"]}]}],"members":{"children":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":62,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiTabComponent"}]}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":66,"character":5},"arguments":["class._underline"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":67,"character":5}}]}],"activeItemIndexSetter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":5},"arguments":["activeItemIndex"]}]}],"activeItemIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":76,"character":5}}]}],"isIos":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":79,"character":5},"arguments":["class._ios"]}]}],"isAndroid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":82,"character":5},"arguments":["class._android"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":88,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_TABS_OPTIONS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":89,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":89,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":90,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":90,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":91,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":91,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":92,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiResizeService","line":92,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":93,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_IOS","line":93,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":94,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_ANDROID","line":94,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":95,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_MOBILE_AWARE","line":95,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"TuiTabsOptions"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":89,"character":68,"context":{"typeName":"HTMLElement"},"module":"./tabs/tabs.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":90,"character":54},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":91,"character":54},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":92,"character":54,"module":"./tabs/tabs.component"}]},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"}]}],"onActivate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":115,"character":5},"arguments":[{"__symbolic":"binop","operator":"+","left":{"__symbolic":"reference","name":"TUI_TAB_ACTIVATE"},"right":".stop"},["$event.target"]]}]}],"onKeyDownArrow":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":127,"character":5},"arguments":["keydown.arrowRight.prevent",["$event.target","1"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":128,"character":5},"arguments":["keydown.arrowLeft.prevent",["$event.target","-1"]]}]}],"ngAfterViewChecked":[{"__symbolic":"method"}],"scrollTo":[{"__symbolic":"method"}]}},"TuiTabsOptions":{"__symbolic":"interface"},"TUI_TABS_DEFAULT_OPTIONS":{"underline":true,"exposeActive":true,"itemsLimit":{"__symbolic":"reference","name":"Infinity"}},"TUI_TABS_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":14,"character":36},"arguments":["Default parameters for tabs component",{"__symbolic":"error","message":"Lambda not supported","line":17,"character":17,"module":"./tabs-options"}]},"tuiTabsOptionsProvider":{"__symbolic":"error","message":"Lambda not supported","line":23,"character":21,"module":"./tabs-options"},"TuiTabsWithMoreComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":39,"character":1},"arguments":[{"selector":"tui-tabs-with-more, nav[tuiTabsWithMore]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":43,"character":21},"member":"OnPush"},"providers":{"__symbolic":"reference","name":"TABS_PROVIDERS"},"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]=\"lastVisibleIndex < 0\"\n [tuiFocusable]=\"isMoreFocusable\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <span\n polymorpheus-outlet\n [content]=\"moreContent || more\"\n ></span>\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,300ms);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]._active,.t-dropdown ::ng-deep [tuiTab]:focus,.t-dropdown ::ng-deep [tuiTab]:hover{box-shadow:none;color:var(--tui-base-08);background:var(--tui-base-02)}.t-no-margin{margin-left:0}"]}]}],"members":{"moreButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":47,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiTabComponent"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":47,"character":39}}]}]}],"moreContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":53,"character":5}}]}],"dropdownContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":57,"character":5}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":63,"character":5},"arguments":["class._underline"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":64,"character":5}}]}],"activeItemIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":68,"character":5}}]}],"itemsLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":72,"character":5}}]}],"activeItemIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":75,"character":5}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":78,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiTabDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":78,"character":45}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":84,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_TABS_OPTIONS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":85,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_TAB_MARGIN","line":85,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":86,"character":9},"arguments":[{"__symbolic":"reference","name":"TABS_REFRESH"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":87,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":87,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":88,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":88,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":89,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_MORE_WORD","line":89,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"TuiTabsOptions"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"string"}]},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":87,"character":68,"context":{"typeName":"HTMLElement"},"module":"./tabs-with-more/tabs-with-more.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":88,"character":71},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"string"}]}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"onActiveItemIndexChange":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method"}],"onArrowRight":[{"__symbolic":"method"}],"onArrowLeft":[{"__symbolic":"method"}],"onWrapperArrow":[{"__symbolic":"method"}],"isOverflown":[{"__symbolic":"method"}],"shouldShow":[{"__symbolic":"method"}],"focusMore":[{"__symbolic":"method"}],"getMaxIndex":[{"__symbolic":"method"}],"updateActiveItemIndex":[{"__symbolic":"method"}]}},"tabsRefreshFactory":{"__symbolic":"function","parameters":["resize$","mutations$","destroy$","body","nativeElement","changeDetectorRef"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"merge","line":19,"character":11},"arguments":[{"__symbolic":"reference","name":"resize$"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"mutations$"},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"tap","line":21,"character":24},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":21,"character":28,"module":"./tabs-with-more/tabs-with-more.providers"}]}]}]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"filter","line":24,"character":8},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":24,"character":15,"module":"./tabs-with-more/tabs-with-more.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"debounceTime","line":25,"character":8},"arguments":[0]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"startWith","line":26,"character":8},"arguments":[null]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"takeUntil","line":27,"character":8},"arguments":[{"__symbolic":"reference","name":"destroy$"}]}]}},"MUTATION_CONFIG":{"childList":true,"subtree":true,"characterData":true},"TABS_REFRESH":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":37,"character":32},"arguments":["Refresh stream"]},"TABS_PROVIDERS":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiResizeService","line":39,"character":4},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":40,"character":4},{"__symbolic":"reference","module":"@ng-web-apis/mutation-observer","name":"MutationObserverService","line":41,"character":4},{"provide":{"__symbolic":"reference","module":"@ng-web-apis/mutation-observer","name":"MUTATION_OBSERVER_INIT","line":43,"character":17},"useValue":{"__symbolic":"reference","name":"MUTATION_CONFIG"}},{"provide":{"__symbolic":"reference","name":"TABS_REFRESH"},"deps":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiResizeService","line":49,"character":12},{"__symbolic":"reference","module":"@ng-web-apis/mutation-observer","name":"MutationObserverService","line":50,"character":12},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":51,"character":12},{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":52,"character":12},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":53,"character":12},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":54,"character":12}],"useFactory":{"__symbolic":"reference","name":"tabsRefreshFactory"}}],"TuiUnderlineComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"tui-underline","template":"","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":22,"character":21},"member":"OnPush"},"providers":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"MODE_PROVIDER","line":23,"character":16}],"host":{"($.data-mode.attr)":"mode$","$quoted$":["($.data-mode.attr)"]},"styles":[":host{transition-duration:var(--tui-duration,300ms);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._ios{border-radius:.4375rem;background:var(--tui-base-01);box-shadow:0 .1875rem .0625rem rgba(0,0,0,.04),0 .1875rem .5rem rgba(0,0,0,.12)}:host._android{box-shadow:inset 0 -.1875rem var(--tui-link)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host[data-mode=onLight]{color:var(--tui-text-02)}"]}]}],"members":{"element":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":41,"character":5}}]}],"isIos":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":46,"character":5},"arguments":["class._ios"]}]}],"isAndroid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":49,"character":5},"arguments":["class._android"]}]}],"transition$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":52,"character":5},"arguments":["$.style.transitionProperty"]}]}],"transform$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":60,"character":5},"arguments":["$.style.transform"]}]}],"width$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":69,"character":5},"arguments":["$.style.width.px"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":75,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":75,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":76,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":77,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"ANIMATION_FRAME","line":77,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":78,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_MOBILE_AWARE","line":78,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":79,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_IOS","line":79,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":80,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_ANDROID","line":80,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":81,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_MODE","line":81,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":75,"character":45},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":76,"character":49},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiBrightness","line":81,"character":53}]},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiBrightness","line":81,"character":53}]}]}]}}},"origins":{"TuiTabDirective":"./tab.directive","TuiTabComponent":"./tab/tab.component","TUI_TAB_ACTIVATE":"./tab/tab.providers","TUI_TAB_EVENT":"./tab/tab.providers","TUI_TAB_PROVIDERS":"./tab/tab.providers","tabActiveFactory":"./tab/tab.providers","TuiTabsModule":"./tabs.module","OBSERVER_INIT":"./tabs/tabs.component","TuiTabsComponent":"./tabs/tabs.component","TuiTabsOptions":"./tabs-options","TUI_TABS_DEFAULT_OPTIONS":"./tabs-options","TUI_TABS_OPTIONS":"./tabs-options","tuiTabsOptionsProvider":"./tabs-options","TuiTabsWithMoreComponent":"./tabs-with-more/tabs-with-more.component","tabsRefreshFactory":"./tabs-with-more/tabs-with-more.providers","MUTATION_CONFIG":"./tabs-with-more/tabs-with-more.providers","TABS_REFRESH":"./tabs-with-more/tabs-with-more.providers","TABS_PROVIDERS":"./tabs-with-more/tabs-with-more.providers","TuiUnderlineComponent":"./underline/underline.component"},"importAs":"@taiga-ui/kit/components/tabs"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiTabDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"ng-template[tuiTab]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":7,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":7,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":7,"character":60,"context":{"typeName":"Record"},"module":"./tab.directive"}]}]}]}},"TuiTabComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":27,"character":21},"member":"OnPush"},"providers":{"__symbolic":"reference","name":"TUI_TAB_PROVIDERS"},"host":{"($.data-mode.attr)":"mode$","[style.--tui-tab-margin.px]":"margin","type":"button","$quoted$":["($.data-mode.attr)","[style.--tui-tab-margin.px]"]},"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([tuiTabs]>):first-child,:host-context([tuiTabs]>:first-child),:host-context(tui-tabs>):first-child,:host-context(tui-tabs>:first-child){margin-left:0}:host{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;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:0;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]._active,:host[data-mode=onDark]:hover{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]._active,:host[data-mode=onLight]:hover{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,300ms);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}"]}]}],"members":{"isIos":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":36,"character":5},"arguments":["class._ios"]}]}],"isAndroid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":39,"character":5},"arguments":["class._android"]}]}],"focusVisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":42,"character":5},"arguments":["class._focus-visible"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":46,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":47,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"RouterLinkActive","line":47,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":49,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":49,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_MODE","line":50,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":51,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_TAB_EVENT"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":52,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_TAB_MARGIN","line":52,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":53,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_MOBILE_AWARE","line":53,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_IOS","line":54,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":55,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_ANDROID","line":55,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":56,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusVisibleService","line":56,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/router","name":"RouterLinkActive","line":48,"character":43},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":49,"character":68,"context":{"typeName":"HTMLElement"},"module":"./tab/tab.component"}]},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":51,"character":59,"context":{"typeName":"Event"},"module":"./tab/tab.component"}]},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":51,"character":59,"context":{"typeName":"Event"},"module":"./tab/tab.component"}]},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusVisibleService","line":56,"character":55}]}],"isActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":66,"character":5},"arguments":["class._active"]}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"TUI_TAB_ACTIVATE":"tui-tab-activate","TUI_TAB_EVENT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":33},"arguments":["Stream of tab activation events"]},"TUI_TAB_PROVIDERS":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":19,"character":4},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusVisibleService","line":20,"character":4},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiRouterLinkActiveService","line":21,"character":4},{"provide":{"__symbolic":"reference","name":"TUI_TAB_EVENT"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":25,"character":12},{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":26,"character":12},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiRouterLinkActiveService","line":27,"character":12},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":28,"character":17}},{"__symbolic":"reference","module":"@ng-web-apis/mutation-observer","name":"MutationObserverService","line":28,"character":29}],[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":29,"character":17}},{"__symbolic":"reference","module":"@angular/router","name":"RouterLinkActive","line":29,"character":29}]],"useFactory":{"__symbolic":"reference","name":"tabActiveFactory"}},{"__symbolic":"reference","module":"@taiga-ui/core","name":"MODE_PROVIDER","line":33,"character":4}],"tabActiveFactory":{"__symbolic":"function"},"TuiTabsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":12,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHostedDropdownModule","line":15,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgModule","line":16,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusableModule","line":17,"character":8},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":18,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiTabsWithMoreComponent"},{"__symbolic":"reference","name":"TuiTabsComponent"},{"__symbolic":"reference","name":"TuiTabComponent"},{"__symbolic":"reference","name":"TuiUnderlineComponent"},{"__symbolic":"reference","name":"TuiTabDirective"}],"exports":[{"__symbolic":"reference","name":"TuiTabsWithMoreComponent"},{"__symbolic":"reference","name":"TuiTabsComponent"},{"__symbolic":"reference","name":"TuiTabComponent"},{"__symbolic":"reference","name":"TuiTabDirective"}]}]}],"members":{}},"OBSERVER_INIT":{"childList":true},"TuiTabsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":46,"character":1},"arguments":[{"selector":"tui-tabs, nav[tuiTabs]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":50,"character":21},"member":"OnPush"},"providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":52,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiResizeService","line":53,"character":8},{"__symbolic":"reference","module":"@ng-web-apis/mutation-observer","name":"MutationObserverService","line":54,"character":8},{"provide":{"__symbolic":"reference","module":"@ng-web-apis/mutation-observer","name":"MUTATION_OBSERVER_INIT","line":56,"character":21},"useValue":{"__symbolic":"reference","name":"OBSERVER_INIT"}}],"template":"<ng-container *ngIf=\"children.changes | async\"></ng-container>\n<ng-content></ng-content>\n<tui-underline\n *ngIf=\"underline\"\n class=\"t-underline\"\n [element]=\"activeElement\"\n></tui-underline>\n","styles":[":host{scrollbar-width:none;-ms-overflow-style:none;position:relative;z-index:0;display:flex;font:var(--tui-font-text-m);height:var(--tui-height-l);color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:auto}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._android{height:auto}:host._ios{height:auto;border:2px solid transparent;border-radius:.5625rem;background:var(--tui-link);box-shadow:none}.t-underline{z-index:-1}"]}]}],"members":{"children":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":62,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiTabComponent"}]}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":66,"character":5},"arguments":["class._underline"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":67,"character":5}}]}],"activeItemIndexSetter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":5},"arguments":["activeItemIndex"]}]}],"activeItemIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":76,"character":5}}]}],"isIos":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":79,"character":5},"arguments":["class._ios"]}]}],"isAndroid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":82,"character":5},"arguments":["class._android"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":88,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_TABS_OPTIONS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":89,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":89,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":90,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":90,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":91,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":91,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":92,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiResizeService","line":92,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":93,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_IOS","line":93,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":94,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_ANDROID","line":94,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":95,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_MOBILE_AWARE","line":95,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"TuiTabsOptions"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":89,"character":68,"context":{"typeName":"HTMLElement"},"module":"./tabs/tabs.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":90,"character":54},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":91,"character":54},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":92,"character":54,"module":"./tabs/tabs.component"}]},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"}]}],"onActivate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":115,"character":5},"arguments":[{"__symbolic":"binop","operator":"+","left":{"__symbolic":"reference","name":"TUI_TAB_ACTIVATE"},"right":".stop"},["$event.target"]]}]}],"onKeyDownArrow":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":127,"character":5},"arguments":["keydown.arrowRight.prevent",["$event.target","1"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":128,"character":5},"arguments":["keydown.arrowLeft.prevent",["$event.target","-1"]]}]}],"ngAfterViewChecked":[{"__symbolic":"method"}],"scrollTo":[{"__symbolic":"method"}]}},"TuiTabsOptions":{"__symbolic":"interface"},"TUI_TABS_DEFAULT_OPTIONS":{"underline":true,"exposeActive":true,"itemsLimit":{"__symbolic":"reference","name":"Infinity"}},"TUI_TABS_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":14,"character":36},"arguments":["Default parameters for tabs component",{"__symbolic":"error","message":"Lambda not supported","line":17,"character":17,"module":"./tabs-options"}]},"tuiTabsOptionsProvider":{"__symbolic":"error","message":"Lambda not supported","line":23,"character":21,"module":"./tabs-options"},"TuiTabsWithMoreComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":39,"character":1},"arguments":[{"selector":"tui-tabs-with-more, nav[tuiTabsWithMore]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":43,"character":21},"member":"OnPush"},"providers":{"__symbolic":"reference","name":"TABS_PROVIDERS"},"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 <span\n polymorpheus-outlet\n [content]=\"moreContent || more\"\n ></span>\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,300ms);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]._active,.t-dropdown ::ng-deep [tuiTab]:focus,.t-dropdown ::ng-deep [tuiTab]:hover{box-shadow:none;color:var(--tui-base-08);background:var(--tui-base-02)}.t-no-margin{margin-left:0}"]}]}],"members":{"moreButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":47,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiTabComponent"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":47,"character":39}}]}]}],"moreContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":53,"character":5}}]}],"dropdownContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":57,"character":5}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":63,"character":5},"arguments":["class._underline"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":64,"character":5}}]}],"activeItemIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":68,"character":5}}]}],"itemsLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":72,"character":5}}]}],"activeItemIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":75,"character":5}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":78,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiTabDirective"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":78,"character":45}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":84,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_TABS_OPTIONS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":85,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_TAB_MARGIN","line":85,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":86,"character":9},"arguments":[{"__symbolic":"reference","name":"TABS_REFRESH"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":87,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":87,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":88,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":88,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":89,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_MORE_WORD","line":89,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"TuiTabsOptions"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"string"}]},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":87,"character":68,"context":{"typeName":"HTMLElement"},"module":"./tabs-with-more/tabs-with-more.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":88,"character":71},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"string"}]}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"onActiveItemIndexChange":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method"}],"onArrowRight":[{"__symbolic":"method"}],"onArrowLeft":[{"__symbolic":"method"}],"onWrapperArrow":[{"__symbolic":"method"}],"isOverflown":[{"__symbolic":"method"}],"shouldShow":[{"__symbolic":"method"}],"focusMore":[{"__symbolic":"method"}],"getMaxIndex":[{"__symbolic":"method"}],"updateActiveItemIndex":[{"__symbolic":"method"}]}},"tabsRefreshFactory":{"__symbolic":"function","parameters":["resize$","mutations$","destroy$","body","nativeElement","changeDetectorRef"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"merge","line":19,"character":11},"arguments":[{"__symbolic":"reference","name":"resize$"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"mutations$"},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"tap","line":21,"character":24},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":21,"character":28,"module":"./tabs-with-more/tabs-with-more.providers"}]}]}]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"filter","line":24,"character":8},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":24,"character":15,"module":"./tabs-with-more/tabs-with-more.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"debounceTime","line":25,"character":8},"arguments":[0]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"startWith","line":26,"character":8},"arguments":[null]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"takeUntil","line":27,"character":8},"arguments":[{"__symbolic":"reference","name":"destroy$"}]}]}},"MUTATION_CONFIG":{"childList":true,"subtree":true,"characterData":true},"TABS_REFRESH":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":37,"character":32},"arguments":["Refresh stream"]},"TABS_PROVIDERS":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiResizeService","line":39,"character":4},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":40,"character":4},{"__symbolic":"reference","module":"@ng-web-apis/mutation-observer","name":"MutationObserverService","line":41,"character":4},{"provide":{"__symbolic":"reference","module":"@ng-web-apis/mutation-observer","name":"MUTATION_OBSERVER_INIT","line":43,"character":17},"useValue":{"__symbolic":"reference","name":"MUTATION_CONFIG"}},{"provide":{"__symbolic":"reference","name":"TABS_REFRESH"},"deps":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiResizeService","line":49,"character":12},{"__symbolic":"reference","module":"@ng-web-apis/mutation-observer","name":"MutationObserverService","line":50,"character":12},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":51,"character":12},{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":52,"character":12},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":53,"character":12},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":54,"character":12}],"useFactory":{"__symbolic":"reference","name":"tabsRefreshFactory"}}],"TuiUnderlineComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"tui-underline","template":"","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":22,"character":21},"member":"OnPush"},"providers":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"MODE_PROVIDER","line":23,"character":16}],"host":{"($.data-mode.attr)":"mode$","$quoted$":["($.data-mode.attr)"]},"styles":[":host{transition-duration:var(--tui-duration,300ms);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._ios{border-radius:.4375rem;background:var(--tui-base-01);box-shadow:0 .1875rem .0625rem rgba(0,0,0,.04),0 .1875rem .5rem rgba(0,0,0,.12)}:host._android{box-shadow:inset 0 -.1875rem var(--tui-link)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host[data-mode=onLight]{color:var(--tui-text-02)}"]}]}],"members":{"element":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":41,"character":5}}]}],"isIos":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":46,"character":5},"arguments":["class._ios"]}]}],"isAndroid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":49,"character":5},"arguments":["class._android"]}]}],"transition$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":52,"character":5},"arguments":["$.style.transitionProperty"]}]}],"transform$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":60,"character":5},"arguments":["$.style.transform"]}]}],"width$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":69,"character":5},"arguments":["$.style.width.px"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":75,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":75,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":76,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":77,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"ANIMATION_FRAME","line":77,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":78,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_MOBILE_AWARE","line":78,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":79,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_IOS","line":79,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":80,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_ANDROID","line":80,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":81,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_MODE","line":81,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":75,"character":45},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":76,"character":49},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiBrightness","line":81,"character":53}]},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiBrightness","line":81,"character":53}]}]}]}}},"origins":{"TuiTabDirective":"./tab.directive","TuiTabComponent":"./tab/tab.component","TUI_TAB_ACTIVATE":"./tab/tab.providers","TUI_TAB_EVENT":"./tab/tab.providers","TUI_TAB_PROVIDERS":"./tab/tab.providers","tabActiveFactory":"./tab/tab.providers","TuiTabsModule":"./tabs.module","OBSERVER_INIT":"./tabs/tabs.component","TuiTabsComponent":"./tabs/tabs.component","TuiTabsOptions":"./tabs-options","TUI_TABS_DEFAULT_OPTIONS":"./tabs-options","TUI_TABS_OPTIONS":"./tabs-options","tuiTabsOptionsProvider":"./tabs-options","TuiTabsWithMoreComponent":"./tabs-with-more/tabs-with-more.component","tabsRefreshFactory":"./tabs-with-more/tabs-with-more.providers","MUTATION_CONFIG":"./tabs-with-more/tabs-with-more.providers","TABS_REFRESH":"./tabs-with-more/tabs-with-more.providers","TABS_PROVIDERS":"./tabs-with-more/tabs-with-more.providers","TuiUnderlineComponent":"./underline/underline.component"},"importAs":"@taiga-ui/kit/components/tabs"}