c0bf8db87d0e427fbad41bb8ef3d074dc05ad6fd5d89a8755c9a865e808c6913.json 279 KB

1
  1. {"ast":null,"code":"var _NzTabAddButtonComponent, _NzTabsInkBarDirective, _NzTabNavItemDirective, _NzTabNavOperationComponent, _NzTabScrollListDirective, _NzTabNavBarComponent, _NzTabBodyComponent, _NzTabCloseButtonComponent, _NzTabLinkTemplateDirective, _NzTabLinkDirective, _NzTabDirective, _NzTabComponent, _NzTabSetComponent, _NzTabsModule;\nfunction _NzTabAddButtonComponent_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵelement(1, \"span\", 1);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const icon_r1 = ctx.$implicit;\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"nzType\", icon_r1);\n }\n}\nconst _c0 = () => ({\n minWidth: \"46px\"\n});\nconst _c1 = () => ({\n visible: false\n});\nfunction _NzTabNavOperationComponent_Conditional_5_For_2_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtext(1);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const item_r3 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", item_r3.tab.label, \" \");\n }\n}\nfunction _NzTabNavOperationComponent_Conditional_5_For_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r2 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"li\", 7);\n i0.ɵɵlistener(\"click\", function _NzTabNavOperationComponent_Conditional_5_For_2_Template_li_click_0_listener() {\n const item_r3 = i0.ɵɵrestoreView(_r2).$implicit;\n const ctx_r3 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r3.onSelect(item_r3));\n })(\"contextmenu\", function _NzTabNavOperationComponent_Conditional_5_For_2_Template_li_contextmenu_0_listener($event) {\n const item_r3 = i0.ɵɵrestoreView(_r2).$implicit;\n const ctx_r3 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r3.onContextmenu(item_r3, $event));\n });\n i0.ɵɵtemplate(1, _NzTabNavOperationComponent_Conditional_5_For_2_ng_container_1_Template, 2, 1, \"ng-container\", 8);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const item_r3 = ctx.$implicit;\n i0.ɵɵclassProp(\"ant-tabs-dropdown-menu-item-disabled\", item_r3.disabled);\n i0.ɵɵproperty(\"nzSelected\", item_r3.active)(\"nzDisabled\", item_r3.disabled);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"nzStringTemplateOutlet\", item_r3.tab.label)(\"nzStringTemplateOutletContext\", i0.ɵɵpureFunction0(6, _c1));\n }\n}\nfunction _NzTabNavOperationComponent_Conditional_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ul\", 4);\n i0.ɵɵrepeaterCreate(1, _NzTabNavOperationComponent_Conditional_5_For_2_Template, 2, 7, \"li\", 6, i0.ɵɵrepeaterTrackByIdentity);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r3 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵrepeater(ctx_r3.items);\n }\n}\nfunction _NzTabNavOperationComponent_Conditional_6_Template(rf, ctx) {\n if (rf & 1) {\n const _r5 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 9);\n i0.ɵɵlistener(\"click\", function _NzTabNavOperationComponent_Conditional_6_Template_button_click_0_listener() {\n i0.ɵɵrestoreView(_r5);\n const ctx_r3 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r3.addClicked.emit());\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r3 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"addIcon\", ctx_r3.addIcon);\n }\n}\nconst _c2 = [\"navWarp\"];\nconst _c3 = [\"navList\"];\nconst _c4 = [\"*\"];\nfunction _NzTabNavBarComponent_Conditional_5_Template(rf, ctx) {\n if (rf & 1) {\n const _r2 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 8);\n i0.ɵɵlistener(\"click\", function _NzTabNavBarComponent_Conditional_5_Template_button_click_0_listener() {\n i0.ɵɵrestoreView(_r2);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.addClicked.emit());\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"addIcon\", ctx_r2.addIcon);\n i0.ɵɵattribute(\"tabindex\", -1);\n }\n}\nfunction _NzTabNavBarComponent_Conditional_8_ng_template_1_Template(rf, ctx) {}\nfunction _NzTabNavBarComponent_Conditional_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 7);\n i0.ɵɵtemplate(1, _NzTabNavBarComponent_Conditional_8_ng_template_1_Template, 0, 0, \"ng-template\", 9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.extraTemplate);\n }\n}\nconst _c5 = [\"nz-tab-body\", \"\"];\nfunction _NzTabBodyComponent_ng_template_0_Template(rf, ctx) {}\nfunction _NzTabCloseButtonComponent_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵelement(1, \"span\", 1);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const icon_r1 = ctx.$implicit;\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"nzType\", icon_r1);\n }\n}\nconst _c6 = [\"contentTemplate\"];\nconst _c7 = [[[\"\", \"nz-tab-link\", \"\"]], \"*\"];\nconst _c8 = [\"[nz-tab-link]\", \"*\"];\nfunction _NzTabComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojection(0);\n }\n}\nfunction _NzTabComponent_ng_template_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojection(0, 1);\n }\n}\nconst _c9 = () => ({\n visible: true\n});\nfunction _NzTabSetComponent_Conditional_0_For_2_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtext(1);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const tab_r5 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(tab_r5.label);\n }\n}\nfunction _NzTabSetComponent_Conditional_0_For_2_Conditional_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 10);\n i0.ɵɵlistener(\"click\", function _NzTabSetComponent_Conditional_0_For_2_Conditional_3_Template_button_click_0_listener($event) {\n i0.ɵɵrestoreView(_r7);\n const ɵ$index_4_r6 = i0.ɵɵnextContext().$index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClose(ɵ$index_4_r6, $event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const tab_r5 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵproperty(\"closeIcon\", tab_r5.nzCloseIcon);\n }\n}\nfunction _NzTabSetComponent_Conditional_0_For_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 6);\n i0.ɵɵlistener(\"click\", function _NzTabSetComponent_Conditional_0_For_2_Template_div_click_0_listener($event) {\n const ctx_r3 = i0.ɵɵrestoreView(_r3);\n const tab_r5 = ctx_r3.$implicit;\n const ɵ$index_4_r6 = ctx_r3.$index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.clickNavItem(tab_r5, ɵ$index_4_r6, $event));\n })(\"contextmenu\", function _NzTabSetComponent_Conditional_0_For_2_Template_div_contextmenu_0_listener($event) {\n const tab_r5 = i0.ɵɵrestoreView(_r3).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.contextmenuNavItem(tab_r5, $event));\n });\n i0.ɵɵelementStart(1, \"button\", 7);\n i0.ɵɵtemplate(2, _NzTabSetComponent_Conditional_0_For_2_ng_container_2_Template, 2, 1, \"ng-container\", 8)(3, _NzTabSetComponent_Conditional_0_For_2_Conditional_3_Template, 1, 1, \"button\", 9);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const tab_r5 = ctx.$implicit;\n const ɵ$index_4_r6 = ctx.$index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵstyleProp(\"margin-right\", ctx_r1.position === \"horizontal\" ? ctx_r1.nzTabBarGutter : null, \"px\")(\"margin-bottom\", ctx_r1.position === \"vertical\" ? ctx_r1.nzTabBarGutter : null, \"px\");\n i0.ɵɵclassProp(\"ant-tabs-tab-active\", ctx_r1.nzSelectedIndex === ɵ$index_4_r6)(\"ant-tabs-tab-disabled\", tab_r5.nzDisabled);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"id\", ctx_r1.getTabContentId(ɵ$index_4_r6))(\"disabled\", tab_r5.nzDisabled)(\"tab\", tab_r5)(\"active\", ctx_r1.nzSelectedIndex === ɵ$index_4_r6);\n i0.ɵɵattribute(\"tabIndex\", ctx_r1.getTabIndex(tab_r5, ɵ$index_4_r6))(\"aria-disabled\", tab_r5.nzDisabled)(\"aria-selected\", ctx_r1.nzSelectedIndex === ɵ$index_4_r6 && !ctx_r1.nzHideAll)(\"aria-controls\", ctx_r1.getTabContentId(ɵ$index_4_r6));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"nzStringTemplateOutlet\", tab_r5.label)(\"nzStringTemplateOutletContext\", i0.ɵɵpureFunction0(19, _c9));\n i0.ɵɵadvance();\n i0.ɵɵconditional(tab_r5.nzClosable && ctx_r1.closable && !tab_r5.nzDisabled ? 3 : -1);\n }\n}\nfunction _NzTabSetComponent_Conditional_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"nz-tabs-nav\", 4);\n i0.ɵɵlistener(\"tabScroll\", function _NzTabSetComponent_Conditional_0_Template_nz_tabs_nav_tabScroll_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.nzTabListScroll.emit($event));\n })(\"selectFocusedIndex\", function _NzTabSetComponent_Conditional_0_Template_nz_tabs_nav_selectFocusedIndex_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.setSelectedIndex($event));\n })(\"addClicked\", function _NzTabSetComponent_Conditional_0_Template_nz_tabs_nav_addClicked_0_listener() {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onAdd());\n });\n i0.ɵɵrepeaterCreate(1, _NzTabSetComponent_Conditional_0_For_2_Template, 4, 20, \"div\", 5, i0.ɵɵrepeaterTrackByIdentity);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngStyle\", ctx_r1.nzTabBarStyle)(\"selectedIndex\", ctx_r1.nzSelectedIndex || 0)(\"inkBarAnimated\", ctx_r1.inkBarAnimated)(\"addable\", ctx_r1.addable)(\"addIcon\", ctx_r1.nzAddIcon)(\"hideBar\", ctx_r1.nzHideAll)(\"position\", ctx_r1.position)(\"extraTemplate\", ctx_r1.nzTabBarExtraContent);\n i0.ɵɵadvance();\n i0.ɵɵrepeater(ctx_r1.tabs);\n }\n}\nfunction _NzTabSetComponent_Conditional_3_For_1_Conditional_0_ng_template_0_Template(rf, ctx) {}\nfunction _NzTabSetComponent_Conditional_3_For_1_Conditional_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, _NzTabSetComponent_Conditional_3_For_1_Conditional_0_ng_template_0_Template, 0, 0, \"ng-template\", 11);\n }\n if (rf & 2) {\n i0.ɵɵnextContext();\n const tabpaneTmpl_r8 = i0.ɵɵreference(4);\n i0.ɵɵproperty(\"ngTemplateOutlet\", tabpaneTmpl_r8);\n }\n}\nfunction _NzTabSetComponent_Conditional_3_For_1_Conditional_1_Conditional_0_ng_template_0_Template(rf, ctx) {}\nfunction _NzTabSetComponent_Conditional_3_For_1_Conditional_1_Conditional_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, _NzTabSetComponent_Conditional_3_For_1_Conditional_1_Conditional_0_ng_template_0_Template, 0, 0, \"ng-template\", 11);\n }\n if (rf & 2) {\n i0.ɵɵnextContext(2);\n const tabpaneTmpl_r8 = i0.ɵɵreference(4);\n i0.ɵɵproperty(\"ngTemplateOutlet\", tabpaneTmpl_r8);\n }\n}\nfunction _NzTabSetComponent_Conditional_3_For_1_Conditional_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, _NzTabSetComponent_Conditional_3_For_1_Conditional_1_Conditional_0_Template, 1, 1, null, 11);\n }\n if (rf & 2) {\n const ɵ$index_22_r9 = i0.ɵɵnextContext().$index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵconditional(ctx_r1.nzSelectedIndex === ɵ$index_22_r9 ? 0 : -1);\n }\n}\nfunction _NzTabSetComponent_Conditional_3_For_1_Conditional_2_Conditional_0_ng_template_0_Template(rf, ctx) {}\nfunction _NzTabSetComponent_Conditional_3_For_1_Conditional_2_Conditional_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, _NzTabSetComponent_Conditional_3_For_1_Conditional_2_Conditional_0_ng_template_0_Template, 0, 0, \"ng-template\", 11);\n }\n if (rf & 2) {\n i0.ɵɵnextContext(2);\n const tabpaneTmpl_r8 = i0.ɵɵreference(4);\n i0.ɵɵproperty(\"ngTemplateOutlet\", tabpaneTmpl_r8);\n }\n}\nfunction _NzTabSetComponent_Conditional_3_For_1_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, _NzTabSetComponent_Conditional_3_For_1_Conditional_2_Conditional_0_Template, 1, 1, null, 11);\n }\n if (rf & 2) {\n const ctx_r9 = i0.ɵɵnextContext();\n const tab_r11 = ctx_r9.$implicit;\n const ɵ$index_22_r9 = ctx_r9.$index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵconditional(ctx_r1.nzSelectedIndex === ɵ$index_22_r9 || tab_r11.hasBeenActive ? 0 : -1);\n }\n}\nfunction _NzTabSetComponent_Conditional_3_For_1_ng_template_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 12);\n }\n if (rf & 2) {\n const ctx_r9 = i0.ɵɵnextContext();\n const tab_r11 = ctx_r9.$implicit;\n const ɵ$index_22_r9 = ctx_r9.$index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"id\", ctx_r1.getTabContentId(ɵ$index_22_r9))(\"active\", ctx_r1.nzSelectedIndex === ɵ$index_22_r9)(\"content\", tab_r11.content)(\"animated\", ctx_r1.tabPaneAnimated);\n i0.ɵɵattribute(\"aria-labelledby\", ctx_r1.getTabContentId(ɵ$index_22_r9));\n }\n}\nfunction _NzTabSetComponent_Conditional_3_For_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, _NzTabSetComponent_Conditional_3_For_1_Conditional_0_Template, 1, 1, null, 11)(1, _NzTabSetComponent_Conditional_3_For_1_Conditional_1_Template, 1, 1)(2, _NzTabSetComponent_Conditional_3_For_1_Conditional_2_Template, 1, 1)(3, _NzTabSetComponent_Conditional_3_For_1_ng_template_3_Template, 1, 5, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor);\n }\n if (rf & 2) {\n const tab_r11 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵconditional(tab_r11.nzForceRender ? 0 : ctx_r1.nzDestroyInactiveTabPane ? 1 : 2);\n }\n}\nfunction _NzTabSetComponent_Conditional_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵrepeaterCreate(0, _NzTabSetComponent_Conditional_3_For_1_Template, 5, 1, null, null, i0.ɵɵrepeaterTrackByIdentity);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵrepeater(ctx_r1.tabs);\n }\n}\nimport * as i0 from '@angular/core';\nimport { Component, Input, inject, Directive, booleanAttribute, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, Output, ViewChild, ContentChildren, TemplateRef, InjectionToken, ContentChild, QueryList, NgModule } from '@angular/core';\nimport * as i1 from 'ng-zorro-antd/core/outlet';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport * as i2 from 'ng-zorro-antd/icon';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport { reqAnimFrame } from 'ng-zorro-antd/core/polyfill';\nimport * as i3$2 from '@angular/cdk/a11y';\nimport { FocusKeyManager, A11yModule } from '@angular/cdk/a11y';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey, SPACE, ENTER, DOWN_ARROW, RIGHT_ARROW, UP_ARROW, LEFT_ARROW } from '@angular/cdk/keycodes';\nimport { NgTemplateOutlet, NgStyle } from '@angular/common';\nimport { fromEvent, Subscription, animationFrameScheduler, asapScheduler, Subject, of, merge } from 'rxjs';\nimport { takeUntil, auditTime, startWith, first, filter, delay } from 'rxjs/operators';\nimport { NzDropdownMenuComponent, NzDropDownDirective } from 'ng-zorro-antd/dropdown';\nimport * as i3 from 'ng-zorro-antd/menu';\nimport { NzMenuModule } from 'ng-zorro-antd/menu';\nimport * as i1$1 from '@angular/cdk/overlay';\nimport * as i2$1 from 'ng-zorro-antd/cdk/resize-observer';\nimport * as i3$1 from '@angular/cdk/bidi';\nimport { tabSwitchMotion } from 'ng-zorro-antd/core/animation';\nimport { RouterLink, Router, NavigationEnd } from '@angular/router';\nimport { __decorate } from 'tslib';\nimport * as i1$2 from 'ng-zorro-antd/core/config';\nimport { WithConfig } from 'ng-zorro-antd/core/config';\nimport { PREFIX } from 'ng-zorro-antd/core/logger';\nimport { wrapIntoObservable } from 'ng-zorro-antd/core/util';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTabAddButtonComponent {\n constructor(elementRef) {\n this.elementRef = elementRef;\n this.addIcon = 'plus';\n this.element = this.elementRef.nativeElement;\n }\n getElementWidth() {\n var _this$element;\n return ((_this$element = this.element) === null || _this$element === void 0 ? void 0 : _this$element.offsetWidth) || 0;\n }\n getElementHeight() {\n var _this$element2;\n return ((_this$element2 = this.element) === null || _this$element2 === void 0 ? void 0 : _this$element2.offsetHeight) || 0;\n }\n}\n_NzTabAddButtonComponent = NzTabAddButtonComponent;\n_NzTabAddButtonComponent.ɵfac = function _NzTabAddButtonComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabAddButtonComponent)(i0.ɵɵdirectiveInject(i0.ElementRef));\n};\n_NzTabAddButtonComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: _NzTabAddButtonComponent,\n selectors: [[\"nz-tab-add-button\"], [\"button\", \"nz-tab-add-button\", \"\"]],\n hostAttrs: [\"aria-label\", \"Add tab\", \"type\", \"button\", 1, \"ant-tabs-nav-add\"],\n inputs: {\n addIcon: \"addIcon\"\n },\n standalone: true,\n features: [i0.ɵɵStandaloneFeature],\n decls: 1,\n vars: 1,\n consts: [[4, \"nzStringTemplateOutlet\"], [\"nz-icon\", \"\", \"nzTheme\", \"outline\", 3, \"nzType\"]],\n template: function _NzTabAddButtonComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, _NzTabAddButtonComponent_ng_container_0_Template, 2, 1, \"ng-container\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"nzStringTemplateOutlet\", ctx.addIcon);\n }\n },\n dependencies: [NzOutletModule, i1.NzStringTemplateOutletDirective, NzIconModule, i2.NzIconDirective],\n encapsulation: 2\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabAddButtonComponent, [{\n type: Component,\n args: [{\n selector: 'nz-tab-add-button, button[nz-tab-add-button]',\n template: `\n <ng-container *nzStringTemplateOutlet=\"addIcon; let icon\">\n <span nz-icon [nzType]=\"icon\" nzTheme=\"outline\"></span>\n </ng-container>\n `,\n host: {\n class: 'ant-tabs-nav-add',\n 'aria-label': 'Add tab',\n type: 'button'\n },\n imports: [NzOutletModule, NzIconModule],\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }], {\n addIcon: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTabsInkBarDirective {\n get _animated() {\n return this.animationMode !== 'NoopAnimations' && this.animated;\n }\n constructor(elementRef, ngZone) {\n this.elementRef = elementRef;\n this.ngZone = ngZone;\n this.position = 'horizontal';\n this.animated = true;\n this.animationMode = inject(ANIMATION_MODULE_TYPE, {\n optional: true\n });\n }\n alignToElement(element) {\n this.ngZone.runOutsideAngular(() => {\n reqAnimFrame(() => this.setStyles(element));\n });\n }\n setStyles(element) {\n const inkBar = this.elementRef.nativeElement;\n if (this.position === 'horizontal') {\n inkBar.style.top = '';\n inkBar.style.height = '';\n inkBar.style.left = this.getLeftPosition(element);\n inkBar.style.width = this.getElementWidth(element);\n } else {\n inkBar.style.left = '';\n inkBar.style.width = '';\n inkBar.style.top = this.getTopPosition(element);\n inkBar.style.height = this.getElementHeight(element);\n }\n }\n getLeftPosition(element) {\n return element ? `${element.offsetLeft || 0}px` : '0';\n }\n getElementWidth(element) {\n return element ? `${element.offsetWidth || 0}px` : '0';\n }\n getTopPosition(element) {\n return element ? `${element.offsetTop || 0}px` : '0';\n }\n getElementHeight(element) {\n return element ? `${element.offsetHeight || 0}px` : '0';\n }\n}\n_NzTabsInkBarDirective = NzTabsInkBarDirective;\n_NzTabsInkBarDirective.ɵfac = function _NzTabsInkBarDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabsInkBarDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n_NzTabsInkBarDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: _NzTabsInkBarDirective,\n selectors: [[\"nz-tabs-ink-bar\"], [\"\", \"nz-tabs-ink-bar\", \"\"]],\n hostAttrs: [1, \"ant-tabs-ink-bar\"],\n hostVars: 2,\n hostBindings: function _NzTabsInkBarDirective_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-tabs-ink-bar-animated\", ctx._animated);\n }\n },\n inputs: {\n position: \"position\",\n animated: \"animated\"\n },\n standalone: true\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabsInkBarDirective, [{\n type: Directive,\n args: [{\n selector: 'nz-tabs-ink-bar, [nz-tabs-ink-bar]',\n host: {\n class: 'ant-tabs-ink-bar',\n '[class.ant-tabs-ink-bar-animated]': '_animated'\n },\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }], {\n position: [{\n type: Input\n }],\n animated: [{\n type: Input\n }]\n });\n})();\nclass NzTabNavItemDirective {\n constructor(elementRef) {\n this.elementRef = elementRef;\n this.disabled = false;\n this.active = false;\n this.el = elementRef.nativeElement;\n this.parentElement = this.el.parentElement;\n }\n focus() {\n this.el.focus();\n }\n get width() {\n return this.parentElement.offsetWidth;\n }\n get height() {\n return this.parentElement.offsetHeight;\n }\n get left() {\n return this.parentElement.offsetLeft;\n }\n get top() {\n return this.parentElement.offsetTop;\n }\n}\n_NzTabNavItemDirective = NzTabNavItemDirective;\n_NzTabNavItemDirective.ɵfac = function _NzTabNavItemDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabNavItemDirective)(i0.ɵɵdirectiveInject(i0.ElementRef));\n};\n_NzTabNavItemDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: _NzTabNavItemDirective,\n selectors: [[\"\", \"nzTabNavItem\", \"\"]],\n inputs: {\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n tab: \"tab\",\n active: [2, \"active\", \"active\", booleanAttribute]\n },\n standalone: true,\n features: [i0.ɵɵInputTransformsFeature]\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabNavItemDirective, [{\n type: Directive,\n args: [{\n selector: '[nzTabNavItem]',\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }], {\n disabled: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n tab: [{\n type: Input\n }],\n active: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTabNavOperationComponent {\n constructor(cdr, elementRef) {\n this.cdr = cdr;\n this.elementRef = elementRef;\n this.items = [];\n this.addable = false;\n this.addIcon = 'plus';\n this.addClicked = new EventEmitter();\n this.selected = new EventEmitter();\n this.menuOpened = false;\n this.element = this.elementRef.nativeElement;\n }\n onSelect(item) {\n if (!item.disabled) {\n // ignore nzCanDeactivate\n item.tab.nzClick.emit();\n this.selected.emit(item);\n }\n }\n onContextmenu(item, e) {\n if (!item.disabled) {\n item.tab.nzContextmenu.emit(e);\n }\n }\n showItems() {\n clearTimeout(this.closeAnimationWaitTimeoutId);\n this.menuOpened = true;\n this.cdr.markForCheck();\n }\n menuVisChange(visible) {\n if (!visible) {\n this.closeAnimationWaitTimeoutId = setTimeout(() => {\n this.menuOpened = false;\n this.cdr.markForCheck();\n }, 150);\n }\n }\n getElementWidth() {\n var _this$element3;\n return ((_this$element3 = this.element) === null || _this$element3 === void 0 ? void 0 : _this$element3.offsetWidth) || 0;\n }\n getElementHeight() {\n var _this$element4;\n return ((_this$element4 = this.element) === null || _this$element4 === void 0 ? void 0 : _this$element4.offsetHeight) || 0;\n }\n ngOnDestroy() {\n clearTimeout(this.closeAnimationWaitTimeoutId);\n }\n}\n_NzTabNavOperationComponent = NzTabNavOperationComponent;\n_NzTabNavOperationComponent.ɵfac = function _NzTabNavOperationComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabNavOperationComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef));\n};\n_NzTabNavOperationComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: _NzTabNavOperationComponent,\n selectors: [[\"nz-tab-nav-operation\"]],\n hostAttrs: [1, \"ant-tabs-nav-operations\"],\n hostVars: 2,\n hostBindings: function _NzTabNavOperationComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-tabs-nav-operations-hidden\", ctx.items.length === 0);\n }\n },\n inputs: {\n items: \"items\",\n addable: [2, \"addable\", \"addable\", booleanAttribute],\n addIcon: \"addIcon\"\n },\n outputs: {\n addClicked: \"addClicked\",\n selected: \"selected\"\n },\n exportAs: [\"nzTabNavOperation\"],\n standalone: true,\n features: [i0.ɵɵInputTransformsFeature, i0.ɵɵStandaloneFeature],\n decls: 7,\n vars: 6,\n consts: [[\"dropdownTrigger\", \"nzDropdown\"], [\"menu\", \"nzDropdownMenu\"], [\"nz-dropdown\", \"\", \"type\", \"button\", \"tabindex\", \"-1\", \"aria-hidden\", \"true\", \"nzOverlayClassName\", \"nz-tabs-dropdown\", 1, \"ant-tabs-nav-more\", 3, \"nzVisibleChange\", \"mouseenter\", \"nzDropdownMenu\", \"nzOverlayStyle\", \"nzMatchWidthElement\"], [\"nz-icon\", \"\", \"nzType\", \"ellipsis\"], [\"nz-menu\", \"\"], [\"nz-tab-add-button\", \"\", 3, \"addIcon\"], [\"nz-menu-item\", \"\", 1, \"ant-tabs-dropdown-menu-item\", 3, \"ant-tabs-dropdown-menu-item-disabled\", \"nzSelected\", \"nzDisabled\"], [\"nz-menu-item\", \"\", 1, \"ant-tabs-dropdown-menu-item\", 3, \"click\", \"contextmenu\", \"nzSelected\", \"nzDisabled\"], [4, \"nzStringTemplateOutlet\", \"nzStringTemplateOutletContext\"], [\"nz-tab-add-button\", \"\", 3, \"click\", \"addIcon\"]],\n template: function _NzTabNavOperationComponent_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 2, 0);\n i0.ɵɵlistener(\"nzVisibleChange\", function _NzTabNavOperationComponent_Template_button_nzVisibleChange_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.menuVisChange($event));\n })(\"mouseenter\", function _NzTabNavOperationComponent_Template_button_mouseenter_0_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.showItems());\n });\n i0.ɵɵelement(2, \"span\", 3);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"nz-dropdown-menu\", null, 1);\n i0.ɵɵtemplate(5, _NzTabNavOperationComponent_Conditional_5_Template, 3, 0, \"ul\", 4);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(6, _NzTabNavOperationComponent_Conditional_6_Template, 1, 1, \"button\", 5);\n }\n if (rf & 2) {\n const menu_r6 = i0.ɵɵreference(4);\n i0.ɵɵproperty(\"nzDropdownMenu\", menu_r6)(\"nzOverlayStyle\", i0.ɵɵpureFunction0(5, _c0))(\"nzMatchWidthElement\", null);\n i0.ɵɵadvance(5);\n i0.ɵɵconditional(ctx.menuOpened ? 5 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.addable ? 6 : -1);\n }\n },\n dependencies: [NzIconModule, i2.NzIconDirective, NzOutletModule, i1.NzStringTemplateOutletDirective, NzTabAddButtonComponent, NzDropdownMenuComponent, NzMenuModule, i3.NzMenuDirective, i3.NzMenuItemComponent, NzDropDownDirective],\n encapsulation: 2,\n changeDetection: 0\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabNavOperationComponent, [{\n type: Component,\n args: [{\n selector: 'nz-tab-nav-operation',\n exportAs: 'nzTabNavOperation',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <button\n nz-dropdown\n class=\"ant-tabs-nav-more\"\n type=\"button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n nzOverlayClassName=\"nz-tabs-dropdown\"\n #dropdownTrigger=\"nzDropdown\"\n [nzDropdownMenu]=\"menu\"\n [nzOverlayStyle]=\"{ minWidth: '46px' }\"\n [nzMatchWidthElement]=\"null\"\n (nzVisibleChange)=\"menuVisChange($event)\"\n (mouseenter)=\"showItems()\"\n >\n <span nz-icon nzType=\"ellipsis\"></span>\n </button>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n @if (menuOpened) {\n <ul nz-menu>\n @for (item of items; track item) {\n <li\n nz-menu-item\n class=\"ant-tabs-dropdown-menu-item\"\n [class.ant-tabs-dropdown-menu-item-disabled]=\"item.disabled\"\n [nzSelected]=\"item.active\"\n [nzDisabled]=\"item.disabled\"\n (click)=\"onSelect(item)\"\n (contextmenu)=\"onContextmenu(item, $event)\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.tab.label; context: { visible: false }\">\n {{ item.tab.label }}\n </ng-container>\n </li>\n }\n </ul>\n }\n </nz-dropdown-menu>\n @if (addable) {\n <button nz-tab-add-button [addIcon]=\"addIcon\" (click)=\"addClicked.emit()\"></button>\n }\n `,\n host: {\n class: 'ant-tabs-nav-operations',\n '[class.ant-tabs-nav-operations-hidden]': 'items.length === 0'\n },\n imports: [NzIconModule, NzOutletModule, NzTabAddButtonComponent, NzDropdownMenuComponent, NzMenuModule, NzDropDownDirective],\n standalone: true\n }]\n }], () => [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }], {\n items: [{\n type: Input\n }],\n addable: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n addIcon: [{\n type: Input\n }],\n addClicked: [{\n type: Output\n }],\n selected: [{\n type: Output\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst MIN_SWIPE_DISTANCE = 0.1;\nconst STOP_SWIPE_DISTANCE = 0.01;\nconst REFRESH_INTERVAL = 20;\nconst SPEED_OFF_MULTIPLE = 0.995 ** REFRESH_INTERVAL;\nclass NzTabScrollListDirective {\n constructor(ngZone, elementRef) {\n this.ngZone = ngZone;\n this.elementRef = elementRef;\n this.lastWheelDirection = null;\n this.lastWheelTimestamp = 0;\n this.lastTimestamp = 0;\n this.lastTimeDiff = 0;\n this.lastMixedWheel = 0;\n this.lastWheelPrevent = false;\n this.touchPosition = null;\n this.lastOffset = null;\n this.motion = -1;\n this.unsubscribe = () => void 0;\n this.offsetChange = new EventEmitter();\n this.tabScroll = new EventEmitter();\n this.onTouchEnd = e => {\n if (!this.touchPosition) {\n return;\n }\n const lastOffset = this.lastOffset;\n const lastTimeDiff = this.lastTimeDiff;\n this.lastOffset = this.touchPosition = null;\n if (lastOffset) {\n const distanceX = lastOffset.x / lastTimeDiff;\n const distanceY = lastOffset.y / lastTimeDiff;\n const absX = Math.abs(distanceX);\n const absY = Math.abs(distanceY);\n // Skip swipe if low distance\n if (Math.max(absX, absY) < MIN_SWIPE_DISTANCE) {\n return;\n }\n let currentX = distanceX;\n let currentY = distanceY;\n this.motion = window.setInterval(() => {\n if (Math.abs(currentX) < STOP_SWIPE_DISTANCE && Math.abs(currentY) < STOP_SWIPE_DISTANCE) {\n window.clearInterval(this.motion);\n return;\n }\n currentX *= SPEED_OFF_MULTIPLE;\n currentY *= SPEED_OFF_MULTIPLE;\n this.onOffset(currentX * REFRESH_INTERVAL, currentY * REFRESH_INTERVAL, e);\n }, REFRESH_INTERVAL);\n }\n };\n this.onTouchMove = e => {\n if (!this.touchPosition) {\n return;\n }\n e.preventDefault();\n const {\n screenX,\n screenY\n } = e.touches[0];\n const offsetX = screenX - this.touchPosition.x;\n const offsetY = screenY - this.touchPosition.y;\n this.onOffset(offsetX, offsetY, e);\n const now = Date.now();\n this.lastTimeDiff = now - this.lastTimestamp;\n this.lastTimestamp = now;\n this.lastOffset = {\n x: offsetX,\n y: offsetY\n };\n this.touchPosition = {\n x: screenX,\n y: screenY\n };\n };\n this.onTouchStart = e => {\n const {\n screenX,\n screenY\n } = e.touches[0];\n this.touchPosition = {\n x: screenX,\n y: screenY\n };\n window.clearInterval(this.motion);\n };\n this.onWheel = e => {\n const {\n deltaX,\n deltaY\n } = e;\n let mixed;\n const absX = Math.abs(deltaX);\n const absY = Math.abs(deltaY);\n if (absX === absY) {\n mixed = this.lastWheelDirection === 'x' ? deltaX : deltaY;\n } else if (absX > absY) {\n mixed = deltaX;\n this.lastWheelDirection = 'x';\n } else {\n mixed = deltaY;\n this.lastWheelDirection = 'y';\n }\n // Optimize mac touch scroll\n const now = Date.now();\n const absMixed = Math.abs(mixed);\n if (now - this.lastWheelTimestamp > 100 || absMixed - this.lastMixedWheel > 10) {\n this.lastWheelPrevent = false;\n }\n this.onOffset(-mixed, -mixed, e);\n if (e.defaultPrevented || this.lastWheelPrevent) {\n this.lastWheelPrevent = true;\n }\n this.lastWheelTimestamp = now;\n this.lastMixedWheel = absMixed;\n };\n }\n ngOnInit() {\n this.unsubscribe = this.ngZone.runOutsideAngular(() => {\n const el = this.elementRef.nativeElement;\n const wheel$ = fromEvent(el, 'wheel');\n const touchstart$ = fromEvent(el, 'touchstart');\n const touchmove$ = fromEvent(el, 'touchmove');\n const touchend$ = fromEvent(el, 'touchend');\n const subscription = new Subscription();\n subscription.add(this.subscribeWrap('wheel', wheel$, this.onWheel));\n subscription.add(this.subscribeWrap('touchstart', touchstart$, this.onTouchStart));\n subscription.add(this.subscribeWrap('touchmove', touchmove$, this.onTouchMove));\n subscription.add(this.subscribeWrap('touchend', touchend$, this.onTouchEnd));\n return () => {\n subscription.unsubscribe();\n };\n });\n }\n subscribeWrap(type, observable, handler) {\n return observable.subscribe(event => {\n this.tabScroll.emit({\n type,\n event\n });\n if (!event.defaultPrevented) {\n handler(event);\n }\n });\n }\n onOffset(x, y, event) {\n this.ngZone.run(() => {\n this.offsetChange.emit({\n x,\n y,\n event\n });\n });\n }\n ngOnDestroy() {\n this.unsubscribe();\n }\n}\n_NzTabScrollListDirective = NzTabScrollListDirective;\n_NzTabScrollListDirective.ɵfac = function _NzTabScrollListDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabScrollListDirective)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.ElementRef));\n};\n_NzTabScrollListDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: _NzTabScrollListDirective,\n selectors: [[\"\", \"nzTabScrollList\", \"\"]],\n outputs: {\n offsetChange: \"offsetChange\",\n tabScroll: \"tabScroll\"\n },\n standalone: true\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabScrollListDirective, [{\n type: Directive,\n args: [{\n selector: '[nzTabScrollList]',\n standalone: true\n }]\n }], () => [{\n type: i0.NgZone\n }, {\n type: i0.ElementRef\n }], {\n offsetChange: [{\n type: Output\n }],\n tabScroll: [{\n type: Output\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst RESIZE_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\nconst CSS_TRANSFORM_TIME = 150;\nclass NzTabNavBarComponent {\n get selectedIndex() {\n return this._selectedIndex;\n }\n set selectedIndex(value) {\n const newValue = coerceNumberProperty(value);\n if (this._selectedIndex !== newValue) {\n this._selectedIndex = value;\n this.selectedIndexChanged = true;\n if (this.keyManager) {\n this.keyManager.updateActiveItem(value);\n }\n }\n }\n /** Tracks which element has focus; used for keyboard navigation */\n get focusIndex() {\n return this.keyManager ? this.keyManager.activeItemIndex : 0;\n }\n /** When the focus index is set, we must manually send focus to the correct label */\n set focusIndex(value) {\n if (!this.isValidIndex(value) || this.focusIndex === value || !this.keyManager) {\n return;\n }\n this.keyManager.setActiveItem(value);\n }\n get showAddButton() {\n return this.hiddenItems.length === 0 && this.addable;\n }\n constructor(cdr, ngZone, viewportRuler, nzResizeObserver, dir) {\n this.cdr = cdr;\n this.ngZone = ngZone;\n this.viewportRuler = viewportRuler;\n this.nzResizeObserver = nzResizeObserver;\n this.dir = dir;\n this.indexFocused = new EventEmitter();\n this.selectFocusedIndex = new EventEmitter();\n this.addClicked = new EventEmitter();\n this.tabScroll = new EventEmitter();\n this.position = 'horizontal';\n this.addable = false;\n this.hideBar = false;\n this.addIcon = 'plus';\n this.inkBarAnimated = true;\n this.translate = null;\n this.transformX = 0;\n this.transformY = 0;\n this.pingLeft = false;\n this.pingRight = false;\n this.pingTop = false;\n this.pingBottom = false;\n this.hiddenItems = [];\n this.destroy$ = new Subject();\n this._selectedIndex = 0;\n this.wrapperWidth = 0;\n this.wrapperHeight = 0;\n this.scrollListWidth = 0;\n this.scrollListHeight = 0;\n this.operationWidth = 0;\n this.operationHeight = 0;\n this.addButtonWidth = 0;\n this.addButtonHeight = 0;\n this.selectedIndexChanged = false;\n }\n ngAfterViewInit() {\n const dirChange = this.dir ? this.dir.change.asObservable() : of(null);\n const resize = this.viewportRuler.change(150);\n const realign = () => {\n this.updateScrollListPosition();\n this.alignInkBarToSelectedTab();\n };\n this.keyManager = new FocusKeyManager(this.items).withHorizontalOrientation(this.getLayoutDirection()).withWrap();\n this.keyManager.updateActiveItem(this.selectedIndex);\n reqAnimFrame(realign);\n merge(this.nzResizeObserver.observe(this.navWarpRef), this.nzResizeObserver.observe(this.navListRef)).pipe(takeUntil(this.destroy$), auditTime(16, RESIZE_SCHEDULER)).subscribe(() => {\n realign();\n });\n merge(dirChange, resize, this.items.changes).pipe(takeUntil(this.destroy$)).subscribe(() => {\n Promise.resolve().then(realign);\n this.keyManager.withHorizontalOrientation(this.getLayoutDirection());\n });\n this.keyManager.change.pipe(takeUntil(this.destroy$)).subscribe(newFocusIndex => {\n this.indexFocused.emit(newFocusIndex);\n this.setTabFocus(newFocusIndex);\n this.scrollToTab(this.keyManager.activeItem);\n });\n }\n ngAfterContentChecked() {\n if (this.selectedIndexChanged) {\n this.updateScrollListPosition();\n this.alignInkBarToSelectedTab();\n this.selectedIndexChanged = false;\n this.cdr.markForCheck();\n }\n }\n ngOnDestroy() {\n clearTimeout(this.lockAnimationTimeoutId);\n clearTimeout(this.cssTransformTimeWaitingId);\n this.destroy$.next();\n this.destroy$.complete();\n }\n onSelectedFromMenu(tab) {\n const tabIndex = this.items.toArray().findIndex(e => e === tab);\n if (tabIndex !== -1) {\n this.keyManager.updateActiveItem(tabIndex);\n if (this.focusIndex !== this.selectedIndex) {\n this.selectFocusedIndex.emit(this.focusIndex);\n this.scrollToTab(tab);\n }\n }\n }\n onOffsetChange(e) {\n if (this.position === 'horizontal') {\n if (!this.lockAnimationTimeoutId) {\n if (this.transformX >= 0 && e.x > 0) {\n return;\n }\n if (this.transformX <= this.wrapperWidth - this.scrollListWidth && e.x < 0) {\n return;\n }\n }\n e.event.preventDefault();\n this.transformX = this.clampTransformX(this.transformX + e.x);\n this.setTransform(this.transformX, 0);\n } else {\n if (!this.lockAnimationTimeoutId) {\n if (this.transformY >= 0 && e.y > 0) {\n return;\n }\n if (this.transformY <= this.wrapperHeight - this.scrollListHeight && e.y < 0) {\n return;\n }\n }\n e.event.preventDefault();\n this.transformY = this.clampTransformY(this.transformY + e.y);\n this.setTransform(0, this.transformY);\n }\n this.lockAnimation();\n this.setVisibleRange();\n this.setPingStatus();\n }\n handleKeydown(event) {\n const inNavigationList = this.navWarpRef.nativeElement.contains(event.target);\n if (hasModifierKey(event) || !inNavigationList) {\n return;\n }\n switch (event.keyCode) {\n case LEFT_ARROW:\n case UP_ARROW:\n case RIGHT_ARROW:\n case DOWN_ARROW:\n this.lockAnimation();\n this.keyManager.onKeydown(event);\n break;\n case ENTER:\n case SPACE:\n if (this.focusIndex !== this.selectedIndex) {\n this.selectFocusedIndex.emit(this.focusIndex);\n }\n break;\n default:\n this.keyManager.onKeydown(event);\n }\n }\n isValidIndex(index) {\n if (!this.items) {\n return true;\n }\n const tab = this.items ? this.items.toArray()[index] : null;\n return !!tab && !tab.disabled;\n }\n scrollToTab(tab) {\n if (!this.items.find(e => e === tab)) {\n return;\n }\n const tabs = this.items.toArray();\n if (this.position === 'horizontal') {\n let newTransform = this.transformX;\n if (this.getLayoutDirection() === 'rtl') {\n const right = tabs[0].left + tabs[0].width - tab.left - tab.width;\n if (right < this.transformX) {\n newTransform = right;\n } else if (right + tab.width > this.transformX + this.wrapperWidth) {\n newTransform = right + tab.width - this.wrapperWidth;\n }\n } else if (tab.left < -this.transformX) {\n newTransform = -tab.left;\n } else if (tab.left + tab.width > -this.transformX + this.wrapperWidth) {\n newTransform = -(tab.left + tab.width - this.wrapperWidth);\n }\n this.transformX = newTransform;\n this.transformY = 0;\n this.setTransform(newTransform, 0);\n } else {\n let newTransform = this.transformY;\n if (tab.top < -this.transformY) {\n newTransform = -tab.top;\n } else if (tab.top + tab.height > -this.transformY + this.wrapperHeight) {\n newTransform = -(tab.top + tab.height - this.wrapperHeight);\n }\n this.transformY = newTransform;\n this.transformX = 0;\n this.setTransform(0, newTransform);\n }\n clearTimeout(this.cssTransformTimeWaitingId);\n this.cssTransformTimeWaitingId = setTimeout(() => {\n this.setVisibleRange();\n }, CSS_TRANSFORM_TIME);\n }\n lockAnimation() {\n if (!this.lockAnimationTimeoutId) {\n this.ngZone.runOutsideAngular(() => {\n this.navListRef.nativeElement.style.transition = 'none';\n this.lockAnimationTimeoutId = setTimeout(() => {\n this.navListRef.nativeElement.style.transition = '';\n this.lockAnimationTimeoutId = undefined;\n }, CSS_TRANSFORM_TIME);\n });\n }\n }\n setTransform(x, y) {\n this.navListRef.nativeElement.style.transform = `translate(${x}px, ${y}px)`;\n }\n clampTransformX(transform) {\n const scrollWidth = this.wrapperWidth - this.scrollListWidth;\n if (this.getLayoutDirection() === 'rtl') {\n return Math.max(Math.min(scrollWidth, transform), 0);\n } else {\n return Math.min(Math.max(scrollWidth, transform), 0);\n }\n }\n clampTransformY(transform) {\n return Math.min(Math.max(this.wrapperHeight - this.scrollListHeight, transform), 0);\n }\n updateScrollListPosition() {\n this.resetSizes();\n this.transformX = this.clampTransformX(this.transformX);\n this.transformY = this.clampTransformY(this.transformY);\n this.setVisibleRange();\n this.setPingStatus();\n if (this.keyManager) {\n this.keyManager.updateActiveItem(this.keyManager.activeItemIndex);\n if (this.keyManager.activeItem) {\n this.scrollToTab(this.keyManager.activeItem);\n }\n }\n }\n resetSizes() {\n this.addButtonWidth = this.addBtnRef ? this.addBtnRef.getElementWidth() : 0;\n this.addButtonHeight = this.addBtnRef ? this.addBtnRef.getElementHeight() : 0;\n this.operationWidth = this.operationRef.getElementWidth();\n this.operationHeight = this.operationRef.getElementHeight();\n this.wrapperWidth = this.navWarpRef.nativeElement.offsetWidth || 0;\n this.wrapperHeight = this.navWarpRef.nativeElement.offsetHeight || 0;\n this.scrollListHeight = this.navListRef.nativeElement.offsetHeight || 0;\n this.scrollListWidth = this.navListRef.nativeElement.offsetWidth || 0;\n }\n alignInkBarToSelectedTab() {\n const selectedItem = this.items && this.items.length ? this.items.toArray()[this.selectedIndex] : null;\n const selectedItemElement = selectedItem ? selectedItem.elementRef.nativeElement : null;\n if (selectedItemElement) {\n /**\n * .ant-tabs-nav-list - Target offset parent element\n * └──.ant-tabs-tab\n * └──.ant-tabs-tab-btn - Currently focused element\n */\n this.inkBar.alignToElement(selectedItemElement.parentElement);\n }\n }\n setPingStatus() {\n const ping = {\n top: false,\n right: false,\n bottom: false,\n left: false\n };\n const navWarp = this.navWarpRef.nativeElement;\n if (this.position === 'horizontal') {\n if (this.getLayoutDirection() === 'rtl') {\n ping.right = this.transformX > 0;\n ping.left = this.transformX + this.wrapperWidth < this.scrollListWidth;\n } else {\n ping.left = this.transformX < 0;\n ping.right = -this.transformX + this.wrapperWidth < this.scrollListWidth;\n }\n } else {\n ping.top = this.transformY < 0;\n ping.bottom = -this.transformY + this.wrapperHeight < this.scrollListHeight;\n }\n Object.keys(ping).forEach(pos => {\n const className = `ant-tabs-nav-wrap-ping-${pos}`;\n if (ping[pos]) {\n navWarp.classList.add(className);\n } else {\n navWarp.classList.remove(className);\n }\n });\n }\n setVisibleRange() {\n let unit;\n let position;\n let transformSize;\n let basicSize;\n let tabContentSize;\n let addSize;\n const tabs = this.items.toArray();\n const DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n right: 0\n };\n const getOffset = index => {\n let offset;\n const size = tabs[index] || DEFAULT_SIZE;\n if (position === 'right') {\n offset = tabs[0].left + tabs[0].width - tabs[index].left - tabs[index].width;\n } else {\n offset = size[position];\n }\n return offset;\n };\n if (this.position === 'horizontal') {\n unit = 'width';\n basicSize = this.wrapperWidth;\n tabContentSize = this.scrollListWidth - (this.hiddenItems.length ? this.operationWidth : 0);\n addSize = this.addButtonWidth;\n transformSize = Math.abs(this.transformX);\n if (this.getLayoutDirection() === 'rtl') {\n position = 'right';\n this.pingRight = this.transformX > 0;\n this.pingLeft = this.transformX + this.wrapperWidth < this.scrollListWidth;\n } else {\n this.pingLeft = this.transformX < 0;\n this.pingRight = -this.transformX + this.wrapperWidth < this.scrollListWidth;\n position = 'left';\n }\n } else {\n unit = 'height';\n basicSize = this.wrapperHeight;\n tabContentSize = this.scrollListHeight - (this.hiddenItems.length ? this.operationHeight : 0);\n addSize = this.addButtonHeight;\n position = 'top';\n transformSize = -this.transformY;\n this.pingTop = this.transformY < 0;\n this.pingBottom = -this.transformY + this.wrapperHeight < this.scrollListHeight;\n }\n let mergedBasicSize = basicSize;\n if (tabContentSize + addSize > basicSize) {\n mergedBasicSize = basicSize - addSize;\n }\n if (!tabs.length) {\n this.hiddenItems = [];\n this.cdr.markForCheck();\n return;\n }\n const len = tabs.length;\n let endIndex = len;\n for (let i = 0; i < len; i += 1) {\n const offset = getOffset(i);\n const size = tabs[i] || DEFAULT_SIZE;\n if (offset + size[unit] > transformSize + mergedBasicSize) {\n endIndex = i - 1;\n break;\n }\n }\n let startIndex = 0;\n for (let i = len - 1; i >= 0; i -= 1) {\n const offset = getOffset(i);\n if (offset < transformSize) {\n startIndex = i + 1;\n break;\n }\n }\n const startHiddenTabs = tabs.slice(0, startIndex);\n const endHiddenTabs = tabs.slice(endIndex + 1);\n this.hiddenItems = [...startHiddenTabs, ...endHiddenTabs];\n this.cdr.markForCheck();\n }\n getLayoutDirection() {\n return this.dir && this.dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n setTabFocus(_tabIndex) {}\n ngOnChanges(changes) {\n const {\n position\n } = changes;\n // The first will be aligning in ngAfterViewInit\n if (position && !position.isFirstChange()) {\n this.alignInkBarToSelectedTab();\n this.lockAnimation();\n this.updateScrollListPosition();\n }\n }\n}\n_NzTabNavBarComponent = NzTabNavBarComponent;\n_NzTabNavBarComponent.ɵfac = function _NzTabNavBarComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabNavBarComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1$1.ViewportRuler), i0.ɵɵdirectiveInject(i2$1.NzResizeObserver), i0.ɵɵdirectiveInject(i3$1.Directionality));\n};\n_NzTabNavBarComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: _NzTabNavBarComponent,\n selectors: [[\"nz-tabs-nav\"]],\n contentQueries: function _NzTabNavBarComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NzTabNavItemDirective, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.items = _t);\n }\n },\n viewQuery: function _NzTabNavBarComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c2, 7);\n i0.ɵɵviewQuery(_c3, 7);\n i0.ɵɵviewQuery(NzTabNavOperationComponent, 7);\n i0.ɵɵviewQuery(NzTabAddButtonComponent, 5);\n i0.ɵɵviewQuery(NzTabsInkBarDirective, 7);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.navWarpRef = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.navListRef = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.operationRef = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.addBtnRef = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.inkBar = _t.first);\n }\n },\n hostAttrs: [1, \"ant-tabs-nav\"],\n hostBindings: function _NzTabNavBarComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"keydown\", function _NzTabNavBarComponent_keydown_HostBindingHandler($event) {\n return ctx.handleKeydown($event);\n });\n }\n },\n inputs: {\n position: \"position\",\n addable: [2, \"addable\", \"addable\", booleanAttribute],\n hideBar: [2, \"hideBar\", \"hideBar\", booleanAttribute],\n addIcon: \"addIcon\",\n inkBarAnimated: \"inkBarAnimated\",\n extraTemplate: \"extraTemplate\",\n selectedIndex: \"selectedIndex\"\n },\n outputs: {\n indexFocused: \"indexFocused\",\n selectFocusedIndex: \"selectFocusedIndex\",\n addClicked: \"addClicked\",\n tabScroll: \"tabScroll\"\n },\n exportAs: [\"nzTabsNav\"],\n standalone: true,\n features: [i0.ɵɵInputTransformsFeature, i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c4,\n decls: 9,\n vars: 16,\n consts: [[\"navWarp\", \"\"], [\"navList\", \"\"], [1, \"ant-tabs-nav-wrap\"], [\"nzTabScrollList\", \"\", \"role\", \"tablist\", 1, \"ant-tabs-nav-list\", 3, \"offsetChange\", \"tabScroll\"], [\"role\", \"tab\", \"nz-tab-add-button\", \"\", 3, \"addIcon\"], [\"nz-tabs-ink-bar\", \"\", 3, \"hidden\", \"position\", \"animated\"], [3, \"addClicked\", \"selected\", \"addIcon\", \"addable\", \"items\"], [1, \"ant-tabs-extra-content\"], [\"role\", \"tab\", \"nz-tab-add-button\", \"\", 3, \"click\", \"addIcon\"], [3, \"ngTemplateOutlet\"]],\n template: function _NzTabNavBarComponent_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 2, 0)(2, \"div\", 3, 1);\n i0.ɵɵlistener(\"offsetChange\", function _NzTabNavBarComponent_Template_div_offsetChange_2_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onOffsetChange($event));\n })(\"tabScroll\", function _NzTabNavBarComponent_Template_div_tabScroll_2_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.tabScroll.emit($event));\n });\n i0.ɵɵprojection(4);\n i0.ɵɵtemplate(5, _NzTabNavBarComponent_Conditional_5_Template, 1, 2, \"button\", 4);\n i0.ɵɵelement(6, \"div\", 5);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(7, \"nz-tab-nav-operation\", 6);\n i0.ɵɵlistener(\"addClicked\", function _NzTabNavBarComponent_Template_nz_tab_nav_operation_addClicked_7_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.addClicked.emit());\n })(\"selected\", function _NzTabNavBarComponent_Template_nz_tab_nav_operation_selected_7_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onSelectedFromMenu($event));\n });\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(8, _NzTabNavBarComponent_Conditional_8_Template, 2, 1, \"div\", 7);\n }\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-tabs-nav-wrap-ping-left\", ctx.pingLeft)(\"ant-tabs-nav-wrap-ping-right\", ctx.pingRight)(\"ant-tabs-nav-wrap-ping-top\", ctx.pingTop)(\"ant-tabs-nav-wrap-ping-bottom\", ctx.pingBottom);\n i0.ɵɵadvance(5);\n i0.ɵɵconditional(ctx.showAddButton ? 5 : -1);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"hidden\", ctx.hideBar)(\"position\", ctx.position)(\"animated\", ctx.inkBarAnimated);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"addIcon\", ctx.addIcon)(\"addable\", ctx.addable)(\"items\", ctx.hiddenItems);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.extraTemplate ? 8 : -1);\n }\n },\n dependencies: [NzTabScrollListDirective, NzTabAddButtonComponent, NzTabsInkBarDirective, NzTabNavOperationComponent, NgTemplateOutlet],\n encapsulation: 2,\n changeDetection: 0\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabNavBarComponent, [{\n type: Component,\n args: [{\n selector: 'nz-tabs-nav',\n exportAs: 'nzTabsNav',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <div\n class=\"ant-tabs-nav-wrap\"\n [class.ant-tabs-nav-wrap-ping-left]=\"pingLeft\"\n [class.ant-tabs-nav-wrap-ping-right]=\"pingRight\"\n [class.ant-tabs-nav-wrap-ping-top]=\"pingTop\"\n [class.ant-tabs-nav-wrap-ping-bottom]=\"pingBottom\"\n #navWarp\n >\n <div\n class=\"ant-tabs-nav-list\"\n #navList\n nzTabScrollList\n (offsetChange)=\"onOffsetChange($event)\"\n (tabScroll)=\"tabScroll.emit($event)\"\n role=\"tablist\"\n >\n <ng-content></ng-content>\n @if (showAddButton) {\n <button\n role=\"tab\"\n [attr.tabindex]=\"-1\"\n nz-tab-add-button\n [addIcon]=\"addIcon\"\n (click)=\"addClicked.emit()\"\n ></button>\n }\n <div nz-tabs-ink-bar [hidden]=\"hideBar\" [position]=\"position\" [animated]=\"inkBarAnimated\"></div>\n </div>\n </div>\n <nz-tab-nav-operation\n (addClicked)=\"addClicked.emit()\"\n (selected)=\"onSelectedFromMenu($event)\"\n [addIcon]=\"addIcon\"\n [addable]=\"addable\"\n [items]=\"hiddenItems\"\n ></nz-tab-nav-operation>\n @if (extraTemplate) {\n <div class=\"ant-tabs-extra-content\">\n <ng-template [ngTemplateOutlet]=\"extraTemplate\"></ng-template>\n </div>\n }\n `,\n host: {\n class: 'ant-tabs-nav',\n '(keydown)': 'handleKeydown($event)'\n },\n imports: [NzTabScrollListDirective, NzTabAddButtonComponent, NzTabsInkBarDirective, NzTabNavOperationComponent, NgTemplateOutlet],\n standalone: true\n }]\n }], () => [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.NgZone\n }, {\n type: i1$1.ViewportRuler\n }, {\n type: i2$1.NzResizeObserver\n }, {\n type: i3$1.Directionality\n }], {\n indexFocused: [{\n type: Output\n }],\n selectFocusedIndex: [{\n type: Output\n }],\n addClicked: [{\n type: Output\n }],\n tabScroll: [{\n type: Output\n }],\n position: [{\n type: Input\n }],\n addable: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n hideBar: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n addIcon: [{\n type: Input\n }],\n inkBarAnimated: [{\n type: Input\n }],\n extraTemplate: [{\n type: Input\n }],\n selectedIndex: [{\n type: Input\n }],\n navWarpRef: [{\n type: ViewChild,\n args: ['navWarp', {\n static: true\n }]\n }],\n navListRef: [{\n type: ViewChild,\n args: ['navList', {\n static: true\n }]\n }],\n operationRef: [{\n type: ViewChild,\n args: [NzTabNavOperationComponent, {\n static: true\n }]\n }],\n addBtnRef: [{\n type: ViewChild,\n args: [NzTabAddButtonComponent, {\n static: false\n }]\n }],\n inkBar: [{\n type: ViewChild,\n args: [NzTabsInkBarDirective, {\n static: true\n }]\n }],\n items: [{\n type: ContentChildren,\n args: [NzTabNavItemDirective, {\n descendants: true\n }]\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTabBodyComponent {\n constructor() {\n this.content = null;\n this.active = false;\n this.animated = true;\n }\n}\n_NzTabBodyComponent = NzTabBodyComponent;\n_NzTabBodyComponent.ɵfac = function _NzTabBodyComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabBodyComponent)();\n};\n_NzTabBodyComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: _NzTabBodyComponent,\n selectors: [[\"\", \"nz-tab-body\", \"\"]],\n hostAttrs: [1, \"ant-tabs-tabpane\"],\n hostVars: 10,\n hostBindings: function _NzTabBodyComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵsyntheticHostProperty(\"@tabSwitchMotion\", ctx.active ? \"enter\" : \"leave\")(\"@.disabled\", !ctx.animated);\n i0.ɵɵattribute(\"tabindex\", ctx.active ? 0 : -1)(\"aria-hidden\", !ctx.active);\n i0.ɵɵstyleProp(\"overflow-y\", ctx.animated ? ctx.active ? null : \"none\" : null);\n i0.ɵɵclassProp(\"ant-tabs-tabpane-active\", ctx.active)(\"ant-tabs-tabpane-hidden\", ctx.animated ? null : !ctx.active);\n }\n },\n inputs: {\n content: \"content\",\n active: \"active\",\n animated: \"animated\"\n },\n exportAs: [\"nzTabBody\"],\n standalone: true,\n features: [i0.ɵɵStandaloneFeature],\n attrs: _c5,\n decls: 1,\n vars: 1,\n consts: [[3, \"ngTemplateOutlet\"]],\n template: function _NzTabBodyComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, _NzTabBodyComponent_ng_template_0_Template, 0, 0, \"ng-template\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx.content);\n }\n },\n dependencies: [NgTemplateOutlet],\n encapsulation: 2,\n data: {\n animation: [tabSwitchMotion]\n },\n changeDetection: 0\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabBodyComponent, [{\n type: Component,\n args: [{\n selector: '[nz-tab-body]',\n exportAs: 'nzTabBody',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ` <ng-template [ngTemplateOutlet]=\"content\"></ng-template> `,\n host: {\n class: 'ant-tabs-tabpane',\n '[class.ant-tabs-tabpane-active]': 'active',\n '[class.ant-tabs-tabpane-hidden]': 'animated ? null : !active',\n '[attr.tabindex]': 'active ? 0 : -1',\n '[attr.aria-hidden]': '!active',\n '[style.overflow-y]': 'animated ? active ? null : \"none\" : null',\n '[@tabSwitchMotion]': `active ? 'enter' : 'leave'`,\n '[@.disabled]': `!animated`\n },\n imports: [NgTemplateOutlet],\n standalone: true,\n animations: [tabSwitchMotion]\n }]\n }], null, {\n content: [{\n type: Input\n }],\n active: [{\n type: Input\n }],\n animated: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTabCloseButtonComponent {\n constructor() {\n this.closeIcon = 'close';\n }\n}\n_NzTabCloseButtonComponent = NzTabCloseButtonComponent;\n_NzTabCloseButtonComponent.ɵfac = function _NzTabCloseButtonComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabCloseButtonComponent)();\n};\n_NzTabCloseButtonComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: _NzTabCloseButtonComponent,\n selectors: [[\"nz-tab-close-button\"], [\"button\", \"nz-tab-close-button\", \"\"]],\n hostAttrs: [\"aria-label\", \"Close tab\", \"type\", \"button\", 1, \"ant-tabs-tab-remove\"],\n inputs: {\n closeIcon: \"closeIcon\"\n },\n standalone: true,\n features: [i0.ɵɵStandaloneFeature],\n decls: 1,\n vars: 1,\n consts: [[4, \"nzStringTemplateOutlet\"], [\"nz-icon\", \"\", \"nzTheme\", \"outline\", 3, \"nzType\"]],\n template: function _NzTabCloseButtonComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, _NzTabCloseButtonComponent_ng_container_0_Template, 2, 1, \"ng-container\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"nzStringTemplateOutlet\", ctx.closeIcon);\n }\n },\n dependencies: [NzOutletModule, i1.NzStringTemplateOutletDirective, NzIconModule, i2.NzIconDirective],\n encapsulation: 2\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabCloseButtonComponent, [{\n type: Component,\n args: [{\n selector: 'nz-tab-close-button, button[nz-tab-close-button]',\n template: `\n <ng-container *nzStringTemplateOutlet=\"closeIcon; let icon\">\n <span nz-icon [nzType]=\"icon\" nzTheme=\"outline\"></span>\n </ng-container>\n `,\n host: {\n class: 'ant-tabs-tab-remove',\n 'aria-label': 'Close tab',\n type: 'button'\n },\n imports: [NzOutletModule, NzIconModule],\n standalone: true\n }]\n }], () => [], {\n closeIcon: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * Fix https://github.com/angular/angular/issues/8563\n */\nclass NzTabLinkTemplateDirective {\n constructor() {\n this.templateRef = inject(TemplateRef, {\n host: true\n });\n }\n}\n_NzTabLinkTemplateDirective = NzTabLinkTemplateDirective;\n_NzTabLinkTemplateDirective.ɵfac = function _NzTabLinkTemplateDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabLinkTemplateDirective)();\n};\n_NzTabLinkTemplateDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: _NzTabLinkTemplateDirective,\n selectors: [[\"ng-template\", \"nzTabLink\", \"\"]],\n exportAs: [\"nzTabLinkTemplate\"],\n standalone: true\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabLinkTemplateDirective, [{\n type: Directive,\n args: [{\n selector: 'ng-template[nzTabLink]',\n exportAs: 'nzTabLinkTemplate',\n standalone: true\n }]\n }], null, null);\n})();\n/**\n * This component is for catching `routerLink` directive.\n */\nclass NzTabLinkDirective {\n constructor(elementRef) {\n this.elementRef = elementRef;\n this.routerLink = inject(RouterLink, {\n self: true,\n optional: true\n });\n }\n}\n_NzTabLinkDirective = NzTabLinkDirective;\n_NzTabLinkDirective.ɵfac = function _NzTabLinkDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabLinkDirective)(i0.ɵɵdirectiveInject(i0.ElementRef));\n};\n_NzTabLinkDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: _NzTabLinkDirective,\n selectors: [[\"a\", \"nz-tab-link\", \"\"]],\n exportAs: [\"nzTabLink\"],\n standalone: true\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabLinkDirective, [{\n type: Directive,\n args: [{\n selector: 'a[nz-tab-link]',\n exportAs: 'nzTabLink',\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/** Decorates the `ng-template` tags and reads out the template from it. */\nclass NzTabDirective {}\n_NzTabDirective = NzTabDirective;\n_NzTabDirective.ɵfac = function _NzTabDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabDirective)();\n};\n_NzTabDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: _NzTabDirective,\n selectors: [[\"\", \"nz-tab\", \"\"]],\n exportAs: [\"nzTab\"],\n standalone: true\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabDirective, [{\n type: Directive,\n args: [{\n selector: '[nz-tab]',\n exportAs: 'nzTab',\n standalone: true\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * Used to provide a tab set to a tab without causing a circular dependency.\n */\nconst NZ_TAB_SET = new InjectionToken('NZ_TAB_SET');\nclass NzTabComponent {\n constructor() {\n this.nzTitle = '';\n this.nzClosable = false;\n this.nzCloseIcon = 'close';\n this.nzDisabled = false;\n this.nzForceRender = false;\n this.nzSelect = new EventEmitter();\n this.nzDeselect = new EventEmitter();\n this.nzClick = new EventEmitter();\n this.nzContextmenu = new EventEmitter();\n this.template = null;\n this.isActive = false;\n this.hasBeenActive = false;\n this.position = null;\n this.origin = null;\n this.closestTabSet = inject(NZ_TAB_SET);\n this.stateChanges = new Subject();\n }\n get content() {\n return this.template || this.contentTemplate;\n }\n get label() {\n var _this$nzTabLinkTempla;\n return this.nzTitle || ((_this$nzTabLinkTempla = this.nzTabLinkTemplateDirective) === null || _this$nzTabLinkTempla === void 0 ? void 0 : _this$nzTabLinkTempla.templateRef);\n }\n ngOnChanges(changes) {\n const {\n nzTitle,\n nzDisabled,\n nzForceRender\n } = changes;\n if (nzTitle || nzDisabled || nzForceRender) {\n this.stateChanges.next();\n }\n }\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n setActive(active) {\n this.isActive = active;\n if (active) {\n this.hasBeenActive = true;\n }\n }\n}\n_NzTabComponent = NzTabComponent;\n_NzTabComponent.ɵfac = function _NzTabComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabComponent)();\n};\n_NzTabComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: _NzTabComponent,\n selectors: [[\"nz-tab\"]],\n contentQueries: function _NzTabComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NzTabLinkTemplateDirective, 5);\n i0.ɵɵcontentQuery(dirIndex, NzTabDirective, 5, TemplateRef);\n i0.ɵɵcontentQuery(dirIndex, NzTabLinkDirective, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.nzTabLinkTemplateDirective = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.template = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.linkDirective = _t.first);\n }\n },\n viewQuery: function _NzTabComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c6, 7);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentTemplate = _t.first);\n }\n },\n inputs: {\n nzTitle: \"nzTitle\",\n nzClosable: [2, \"nzClosable\", \"nzClosable\", booleanAttribute],\n nzCloseIcon: \"nzCloseIcon\",\n nzDisabled: [2, \"nzDisabled\", \"nzDisabled\", booleanAttribute],\n nzForceRender: [2, \"nzForceRender\", \"nzForceRender\", booleanAttribute]\n },\n outputs: {\n nzSelect: \"nzSelect\",\n nzDeselect: \"nzDeselect\",\n nzClick: \"nzClick\",\n nzContextmenu: \"nzContextmenu\"\n },\n exportAs: [\"nzTab\"],\n standalone: true,\n features: [i0.ɵɵInputTransformsFeature, i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c8,\n decls: 4,\n vars: 0,\n consts: [[\"tabLinkTemplate\", \"\"], [\"contentTemplate\", \"\"]],\n template: function _NzTabComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c7);\n i0.ɵɵtemplate(0, _NzTabComponent_ng_template_0_Template, 1, 0, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor)(2, _NzTabComponent_ng_template_2_Template, 1, 0, \"ng-template\", null, 1, i0.ɵɵtemplateRefExtractor);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabComponent, [{\n type: Component,\n args: [{\n selector: 'nz-tab',\n exportAs: 'nzTab',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-template #tabLinkTemplate>\n <ng-content select=\"[nz-tab-link]\"></ng-content>\n </ng-template>\n <ng-template #contentTemplate><ng-content></ng-content></ng-template>\n `,\n standalone: true\n }]\n }], null, {\n nzTitle: [{\n type: Input\n }],\n nzClosable: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n nzCloseIcon: [{\n type: Input\n }],\n nzDisabled: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n nzForceRender: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n nzSelect: [{\n type: Output\n }],\n nzDeselect: [{\n type: Output\n }],\n nzClick: [{\n type: Output\n }],\n nzContextmenu: [{\n type: Output\n }],\n nzTabLinkTemplateDirective: [{\n type: ContentChild,\n args: [NzTabLinkTemplateDirective, {\n static: false\n }]\n }],\n template: [{\n type: ContentChild,\n args: [NzTabDirective, {\n static: false,\n read: TemplateRef\n }]\n }],\n linkDirective: [{\n type: ContentChild,\n args: [NzTabLinkDirective, {\n static: false\n }]\n }],\n contentTemplate: [{\n type: ViewChild,\n args: ['contentTemplate', {\n static: true\n }]\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTabChangeEvent {}\nconst NZ_CONFIG_MODULE_NAME = 'tabs';\nlet nextId = 0;\nclass NzTabSetComponent {\n get nzSelectedIndex() {\n return this.selectedIndex;\n }\n set nzSelectedIndex(value) {\n this.indexToSelect = coerceNumberProperty(value, null);\n }\n get position() {\n return ['top', 'bottom'].indexOf(this.nzTabPosition) === -1 ? 'vertical' : 'horizontal';\n }\n get addable() {\n return this.nzType === 'editable-card' && !this.nzHideAdd;\n }\n get closable() {\n return this.nzType === 'editable-card';\n }\n get line() {\n return this.nzType === 'line';\n }\n get inkBarAnimated() {\n return this.line && (typeof this.nzAnimated === 'boolean' ? this.nzAnimated : this.nzAnimated.inkBar);\n }\n get tabPaneAnimated() {\n return typeof this.nzAnimated === 'boolean' ? this.nzAnimated : this.nzAnimated.tabPane;\n }\n constructor(nzConfigService, ngZone, cdr, directionality) {\n this.nzConfigService = nzConfigService;\n this.ngZone = ngZone;\n this.cdr = cdr;\n this.directionality = directionality;\n this._nzModuleName = NZ_CONFIG_MODULE_NAME;\n this.nzTabPosition = 'top';\n this.nzCanDeactivate = null;\n this.nzAddIcon = 'plus';\n this.nzTabBarStyle = null;\n this.nzType = 'line';\n this.nzSize = 'default';\n this.nzAnimated = true;\n this.nzTabBarGutter = undefined;\n this.nzHideAdd = false;\n this.nzCentered = false;\n this.nzHideAll = false;\n this.nzLinkRouter = false;\n this.nzLinkExact = true;\n this.nzDestroyInactiveTabPane = false;\n this.nzSelectChange = new EventEmitter(true);\n this.nzSelectedIndexChange = new EventEmitter();\n this.nzTabListScroll = new EventEmitter();\n this.nzClose = new EventEmitter();\n this.nzAdd = new EventEmitter();\n // Pick up only direct descendants under ivy rendering engine\n // We filter out only the tabs that belong to this tab set in `tabs`.\n this.allTabs = new QueryList();\n // All the direct tabs for this tab set\n this.tabs = new QueryList();\n this.dir = 'ltr';\n this.destroy$ = new Subject();\n this.indexToSelect = 0;\n this.selectedIndex = null;\n this.tabLabelSubscription = Subscription.EMPTY;\n this.tabsSubscription = Subscription.EMPTY;\n this.canDeactivateSubscription = Subscription.EMPTY;\n this.router = inject(Router, {\n optional: true\n });\n this.tabSetId = nextId++;\n }\n ngOnInit() {\n var _this$directionality$;\n this.dir = this.directionality.value;\n (_this$directionality$ = this.directionality.change) === null || _this$directionality$ === void 0 || _this$directionality$.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n this.tabs.destroy();\n this.tabLabelSubscription.unsubscribe();\n this.tabsSubscription.unsubscribe();\n this.canDeactivateSubscription.unsubscribe();\n }\n ngAfterContentInit() {\n this.ngZone.runOutsideAngular(() => {\n Promise.resolve().then(() => this.setUpRouter());\n });\n this.subscribeToTabLabels();\n this.subscribeToAllTabChanges();\n // Subscribe to changes in the amount of tabs, in order to be\n // able to re-render the content as new tabs are added or removed.\n this.tabsSubscription = this.tabs.changes.subscribe(() => {\n const indexToSelect = this.clampTabIndex(this.indexToSelect);\n // Maintain the previously-selected tab if a new tab is added or removed and there is no\n // explicit change that selects a different tab.\n if (indexToSelect === this.selectedIndex) {\n const tabs = this.tabs.toArray();\n for (let i = 0; i < tabs.length; i++) {\n if (tabs[i].isActive) {\n // Assign both to the `indexToSelect` and `selectedIndex` so we don't fire a changed\n // event, otherwise the consumer may end up in an infinite loop in some edge cases like\n // adding a tab within the `nzSelectedIndexChange` event.\n this.indexToSelect = this.selectedIndex = i;\n break;\n }\n }\n }\n this.subscribeToTabLabels();\n this.cdr.markForCheck();\n });\n }\n ngAfterContentChecked() {\n // Don't clamp the `indexToSelect` immediately in the setter because it can happen that\n // the amount of tabs changes before the actual change detection runs.\n const indexToSelect = this.indexToSelect = this.clampTabIndex(this.indexToSelect);\n // If there is a change in selected index, emit a change event. Should not trigger if\n // the selected index has not yet been initialized.\n if (this.selectedIndex !== indexToSelect) {\n const isFirstRun = this.selectedIndex == null;\n if (!isFirstRun) {\n this.nzSelectChange.emit(this.createChangeEvent(indexToSelect));\n }\n // Changing these values after change detection has run\n // since the checked content may contain references to them.\n Promise.resolve().then(() => {\n this.tabs.forEach((tab, index) => tab.setActive(index === indexToSelect));\n if (!isFirstRun) {\n this.nzSelectedIndexChange.emit(indexToSelect);\n }\n });\n }\n // Setup the position for each tab and optionally setup an origin on the next selected tab.\n this.tabs.forEach((tab, index) => {\n tab.position = index - indexToSelect;\n // If there is already a selected tab, then set up an origin for the next selected tab\n // if it doesn't have one already.\n if (this.selectedIndex != null && tab.position === 0 && !tab.origin) {\n tab.origin = indexToSelect - this.selectedIndex;\n }\n });\n if (this.selectedIndex !== indexToSelect) {\n this.selectedIndex = indexToSelect;\n this.cdr.markForCheck();\n }\n }\n onClose(index, e) {\n e.preventDefault();\n e.stopPropagation();\n this.nzClose.emit({\n index\n });\n }\n onAdd() {\n this.nzAdd.emit();\n }\n clampTabIndex(index) {\n return Math.min(this.tabs.length - 1, Math.max(index || 0, 0));\n }\n createChangeEvent(index) {\n const event = new NzTabChangeEvent();\n event.index = index;\n if (this.tabs && this.tabs.length) {\n event.tab = this.tabs.toArray()[index];\n this.tabs.forEach((tab, i) => {\n if (i !== index) {\n tab.nzDeselect.emit();\n }\n });\n event.tab.nzSelect.emit();\n }\n return event;\n }\n subscribeToTabLabels() {\n if (this.tabLabelSubscription) {\n this.tabLabelSubscription.unsubscribe();\n }\n this.tabLabelSubscription = merge(...this.tabs.map(tab => tab.stateChanges)).subscribe(() => this.cdr.markForCheck());\n }\n subscribeToAllTabChanges() {\n this.allTabs.changes.pipe(startWith(this.allTabs)).subscribe(tabs => {\n this.tabs.reset(tabs.filter(tab => tab.closestTabSet === this));\n this.tabs.notifyOnChanges();\n });\n }\n canDeactivateFun(pre, next) {\n if (typeof this.nzCanDeactivate === 'function') {\n const observable = wrapIntoObservable(this.nzCanDeactivate(pre, next));\n return observable.pipe(first(), takeUntil(this.destroy$));\n } else {\n return of(true);\n }\n }\n clickNavItem(tab, index, e) {\n if (!tab.nzDisabled) {\n // ignore nzCanDeactivate\n tab.nzClick.emit();\n if (!this.isRouterLinkClickEvent(index, e)) {\n this.setSelectedIndex(index);\n }\n }\n }\n isRouterLinkClickEvent(index, event) {\n const target = event.target;\n if (this.nzLinkRouter) {\n var _this$tabs$toArray$in;\n return !!((_this$tabs$toArray$in = this.tabs.toArray()[index]) !== null && _this$tabs$toArray$in !== void 0 && (_this$tabs$toArray$in = _this$tabs$toArray$in.linkDirective) !== null && _this$tabs$toArray$in !== void 0 && _this$tabs$toArray$in.elementRef.nativeElement.contains(target));\n } else {\n return false;\n }\n }\n contextmenuNavItem(tab, e) {\n if (!tab.nzDisabled) {\n // ignore nzCanDeactivate\n tab.nzContextmenu.emit(e);\n }\n }\n setSelectedIndex(index) {\n this.canDeactivateSubscription.unsubscribe();\n this.canDeactivateSubscription = this.canDeactivateFun(this.selectedIndex, index).subscribe(can => {\n if (can) {\n this.nzSelectedIndex = index;\n this.tabNavBarRef.focusIndex = index;\n this.cdr.markForCheck();\n }\n });\n }\n getTabIndex(tab, index) {\n if (tab.nzDisabled) {\n return null;\n }\n return this.selectedIndex === index ? 0 : -1;\n }\n getTabContentId(i) {\n return `nz-tabs-${this.tabSetId}-tab-${i}`;\n }\n setUpRouter() {\n if (this.nzLinkRouter) {\n if (!this.router) {\n throw new Error(`${PREFIX} you should import 'RouterModule' if you want to use 'nzLinkRouter'!`);\n }\n this.router.events.pipe(takeUntil(this.destroy$), filter(e => e instanceof NavigationEnd), startWith(true), delay(0)).subscribe(() => {\n this.updateRouterActive();\n this.cdr.markForCheck();\n });\n }\n }\n updateRouterActive() {\n var _this$router;\n if ((_this$router = this.router) !== null && _this$router !== void 0 && _this$router.navigated) {\n const index = this.findShouldActiveTabIndex();\n if (index !== this.selectedIndex) {\n this.setSelectedIndex(index);\n }\n this.nzHideAll = index === -1;\n }\n }\n findShouldActiveTabIndex() {\n const tabs = this.tabs.toArray();\n const isActive = this.isLinkActive(this.router);\n return tabs.findIndex(tab => {\n const c = tab.linkDirective;\n return c ? isActive(c.routerLink) : false;\n });\n }\n isLinkActive(router) {\n return link => link ? !!(router !== null && router !== void 0 && router.isActive(link.urlTree || '', {\n paths: this.nzLinkExact ? 'exact' : 'subset',\n queryParams: this.nzLinkExact ? 'exact' : 'subset',\n fragment: 'ignored',\n matrixParams: 'ignored'\n })) : false;\n }\n}\n_NzTabSetComponent = NzTabSetComponent;\n_NzTabSetComponent.ɵfac = function _NzTabSetComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabSetComponent)(i0.ɵɵdirectiveInject(i1$2.NzConfigService), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i3$1.Directionality));\n};\n_NzTabSetComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: _NzTabSetComponent,\n selectors: [[\"nz-tabset\"]],\n contentQueries: function _NzTabSetComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NzTabComponent, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.allTabs = _t);\n }\n },\n viewQuery: function _NzTabSetComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(NzTabNavBarComponent, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabNavBarRef = _t.first);\n }\n },\n hostAttrs: [1, \"ant-tabs\"],\n hostVars: 24,\n hostBindings: function _NzTabSetComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-tabs-card\", ctx.nzType === \"card\" || ctx.nzType === \"editable-card\")(\"ant-tabs-editable\", ctx.nzType === \"editable-card\")(\"ant-tabs-editable-card\", ctx.nzType === \"editable-card\")(\"ant-tabs-centered\", ctx.nzCentered)(\"ant-tabs-rtl\", ctx.dir === \"rtl\")(\"ant-tabs-top\", ctx.nzTabPosition === \"top\")(\"ant-tabs-bottom\", ctx.nzTabPosition === \"bottom\")(\"ant-tabs-left\", ctx.nzTabPosition === \"left\")(\"ant-tabs-right\", ctx.nzTabPosition === \"right\")(\"ant-tabs-default\", ctx.nzSize === \"default\")(\"ant-tabs-small\", ctx.nzSize === \"small\")(\"ant-tabs-large\", ctx.nzSize === \"large\");\n }\n },\n inputs: {\n nzSelectedIndex: \"nzSelectedIndex\",\n nzTabPosition: \"nzTabPosition\",\n nzTabBarExtraContent: \"nzTabBarExtraContent\",\n nzCanDeactivate: \"nzCanDeactivate\",\n nzAddIcon: \"nzAddIcon\",\n nzTabBarStyle: \"nzTabBarStyle\",\n nzType: \"nzType\",\n nzSize: \"nzSize\",\n nzAnimated: \"nzAnimated\",\n nzTabBarGutter: \"nzTabBarGutter\",\n nzHideAdd: [2, \"nzHideAdd\", \"nzHideAdd\", booleanAttribute],\n nzCentered: [2, \"nzCentered\", \"nzCentered\", booleanAttribute],\n nzHideAll: [2, \"nzHideAll\", \"nzHideAll\", booleanAttribute],\n nzLinkRouter: [2, \"nzLinkRouter\", \"nzLinkRouter\", booleanAttribute],\n nzLinkExact: [2, \"nzLinkExact\", \"nzLinkExact\", booleanAttribute],\n nzDestroyInactiveTabPane: [2, \"nzDestroyInactiveTabPane\", \"nzDestroyInactiveTabPane\", booleanAttribute]\n },\n outputs: {\n nzSelectChange: \"nzSelectChange\",\n nzSelectedIndexChange: \"nzSelectedIndexChange\",\n nzTabListScroll: \"nzTabListScroll\",\n nzClose: \"nzClose\",\n nzAdd: \"nzAdd\"\n },\n exportAs: [\"nzTabset\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: NZ_TAB_SET,\n useExisting: _NzTabSetComponent\n }]), i0.ɵɵInputTransformsFeature, i0.ɵɵStandaloneFeature],\n decls: 4,\n vars: 12,\n consts: [[\"tabpaneTmpl\", \"\"], [3, \"ngStyle\", \"selectedIndex\", \"inkBarAnimated\", \"addable\", \"addIcon\", \"hideBar\", \"position\", \"extraTemplate\"], [1, \"ant-tabs-content-holder\"], [1, \"ant-tabs-content\"], [3, \"tabScroll\", \"selectFocusedIndex\", \"addClicked\", \"ngStyle\", \"selectedIndex\", \"inkBarAnimated\", \"addable\", \"addIcon\", \"hideBar\", \"position\", \"extraTemplate\"], [1, \"ant-tabs-tab\", 3, \"margin-right\", \"margin-bottom\", \"ant-tabs-tab-active\", \"ant-tabs-tab-disabled\"], [1, \"ant-tabs-tab\", 3, \"click\", \"contextmenu\"], [\"type\", \"button\", \"role\", \"tab\", \"nzTabNavItem\", \"\", \"cdkMonitorElementFocus\", \"\", 1, \"ant-tabs-tab-btn\", 3, \"id\", \"disabled\", \"tab\", \"active\"], [4, \"nzStringTemplateOutlet\", \"nzStringTemplateOutletContext\"], [\"type\", \"button\", \"nz-tab-close-button\", \"\", 3, \"closeIcon\"], [\"type\", \"button\", \"nz-tab-close-button\", \"\", 3, \"click\", \"closeIcon\"], [3, \"ngTemplateOutlet\"], [\"role\", \"tabpanel\", \"nz-tab-body\", \"\", 3, \"id\", \"active\", \"content\", \"animated\"]],\n template: function _NzTabSetComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, _NzTabSetComponent_Conditional_0_Template, 3, 8, \"nz-tabs-nav\", 1);\n i0.ɵɵelementStart(1, \"div\", 2)(2, \"div\", 3);\n i0.ɵɵtemplate(3, _NzTabSetComponent_Conditional_3_Template, 2, 0);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵconditional(ctx.tabs.length || ctx.addable ? 0 : -1);\n i0.ɵɵadvance(2);\n i0.ɵɵclassProp(\"ant-tabs-content-top\", ctx.nzTabPosition === \"top\")(\"ant-tabs-content-bottom\", ctx.nzTabPosition === \"bottom\")(\"ant-tabs-content-left\", ctx.nzTabPosition === \"left\")(\"ant-tabs-content-right\", ctx.nzTabPosition === \"right\")(\"ant-tabs-content-animated\", ctx.tabPaneAnimated);\n i0.ɵɵadvance();\n i0.ɵɵconditional(!ctx.nzHideAll ? 3 : -1);\n }\n },\n dependencies: [NzTabNavBarComponent, NgStyle, NgTemplateOutlet, NzTabNavItemDirective, A11yModule, i3$2.CdkMonitorFocus, NzOutletModule, i1.NzStringTemplateOutletDirective, NzTabCloseButtonComponent, NzTabBodyComponent],\n encapsulation: 2\n});\n__decorate([WithConfig()], NzTabSetComponent.prototype, \"nzType\", void 0);\n__decorate([WithConfig()], NzTabSetComponent.prototype, \"nzSize\", void 0);\n__decorate([WithConfig()], NzTabSetComponent.prototype, \"nzAnimated\", void 0);\n__decorate([WithConfig()], NzTabSetComponent.prototype, \"nzTabBarGutter\", void 0);\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabSetComponent, [{\n type: Component,\n args: [{\n selector: 'nz-tabset',\n exportAs: 'nzTabset',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{\n provide: NZ_TAB_SET,\n useExisting: NzTabSetComponent\n }],\n template: `\n @if (tabs.length || addable) {\n <nz-tabs-nav\n [ngStyle]=\"nzTabBarStyle\"\n [selectedIndex]=\"nzSelectedIndex || 0\"\n [inkBarAnimated]=\"inkBarAnimated\"\n [addable]=\"addable\"\n [addIcon]=\"nzAddIcon\"\n [hideBar]=\"nzHideAll\"\n [position]=\"position\"\n [extraTemplate]=\"nzTabBarExtraContent\"\n (tabScroll)=\"nzTabListScroll.emit($event)\"\n (selectFocusedIndex)=\"setSelectedIndex($event)\"\n (addClicked)=\"onAdd()\"\n >\n @for (tab of tabs; track tab; let i = $index) {\n <div\n class=\"ant-tabs-tab\"\n [style.margin-right.px]=\"position === 'horizontal' ? nzTabBarGutter : null\"\n [style.margin-bottom.px]=\"position === 'vertical' ? nzTabBarGutter : null\"\n [class.ant-tabs-tab-active]=\"nzSelectedIndex === i\"\n [class.ant-tabs-tab-disabled]=\"tab.nzDisabled\"\n (click)=\"clickNavItem(tab, i, $event)\"\n (contextmenu)=\"contextmenuNavItem(tab, $event)\"\n >\n <button\n type=\"button\"\n role=\"tab\"\n [id]=\"getTabContentId(i)\"\n [attr.tabIndex]=\"getTabIndex(tab, i)\"\n [attr.aria-disabled]=\"tab.nzDisabled\"\n [attr.aria-selected]=\"nzSelectedIndex === i && !nzHideAll\"\n [attr.aria-controls]=\"getTabContentId(i)\"\n [disabled]=\"tab.nzDisabled\"\n [tab]=\"tab\"\n [active]=\"nzSelectedIndex === i\"\n class=\"ant-tabs-tab-btn\"\n nzTabNavItem\n cdkMonitorElementFocus\n >\n <ng-container *nzStringTemplateOutlet=\"tab.label; context: { visible: true }\">{{\n tab.label\n }}</ng-container>\n @if (tab.nzClosable && closable && !tab.nzDisabled) {\n <button\n type=\"button\"\n nz-tab-close-button\n [closeIcon]=\"tab.nzCloseIcon\"\n (click)=\"onClose(i, $event)\"\n ></button>\n }\n </button>\n </div>\n }\n </nz-tabs-nav>\n }\n <div class=\"ant-tabs-content-holder\">\n <div\n class=\"ant-tabs-content\"\n [class.ant-tabs-content-top]=\"nzTabPosition === 'top'\"\n [class.ant-tabs-content-bottom]=\"nzTabPosition === 'bottom'\"\n [class.ant-tabs-content-left]=\"nzTabPosition === 'left'\"\n [class.ant-tabs-content-right]=\"nzTabPosition === 'right'\"\n [class.ant-tabs-content-animated]=\"tabPaneAnimated\"\n >\n @if (!nzHideAll) {\n @for (tab of tabs; track tab; let i = $index) {\n @if (tab.nzForceRender) {\n <ng-template [ngTemplateOutlet]=\"tabpaneTmpl\"></ng-template>\n } @else if (nzDestroyInactiveTabPane) {\n @if (nzSelectedIndex === i) {\n <ng-template [ngTemplateOutlet]=\"tabpaneTmpl\"></ng-template>\n }\n } @else {\n @if (nzSelectedIndex === i || tab.hasBeenActive) {\n <ng-template [ngTemplateOutlet]=\"tabpaneTmpl\"></ng-template>\n }\n }\n\n <ng-template #tabpaneTmpl>\n <div\n role=\"tabpanel\"\n [id]=\"getTabContentId(i)\"\n [attr.aria-labelledby]=\"getTabContentId(i)\"\n nz-tab-body\n [active]=\"nzSelectedIndex === i\"\n [content]=\"tab.content\"\n [animated]=\"tabPaneAnimated\"\n ></div>\n </ng-template>\n }\n }\n </div>\n </div>\n `,\n host: {\n class: 'ant-tabs',\n '[class.ant-tabs-card]': `nzType === 'card' || nzType === 'editable-card'`,\n '[class.ant-tabs-editable]': `nzType === 'editable-card'`,\n '[class.ant-tabs-editable-card]': `nzType === 'editable-card'`,\n '[class.ant-tabs-centered]': `nzCentered`,\n '[class.ant-tabs-rtl]': `dir === 'rtl'`,\n '[class.ant-tabs-top]': `nzTabPosition === 'top'`,\n '[class.ant-tabs-bottom]': `nzTabPosition === 'bottom'`,\n '[class.ant-tabs-left]': `nzTabPosition === 'left'`,\n '[class.ant-tabs-right]': `nzTabPosition === 'right'`,\n '[class.ant-tabs-default]': `nzSize === 'default'`,\n '[class.ant-tabs-small]': `nzSize === 'small'`,\n '[class.ant-tabs-large]': `nzSize === 'large'`\n },\n imports: [NzTabNavBarComponent, NgStyle, NgTemplateOutlet, NzTabNavItemDirective, A11yModule, NzOutletModule, NzTabCloseButtonComponent, NzTabBodyComponent],\n standalone: true\n }]\n }], () => [{\n type: i1$2.NzConfigService\n }, {\n type: i0.NgZone\n }, {\n type: i0.ChangeDetectorRef\n }, {\n type: i3$1.Directionality\n }], {\n nzSelectedIndex: [{\n type: Input\n }],\n nzTabPosition: [{\n type: Input\n }],\n nzTabBarExtraContent: [{\n type: Input\n }],\n nzCanDeactivate: [{\n type: Input\n }],\n nzAddIcon: [{\n type: Input\n }],\n nzTabBarStyle: [{\n type: Input\n }],\n nzType: [{\n type: Input\n }],\n nzSize: [{\n type: Input\n }],\n nzAnimated: [{\n type: Input\n }],\n nzTabBarGutter: [{\n type: Input\n }],\n nzHideAdd: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n nzCentered: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n nzHideAll: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n nzLinkRouter: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n nzLinkExact: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n nzDestroyInactiveTabPane: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n nzSelectChange: [{\n type: Output\n }],\n nzSelectedIndexChange: [{\n type: Output\n }],\n nzTabListScroll: [{\n type: Output\n }],\n nzClose: [{\n type: Output\n }],\n nzAdd: [{\n type: Output\n }],\n allTabs: [{\n type: ContentChildren,\n args: [NzTabComponent, {\n descendants: true\n }]\n }],\n tabNavBarRef: [{\n type: ViewChild,\n args: [NzTabNavBarComponent, {\n static: false\n }]\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst DIRECTIVES = [NzTabSetComponent, NzTabComponent, NzTabNavBarComponent, NzTabNavItemDirective, NzTabsInkBarDirective, NzTabScrollListDirective, NzTabNavOperationComponent, NzTabAddButtonComponent, NzTabCloseButtonComponent, NzTabDirective, NzTabBodyComponent, NzTabLinkDirective, NzTabLinkTemplateDirective];\nclass NzTabsModule {}\n_NzTabsModule = NzTabsModule;\n_NzTabsModule.ɵfac = function _NzTabsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _NzTabsModule)();\n};\n_NzTabsModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: _NzTabsModule\n});\n_NzTabsModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [NzTabSetComponent, NzTabNavBarComponent, NzTabNavOperationComponent, NzTabAddButtonComponent, NzTabCloseButtonComponent]\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTabsModule, [{\n type: NgModule,\n args: [{\n imports: [DIRECTIVES],\n exports: [DIRECTIVES]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NZ_TAB_SET, NzTabChangeEvent, NzTabComponent, NzTabDirective, NzTabLinkDirective, NzTabLinkTemplateDirective, NzTabSetComponent, NzTabsModule, NzTabAddButtonComponent as ɵNzTabAddButtonComponent, NzTabBodyComponent as ɵNzTabBodyComponent, NzTabCloseButtonComponent as ɵNzTabCloseButtonComponent, NzTabNavBarComponent as ɵNzTabNavBarComponent, NzTabNavItemDirective as ɵNzTabNavItemDirective, NzTabNavOperationComponent as ɵNzTabNavOperationComponent, NzTabScrollListDirective as ɵNzTabScrollListDirective, NzTabsInkBarDirective as ɵNzTabsInkBarDirective };","map":{"version":3,"names":["i0","ɵɵelementContainerStart","ɵɵelement","ɵɵelementContainerEnd","rf","icon_r1","ctx","$implicit","ɵɵadvance","ɵɵproperty","_c0","minWidth","_c1","visible","_NzTabNavOperationComponent_Conditional_5_For_2_ng_container_1_Template","ɵɵtext","item_r3","ɵɵnextContext","ɵɵtextInterpolate1","tab","label","_NzTabNavOperationComponent_Conditional_5_For_2_Template","_r2","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","_NzTabNavOperationComponent_Conditional_5_For_2_Template_li_click_0_listener","ɵɵrestoreView","ctx_r3","ɵɵresetView","onSelect","_NzTabNavOperationComponent_Conditional_5_For_2_Template_li_contextmenu_0_listener","$event","onContextmenu","ɵɵtemplate","ɵɵelementEnd","ɵɵclassProp","disabled","active","ɵɵpureFunction0","_NzTabNavOperationComponent_Conditional_5_Template","ɵɵrepeaterCreate","ɵɵrepeaterTrackByIdentity","ɵɵrepeater","items","_NzTabNavOperationComponent_Conditional_6_Template","_r5","_NzTabNavOperationComponent_Conditional_6_Template_button_click_0_listener","addClicked","emit","addIcon","_c2","_c3","_c4","_NzTabNavBarComponent_Conditional_5_Template","_NzTabNavBarComponent_Conditional_5_Template_button_click_0_listener","ctx_r2","ɵɵattribute","_NzTabNavBarComponent_Conditional_8_ng_template_1_Template","_NzTabNavBarComponent_Conditional_8_Template","extraTemplate","_c5","_NzTabBodyComponent_ng_template_0_Template","_NzTabCloseButtonComponent_ng_container_0_Template","_c6","_c7","_c8","_NzTabComponent_ng_template_0_Template","ɵɵprojection","_NzTabComponent_ng_template_2_Template","_c9","_NzTabSetComponent_Conditional_0_For_2_ng_container_2_Template","tab_r5","ɵɵtextInterpolate","_NzTabSetComponent_Conditional_0_For_2_Conditional_3_Template","_r7","_NzTabSetComponent_Conditional_0_For_2_Conditional_3_Template_button_click_0_listener","ɵ$index_4_r6","$index","ctx_r1","onClose","nzCloseIcon","_NzTabSetComponent_Conditional_0_For_2_Template","_r3","_NzTabSetComponent_Conditional_0_For_2_Template_div_click_0_listener","clickNavItem","_NzTabSetComponent_Conditional_0_For_2_Template_div_contextmenu_0_listener","contextmenuNavItem","ɵɵstyleProp","position","nzTabBarGutter","nzSelectedIndex","nzDisabled","getTabContentId","getTabIndex","nzHideAll","ɵɵconditional","nzClosable","closable","_NzTabSetComponent_Conditional_0_Template","_r1","_NzTabSetComponent_Conditional_0_Template_nz_tabs_nav_tabScroll_0_listener","nzTabListScroll","_NzTabSetComponent_Conditional_0_Template_nz_tabs_nav_selectFocusedIndex_0_listener","setSelectedIndex","_NzTabSetComponent_Conditional_0_Template_nz_tabs_nav_addClicked_0_listener","onAdd","nzTabBarStyle","inkBarAnimated","addable","nzAddIcon","nzTabBarExtraContent","tabs","_NzTabSetComponent_Conditional_3_For_1_Conditional_0_ng_template_0_Template","_NzTabSetComponent_Conditional_3_For_1_Conditional_0_Template","tabpaneTmpl_r8","ɵɵreference","_NzTabSetComponent_Conditional_3_For_1_Conditional_1_Conditional_0_ng_template_0_Template","_NzTabSetComponent_Conditional_3_For_1_Conditional_1_Conditional_0_Template","_NzTabSetComponent_Conditional_3_For_1_Conditional_1_Template","ɵ$index_22_r9","_NzTabSetComponent_Conditional_3_For_1_Conditional_2_Conditional_0_ng_template_0_Template","_NzTabSetComponent_Conditional_3_For_1_Conditional_2_Conditional_0_Template","_NzTabSetComponent_Conditional_3_For_1_Conditional_2_Template","ctx_r9","tab_r11","hasBeenActive","_NzTabSetComponent_Conditional_3_For_1_ng_template_3_Template","content","tabPaneAnimated","_NzTabSetComponent_Conditional_3_For_1_Template","ɵɵtemplateRefExtractor","nzForceRender","nzDestroyInactiveTabPane","_NzTabSetComponent_Conditional_3_Template","Component","Input","inject","Directive","booleanAttribute","EventEmitter","ChangeDetectionStrategy","ViewEncapsulation","Output","ViewChild","ContentChildren","TemplateRef","InjectionToken","ContentChild","QueryList","NgModule","i1","NzOutletModule","i2","NzIconModule","ANIMATION_MODULE_TYPE","reqAnimFrame","i3$2","FocusKeyManager","A11yModule","coerceNumberProperty","hasModifierKey","SPACE","ENTER","DOWN_ARROW","RIGHT_ARROW","UP_ARROW","LEFT_ARROW","NgTemplateOutlet","NgStyle","fromEvent","Subscription","animationFrameScheduler","asapScheduler","Subject","of","merge","takeUntil","auditTime","startWith","first","filter","delay","NzDropdownMenuComponent","NzDropDownDirective","i3","NzMenuModule","i1$1","i2$1","i3$1","tabSwitchMotion","RouterLink","Router","NavigationEnd","__decorate","i1$2","WithConfig","PREFIX","wrapIntoObservable","NzTabAddButtonComponent","constructor","elementRef","element","nativeElement","getElementWidth","_this$element","offsetWidth","getElementHeight","_this$element2","offsetHeight","_NzTabAddButtonComponent","ɵfac","_NzTabAddButtonComponent_Factory","__ngFactoryType__","ɵɵdirectiveInject","ElementRef","ɵcmp","ɵɵdefineComponent","type","selectors","hostAttrs","inputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","_NzTabAddButtonComponent_Template","_NzTabAddButtonComponent_ng_container_0_Template","dependencies","NzStringTemplateOutletDirective","NzIconDirective","encapsulation","ngDevMode","ɵsetClassMetadata","args","selector","host","class","imports","NzTabsInkBarDirective","_animated","animationMode","animated","ngZone","optional","alignToElement","runOutsideAngular","setStyles","inkBar","style","top","height","left","getLeftPosition","width","getTopPosition","offsetLeft","offsetTop","_NzTabsInkBarDirective","_NzTabsInkBarDirective_Factory","NgZone","ɵdir","ɵɵdefineDirective","hostVars","hostBindings","_NzTabsInkBarDirective_HostBindings","NzTabNavItemDirective","el","parentElement","focus","_NzTabNavItemDirective","_NzTabNavItemDirective_Factory","ɵɵInputTransformsFeature","transform","NzTabNavOperationComponent","cdr","selected","menuOpened","item","nzClick","e","nzContextmenu","showItems","clearTimeout","closeAnimationWaitTimeoutId","markForCheck","menuVisChange","setTimeout","_this$element3","_this$element4","ngOnDestroy","_NzTabNavOperationComponent","_NzTabNavOperationComponent_Factory","ChangeDetectorRef","_NzTabNavOperationComponent_HostBindings","length","outputs","exportAs","_NzTabNavOperationComponent_Template","_NzTabNavOperationComponent_Template_button_nzVisibleChange_0_listener","_NzTabNavOperationComponent_Template_button_mouseenter_0_listener","menu_r6","NzMenuDirective","NzMenuItemComponent","changeDetection","preserveWhitespaces","OnPush","None","MIN_SWIPE_DISTANCE","STOP_SWIPE_DISTANCE","REFRESH_INTERVAL","SPEED_OFF_MULTIPLE","NzTabScrollListDirective","lastWheelDirection","lastWheelTimestamp","lastTimestamp","lastTimeDiff","lastMixedWheel","lastWheelPrevent","touchPosition","lastOffset","motion","unsubscribe","offsetChange","tabScroll","onTouchEnd","distanceX","x","distanceY","y","absX","Math","abs","absY","max","currentX","currentY","window","setInterval","clearInterval","onOffset","onTouchMove","preventDefault","screenX","screenY","touches","offsetX","offsetY","now","Date","onTouchStart","onWheel","deltaX","deltaY","mixed","absMixed","defaultPrevented","ngOnInit","wheel$","touchstart$","touchmove$","touchend$","subscription","add","subscribeWrap","observable","handler","subscribe","event","run","_NzTabScrollListDirective","_NzTabScrollListDirective_Factory","RESIZE_SCHEDULER","requestAnimationFrame","CSS_TRANSFORM_TIME","NzTabNavBarComponent","selectedIndex","_selectedIndex","value","newValue","selectedIndexChanged","keyManager","updateActiveItem","focusIndex","activeItemIndex","isValidIndex","setActiveItem","showAddButton","hiddenItems","viewportRuler","nzResizeObserver","dir","indexFocused","selectFocusedIndex","hideBar","translate","transformX","transformY","pingLeft","pingRight","pingTop","pingBottom","destroy$","wrapperWidth","wrapperHeight","scrollListWidth","scrollListHeight","operationWidth","operationHeight","addButtonWidth","addButtonHeight","ngAfterViewInit","dirChange","change","asObservable","resize","realign","updateScrollListPosition","alignInkBarToSelectedTab","withHorizontalOrientation","getLayoutDirection","withWrap","observe","navWarpRef","navListRef","pipe","changes","Promise","resolve","then","newFocusIndex","setTabFocus","scrollToTab","activeItem","ngAfterContentChecked","lockAnimationTimeoutId","cssTransformTimeWaitingId","next","complete","onSelectedFromMenu","tabIndex","toArray","findIndex","onOffsetChange","clampTransformX","setTransform","clampTransformY","lockAnimation","setVisibleRange","setPingStatus","handleKeydown","inNavigationList","contains","target","keyCode","onKeydown","index","find","newTransform","right","transition","undefined","scrollWidth","min","resetSizes","addBtnRef","operationRef","selectedItem","selectedItemElement","ping","bottom","navWarp","Object","keys","forEach","pos","className","classList","remove","unit","transformSize","basicSize","tabContentSize","addSize","DEFAULT_SIZE","getOffset","offset","size","mergedBasicSize","len","endIndex","i","startIndex","startHiddenTabs","slice","endHiddenTabs","_tabIndex","ngOnChanges","isFirstChange","_NzTabNavBarComponent","_NzTabNavBarComponent_Factory","ViewportRuler","NzResizeObserver","Directionality","contentQueries","_NzTabNavBarComponent_ContentQueries","dirIndex","ɵɵcontentQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","viewQuery","_NzTabNavBarComponent_Query","ɵɵviewQuery","_NzTabNavBarComponent_HostBindings","_NzTabNavBarComponent_keydown_HostBindingHandler","ɵɵNgOnChangesFeature","ngContentSelectors","_NzTabNavBarComponent_Template","ɵɵprojectionDef","_NzTabNavBarComponent_Template_div_offsetChange_2_listener","_NzTabNavBarComponent_Template_div_tabScroll_2_listener","_NzTabNavBarComponent_Template_nz_tab_nav_operation_addClicked_7_listener","_NzTabNavBarComponent_Template_nz_tab_nav_operation_selected_7_listener","static","descendants","NzTabBodyComponent","_NzTabBodyComponent","_NzTabBodyComponent_Factory","_NzTabBodyComponent_HostBindings","ɵɵsyntheticHostProperty","attrs","_NzTabBodyComponent_Template","data","animation","animations","NzTabCloseButtonComponent","closeIcon","_NzTabCloseButtonComponent","_NzTabCloseButtonComponent_Factory","_NzTabCloseButtonComponent_Template","NzTabLinkTemplateDirective","templateRef","_NzTabLinkTemplateDirective","_NzTabLinkTemplateDirective_Factory","NzTabLinkDirective","routerLink","self","_NzTabLinkDirective","_NzTabLinkDirective_Factory","NzTabDirective","_NzTabDirective","_NzTabDirective_Factory","NZ_TAB_SET","NzTabComponent","nzTitle","nzSelect","nzDeselect","isActive","origin","closestTabSet","stateChanges","contentTemplate","_this$nzTabLinkTempla","nzTabLinkTemplateDirective","setActive","_NzTabComponent","_NzTabComponent_Factory","_NzTabComponent_ContentQueries","linkDirective","_NzTabComponent_Query","_NzTabComponent_Template","read","NzTabChangeEvent","NZ_CONFIG_MODULE_NAME","nextId","NzTabSetComponent","indexToSelect","indexOf","nzTabPosition","nzType","nzHideAdd","line","nzAnimated","tabPane","nzConfigService","directionality","_nzModuleName","nzCanDeactivate","nzSize","nzCentered","nzLinkRouter","nzLinkExact","nzSelectChange","nzSelectedIndexChange","nzClose","nzAdd","allTabs","tabLabelSubscription","EMPTY","tabsSubscription","canDeactivateSubscription","router","tabSetId","_this$directionality$","direction","detectChanges","destroy","ngAfterContentInit","setUpRouter","subscribeToTabLabels","subscribeToAllTabChanges","clampTabIndex","isFirstRun","createChangeEvent","stopPropagation","map","reset","notifyOnChanges","canDeactivateFun","pre","isRouterLinkClickEvent","_this$tabs$toArray$in","can","tabNavBarRef","Error","events","updateRouterActive","_this$router","navigated","findShouldActiveTabIndex","isLinkActive","c","link","urlTree","paths","queryParams","fragment","matrixParams","_NzTabSetComponent","_NzTabSetComponent_Factory","NzConfigService","_NzTabSetComponent_ContentQueries","_NzTabSetComponent_Query","_NzTabSetComponent_HostBindings","ɵɵProvidersFeature","provide","useExisting","_NzTabSetComponent_Template","CdkMonitorFocus","prototype","Default","providers","DIRECTIVES","NzTabsModule","_NzTabsModule","_NzTabsModule_Factory","ɵmod","ɵɵdefineNgModule","ɵinj","ɵɵdefineInjector","exports","ɵNzTabAddButtonComponent","ɵNzTabBodyComponent","ɵNzTabCloseButtonComponent","ɵNzTabNavBarComponent","ɵNzTabNavItemDirective","ɵNzTabNavOperationComponent","ɵNzTabScrollListDirective","ɵNzTabsInkBarDirective"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-tabs.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Component, Input, inject, Directive, booleanAttribute, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, Output, ViewChild, ContentChildren, TemplateRef, InjectionToken, ContentChild, QueryList, NgModule } from '@angular/core';\nimport * as i1 from 'ng-zorro-antd/core/outlet';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport * as i2 from 'ng-zorro-antd/icon';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport { reqAnimFrame } from 'ng-zorro-antd/core/polyfill';\nimport * as i3$2 from '@angular/cdk/a11y';\nimport { FocusKeyManager, A11yModule } from '@angular/cdk/a11y';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey, SPACE, ENTER, DOWN_ARROW, RIGHT_ARROW, UP_ARROW, LEFT_ARROW } from '@angular/cdk/keycodes';\nimport { NgTemplateOutlet, NgStyle } from '@angular/common';\nimport { fromEvent, Subscription, animationFrameScheduler, asapScheduler, Subject, of, merge } from 'rxjs';\nimport { takeUntil, auditTime, startWith, first, filter, delay } from 'rxjs/operators';\nimport { NzDropdownMenuComponent, NzDropDownDirective } from 'ng-zorro-antd/dropdown';\nimport * as i3 from 'ng-zorro-antd/menu';\nimport { NzMenuModule } from 'ng-zorro-antd/menu';\nimport * as i1$1 from '@angular/cdk/overlay';\nimport * as i2$1 from 'ng-zorro-antd/cdk/resize-observer';\nimport * as i3$1 from '@angular/cdk/bidi';\nimport { tabSwitchMotion } from 'ng-zorro-antd/core/animation';\nimport { RouterLink, Router, NavigationEnd } from '@angular/router';\nimport { __decorate } from 'tslib';\nimport * as i1$2 from 'ng-zorro-antd/core/config';\nimport { WithConfig } from 'ng-zorro-antd/core/config';\nimport { PREFIX } from 'ng-zorro-antd/core/logger';\nimport { wrapIntoObservable } from 'ng-zorro-antd/core/util';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTabAddButtonComponent {\n constructor(elementRef) {\n this.elementRef = elementRef;\n this.addIcon = 'plus';\n this.element = this.elementRef.nativeElement;\n }\n getElementWidth() {\n return this.element?.offsetWidth || 0;\n }\n getElementHeight() {\n return this.element?.offsetHeight || 0;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabAddButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"18.2.1\", type: NzTabAddButtonComponent, isStandalone: true, selector: \"nz-tab-add-button, button[nz-tab-add-button]\", inputs: { addIcon: \"addIcon\" }, host: { attributes: { \"aria-label\": \"Add tab\", \"type\": \"button\" }, classAttribute: \"ant-tabs-nav-add\" }, ngImport: i0, template: `\n <ng-container *nzStringTemplateOutlet=\"addIcon; let icon\">\n <span nz-icon [nzType]=\"icon\" nzTheme=\"outline\"></span>\n </ng-container>\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: NzOutletModule }, { kind: \"directive\", type: i1.NzStringTemplateOutletDirective, selector: \"[nzStringTemplateOutlet]\", inputs: [\"nzStringTemplateOutletContext\", \"nzStringTemplateOutlet\"], exportAs: [\"nzStringTemplateOutlet\"] }, { kind: \"ngmodule\", type: NzIconModule }, { kind: \"directive\", type: i2.NzIconDirective, selector: \"[nz-icon]\", inputs: [\"nzSpin\", \"nzRotate\", \"nzType\", \"nzTheme\", \"nzTwotoneColor\", \"nzIconfont\"], exportAs: [\"nzIcon\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabAddButtonComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'nz-tab-add-button, button[nz-tab-add-button]',\n template: `\n <ng-container *nzStringTemplateOutlet=\"addIcon; let icon\">\n <span nz-icon [nzType]=\"icon\" nzTheme=\"outline\"></span>\n </ng-container>\n `,\n host: {\n class: 'ant-tabs-nav-add',\n 'aria-label': 'Add tab',\n type: 'button'\n },\n imports: [NzOutletModule, NzIconModule],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { addIcon: [{\n type: Input\n }] } });\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTabsInkBarDirective {\n get _animated() {\n return this.animationMode !== 'NoopAnimations' && this.animated;\n }\n constructor(elementRef, ngZone) {\n this.elementRef = elementRef;\n this.ngZone = ngZone;\n this.position = 'horizontal';\n this.animated = true;\n this.animationMode = inject(ANIMATION_MODULE_TYPE, { optional: true });\n }\n alignToElement(element) {\n this.ngZone.runOutsideAngular(() => {\n reqAnimFrame(() => this.setStyles(element));\n });\n }\n setStyles(element) {\n const inkBar = this.elementRef.nativeElement;\n if (this.position === 'horizontal') {\n inkBar.style.top = '';\n inkBar.style.height = '';\n inkBar.style.left = this.getLeftPosition(element);\n inkBar.style.width = this.getElementWidth(element);\n }\n else {\n inkBar.style.left = '';\n inkBar.style.width = '';\n inkBar.style.top = this.getTopPosition(element);\n inkBar.style.height = this.getElementHeight(element);\n }\n }\n getLeftPosition(element) {\n return element ? `${element.offsetLeft || 0}px` : '0';\n }\n getElementWidth(element) {\n return element ? `${element.offsetWidth || 0}px` : '0';\n }\n getTopPosition(element) {\n return element ? `${element.offsetTop || 0}px` : '0';\n }\n getElementHeight(element) {\n return element ? `${element.offsetHeight || 0}px` : '0';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabsInkBarDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"18.2.1\", type: NzTabsInkBarDirective, isStandalone: true, selector: \"nz-tabs-ink-bar, [nz-tabs-ink-bar]\", inputs: { position: \"position\", animated: \"animated\" }, host: { properties: { \"class.ant-tabs-ink-bar-animated\": \"_animated\" }, classAttribute: \"ant-tabs-ink-bar\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabsInkBarDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'nz-tabs-ink-bar, [nz-tabs-ink-bar]',\n host: {\n class: 'ant-tabs-ink-bar',\n '[class.ant-tabs-ink-bar-animated]': '_animated'\n },\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { position: [{\n type: Input\n }], animated: [{\n type: Input\n }] } });\n\nclass NzTabNavItemDirective {\n constructor(elementRef) {\n this.elementRef = elementRef;\n this.disabled = false;\n this.active = false;\n this.el = elementRef.nativeElement;\n this.parentElement = this.el.parentElement;\n }\n focus() {\n this.el.focus();\n }\n get width() {\n return this.parentElement.offsetWidth;\n }\n get height() {\n return this.parentElement.offsetHeight;\n }\n get left() {\n return this.parentElement.offsetLeft;\n }\n get top() {\n return this.parentElement.offsetTop;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabNavItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"16.1.0\", version: \"18.2.1\", type: NzTabNavItemDirective, isStandalone: true, selector: \"[nzTabNavItem]\", inputs: { disabled: [\"disabled\", \"disabled\", booleanAttribute], tab: \"tab\", active: [\"active\", \"active\", booleanAttribute] }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabNavItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[nzTabNavItem]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { disabled: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], tab: [{\n type: Input\n }], active: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }] } });\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTabNavOperationComponent {\n constructor(cdr, elementRef) {\n this.cdr = cdr;\n this.elementRef = elementRef;\n this.items = [];\n this.addable = false;\n this.addIcon = 'plus';\n this.addClicked = new EventEmitter();\n this.selected = new EventEmitter();\n this.menuOpened = false;\n this.element = this.elementRef.nativeElement;\n }\n onSelect(item) {\n if (!item.disabled) {\n // ignore nzCanDeactivate\n item.tab.nzClick.emit();\n this.selected.emit(item);\n }\n }\n onContextmenu(item, e) {\n if (!item.disabled) {\n item.tab.nzContextmenu.emit(e);\n }\n }\n showItems() {\n clearTimeout(this.closeAnimationWaitTimeoutId);\n this.menuOpened = true;\n this.cdr.markForCheck();\n }\n menuVisChange(visible) {\n if (!visible) {\n this.closeAnimationWaitTimeoutId = setTimeout(() => {\n this.menuOpened = false;\n this.cdr.markForCheck();\n }, 150);\n }\n }\n getElementWidth() {\n return this.element?.offsetWidth || 0;\n }\n getElementHeight() {\n return this.element?.offsetHeight || 0;\n }\n ngOnDestroy() {\n clearTimeout(this.closeAnimationWaitTimeoutId);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabNavOperationComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"18.2.1\", type: NzTabNavOperationComponent, isStandalone: true, selector: \"nz-tab-nav-operation\", inputs: { items: \"items\", addable: [\"addable\", \"addable\", booleanAttribute], addIcon: \"addIcon\" }, outputs: { addClicked: \"addClicked\", selected: \"selected\" }, host: { properties: { \"class.ant-tabs-nav-operations-hidden\": \"items.length === 0\" }, classAttribute: \"ant-tabs-nav-operations\" }, exportAs: [\"nzTabNavOperation\"], ngImport: i0, template: `\n <button\n nz-dropdown\n class=\"ant-tabs-nav-more\"\n type=\"button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n nzOverlayClassName=\"nz-tabs-dropdown\"\n #dropdownTrigger=\"nzDropdown\"\n [nzDropdownMenu]=\"menu\"\n [nzOverlayStyle]=\"{ minWidth: '46px' }\"\n [nzMatchWidthElement]=\"null\"\n (nzVisibleChange)=\"menuVisChange($event)\"\n (mouseenter)=\"showItems()\"\n >\n <span nz-icon nzType=\"ellipsis\"></span>\n </button>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n @if (menuOpened) {\n <ul nz-menu>\n @for (item of items; track item) {\n <li\n nz-menu-item\n class=\"ant-tabs-dropdown-menu-item\"\n [class.ant-tabs-dropdown-menu-item-disabled]=\"item.disabled\"\n [nzSelected]=\"item.active\"\n [nzDisabled]=\"item.disabled\"\n (click)=\"onSelect(item)\"\n (contextmenu)=\"onContextmenu(item, $event)\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.tab.label; context: { visible: false }\">\n {{ item.tab.label }}\n </ng-container>\n </li>\n }\n </ul>\n }\n </nz-dropdown-menu>\n @if (addable) {\n <button nz-tab-add-button [addIcon]=\"addIcon\" (click)=\"addClicked.emit()\"></button>\n }\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: NzIconModule }, { kind: \"directive\", type: i2.NzIconDirective, selector: \"[nz-icon]\", inputs: [\"nzSpin\", \"nzRotate\", \"nzType\", \"nzTheme\", \"nzTwotoneColor\", \"nzIconfont\"], exportAs: [\"nzIcon\"] }, { kind: \"ngmodule\", type: NzOutletModule }, { kind: \"directive\", type: i1.NzStringTemplateOutletDirective, selector: \"[nzStringTemplateOutlet]\", inputs: [\"nzStringTemplateOutletContext\", \"nzStringTemplateOutlet\"], exportAs: [\"nzStringTemplateOutlet\"] }, { kind: \"component\", type: NzTabAddButtonComponent, selector: \"nz-tab-add-button, button[nz-tab-add-button]\", inputs: [\"addIcon\"] }, { kind: \"component\", type: NzDropdownMenuComponent, selector: \"nz-dropdown-menu\", exportAs: [\"nzDropdownMenu\"] }, { kind: \"ngmodule\", type: NzMenuModule }, { kind: \"directive\", type: i3.NzMenuDirective, selector: \"[nz-menu]\", inputs: [\"nzInlineIndent\", \"nzTheme\", \"nzMode\", \"nzInlineCollapsed\", \"nzSelectable\"], outputs: [\"nzClick\"], exportAs: [\"nzMenu\"] }, { kind: \"component\", type: i3.NzMenuItemComponent, selector: \"[nz-menu-item]\", inputs: [\"nzPaddingLeft\", \"nzDisabled\", \"nzSelected\", \"nzDanger\", \"nzMatchRouterExact\", \"nzMatchRouter\"], exportAs: [\"nzMenuItem\"] }, { kind: \"directive\", type: NzDropDownDirective, selector: \"[nz-dropdown]\", inputs: [\"nzDropdownMenu\", \"nzTrigger\", \"nzMatchWidthElement\", \"nzBackdrop\", \"nzClickHide\", \"nzDisabled\", \"nzVisible\", \"nzOverlayClassName\", \"nzOverlayStyle\", \"nzPlacement\"], outputs: [\"nzVisibleChange\"], exportAs: [\"nzDropdown\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabNavOperationComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'nz-tab-nav-operation',\n exportAs: 'nzTabNavOperation',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <button\n nz-dropdown\n class=\"ant-tabs-nav-more\"\n type=\"button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n nzOverlayClassName=\"nz-tabs-dropdown\"\n #dropdownTrigger=\"nzDropdown\"\n [nzDropdownMenu]=\"menu\"\n [nzOverlayStyle]=\"{ minWidth: '46px' }\"\n [nzMatchWidthElement]=\"null\"\n (nzVisibleChange)=\"menuVisChange($event)\"\n (mouseenter)=\"showItems()\"\n >\n <span nz-icon nzType=\"ellipsis\"></span>\n </button>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n @if (menuOpened) {\n <ul nz-menu>\n @for (item of items; track item) {\n <li\n nz-menu-item\n class=\"ant-tabs-dropdown-menu-item\"\n [class.ant-tabs-dropdown-menu-item-disabled]=\"item.disabled\"\n [nzSelected]=\"item.active\"\n [nzDisabled]=\"item.disabled\"\n (click)=\"onSelect(item)\"\n (contextmenu)=\"onContextmenu(item, $event)\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.tab.label; context: { visible: false }\">\n {{ item.tab.label }}\n </ng-container>\n </li>\n }\n </ul>\n }\n </nz-dropdown-menu>\n @if (addable) {\n <button nz-tab-add-button [addIcon]=\"addIcon\" (click)=\"addClicked.emit()\"></button>\n }\n `,\n host: {\n class: 'ant-tabs-nav-operations',\n '[class.ant-tabs-nav-operations-hidden]': 'items.length === 0'\n },\n imports: [\n NzIconModule,\n NzOutletModule,\n NzTabAddButtonComponent,\n NzDropdownMenuComponent,\n NzMenuModule,\n NzDropDownDirective\n ],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { items: [{\n type: Input\n }], addable: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], addIcon: [{\n type: Input\n }], addClicked: [{\n type: Output\n }], selected: [{\n type: Output\n }] } });\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst MIN_SWIPE_DISTANCE = 0.1;\nconst STOP_SWIPE_DISTANCE = 0.01;\nconst REFRESH_INTERVAL = 20;\nconst SPEED_OFF_MULTIPLE = 0.995 ** REFRESH_INTERVAL;\nclass NzTabScrollListDirective {\n constructor(ngZone, elementRef) {\n this.ngZone = ngZone;\n this.elementRef = elementRef;\n this.lastWheelDirection = null;\n this.lastWheelTimestamp = 0;\n this.lastTimestamp = 0;\n this.lastTimeDiff = 0;\n this.lastMixedWheel = 0;\n this.lastWheelPrevent = false;\n this.touchPosition = null;\n this.lastOffset = null;\n this.motion = -1;\n this.unsubscribe = () => void 0;\n this.offsetChange = new EventEmitter();\n this.tabScroll = new EventEmitter();\n this.onTouchEnd = (e) => {\n if (!this.touchPosition) {\n return;\n }\n const lastOffset = this.lastOffset;\n const lastTimeDiff = this.lastTimeDiff;\n this.lastOffset = this.touchPosition = null;\n if (lastOffset) {\n const distanceX = lastOffset.x / lastTimeDiff;\n const distanceY = lastOffset.y / lastTimeDiff;\n const absX = Math.abs(distanceX);\n const absY = Math.abs(distanceY);\n // Skip swipe if low distance\n if (Math.max(absX, absY) < MIN_SWIPE_DISTANCE) {\n return;\n }\n let currentX = distanceX;\n let currentY = distanceY;\n this.motion = window.setInterval(() => {\n if (Math.abs(currentX) < STOP_SWIPE_DISTANCE && Math.abs(currentY) < STOP_SWIPE_DISTANCE) {\n window.clearInterval(this.motion);\n return;\n }\n currentX *= SPEED_OFF_MULTIPLE;\n currentY *= SPEED_OFF_MULTIPLE;\n this.onOffset(currentX * REFRESH_INTERVAL, currentY * REFRESH_INTERVAL, e);\n }, REFRESH_INTERVAL);\n }\n };\n this.onTouchMove = (e) => {\n if (!this.touchPosition) {\n return;\n }\n e.preventDefault();\n const { screenX, screenY } = e.touches[0];\n const offsetX = screenX - this.touchPosition.x;\n const offsetY = screenY - this.touchPosition.y;\n this.onOffset(offsetX, offsetY, e);\n const now = Date.now();\n this.lastTimeDiff = now - this.lastTimestamp;\n this.lastTimestamp = now;\n this.lastOffset = { x: offsetX, y: offsetY };\n this.touchPosition = { x: screenX, y: screenY };\n };\n this.onTouchStart = (e) => {\n const { screenX, screenY } = e.touches[0];\n this.touchPosition = { x: screenX, y: screenY };\n window.clearInterval(this.motion);\n };\n this.onWheel = (e) => {\n const { deltaX, deltaY } = e;\n let mixed;\n const absX = Math.abs(deltaX);\n const absY = Math.abs(deltaY);\n if (absX === absY) {\n mixed = this.lastWheelDirection === 'x' ? deltaX : deltaY;\n }\n else if (absX > absY) {\n mixed = deltaX;\n this.lastWheelDirection = 'x';\n }\n else {\n mixed = deltaY;\n this.lastWheelDirection = 'y';\n }\n // Optimize mac touch scroll\n const now = Date.now();\n const absMixed = Math.abs(mixed);\n if (now - this.lastWheelTimestamp > 100 || absMixed - this.lastMixedWheel > 10) {\n this.lastWheelPrevent = false;\n }\n this.onOffset(-mixed, -mixed, e);\n if (e.defaultPrevented || this.lastWheelPrevent) {\n this.lastWheelPrevent = true;\n }\n this.lastWheelTimestamp = now;\n this.lastMixedWheel = absMixed;\n };\n }\n ngOnInit() {\n this.unsubscribe = this.ngZone.runOutsideAngular(() => {\n const el = this.elementRef.nativeElement;\n const wheel$ = fromEvent(el, 'wheel');\n const touchstart$ = fromEvent(el, 'touchstart');\n const touchmove$ = fromEvent(el, 'touchmove');\n const touchend$ = fromEvent(el, 'touchend');\n const subscription = new Subscription();\n subscription.add(this.subscribeWrap('wheel', wheel$, this.onWheel));\n subscription.add(this.subscribeWrap('touchstart', touchstart$, this.onTouchStart));\n subscription.add(this.subscribeWrap('touchmove', touchmove$, this.onTouchMove));\n subscription.add(this.subscribeWrap('touchend', touchend$, this.onTouchEnd));\n return () => {\n subscription.unsubscribe();\n };\n });\n }\n subscribeWrap(type, observable, handler) {\n return observable.subscribe(event => {\n this.tabScroll.emit({\n type,\n event\n });\n if (!event.defaultPrevented) {\n handler(event);\n }\n });\n }\n onOffset(x, y, event) {\n this.ngZone.run(() => {\n this.offsetChange.emit({\n x,\n y,\n event\n });\n });\n }\n ngOnDestroy() {\n this.unsubscribe();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabScrollListDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"18.2.1\", type: NzTabScrollListDirective, isStandalone: true, selector: \"[nzTabScrollList]\", outputs: { offsetChange: \"offsetChange\", tabScroll: \"tabScroll\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabScrollListDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[nzTabScrollList]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }], propDecorators: { offsetChange: [{\n type: Output\n }], tabScroll: [{\n type: Output\n }] } });\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst RESIZE_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\nconst CSS_TRANSFORM_TIME = 150;\nclass NzTabNavBarComponent {\n get selectedIndex() {\n return this._selectedIndex;\n }\n set selectedIndex(value) {\n const newValue = coerceNumberProperty(value);\n if (this._selectedIndex !== newValue) {\n this._selectedIndex = value;\n this.selectedIndexChanged = true;\n if (this.keyManager) {\n this.keyManager.updateActiveItem(value);\n }\n }\n }\n /** Tracks which element has focus; used for keyboard navigation */\n get focusIndex() {\n return this.keyManager ? this.keyManager.activeItemIndex : 0;\n }\n /** When the focus index is set, we must manually send focus to the correct label */\n set focusIndex(value) {\n if (!this.isValidIndex(value) || this.focusIndex === value || !this.keyManager) {\n return;\n }\n this.keyManager.setActiveItem(value);\n }\n get showAddButton() {\n return this.hiddenItems.length === 0 && this.addable;\n }\n constructor(cdr, ngZone, viewportRuler, nzResizeObserver, dir) {\n this.cdr = cdr;\n this.ngZone = ngZone;\n this.viewportRuler = viewportRuler;\n this.nzResizeObserver = nzResizeObserver;\n this.dir = dir;\n this.indexFocused = new EventEmitter();\n this.selectFocusedIndex = new EventEmitter();\n this.addClicked = new EventEmitter();\n this.tabScroll = new EventEmitter();\n this.position = 'horizontal';\n this.addable = false;\n this.hideBar = false;\n this.addIcon = 'plus';\n this.inkBarAnimated = true;\n this.translate = null;\n this.transformX = 0;\n this.transformY = 0;\n this.pingLeft = false;\n this.pingRight = false;\n this.pingTop = false;\n this.pingBottom = false;\n this.hiddenItems = [];\n this.destroy$ = new Subject();\n this._selectedIndex = 0;\n this.wrapperWidth = 0;\n this.wrapperHeight = 0;\n this.scrollListWidth = 0;\n this.scrollListHeight = 0;\n this.operationWidth = 0;\n this.operationHeight = 0;\n this.addButtonWidth = 0;\n this.addButtonHeight = 0;\n this.selectedIndexChanged = false;\n }\n ngAfterViewInit() {\n const dirChange = this.dir ? this.dir.change.asObservable() : of(null);\n const resize = this.viewportRuler.change(150);\n const realign = () => {\n this.updateScrollListPosition();\n this.alignInkBarToSelectedTab();\n };\n this.keyManager = new FocusKeyManager(this.items)\n .withHorizontalOrientation(this.getLayoutDirection())\n .withWrap();\n this.keyManager.updateActiveItem(this.selectedIndex);\n reqAnimFrame(realign);\n merge(this.nzResizeObserver.observe(this.navWarpRef), this.nzResizeObserver.observe(this.navListRef))\n .pipe(takeUntil(this.destroy$), auditTime(16, RESIZE_SCHEDULER))\n .subscribe(() => {\n realign();\n });\n merge(dirChange, resize, this.items.changes)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n Promise.resolve().then(realign);\n this.keyManager.withHorizontalOrientation(this.getLayoutDirection());\n });\n this.keyManager.change.pipe(takeUntil(this.destroy$)).subscribe(newFocusIndex => {\n this.indexFocused.emit(newFocusIndex);\n this.setTabFocus(newFocusIndex);\n this.scrollToTab(this.keyManager.activeItem);\n });\n }\n ngAfterContentChecked() {\n if (this.selectedIndexChanged) {\n this.updateScrollListPosition();\n this.alignInkBarToSelectedTab();\n this.selectedIndexChanged = false;\n this.cdr.markForCheck();\n }\n }\n ngOnDestroy() {\n clearTimeout(this.lockAnimationTimeoutId);\n clearTimeout(this.cssTransformTimeWaitingId);\n this.destroy$.next();\n this.destroy$.complete();\n }\n onSelectedFromMenu(tab) {\n const tabIndex = this.items.toArray().findIndex(e => e === tab);\n if (tabIndex !== -1) {\n this.keyManager.updateActiveItem(tabIndex);\n if (this.focusIndex !== this.selectedIndex) {\n this.selectFocusedIndex.emit(this.focusIndex);\n this.scrollToTab(tab);\n }\n }\n }\n onOffsetChange(e) {\n if (this.position === 'horizontal') {\n if (!this.lockAnimationTimeoutId) {\n if (this.transformX >= 0 && e.x > 0) {\n return;\n }\n if (this.transformX <= this.wrapperWidth - this.scrollListWidth && e.x < 0) {\n return;\n }\n }\n e.event.preventDefault();\n this.transformX = this.clampTransformX(this.transformX + e.x);\n this.setTransform(this.transformX, 0);\n }\n else {\n if (!this.lockAnimationTimeoutId) {\n if (this.transformY >= 0 && e.y > 0) {\n return;\n }\n if (this.transformY <= this.wrapperHeight - this.scrollListHeight && e.y < 0) {\n return;\n }\n }\n e.event.preventDefault();\n this.transformY = this.clampTransformY(this.transformY + e.y);\n this.setTransform(0, this.transformY);\n }\n this.lockAnimation();\n this.setVisibleRange();\n this.setPingStatus();\n }\n handleKeydown(event) {\n const inNavigationList = this.navWarpRef.nativeElement.contains(event.target);\n if (hasModifierKey(event) || !inNavigationList) {\n return;\n }\n switch (event.keyCode) {\n case LEFT_ARROW:\n case UP_ARROW:\n case RIGHT_ARROW:\n case DOWN_ARROW:\n this.lockAnimation();\n this.keyManager.onKeydown(event);\n break;\n case ENTER:\n case SPACE:\n if (this.focusIndex !== this.selectedIndex) {\n this.selectFocusedIndex.emit(this.focusIndex);\n }\n break;\n default:\n this.keyManager.onKeydown(event);\n }\n }\n isValidIndex(index) {\n if (!this.items) {\n return true;\n }\n const tab = this.items ? this.items.toArray()[index] : null;\n return !!tab && !tab.disabled;\n }\n scrollToTab(tab) {\n if (!this.items.find(e => e === tab)) {\n return;\n }\n const tabs = this.items.toArray();\n if (this.position === 'horizontal') {\n let newTransform = this.transformX;\n if (this.getLayoutDirection() === 'rtl') {\n const right = tabs[0].left + tabs[0].width - tab.left - tab.width;\n if (right < this.transformX) {\n newTransform = right;\n }\n else if (right + tab.width > this.transformX + this.wrapperWidth) {\n newTransform = right + tab.width - this.wrapperWidth;\n }\n }\n else if (tab.left < -this.transformX) {\n newTransform = -tab.left;\n }\n else if (tab.left + tab.width > -this.transformX + this.wrapperWidth) {\n newTransform = -(tab.left + tab.width - this.wrapperWidth);\n }\n this.transformX = newTransform;\n this.transformY = 0;\n this.setTransform(newTransform, 0);\n }\n else {\n let newTransform = this.transformY;\n if (tab.top < -this.transformY) {\n newTransform = -tab.top;\n }\n else if (tab.top + tab.height > -this.transformY + this.wrapperHeight) {\n newTransform = -(tab.top + tab.height - this.wrapperHeight);\n }\n this.transformY = newTransform;\n this.transformX = 0;\n this.setTransform(0, newTransform);\n }\n clearTimeout(this.cssTransformTimeWaitingId);\n this.cssTransformTimeWaitingId = setTimeout(() => {\n this.setVisibleRange();\n }, CSS_TRANSFORM_TIME);\n }\n lockAnimation() {\n if (!this.lockAnimationTimeoutId) {\n this.ngZone.runOutsideAngular(() => {\n this.navListRef.nativeElement.style.transition = 'none';\n this.lockAnimationTimeoutId = setTimeout(() => {\n this.navListRef.nativeElement.style.transition = '';\n this.lockAnimationTimeoutId = undefined;\n }, CSS_TRANSFORM_TIME);\n });\n }\n }\n setTransform(x, y) {\n this.navListRef.nativeElement.style.transform = `translate(${x}px, ${y}px)`;\n }\n clampTransformX(transform) {\n const scrollWidth = this.wrapperWidth - this.scrollListWidth;\n if (this.getLayoutDirection() === 'rtl') {\n return Math.max(Math.min(scrollWidth, transform), 0);\n }\n else {\n return Math.min(Math.max(scrollWidth, transform), 0);\n }\n }\n clampTransformY(transform) {\n return Math.min(Math.max(this.wrapperHeight - this.scrollListHeight, transform), 0);\n }\n updateScrollListPosition() {\n this.resetSizes();\n this.transformX = this.clampTransformX(this.transformX);\n this.transformY = this.clampTransformY(this.transformY);\n this.setVisibleRange();\n this.setPingStatus();\n if (this.keyManager) {\n this.keyManager.updateActiveItem(this.keyManager.activeItemIndex);\n if (this.keyManager.activeItem) {\n this.scrollToTab(this.keyManager.activeItem);\n }\n }\n }\n resetSizes() {\n this.addButtonWidth = this.addBtnRef ? this.addBtnRef.getElementWidth() : 0;\n this.addButtonHeight = this.addBtnRef ? this.addBtnRef.getElementHeight() : 0;\n this.operationWidth = this.operationRef.getElementWidth();\n this.operationHeight = this.operationRef.getElementHeight();\n this.wrapperWidth = this.navWarpRef.nativeElement.offsetWidth || 0;\n this.wrapperHeight = this.navWarpRef.nativeElement.offsetHeight || 0;\n this.scrollListHeight = this.navListRef.nativeElement.offsetHeight || 0;\n this.scrollListWidth = this.navListRef.nativeElement.offsetWidth || 0;\n }\n alignInkBarToSelectedTab() {\n const selectedItem = this.items && this.items.length ? this.items.toArray()[this.selectedIndex] : null;\n const selectedItemElement = selectedItem ? selectedItem.elementRef.nativeElement : null;\n if (selectedItemElement) {\n /**\n * .ant-tabs-nav-list - Target offset parent element\n * └──.ant-tabs-tab\n * └──.ant-tabs-tab-btn - Currently focused element\n */\n this.inkBar.alignToElement(selectedItemElement.parentElement);\n }\n }\n setPingStatus() {\n const ping = {\n top: false,\n right: false,\n bottom: false,\n left: false\n };\n const navWarp = this.navWarpRef.nativeElement;\n if (this.position === 'horizontal') {\n if (this.getLayoutDirection() === 'rtl') {\n ping.right = this.transformX > 0;\n ping.left = this.transformX + this.wrapperWidth < this.scrollListWidth;\n }\n else {\n ping.left = this.transformX < 0;\n ping.right = -this.transformX + this.wrapperWidth < this.scrollListWidth;\n }\n }\n else {\n ping.top = this.transformY < 0;\n ping.bottom = -this.transformY + this.wrapperHeight < this.scrollListHeight;\n }\n Object.keys(ping).forEach(pos => {\n const className = `ant-tabs-nav-wrap-ping-${pos}`;\n if (ping[pos]) {\n navWarp.classList.add(className);\n }\n else {\n navWarp.classList.remove(className);\n }\n });\n }\n setVisibleRange() {\n let unit;\n let position;\n let transformSize;\n let basicSize;\n let tabContentSize;\n let addSize;\n const tabs = this.items.toArray();\n const DEFAULT_SIZE = { width: 0, height: 0, left: 0, top: 0, right: 0 };\n const getOffset = (index) => {\n let offset;\n const size = tabs[index] || DEFAULT_SIZE;\n if (position === 'right') {\n offset = tabs[0].left + tabs[0].width - tabs[index].left - tabs[index].width;\n }\n else {\n offset = size[position];\n }\n return offset;\n };\n if (this.position === 'horizontal') {\n unit = 'width';\n basicSize = this.wrapperWidth;\n tabContentSize = this.scrollListWidth - (this.hiddenItems.length ? this.operationWidth : 0);\n addSize = this.addButtonWidth;\n transformSize = Math.abs(this.transformX);\n if (this.getLayoutDirection() === 'rtl') {\n position = 'right';\n this.pingRight = this.transformX > 0;\n this.pingLeft = this.transformX + this.wrapperWidth < this.scrollListWidth;\n }\n else {\n this.pingLeft = this.transformX < 0;\n this.pingRight = -this.transformX + this.wrapperWidth < this.scrollListWidth;\n position = 'left';\n }\n }\n else {\n unit = 'height';\n basicSize = this.wrapperHeight;\n tabContentSize = this.scrollListHeight - (this.hiddenItems.length ? this.operationHeight : 0);\n addSize = this.addButtonHeight;\n position = 'top';\n transformSize = -this.transformY;\n this.pingTop = this.transformY < 0;\n this.pingBottom = -this.transformY + this.wrapperHeight < this.scrollListHeight;\n }\n let mergedBasicSize = basicSize;\n if (tabContentSize + addSize > basicSize) {\n mergedBasicSize = basicSize - addSize;\n }\n if (!tabs.length) {\n this.hiddenItems = [];\n this.cdr.markForCheck();\n return;\n }\n const len = tabs.length;\n let endIndex = len;\n for (let i = 0; i < len; i += 1) {\n const offset = getOffset(i);\n const size = tabs[i] || DEFAULT_SIZE;\n if (offset + size[unit] > transformSize + mergedBasicSize) {\n endIndex = i - 1;\n break;\n }\n }\n let startIndex = 0;\n for (let i = len - 1; i >= 0; i -= 1) {\n const offset = getOffset(i);\n if (offset < transformSize) {\n startIndex = i + 1;\n break;\n }\n }\n const startHiddenTabs = tabs.slice(0, startIndex);\n const endHiddenTabs = tabs.slice(endIndex + 1);\n this.hiddenItems = [...startHiddenTabs, ...endHiddenTabs];\n this.cdr.markForCheck();\n }\n getLayoutDirection() {\n return this.dir && this.dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n setTabFocus(_tabIndex) { }\n ngOnChanges(changes) {\n const { position } = changes;\n // The first will be aligning in ngAfterViewInit\n if (position && !position.isFirstChange()) {\n this.alignInkBarToSelectedTab();\n this.lockAnimation();\n this.updateScrollListPosition();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabNavBarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1$1.ViewportRuler }, { token: i2$1.NzResizeObserver }, { token: i3$1.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"18.2.1\", type: NzTabNavBarComponent, isStandalone: true, selector: \"nz-tabs-nav\", inputs: { position: \"position\", addable: [\"addable\", \"addable\", booleanAttribute], hideBar: [\"hideBar\", \"hideBar\", booleanAttribute], addIcon: \"addIcon\", inkBarAnimated: \"inkBarAnimated\", extraTemplate: \"extraTemplate\", selectedIndex: \"selectedIndex\" }, outputs: { indexFocused: \"indexFocused\", selectFocusedIndex: \"selectFocusedIndex\", addClicked: \"addClicked\", tabScroll: \"tabScroll\" }, host: { listeners: { \"keydown\": \"handleKeydown($event)\" }, classAttribute: \"ant-tabs-nav\" }, queries: [{ propertyName: \"items\", predicate: NzTabNavItemDirective, descendants: true }], viewQueries: [{ propertyName: \"navWarpRef\", first: true, predicate: [\"navWarp\"], descendants: true, static: true }, { propertyName: \"navListRef\", first: true, predicate: [\"navList\"], descendants: true, static: true }, { propertyName: \"operationRef\", first: true, predicate: NzTabNavOperationComponent, descendants: true, static: true }, { propertyName: \"addBtnRef\", first: true, predicate: NzTabAddButtonComponent, descendants: true }, { propertyName: \"inkBar\", first: true, predicate: NzTabsInkBarDirective, descendants: true, static: true }], exportAs: [\"nzTabsNav\"], usesOnChanges: true, ngImport: i0, template: `\n <div\n class=\"ant-tabs-nav-wrap\"\n [class.ant-tabs-nav-wrap-ping-left]=\"pingLeft\"\n [class.ant-tabs-nav-wrap-ping-right]=\"pingRight\"\n [class.ant-tabs-nav-wrap-ping-top]=\"pingTop\"\n [class.ant-tabs-nav-wrap-ping-bottom]=\"pingBottom\"\n #navWarp\n >\n <div\n class=\"ant-tabs-nav-list\"\n #navList\n nzTabScrollList\n (offsetChange)=\"onOffsetChange($event)\"\n (tabScroll)=\"tabScroll.emit($event)\"\n role=\"tablist\"\n >\n <ng-content></ng-content>\n @if (showAddButton) {\n <button\n role=\"tab\"\n [attr.tabindex]=\"-1\"\n nz-tab-add-button\n [addIcon]=\"addIcon\"\n (click)=\"addClicked.emit()\"\n ></button>\n }\n <div nz-tabs-ink-bar [hidden]=\"hideBar\" [position]=\"position\" [animated]=\"inkBarAnimated\"></div>\n </div>\n </div>\n <nz-tab-nav-operation\n (addClicked)=\"addClicked.emit()\"\n (selected)=\"onSelectedFromMenu($event)\"\n [addIcon]=\"addIcon\"\n [addable]=\"addable\"\n [items]=\"hiddenItems\"\n ></nz-tab-nav-operation>\n @if (extraTemplate) {\n <div class=\"ant-tabs-extra-content\">\n <ng-template [ngTemplateOutlet]=\"extraTemplate\"></ng-template>\n </div>\n }\n `, isInline: true, dependencies: [{ kind: \"directive\", type: NzTabScrollListDirective, selector: \"[nzTabScrollList]\", outputs: [\"offsetChange\", \"tabScroll\"] }, { kind: \"component\", type: NzTabAddButtonComponent, selector: \"nz-tab-add-button, button[nz-tab-add-button]\", inputs: [\"addIcon\"] }, { kind: \"directive\", type: NzTabsInkBarDirective, selector: \"nz-tabs-ink-bar, [nz-tabs-ink-bar]\", inputs: [\"position\", \"animated\"] }, { kind: \"component\", type: NzTabNavOperationComponent, selector: \"nz-tab-nav-operation\", inputs: [\"items\", \"addable\", \"addIcon\"], outputs: [\"addClicked\", \"selected\"], exportAs: [\"nzTabNavOperation\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabNavBarComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'nz-tabs-nav',\n exportAs: 'nzTabsNav',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <div\n class=\"ant-tabs-nav-wrap\"\n [class.ant-tabs-nav-wrap-ping-left]=\"pingLeft\"\n [class.ant-tabs-nav-wrap-ping-right]=\"pingRight\"\n [class.ant-tabs-nav-wrap-ping-top]=\"pingTop\"\n [class.ant-tabs-nav-wrap-ping-bottom]=\"pingBottom\"\n #navWarp\n >\n <div\n class=\"ant-tabs-nav-list\"\n #navList\n nzTabScrollList\n (offsetChange)=\"onOffsetChange($event)\"\n (tabScroll)=\"tabScroll.emit($event)\"\n role=\"tablist\"\n >\n <ng-content></ng-content>\n @if (showAddButton) {\n <button\n role=\"tab\"\n [attr.tabindex]=\"-1\"\n nz-tab-add-button\n [addIcon]=\"addIcon\"\n (click)=\"addClicked.emit()\"\n ></button>\n }\n <div nz-tabs-ink-bar [hidden]=\"hideBar\" [position]=\"position\" [animated]=\"inkBarAnimated\"></div>\n </div>\n </div>\n <nz-tab-nav-operation\n (addClicked)=\"addClicked.emit()\"\n (selected)=\"onSelectedFromMenu($event)\"\n [addIcon]=\"addIcon\"\n [addable]=\"addable\"\n [items]=\"hiddenItems\"\n ></nz-tab-nav-operation>\n @if (extraTemplate) {\n <div class=\"ant-tabs-extra-content\">\n <ng-template [ngTemplateOutlet]=\"extraTemplate\"></ng-template>\n </div>\n }\n `,\n host: {\n class: 'ant-tabs-nav',\n '(keydown)': 'handleKeydown($event)'\n },\n imports: [\n NzTabScrollListDirective,\n NzTabAddButtonComponent,\n NzTabsInkBarDirective,\n NzTabNavOperationComponent,\n NgTemplateOutlet\n ],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1$1.ViewportRuler }, { type: i2$1.NzResizeObserver }, { type: i3$1.Directionality }], propDecorators: { indexFocused: [{\n type: Output\n }], selectFocusedIndex: [{\n type: Output\n }], addClicked: [{\n type: Output\n }], tabScroll: [{\n type: Output\n }], position: [{\n type: Input\n }], addable: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], hideBar: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], addIcon: [{\n type: Input\n }], inkBarAnimated: [{\n type: Input\n }], extraTemplate: [{\n type: Input\n }], selectedIndex: [{\n type: Input\n }], navWarpRef: [{\n type: ViewChild,\n args: ['navWarp', { static: true }]\n }], navListRef: [{\n type: ViewChild,\n args: ['navList', { static: true }]\n }], operationRef: [{\n type: ViewChild,\n args: [NzTabNavOperationComponent, { static: true }]\n }], addBtnRef: [{\n type: ViewChild,\n args: [NzTabAddButtonComponent, { static: false }]\n }], inkBar: [{\n type: ViewChild,\n args: [NzTabsInkBarDirective, { static: true }]\n }], items: [{\n type: ContentChildren,\n args: [NzTabNavItemDirective, { descendants: true }]\n }] } });\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTabBodyComponent {\n constructor() {\n this.content = null;\n this.active = false;\n this.animated = true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"18.2.1\", type: NzTabBodyComponent, isStandalone: true, selector: \"[nz-tab-body]\", inputs: { content: \"content\", active: \"active\", animated: \"animated\" }, host: { properties: { \"class.ant-tabs-tabpane-active\": \"active\", \"class.ant-tabs-tabpane-hidden\": \"animated ? null : !active\", \"attr.tabindex\": \"active ? 0 : -1\", \"attr.aria-hidden\": \"!active\", \"style.overflow-y\": \"animated ? active ? null : \\\"none\\\" : null\", \"@tabSwitchMotion\": \"active ? 'enter' : 'leave'\", \"@.disabled\": \"!animated\" }, classAttribute: \"ant-tabs-tabpane\" }, exportAs: [\"nzTabBody\"], ngImport: i0, template: ` <ng-template [ngTemplateOutlet]=\"content\"></ng-template> `, isInline: true, dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }], animations: [tabSwitchMotion], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabBodyComponent, decorators: [{\n type: Component,\n args: [{\n selector: '[nz-tab-body]',\n exportAs: 'nzTabBody',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ` <ng-template [ngTemplateOutlet]=\"content\"></ng-template> `,\n host: {\n class: 'ant-tabs-tabpane',\n '[class.ant-tabs-tabpane-active]': 'active',\n '[class.ant-tabs-tabpane-hidden]': 'animated ? null : !active',\n '[attr.tabindex]': 'active ? 0 : -1',\n '[attr.aria-hidden]': '!active',\n '[style.overflow-y]': 'animated ? active ? null : \"none\" : null',\n '[@tabSwitchMotion]': `active ? 'enter' : 'leave'`,\n '[@.disabled]': `!animated`\n },\n imports: [NgTemplateOutlet],\n standalone: true,\n animations: [tabSwitchMotion]\n }]\n }], propDecorators: { content: [{\n type: Input\n }], active: [{\n type: Input\n }], animated: [{\n type: Input\n }] } });\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTabCloseButtonComponent {\n constructor() {\n this.closeIcon = 'close';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabCloseButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"18.2.1\", type: NzTabCloseButtonComponent, isStandalone: true, selector: \"nz-tab-close-button, button[nz-tab-close-button]\", inputs: { closeIcon: \"closeIcon\" }, host: { attributes: { \"aria-label\": \"Close tab\", \"type\": \"button\" }, classAttribute: \"ant-tabs-tab-remove\" }, ngImport: i0, template: `\n <ng-container *nzStringTemplateOutlet=\"closeIcon; let icon\">\n <span nz-icon [nzType]=\"icon\" nzTheme=\"outline\"></span>\n </ng-container>\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: NzOutletModule }, { kind: \"directive\", type: i1.NzStringTemplateOutletDirective, selector: \"[nzStringTemplateOutlet]\", inputs: [\"nzStringTemplateOutletContext\", \"nzStringTemplateOutlet\"], exportAs: [\"nzStringTemplateOutlet\"] }, { kind: \"ngmodule\", type: NzIconModule }, { kind: \"directive\", type: i2.NzIconDirective, selector: \"[nz-icon]\", inputs: [\"nzSpin\", \"nzRotate\", \"nzType\", \"nzTheme\", \"nzTwotoneColor\", \"nzIconfont\"], exportAs: [\"nzIcon\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabCloseButtonComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'nz-tab-close-button, button[nz-tab-close-button]',\n template: `\n <ng-container *nzStringTemplateOutlet=\"closeIcon; let icon\">\n <span nz-icon [nzType]=\"icon\" nzTheme=\"outline\"></span>\n </ng-container>\n `,\n host: {\n class: 'ant-tabs-tab-remove',\n 'aria-label': 'Close tab',\n type: 'button'\n },\n imports: [NzOutletModule, NzIconModule],\n standalone: true\n }]\n }], ctorParameters: () => [], propDecorators: { closeIcon: [{\n type: Input\n }] } });\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * Fix https://github.com/angular/angular/issues/8563\n */\nclass NzTabLinkTemplateDirective {\n constructor() {\n this.templateRef = inject(TemplateRef, { host: true });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabLinkTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"18.2.1\", type: NzTabLinkTemplateDirective, isStandalone: true, selector: \"ng-template[nzTabLink]\", exportAs: [\"nzTabLinkTemplate\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabLinkTemplateDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'ng-template[nzTabLink]',\n exportAs: 'nzTabLinkTemplate',\n standalone: true\n }]\n }] });\n/**\n * This component is for catching `routerLink` directive.\n */\nclass NzTabLinkDirective {\n constructor(elementRef) {\n this.elementRef = elementRef;\n this.routerLink = inject(RouterLink, { self: true, optional: true });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabLinkDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"18.2.1\", type: NzTabLinkDirective, isStandalone: true, selector: \"a[nz-tab-link]\", exportAs: [\"nzTabLink\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabLinkDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'a[nz-tab-link]',\n exportAs: 'nzTabLink',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/** Decorates the `ng-template` tags and reads out the template from it. */\nclass NzTabDirective {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"18.2.1\", type: NzTabDirective, isStandalone: true, selector: \"[nz-tab]\", exportAs: [\"nzTab\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[nz-tab]',\n exportAs: 'nzTab',\n standalone: true\n }]\n }] });\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * Used to provide a tab set to a tab without causing a circular dependency.\n */\nconst NZ_TAB_SET = new InjectionToken('NZ_TAB_SET');\nclass NzTabComponent {\n constructor() {\n this.nzTitle = '';\n this.nzClosable = false;\n this.nzCloseIcon = 'close';\n this.nzDisabled = false;\n this.nzForceRender = false;\n this.nzSelect = new EventEmitter();\n this.nzDeselect = new EventEmitter();\n this.nzClick = new EventEmitter();\n this.nzContextmenu = new EventEmitter();\n this.template = null;\n this.isActive = false;\n this.hasBeenActive = false;\n this.position = null;\n this.origin = null;\n this.closestTabSet = inject(NZ_TAB_SET);\n this.stateChanges = new Subject();\n }\n get content() {\n return this.template || this.contentTemplate;\n }\n get label() {\n return this.nzTitle || this.nzTabLinkTemplateDirective?.templateRef;\n }\n ngOnChanges(changes) {\n const { nzTitle, nzDisabled, nzForceRender } = changes;\n if (nzTitle || nzDisabled || nzForceRender) {\n this.stateChanges.next();\n }\n }\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n setActive(active) {\n this.isActive = active;\n if (active) {\n this.hasBeenActive = true;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"16.1.0\", version: \"18.2.1\", type: NzTabComponent, isStandalone: true, selector: \"nz-tab\", inputs: { nzTitle: \"nzTitle\", nzClosable: [\"nzClosable\", \"nzClosable\", booleanAttribute], nzCloseIcon: \"nzCloseIcon\", nzDisabled: [\"nzDisabled\", \"nzDisabled\", booleanAttribute], nzForceRender: [\"nzForceRender\", \"nzForceRender\", booleanAttribute] }, outputs: { nzSelect: \"nzSelect\", nzDeselect: \"nzDeselect\", nzClick: \"nzClick\", nzContextmenu: \"nzContextmenu\" }, queries: [{ propertyName: \"nzTabLinkTemplateDirective\", first: true, predicate: NzTabLinkTemplateDirective, descendants: true }, { propertyName: \"template\", first: true, predicate: NzTabDirective, descendants: true, read: TemplateRef }, { propertyName: \"linkDirective\", first: true, predicate: NzTabLinkDirective, descendants: true }], viewQueries: [{ propertyName: \"contentTemplate\", first: true, predicate: [\"contentTemplate\"], descendants: true, static: true }], exportAs: [\"nzTab\"], usesOnChanges: true, ngImport: i0, template: `\n <ng-template #tabLinkTemplate>\n <ng-content select=\"[nz-tab-link]\"></ng-content>\n </ng-template>\n <ng-template #contentTemplate><ng-content></ng-content></ng-template>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'nz-tab',\n exportAs: 'nzTab',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-template #tabLinkTemplate>\n <ng-content select=\"[nz-tab-link]\"></ng-content>\n </ng-template>\n <ng-template #contentTemplate><ng-content></ng-content></ng-template>\n `,\n standalone: true\n }]\n }], propDecorators: { nzTitle: [{\n type: Input\n }], nzClosable: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], nzCloseIcon: [{\n type: Input\n }], nzDisabled: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], nzForceRender: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], nzSelect: [{\n type: Output\n }], nzDeselect: [{\n type: Output\n }], nzClick: [{\n type: Output\n }], nzContextmenu: [{\n type: Output\n }], nzTabLinkTemplateDirective: [{\n type: ContentChild,\n args: [NzTabLinkTemplateDirective, { static: false }]\n }], template: [{\n type: ContentChild,\n args: [NzTabDirective, { static: false, read: TemplateRef }]\n }], linkDirective: [{\n type: ContentChild,\n args: [NzTabLinkDirective, { static: false }]\n }], contentTemplate: [{\n type: ViewChild,\n args: ['contentTemplate', { static: true }]\n }] } });\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTabChangeEvent {\n}\n\nconst NZ_CONFIG_MODULE_NAME = 'tabs';\nlet nextId = 0;\nclass NzTabSetComponent {\n get nzSelectedIndex() {\n return this.selectedIndex;\n }\n set nzSelectedIndex(value) {\n this.indexToSelect = coerceNumberProperty(value, null);\n }\n get position() {\n return ['top', 'bottom'].indexOf(this.nzTabPosition) === -1 ? 'vertical' : 'horizontal';\n }\n get addable() {\n return this.nzType === 'editable-card' && !this.nzHideAdd;\n }\n get closable() {\n return this.nzType === 'editable-card';\n }\n get line() {\n return this.nzType === 'line';\n }\n get inkBarAnimated() {\n return this.line && (typeof this.nzAnimated === 'boolean' ? this.nzAnimated : this.nzAnimated.inkBar);\n }\n get tabPaneAnimated() {\n return typeof this.nzAnimated === 'boolean' ? this.nzAnimated : this.nzAnimated.tabPane;\n }\n constructor(nzConfigService, ngZone, cdr, directionality) {\n this.nzConfigService = nzConfigService;\n this.ngZone = ngZone;\n this.cdr = cdr;\n this.directionality = directionality;\n this._nzModuleName = NZ_CONFIG_MODULE_NAME;\n this.nzTabPosition = 'top';\n this.nzCanDeactivate = null;\n this.nzAddIcon = 'plus';\n this.nzTabBarStyle = null;\n this.nzType = 'line';\n this.nzSize = 'default';\n this.nzAnimated = true;\n this.nzTabBarGutter = undefined;\n this.nzHideAdd = false;\n this.nzCentered = false;\n this.nzHideAll = false;\n this.nzLinkRouter = false;\n this.nzLinkExact = true;\n this.nzDestroyInactiveTabPane = false;\n this.nzSelectChange = new EventEmitter(true);\n this.nzSelectedIndexChange = new EventEmitter();\n this.nzTabListScroll = new EventEmitter();\n this.nzClose = new EventEmitter();\n this.nzAdd = new EventEmitter();\n // Pick up only direct descendants under ivy rendering engine\n // We filter out only the tabs that belong to this tab set in `tabs`.\n this.allTabs = new QueryList();\n // All the direct tabs for this tab set\n this.tabs = new QueryList();\n this.dir = 'ltr';\n this.destroy$ = new Subject();\n this.indexToSelect = 0;\n this.selectedIndex = null;\n this.tabLabelSubscription = Subscription.EMPTY;\n this.tabsSubscription = Subscription.EMPTY;\n this.canDeactivateSubscription = Subscription.EMPTY;\n this.router = inject(Router, { optional: true });\n this.tabSetId = nextId++;\n }\n ngOnInit() {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n this.tabs.destroy();\n this.tabLabelSubscription.unsubscribe();\n this.tabsSubscription.unsubscribe();\n this.canDeactivateSubscription.unsubscribe();\n }\n ngAfterContentInit() {\n this.ngZone.runOutsideAngular(() => {\n Promise.resolve().then(() => this.setUpRouter());\n });\n this.subscribeToTabLabels();\n this.subscribeToAllTabChanges();\n // Subscribe to changes in the amount of tabs, in order to be\n // able to re-render the content as new tabs are added or removed.\n this.tabsSubscription = this.tabs.changes.subscribe(() => {\n const indexToSelect = this.clampTabIndex(this.indexToSelect);\n // Maintain the previously-selected tab if a new tab is added or removed and there is no\n // explicit change that selects a different tab.\n if (indexToSelect === this.selectedIndex) {\n const tabs = this.tabs.toArray();\n for (let i = 0; i < tabs.length; i++) {\n if (tabs[i].isActive) {\n // Assign both to the `indexToSelect` and `selectedIndex` so we don't fire a changed\n // event, otherwise the consumer may end up in an infinite loop in some edge cases like\n // adding a tab within the `nzSelectedIndexChange` event.\n this.indexToSelect = this.selectedIndex = i;\n break;\n }\n }\n }\n this.subscribeToTabLabels();\n this.cdr.markForCheck();\n });\n }\n ngAfterContentChecked() {\n // Don't clamp the `indexToSelect` immediately in the setter because it can happen that\n // the amount of tabs changes before the actual change detection runs.\n const indexToSelect = (this.indexToSelect = this.clampTabIndex(this.indexToSelect));\n // If there is a change in selected index, emit a change event. Should not trigger if\n // the selected index has not yet been initialized.\n if (this.selectedIndex !== indexToSelect) {\n const isFirstRun = this.selectedIndex == null;\n if (!isFirstRun) {\n this.nzSelectChange.emit(this.createChangeEvent(indexToSelect));\n }\n // Changing these values after change detection has run\n // since the checked content may contain references to them.\n Promise.resolve().then(() => {\n this.tabs.forEach((tab, index) => tab.setActive(index === indexToSelect));\n if (!isFirstRun) {\n this.nzSelectedIndexChange.emit(indexToSelect);\n }\n });\n }\n // Setup the position for each tab and optionally setup an origin on the next selected tab.\n this.tabs.forEach((tab, index) => {\n tab.position = index - indexToSelect;\n // If there is already a selected tab, then set up an origin for the next selected tab\n // if it doesn't have one already.\n if (this.selectedIndex != null && tab.position === 0 && !tab.origin) {\n tab.origin = indexToSelect - this.selectedIndex;\n }\n });\n if (this.selectedIndex !== indexToSelect) {\n this.selectedIndex = indexToSelect;\n this.cdr.markForCheck();\n }\n }\n onClose(index, e) {\n e.preventDefault();\n e.stopPropagation();\n this.nzClose.emit({ index });\n }\n onAdd() {\n this.nzAdd.emit();\n }\n clampTabIndex(index) {\n return Math.min(this.tabs.length - 1, Math.max(index || 0, 0));\n }\n createChangeEvent(index) {\n const event = new NzTabChangeEvent();\n event.index = index;\n if (this.tabs && this.tabs.length) {\n event.tab = this.tabs.toArray()[index];\n this.tabs.forEach((tab, i) => {\n if (i !== index) {\n tab.nzDeselect.emit();\n }\n });\n event.tab.nzSelect.emit();\n }\n return event;\n }\n subscribeToTabLabels() {\n if (this.tabLabelSubscription) {\n this.tabLabelSubscription.unsubscribe();\n }\n this.tabLabelSubscription = merge(...this.tabs.map(tab => tab.stateChanges)).subscribe(() => this.cdr.markForCheck());\n }\n subscribeToAllTabChanges() {\n this.allTabs.changes.pipe(startWith(this.allTabs)).subscribe((tabs) => {\n this.tabs.reset(tabs.filter(tab => tab.closestTabSet === this));\n this.tabs.notifyOnChanges();\n });\n }\n canDeactivateFun(pre, next) {\n if (typeof this.nzCanDeactivate === 'function') {\n const observable = wrapIntoObservable(this.nzCanDeactivate(pre, next));\n return observable.pipe(first(), takeUntil(this.destroy$));\n }\n else {\n return of(true);\n }\n }\n clickNavItem(tab, index, e) {\n if (!tab.nzDisabled) {\n // ignore nzCanDeactivate\n tab.nzClick.emit();\n if (!this.isRouterLinkClickEvent(index, e)) {\n this.setSelectedIndex(index);\n }\n }\n }\n isRouterLinkClickEvent(index, event) {\n const target = event.target;\n if (this.nzLinkRouter) {\n return !!this.tabs.toArray()[index]?.linkDirective?.elementRef.nativeElement.contains(target);\n }\n else {\n return false;\n }\n }\n contextmenuNavItem(tab, e) {\n if (!tab.nzDisabled) {\n // ignore nzCanDeactivate\n tab.nzContextmenu.emit(e);\n }\n }\n setSelectedIndex(index) {\n this.canDeactivateSubscription.unsubscribe();\n this.canDeactivateSubscription = this.canDeactivateFun(this.selectedIndex, index).subscribe(can => {\n if (can) {\n this.nzSelectedIndex = index;\n this.tabNavBarRef.focusIndex = index;\n this.cdr.markForCheck();\n }\n });\n }\n getTabIndex(tab, index) {\n if (tab.nzDisabled) {\n return null;\n }\n return this.selectedIndex === index ? 0 : -1;\n }\n getTabContentId(i) {\n return `nz-tabs-${this.tabSetId}-tab-${i}`;\n }\n setUpRouter() {\n if (this.nzLinkRouter) {\n if (!this.router) {\n throw new Error(`${PREFIX} you should import 'RouterModule' if you want to use 'nzLinkRouter'!`);\n }\n this.router.events\n .pipe(takeUntil(this.destroy$), filter(e => e instanceof NavigationEnd), startWith(true), delay(0))\n .subscribe(() => {\n this.updateRouterActive();\n this.cdr.markForCheck();\n });\n }\n }\n updateRouterActive() {\n if (this.router?.navigated) {\n const index = this.findShouldActiveTabIndex();\n if (index !== this.selectedIndex) {\n this.setSelectedIndex(index);\n }\n this.nzHideAll = index === -1;\n }\n }\n findShouldActiveTabIndex() {\n const tabs = this.tabs.toArray();\n const isActive = this.isLinkActive(this.router);\n return tabs.findIndex(tab => {\n const c = tab.linkDirective;\n return c ? isActive(c.routerLink) : false;\n });\n }\n isLinkActive(router) {\n return (link) => link\n ? !!router?.isActive(link.urlTree || '', {\n paths: this.nzLinkExact ? 'exact' : 'subset',\n queryParams: this.nzLinkExact ? 'exact' : 'subset',\n fragment: 'ignored',\n matrixParams: 'ignored'\n })\n : false;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabSetComponent, deps: [{ token: i1$2.NzConfigService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i3$1.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"18.2.1\", type: NzTabSetComponent, isStandalone: true, selector: \"nz-tabset\", inputs: { nzSelectedIndex: \"nzSelectedIndex\", nzTabPosition: \"nzTabPosition\", nzTabBarExtraContent: \"nzTabBarExtraContent\", nzCanDeactivate: \"nzCanDeactivate\", nzAddIcon: \"nzAddIcon\", nzTabBarStyle: \"nzTabBarStyle\", nzType: \"nzType\", nzSize: \"nzSize\", nzAnimated: \"nzAnimated\", nzTabBarGutter: \"nzTabBarGutter\", nzHideAdd: [\"nzHideAdd\", \"nzHideAdd\", booleanAttribute], nzCentered: [\"nzCentered\", \"nzCentered\", booleanAttribute], nzHideAll: [\"nzHideAll\", \"nzHideAll\", booleanAttribute], nzLinkRouter: [\"nzLinkRouter\", \"nzLinkRouter\", booleanAttribute], nzLinkExact: [\"nzLinkExact\", \"nzLinkExact\", booleanAttribute], nzDestroyInactiveTabPane: [\"nzDestroyInactiveTabPane\", \"nzDestroyInactiveTabPane\", booleanAttribute] }, outputs: { nzSelectChange: \"nzSelectChange\", nzSelectedIndexChange: \"nzSelectedIndexChange\", nzTabListScroll: \"nzTabListScroll\", nzClose: \"nzClose\", nzAdd: \"nzAdd\" }, host: { properties: { \"class.ant-tabs-card\": \"nzType === 'card' || nzType === 'editable-card'\", \"class.ant-tabs-editable\": \"nzType === 'editable-card'\", \"class.ant-tabs-editable-card\": \"nzType === 'editable-card'\", \"class.ant-tabs-centered\": \"nzCentered\", \"class.ant-tabs-rtl\": \"dir === 'rtl'\", \"class.ant-tabs-top\": \"nzTabPosition === 'top'\", \"class.ant-tabs-bottom\": \"nzTabPosition === 'bottom'\", \"class.ant-tabs-left\": \"nzTabPosition === 'left'\", \"class.ant-tabs-right\": \"nzTabPosition === 'right'\", \"class.ant-tabs-default\": \"nzSize === 'default'\", \"class.ant-tabs-small\": \"nzSize === 'small'\", \"class.ant-tabs-large\": \"nzSize === 'large'\" }, classAttribute: \"ant-tabs\" }, providers: [\n {\n provide: NZ_TAB_SET,\n useExisting: NzTabSetComponent\n }\n ], queries: [{ propertyName: \"allTabs\", predicate: NzTabComponent, descendants: true }], viewQueries: [{ propertyName: \"tabNavBarRef\", first: true, predicate: NzTabNavBarComponent, descendants: true }], exportAs: [\"nzTabset\"], ngImport: i0, template: `\n @if (tabs.length || addable) {\n <nz-tabs-nav\n [ngStyle]=\"nzTabBarStyle\"\n [selectedIndex]=\"nzSelectedIndex || 0\"\n [inkBarAnimated]=\"inkBarAnimated\"\n [addable]=\"addable\"\n [addIcon]=\"nzAddIcon\"\n [hideBar]=\"nzHideAll\"\n [position]=\"position\"\n [extraTemplate]=\"nzTabBarExtraContent\"\n (tabScroll)=\"nzTabListScroll.emit($event)\"\n (selectFocusedIndex)=\"setSelectedIndex($event)\"\n (addClicked)=\"onAdd()\"\n >\n @for (tab of tabs; track tab; let i = $index) {\n <div\n class=\"ant-tabs-tab\"\n [style.margin-right.px]=\"position === 'horizontal' ? nzTabBarGutter : null\"\n [style.margin-bottom.px]=\"position === 'vertical' ? nzTabBarGutter : null\"\n [class.ant-tabs-tab-active]=\"nzSelectedIndex === i\"\n [class.ant-tabs-tab-disabled]=\"tab.nzDisabled\"\n (click)=\"clickNavItem(tab, i, $event)\"\n (contextmenu)=\"contextmenuNavItem(tab, $event)\"\n >\n <button\n type=\"button\"\n role=\"tab\"\n [id]=\"getTabContentId(i)\"\n [attr.tabIndex]=\"getTabIndex(tab, i)\"\n [attr.aria-disabled]=\"tab.nzDisabled\"\n [attr.aria-selected]=\"nzSelectedIndex === i && !nzHideAll\"\n [attr.aria-controls]=\"getTabContentId(i)\"\n [disabled]=\"tab.nzDisabled\"\n [tab]=\"tab\"\n [active]=\"nzSelectedIndex === i\"\n class=\"ant-tabs-tab-btn\"\n nzTabNavItem\n cdkMonitorElementFocus\n >\n <ng-container *nzStringTemplateOutlet=\"tab.label; context: { visible: true }\">{{\n tab.label\n }}</ng-container>\n @if (tab.nzClosable && closable && !tab.nzDisabled) {\n <button\n type=\"button\"\n nz-tab-close-button\n [closeIcon]=\"tab.nzCloseIcon\"\n (click)=\"onClose(i, $event)\"\n ></button>\n }\n </button>\n </div>\n }\n </nz-tabs-nav>\n }\n <div class=\"ant-tabs-content-holder\">\n <div\n class=\"ant-tabs-content\"\n [class.ant-tabs-content-top]=\"nzTabPosition === 'top'\"\n [class.ant-tabs-content-bottom]=\"nzTabPosition === 'bottom'\"\n [class.ant-tabs-content-left]=\"nzTabPosition === 'left'\"\n [class.ant-tabs-content-right]=\"nzTabPosition === 'right'\"\n [class.ant-tabs-content-animated]=\"tabPaneAnimated\"\n >\n @if (!nzHideAll) {\n @for (tab of tabs; track tab; let i = $index) {\n @if (tab.nzForceRender) {\n <ng-template [ngTemplateOutlet]=\"tabpaneTmpl\"></ng-template>\n } @else if (nzDestroyInactiveTabPane) {\n @if (nzSelectedIndex === i) {\n <ng-template [ngTemplateOutlet]=\"tabpaneTmpl\"></ng-template>\n }\n } @else {\n @if (nzSelectedIndex === i || tab.hasBeenActive) {\n <ng-template [ngTemplateOutlet]=\"tabpaneTmpl\"></ng-template>\n }\n }\n\n <ng-template #tabpaneTmpl>\n <div\n role=\"tabpanel\"\n [id]=\"getTabContentId(i)\"\n [attr.aria-labelledby]=\"getTabContentId(i)\"\n nz-tab-body\n [active]=\"nzSelectedIndex === i\"\n [content]=\"tab.content\"\n [animated]=\"tabPaneAnimated\"\n ></div>\n </ng-template>\n }\n }\n </div>\n </div>\n `, isInline: true, dependencies: [{ kind: \"component\", type: NzTabNavBarComponent, selector: \"nz-tabs-nav\", inputs: [\"position\", \"addable\", \"hideBar\", \"addIcon\", \"inkBarAnimated\", \"extraTemplate\", \"selectedIndex\"], outputs: [\"indexFocused\", \"selectFocusedIndex\", \"addClicked\", \"tabScroll\"], exportAs: [\"nzTabsNav\"] }, { kind: \"directive\", type: NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: NzTabNavItemDirective, selector: \"[nzTabNavItem]\", inputs: [\"disabled\", \"tab\", \"active\"] }, { kind: \"ngmodule\", type: A11yModule }, { kind: \"directive\", type: i3$2.CdkMonitorFocus, selector: \"[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]\", outputs: [\"cdkFocusChange\"], exportAs: [\"cdkMonitorFocus\"] }, { kind: \"ngmodule\", type: NzOutletModule }, { kind: \"directive\", type: i1.NzStringTemplateOutletDirective, selector: \"[nzStringTemplateOutlet]\", inputs: [\"nzStringTemplateOutletContext\", \"nzStringTemplateOutlet\"], exportAs: [\"nzStringTemplateOutlet\"] }, { kind: \"component\", type: NzTabCloseButtonComponent, selector: \"nz-tab-close-button, button[nz-tab-close-button]\", inputs: [\"closeIcon\"] }, { kind: \"component\", type: NzTabBodyComponent, selector: \"[nz-tab-body]\", inputs: [\"content\", \"active\", \"animated\"], exportAs: [\"nzTabBody\"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }\n}\n__decorate([\n WithConfig()\n], NzTabSetComponent.prototype, \"nzType\", void 0);\n__decorate([\n WithConfig()\n], NzTabSetComponent.prototype, \"nzSize\", void 0);\n__decorate([\n WithConfig()\n], NzTabSetComponent.prototype, \"nzAnimated\", void 0);\n__decorate([\n WithConfig()\n], NzTabSetComponent.prototype, \"nzTabBarGutter\", void 0);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabSetComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'nz-tabset',\n exportAs: 'nzTabset',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [\n {\n provide: NZ_TAB_SET,\n useExisting: NzTabSetComponent\n }\n ],\n template: `\n @if (tabs.length || addable) {\n <nz-tabs-nav\n [ngStyle]=\"nzTabBarStyle\"\n [selectedIndex]=\"nzSelectedIndex || 0\"\n [inkBarAnimated]=\"inkBarAnimated\"\n [addable]=\"addable\"\n [addIcon]=\"nzAddIcon\"\n [hideBar]=\"nzHideAll\"\n [position]=\"position\"\n [extraTemplate]=\"nzTabBarExtraContent\"\n (tabScroll)=\"nzTabListScroll.emit($event)\"\n (selectFocusedIndex)=\"setSelectedIndex($event)\"\n (addClicked)=\"onAdd()\"\n >\n @for (tab of tabs; track tab; let i = $index) {\n <div\n class=\"ant-tabs-tab\"\n [style.margin-right.px]=\"position === 'horizontal' ? nzTabBarGutter : null\"\n [style.margin-bottom.px]=\"position === 'vertical' ? nzTabBarGutter : null\"\n [class.ant-tabs-tab-active]=\"nzSelectedIndex === i\"\n [class.ant-tabs-tab-disabled]=\"tab.nzDisabled\"\n (click)=\"clickNavItem(tab, i, $event)\"\n (contextmenu)=\"contextmenuNavItem(tab, $event)\"\n >\n <button\n type=\"button\"\n role=\"tab\"\n [id]=\"getTabContentId(i)\"\n [attr.tabIndex]=\"getTabIndex(tab, i)\"\n [attr.aria-disabled]=\"tab.nzDisabled\"\n [attr.aria-selected]=\"nzSelectedIndex === i && !nzHideAll\"\n [attr.aria-controls]=\"getTabContentId(i)\"\n [disabled]=\"tab.nzDisabled\"\n [tab]=\"tab\"\n [active]=\"nzSelectedIndex === i\"\n class=\"ant-tabs-tab-btn\"\n nzTabNavItem\n cdkMonitorElementFocus\n >\n <ng-container *nzStringTemplateOutlet=\"tab.label; context: { visible: true }\">{{\n tab.label\n }}</ng-container>\n @if (tab.nzClosable && closable && !tab.nzDisabled) {\n <button\n type=\"button\"\n nz-tab-close-button\n [closeIcon]=\"tab.nzCloseIcon\"\n (click)=\"onClose(i, $event)\"\n ></button>\n }\n </button>\n </div>\n }\n </nz-tabs-nav>\n }\n <div class=\"ant-tabs-content-holder\">\n <div\n class=\"ant-tabs-content\"\n [class.ant-tabs-content-top]=\"nzTabPosition === 'top'\"\n [class.ant-tabs-content-bottom]=\"nzTabPosition === 'bottom'\"\n [class.ant-tabs-content-left]=\"nzTabPosition === 'left'\"\n [class.ant-tabs-content-right]=\"nzTabPosition === 'right'\"\n [class.ant-tabs-content-animated]=\"tabPaneAnimated\"\n >\n @if (!nzHideAll) {\n @for (tab of tabs; track tab; let i = $index) {\n @if (tab.nzForceRender) {\n <ng-template [ngTemplateOutlet]=\"tabpaneTmpl\"></ng-template>\n } @else if (nzDestroyInactiveTabPane) {\n @if (nzSelectedIndex === i) {\n <ng-template [ngTemplateOutlet]=\"tabpaneTmpl\"></ng-template>\n }\n } @else {\n @if (nzSelectedIndex === i || tab.hasBeenActive) {\n <ng-template [ngTemplateOutlet]=\"tabpaneTmpl\"></ng-template>\n }\n }\n\n <ng-template #tabpaneTmpl>\n <div\n role=\"tabpanel\"\n [id]=\"getTabContentId(i)\"\n [attr.aria-labelledby]=\"getTabContentId(i)\"\n nz-tab-body\n [active]=\"nzSelectedIndex === i\"\n [content]=\"tab.content\"\n [animated]=\"tabPaneAnimated\"\n ></div>\n </ng-template>\n }\n }\n </div>\n </div>\n `,\n host: {\n class: 'ant-tabs',\n '[class.ant-tabs-card]': `nzType === 'card' || nzType === 'editable-card'`,\n '[class.ant-tabs-editable]': `nzType === 'editable-card'`,\n '[class.ant-tabs-editable-card]': `nzType === 'editable-card'`,\n '[class.ant-tabs-centered]': `nzCentered`,\n '[class.ant-tabs-rtl]': `dir === 'rtl'`,\n '[class.ant-tabs-top]': `nzTabPosition === 'top'`,\n '[class.ant-tabs-bottom]': `nzTabPosition === 'bottom'`,\n '[class.ant-tabs-left]': `nzTabPosition === 'left'`,\n '[class.ant-tabs-right]': `nzTabPosition === 'right'`,\n '[class.ant-tabs-default]': `nzSize === 'default'`,\n '[class.ant-tabs-small]': `nzSize === 'small'`,\n '[class.ant-tabs-large]': `nzSize === 'large'`\n },\n imports: [\n NzTabNavBarComponent,\n NgStyle,\n NgTemplateOutlet,\n NzTabNavItemDirective,\n A11yModule,\n NzOutletModule,\n NzTabCloseButtonComponent,\n NzTabBodyComponent\n ],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i1$2.NzConfigService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i3$1.Directionality }], propDecorators: { nzSelectedIndex: [{\n type: Input\n }], nzTabPosition: [{\n type: Input\n }], nzTabBarExtraContent: [{\n type: Input\n }], nzCanDeactivate: [{\n type: Input\n }], nzAddIcon: [{\n type: Input\n }], nzTabBarStyle: [{\n type: Input\n }], nzType: [{\n type: Input\n }], nzSize: [{\n type: Input\n }], nzAnimated: [{\n type: Input\n }], nzTabBarGutter: [{\n type: Input\n }], nzHideAdd: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], nzCentered: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], nzHideAll: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], nzLinkRouter: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], nzLinkExact: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], nzDestroyInactiveTabPane: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], nzSelectChange: [{\n type: Output\n }], nzSelectedIndexChange: [{\n type: Output\n }], nzTabListScroll: [{\n type: Output\n }], nzClose: [{\n type: Output\n }], nzAdd: [{\n type: Output\n }], allTabs: [{\n type: ContentChildren,\n args: [NzTabComponent, { descendants: true }]\n }], tabNavBarRef: [{\n type: ViewChild,\n args: [NzTabNavBarComponent, { static: false }]\n }] } });\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst DIRECTIVES = [\n NzTabSetComponent,\n NzTabComponent,\n NzTabNavBarComponent,\n NzTabNavItemDirective,\n NzTabsInkBarDirective,\n NzTabScrollListDirective,\n NzTabNavOperationComponent,\n NzTabAddButtonComponent,\n NzTabCloseButtonComponent,\n NzTabDirective,\n NzTabBodyComponent,\n NzTabLinkDirective,\n NzTabLinkTemplateDirective\n];\nclass NzTabsModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabsModule, imports: [NzTabSetComponent,\n NzTabComponent,\n NzTabNavBarComponent,\n NzTabNavItemDirective,\n NzTabsInkBarDirective,\n NzTabScrollListDirective,\n NzTabNavOperationComponent,\n NzTabAddButtonComponent,\n NzTabCloseButtonComponent,\n NzTabDirective,\n NzTabBodyComponent,\n NzTabLinkDirective,\n NzTabLinkTemplateDirective], exports: [NzTabSetComponent,\n NzTabComponent,\n NzTabNavBarComponent,\n NzTabNavItemDirective,\n NzTabsInkBarDirective,\n NzTabScrollListDirective,\n NzTabNavOperationComponent,\n NzTabAddButtonComponent,\n NzTabCloseButtonComponent,\n NzTabDirective,\n NzTabBodyComponent,\n NzTabLinkDirective,\n NzTabLinkTemplateDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabsModule, imports: [NzTabSetComponent,\n NzTabNavBarComponent,\n NzTabNavOperationComponent,\n NzTabAddButtonComponent,\n NzTabCloseButtonComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.2.1\", ngImport: i0, type: NzTabsModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [DIRECTIVES],\n exports: [DIRECTIVES]\n }]\n }] });\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NZ_TAB_SET, NzTabChangeEvent, NzTabComponent, NzTabDirective, NzTabLinkDirective, NzTabLinkTemplateDirective, NzTabSetComponent, NzTabsModule, NzTabAddButtonComponent as ɵNzTabAddButtonComponent, NzTabBodyComponent as ɵNzTabBodyComponent, NzTabCloseButtonComponent as ɵNzTabCloseButtonComponent, NzTabNavBarComponent as ɵNzTabNavBarComponent, NzTabNavItemDirective as ɵNzTabNavItemDirective, NzTabNavOperationComponent as ɵNzTabNavOperationComponent, NzTabScrollListDirective as ɵNzTabScrollListDirective, NzTabsInkBarDirective as ɵNzTabsInkBarDirective };\n"],"mappings":"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pBQ,mBAAmB,EAAE,KAAK;MAC1B1E,aAAa,EAAE5F,iBAAiB,CAACwK,IAAI;MACrCH,eAAe,EAAEtK,uBAAuB,CAACigB,OAAO;MAChDC,SAAS,EAAE,CACP;QACIN,OAAO,EAAE7F,UAAU;QACnB8F,WAAW,EAAEvE;MACjB,CAAC,CACJ;MACD/V,QAAQ,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;MACiBW,IAAI,EAAE;QACFC,KAAK,EAAE,UAAU;QACjB,uBAAuB,EAAE,iDAAiD;QAC1E,2BAA2B,EAAE,4BAA4B;QACzD,gCAAgC,EAAE,4BAA4B;QAC9D,2BAA2B,EAAE,YAAY;QACzC,sBAAsB,EAAE,eAAe;QACvC,sBAAsB,EAAE,yBAAyB;QACjD,yBAAyB,EAAE,4BAA4B;QACvD,uBAAuB,EAAE,0BAA0B;QACnD,wBAAwB,EAAE,2BAA2B;QACrD,0BAA0B,EAAE,sBAAsB;QAClD,wBAAwB,EAAE,oBAAoB;QAC9C,wBAAwB,EAAE;MAC9B,CAAC;MACDC,OAAO,EAAE,CACLyI,oBAAoB,EACpBjN,OAAO,EACPD,gBAAgB,EAChBqG,qBAAqB,EACrB9G,UAAU,EACVP,cAAc,EACdmY,yBAAyB,EACzBV,kBAAkB,CACrB;MACDnT,UAAU,EAAE;IAChB,CAAC;EACT,CAAC,CAAC,EAAkB,MAAM,CAAC;I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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}