ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
1 lines • 51.4 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-mobile-tabs.mjs","sources":["../../components/tabs/tab-pane.component.ts","../../components/tabs/tab-pane.component.html","../../components/tabs/tab-pane-body.component.ts","../../components/tabs/tab-pane-body.component.html","../../components/tabs/default-tab-bar.component.ts","../../components/tabs/default-tab-bar.component.html","../../components/tabs/tabs.component.ts","../../components/tabs/tabs.component.html","../../components/tabs/tabs.module.ts","../../components/tabs/ng-zorro-antd-mobile-tabs.ts"],"sourcesContent":["import { Component, Input, ViewChild, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'TabPane, nzm-tab-pane',\n templateUrl: './tab-pane.component.html'\n})\nexport class TabPaneComponent {\n public isTitleString: boolean = true;\n\n private _title: string | TemplateRef<void>;\n\n @ViewChild('content', { static: true }) content: TemplateRef<void>;\n\n @Input()\n get title(): string | TemplateRef<void> {\n return this._title;\n }\n set title(value: string | TemplateRef<void>) {\n this.isTitleString = !(value instanceof TemplateRef);\n this._title = value;\n }\n\n constructor() {}\n}\n","<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Component, OnInit, Input, HostBinding, TemplateRef, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: '[tab-pane-body]',\n templateUrl: './tab-pane-body.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class TabPaneBodyComponent implements OnInit {\n private _prerender: boolean = false;\n\n @Input() active: boolean = false;\n @Input() loaded: boolean = false;\n @Input() content: TemplateRef<void>;\n @Input()\n get prerender(): boolean {\n return this._prerender;\n }\n set prerender(value: boolean) {\n this._prerender = value;\n if (value) {\n this.loaded = true;\n }\n }\n\n @HostBinding('class.am-tabs-pane-wrap')\n paneWrap: boolean = true;\n @HostBinding('class.am-tabs-pane-wrap-active')\n get wrapActive(): boolean {\n return this.active;\n }\n @HostBinding('class.am-tabs-pane-wrap-inactive')\n get wrapInactive(): boolean {\n return !this.active;\n }\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<ng-container *ngIf=\"loaded || prerender\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n</ng-container>\n","import {\n Component,\n Input,\n QueryList,\n Renderer2,\n ViewChild,\n ElementRef,\n HostBinding,\n AfterContentInit,\n ContentChildren,\n ChangeDetectorRef\n} from '@angular/core';\n\nimport { TabBarPositionType } from './PropsType';\n\n@Component({\n selector: 'DefaultTabBar, nzm-default-tab-bar',\n templateUrl: './default-tab-bar.component.html'\n})\nexport class DefaultTabBarComponent implements AfterContentInit {\n prefixCls: string = 'am-tabs-default-bar';\n inkBarStyle: object = {};\n tabsBarStyle: object = {};\n showPrev: boolean = false;\n showNext: boolean = false;\n selectedKey: number = 0;\n inkBarOffSet: number = 0;\n inkBarLength: number = 0;\n tabBarNavSwipedPosition: number = 0;\n tabBarNavSwipingPosition: number = 0;\n\n private _startPosition: number = 0;\n\n @ContentChildren('TabTitle')\n tabTitles: QueryList<ElementRef>;\n\n @ViewChild('TabsBarSwipe', { static: true })\n tabsBarSwipe: ElementRef;\n\n @Input()\n page: number = 5;\n @Input()\n animated: boolean = true;\n @Input()\n tabBarUnderlineStyle: object;\n @Input()\n tabBarBackgroundColor: string = '#FFF';\n @Input()\n tabTitleSize: number = 0;\n @Input()\n tabBarPosition: TabBarPositionType = 'top';\n @Input()\n get activeTab(): number {\n return this.selectedKey;\n }\n set activeTab(index: number) {\n if (index !== this.selectedKey) {\n this.selectedKey = index;\n if (this.tabTitles && this.tabTitles.length > 0) {\n this.setTabBarStyleCenter();\n this.setInkBarStatus(this.selectedKey);\n }\n }\n }\n\n @HostBinding('class.am-tabs-tab-bar-wrap')\n tabBarWrap = true;\n\n constructor(private _renderer: Renderer2, private _ref: ChangeDetectorRef) {}\n\n onTouchStart(event) {\n if (\n (this.tabTitleSize > 0 &&\n this.tabTitleSize * this.tabTitles.length >\n ('top' === this.tabBarPosition || 'bottom' === this.tabBarPosition\n ? this.tabsBarSwipe.nativeElement.offsetWidth\n : this.tabsBarSwipe.nativeElement.offsetHeight)) ||\n (this.tabTitleSize <= 0 && this.page < this.tabTitles.length)\n ) {\n if ('top' === this.tabBarPosition || 'bottom' === this.tabBarPosition) {\n this._startPosition =\n event && event.changedTouches && event.changedTouches[0] && event.changedTouches[0].clientX;\n } else {\n this._startPosition =\n event && event.changedTouches && event.changedTouches[0] && event.changedTouches[0].clientY;\n }\n }\n }\n\n onTouchMove(event) {\n event.preventDefault();\n event.stopPropagation();\n if (\n (this.tabTitleSize > 0 &&\n this.tabTitleSize * this.tabTitles.length >\n ('top' === this.tabBarPosition || 'bottom' === this.tabBarPosition\n ? this.tabsBarSwipe.nativeElement.offsetWidth\n : this.tabsBarSwipe.nativeElement.offsetHeight)) ||\n (this.tabTitleSize <= 0 && this.page < this.tabTitles.length)\n ) {\n if ('top' === this.tabBarPosition || 'bottom' === this.tabBarPosition) {\n this.setTabBarNavSwipingPosition(\n event.changedTouches[0].clientX - this._startPosition,\n this.tabTitles.first.nativeElement.offsetWidth,\n this.tabsBarSwipe.nativeElement.offsetWidth\n );\n this.tabsBarStyle = {\n transition: '0ms',\n transform: 'translate3d(' + this.tabBarNavSwipingPosition + 'px, 0px, 0px)',\n webkitTransform: 'translate3d(' + this.tabBarNavSwipingPosition + 'px, 0px, 0px)'\n };\n } else {\n this.setTabBarNavSwipingPosition(\n event.changedTouches[0].clientY - this._startPosition,\n this.tabTitles.first.nativeElement.offsetHeight,\n this.tabsBarSwipe.nativeElement.offsetHeight\n );\n this.tabsBarStyle = {\n transition: '0ms',\n transform: 'translate3d(0, ' + this.tabBarNavSwipingPosition + 'px, 0px)',\n webkitTransform: 'translate3d(0, ' + this.tabBarNavSwipingPosition + 'px, 0px)'\n };\n }\n }\n }\n\n onTouchEnd() {\n if (\n (this.tabTitleSize > 0 &&\n this.tabTitleSize * this.tabTitles.length >\n ('top' === this.tabBarPosition || 'bottom' === this.tabBarPosition\n ? this.tabsBarSwipe.nativeElement.offsetWidth\n : this.tabsBarSwipe.nativeElement.offsetHeight)) ||\n (this.tabTitleSize <= 0 && this.page < this.tabTitles.length)\n ) {\n this.tabBarNavSwipedPosition = this.tabBarNavSwipingPosition;\n }\n }\n\n onContentChange() {\n this.setTabsStyle();\n this.setInkBarStatus(this.selectedKey);\n }\n\n ngAfterContentInit() {\n this.setTabsStyle();\n this.setTabBarStyleCenter();\n this.setInkBarStatus(this.selectedKey);\n }\n\n private setTabsStyle() {\n if (this.tabTitles && this.tabTitles.length > 0) {\n if ('top' === this.tabBarPosition || 'bottom' === this.tabBarPosition) {\n this.tabTitles.forEach((tabTitle: any) => {\n this._renderer.setStyle(\n tabTitle.nativeElement,\n 'width',\n this.tabTitleSize > 0 ? this.tabTitleSize + 'px' : this.getTabSize(this.page, this.tabTitles.length) + '%'\n );\n });\n } else {\n this.tabTitles.forEach((tabTitle: any) => {\n this._renderer.setStyle(\n tabTitle.nativeElement,\n 'height',\n this.tabTitleSize > 0 ? this.tabTitleSize + 'px' : this.getTabSize(this.page, this.tabTitles.length) + '%'\n );\n });\n }\n }\n }\n\n private setTabBarStyleCenter() {\n if ('top' === this.tabBarPosition || 'bottom' === this.tabBarPosition) {\n this.setTabBarNavSwipedPosition(\n this.tabTitleSize > 0\n ? this.tabTitleSize\n : this.tabsBarSwipe.nativeElement.offsetWidth / Math.min(this.tabTitles.length, this.page),\n this.tabsBarSwipe.nativeElement.offsetWidth\n );\n this.tabsBarStyle = {\n transform: 'translate3d(' + this.tabBarNavSwipedPosition + 'px, 0px, 0px)',\n webkitTransform: 'translate3d(' + this.tabBarNavSwipedPosition + ', 0px, 0px)'\n };\n } else {\n this.setTabBarNavSwipedPosition(\n this.tabTitleSize > 0\n ? this.tabTitleSize\n : this.tabsBarSwipe.nativeElement.offsetHeight / Math.min(this.tabTitles.length, this.page),\n this.tabsBarSwipe.nativeElement.offsetHeight\n );\n this.tabsBarStyle = {\n transform: 'translate3d(0, ' + this.tabBarNavSwipedPosition + 'px, 0px)',\n webkitTransform: 'translate3d(0, ' + this.tabBarNavSwipedPosition + 'px, 0px)'\n };\n }\n }\n\n private setInkBarStatus(key: number) {\n if (this.tabTitles && this.tabTitles.length > 0) {\n if ('top' === this.tabBarPosition || 'bottom' === this.tabBarPosition) {\n this.inkBarOffSet = this.tabTitles.toArray()[key].nativeElement.offsetLeft;\n this.inkBarLength = this.tabTitles.toArray()[key].nativeElement.style.width;\n this.inkBarStyle = {\n width: this.inkBarLength,\n left:\n this.tabTitleSize > 0\n ? this.selectedKey * this.tabTitleSize + 'px'\n : (this.selectedKey * 100) / Math.min(this.tabTitles.length, this.page) + '%'\n };\n Object.assign(this.inkBarStyle, this.tabBarUnderlineStyle);\n } else {\n this.inkBarOffSet = this.tabTitles.toArray()[key].nativeElement.offsetTop;\n this.inkBarLength = this.tabTitles.toArray()[key].nativeElement.style.height;\n this.inkBarStyle = {\n height: this.inkBarLength,\n top:\n this.tabTitleSize > 0\n ? this.selectedKey * this.tabTitleSize + 'px'\n : (this.selectedKey * 100) / Math.min(this.tabTitles.length, this.page) + '%'\n };\n Object.assign(this.inkBarStyle, this.tabBarUnderlineStyle);\n }\n this._ref.detectChanges();\n }\n }\n\n private setTabBarNavSwipingPosition(swipingDistance: number, swipingItemLength: number, viewportLength: number) {\n if (this.tabBarNavSwipedPosition + swipingDistance > 0) {\n this.tabBarNavSwipingPosition = 0;\n } else if (\n this.tabBarNavSwipedPosition + swipingDistance <\n viewportLength - swipingItemLength * this.tabTitles.length\n ) {\n this.tabBarNavSwipingPosition = viewportLength - swipingItemLength * this.tabTitles.length;\n this.showNext = false;\n } else {\n this.tabBarNavSwipingPosition = this.tabBarNavSwipedPosition + swipingDistance;\n this.showNext = true;\n }\n if (this.tabBarNavSwipingPosition < 0) {\n this.showPrev = true;\n } else {\n this.showPrev = false;\n }\n }\n\n private setTabBarNavSwipedPosition(swipingItemLength: number, viewportLength: number) {\n if (this.selectedKey * swipingItemLength + this.tabBarNavSwipedPosition <= 0) {\n if (0 === this.selectedKey) {\n this.tabBarNavSwipedPosition = 0;\n } else {\n this.tabBarNavSwipedPosition = (1 - this.selectedKey) * swipingItemLength;\n }\n } else if ((this.selectedKey + 1) * swipingItemLength >= viewportLength - this.tabBarNavSwipedPosition) {\n if (this.tabTitles.length - 1 === this.selectedKey) {\n this.tabBarNavSwipedPosition = (viewportLength / swipingItemLength - this.selectedKey - 1) * swipingItemLength;\n } else {\n this.tabBarNavSwipedPosition = (viewportLength / swipingItemLength - this.selectedKey - 2) * swipingItemLength;\n }\n }\n if (this.tabBarNavSwipedPosition < 0) {\n this.showPrev = true;\n } else {\n this.showPrev = false;\n }\n if (this.tabBarNavSwipedPosition + swipingItemLength * this.tabTitles.length - viewportLength > 0) {\n this.showNext = true;\n } else {\n this.showNext = false;\n }\n }\n\n private getTabSize = (page: number, tabLength: number) => 100 / Math.min(page, tabLength);\n}\n","<div\n class=\"{{ prefixCls }} {{ prefixCls }}-{{ tabBarPosition }}\"\n [ngClass]=\"{ 'am-tabs-default-bar-animated': animated }\"\n [ngStyle]=\"{ backgroundColor: tabBarBackgroundColor || '#FFF' }\"\n>\n <div *ngIf=\"showPrev\" class=\"{{ prefixCls }}-prevpage\"></div>\n <div\n #TabsBarSwipe\n class=\"{{ prefixCls }}-content\"\n [ngStyle]=\"tabsBarStyle\"\n (touchstart)=\"onTouchStart($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchend)=\"onTouchEnd()\"\n (cdkObserveContent)=\"onContentChange()\"\n >\n <ng-content></ng-content>\n <div class=\"{{ prefixCls }}-underline\" [ngStyle]=\"inkBarStyle\"></div>\n </div>\n <div *ngIf=\"showNext\" class=\"{{ prefixCls }}-nextpage\"></div>\n</div>\n","import {\n Component,\n Input,\n Output,\n DoCheck,\n AfterContentInit,\n QueryList,\n ViewChild,\n ElementRef,\n HostBinding,\n TemplateRef,\n EventEmitter,\n ContentChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { TabPaneComponent } from './tab-pane.component';\nimport { TabDirection, TabBarPositionType, TabsOnChangeEvent } from './PropsType';\n\n@Component({\n selector: 'Tabs, nzm-tabs',\n templateUrl: './tabs.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class TabsComponent implements DoCheck, AfterContentInit {\n prefixCls: string = 'am-tabs';\n selectedKey: number = 0;\n keyToSelect: number = 0;\n paneMoveStyle: string = 'translate3d(0, 0, 0)';\n\n private _startTime: number = 0;\n private _startPosition: number = 0;\n private _velocityThreshold: number = 0.3;\n private _tabDirection: TabDirection = 'horizontal';\n private _tabBarPosition: TabBarPositionType = 'top';\n\n @ContentChildren(TabPaneComponent, { descendants: false })\n tabPanes: QueryList<TabPaneComponent>;\n\n @ViewChild('TabContent', { static: true })\n tabContent: ElementRef;\n @ViewChild('DefaultTabBar')\n defaultTabBar: ElementRef;\n\n @Input()\n page: number = 5;\n @Input()\n swipeable: boolean = true;\n @Input()\n useOnPan: boolean = true;\n @Input()\n animated: boolean = true;\n @Input()\n tabBarUnderlineStyle: object;\n @Input()\n distanceToChangeTab: number = 0.3;\n @Input()\n tabTitleSize: number = 0;\n @Input()\n tabBarActiveTextColor: string = '';\n @Input()\n tabBarInactiveTextColor: string = '';\n @Input()\n renderTabBar: TemplateRef<void> = null;\n @Input()\n tabBarBackgroundColor: string = '#FFF';\n @Input()\n prerenderingSiblingsNumber: number = -1;\n @Input()\n tabBarTextStyle: object = {};\n /** should be removed when https://github.com/angular/angular/issues/20810 resolved **/\n @Input()\n tabPanesContent: QueryList<TabPaneComponent> = null;\n @Input()\n get activeTab(): number {\n return this.selectedKey;\n }\n set activeTab(value: number) {\n this.keyToSelect = value;\n }\n @Input()\n get tabBarPosition(): TabBarPositionType {\n return this._tabBarPosition;\n }\n set tabBarPosition(position: TabBarPositionType) {\n this._tabBarPosition = position;\n switch (position) {\n case 'top':\n this.amTabsTop = true;\n this.amTabsLeft = false;\n this.amTabsRight = false;\n this.amTabsBottom = false;\n break;\n case 'left':\n this.amTabsTop = false;\n this.amTabsLeft = true;\n this.amTabsRight = false;\n this.amTabsBottom = false;\n break;\n case 'bottom':\n this.amTabsTop = false;\n this.amTabsLeft = false;\n this.amTabsRight = false;\n this.amTabsBottom = true;\n break;\n case 'right':\n this.amTabsTop = false;\n this.amTabsLeft = false;\n this.amTabsRight = true;\n this.amTabsBottom = false;\n break;\n default:\n break;\n }\n }\n @Input()\n get tabDirection() {\n return this._tabDirection;\n }\n set tabDirection(direction: TabDirection) {\n this._tabDirection = direction;\n switch (direction) {\n case 'horizontal':\n this.amTabsHorizontal = true;\n this.amTabsVertical = false;\n break;\n case 'vertical':\n this.amTabsHorizontal = false;\n this.amTabsVertical = true;\n break;\n default:\n break;\n }\n }\n @Output()\n onChange: EventEmitter<TabsOnChangeEvent> = new EventEmitter<TabsOnChangeEvent>();\n @Output()\n onTabClick: EventEmitter<TabsOnChangeEvent> = new EventEmitter<TabsOnChangeEvent>();\n\n @HostBinding('class.am-tabs')\n amTabs: boolean = true;\n @HostBinding('class.am-tabs-top')\n amTabsTop: boolean = true;\n @HostBinding('class.am-tabs-left')\n amTabsLeft: boolean = false;\n @HostBinding('class.am-tabs-right')\n amTabsRight: boolean = false;\n @HostBinding('class.am-tabs-bottom')\n amTabsBottom: boolean = false;\n @HostBinding('class.am-tabs-vertical')\n amTabsVertical: boolean = false;\n @HostBinding('class.am-tabs-horizontal')\n amTabsHorizontal: boolean = true;\n\n constructor() {}\n\n clickTab(index: number) {\n if (this.selectedKey !== index) {\n this.keyToSelect = index;\n this.onTabClick.emit({ index: this.keyToSelect });\n }\n }\n\n getCurrentTabPanes(): QueryList<TabPaneComponent> {\n return this.tabPanesContent || this.tabPanes;\n }\n\n onTouchStart(event) {\n this._startTime = event.timeStamp;\n if (this.getCurrentTabPanes() && this.getCurrentTabPanes().length > 0) {\n if ('horizontal' === this._tabDirection) {\n this._startPosition =\n event && event.changedTouches && event.changedTouches[0] && event.changedTouches[0].clientX;\n } else if ('vertical' === this._tabDirection) {\n this._startPosition =\n event && event.changedTouches && event.changedTouches[0] && event.changedTouches[0].clientY;\n }\n }\n }\n\n onTouchMove(event) {\n if (this.getCurrentTabPanes() && this.getCurrentTabPanes().length > 0) {\n if ('horizontal' === this._tabDirection) {\n const distance = event.changedTouches[0].clientX - this._startPosition;\n if (distance < 0 && this.activeTab === this.getCurrentTabPanes().length - 1) {\n return;\n } else if (distance > 0 && this.activeTab === 0) {\n return;\n }\n // velocity 小于阈值才认为是pan操作\n if (\n this.getVelocity(distance, event.timeStamp - this._startTime) <= this._velocityThreshold &&\n this.useOnPan &&\n this.swipeable &&\n this.animated\n ) {\n this.paneMoveStyle = 'translate3d(calc(-' + this.selectedKey * 100 + '% + ' + distance + 'px), 0, 0 )';\n }\n } else if ('vertical' === this._tabDirection) {\n const distance = event.changedTouches[0].clientY - this._startPosition;\n if (distance < 0 && this.activeTab === this.getCurrentTabPanes().length - 1) {\n return;\n } else if (distance > 0 && this.activeTab === 0) {\n return;\n }\n if (\n this.getVelocity(distance, event.timeStamp - this._startTime) <= this._velocityThreshold &&\n this.useOnPan &&\n this.swipeable &&\n this.animated\n ) {\n this.paneMoveStyle = 'translate3d(0, calc(-' + this.selectedKey * 100 + '% + ' + distance + 'px, 0 )';\n }\n }\n }\n }\n\n onTouchEnd(event) {\n if (this.getCurrentTabPanes() && this.getCurrentTabPanes().length > 0) {\n if ('horizontal' === this._tabDirection) {\n const distance = event.changedTouches[0].clientX - this._startPosition;\n const distanceToChangeTabPx = this.tabContent.nativeElement.offsetWidth * this.distanceToChangeTab;\n if (\n (this.getVelocity(distance, event.timeStamp - this._startTime) <= this._velocityThreshold &&\n (this.useOnPan && this.swipeable && Math.abs(distance) > distanceToChangeTabPx)) ||\n (this.getVelocity(distance, event.timeStamp - this._startTime) > this._velocityThreshold &&\n (this.swipeable && Math.abs(distance) > distanceToChangeTabPx / 2))\n ) {\n if (distance < 0 && this.activeTab < this.getCurrentTabPanes().length - 1) {\n this.keyToSelect++;\n } else if (distance > 0 && this.activeTab > 0) {\n this.keyToSelect--;\n }\n }\n this.paneMoveStyle = 'translate3d(-' + this.selectedKey * 100 + '%, 0, 0 )';\n } else if ('vertical' === this._tabDirection) {\n const distance = event.changedTouches[0].clientY - this._startPosition;\n const distanceToChangeTabPx = this.tabContent.nativeElement.offsetHeight * this.distanceToChangeTab;\n if (\n (this.getVelocity(distance, event.timeStamp - this._startTime) <= this._velocityThreshold &&\n (this.useOnPan && this.swipeable && Math.abs(distance) > distanceToChangeTabPx)) ||\n (this.getVelocity(distance, event.timeStamp - this._startTime) > this._velocityThreshold &&\n (this.swipeable && Math.abs(distance) > distanceToChangeTabPx / 2))\n ) {\n if (distance < 0 && this.activeTab < this.getCurrentTabPanes().length - 1) {\n this.keyToSelect++;\n } else if (distance > 0 && this.activeTab > 0) {\n this.keyToSelect--;\n }\n }\n this.paneMoveStyle = 'translate3d(0, -' + this.selectedKey * 100 + '%, 0 )';\n }\n }\n }\n\n ngAfterContentInit() {\n this.selectTabPane(this.keyToSelect);\n this.selectedKey = this.keyToSelect;\n }\n\n ngDoCheck() {\n if (this.keyToSelect !== this.selectedKey && this.getCurrentTabPanes() && this.getCurrentTabPanes().length > 0) {\n this.selectTabPane(this.keyToSelect);\n this.selectedKey = this.keyToSelect;\n this.onChange.emit({ index: this.selectedKey });\n }\n }\n\n private selectTabPane(index: number) {\n if (this.getCurrentTabPanes() && this.getCurrentTabPanes().length > 0) {\n const actualKeyToSelect = Math.min(this.getCurrentTabPanes().length - 1, Math.max(index || 0, 0));\n if ('horizontal' === this._tabDirection) {\n this.paneMoveStyle = 'translate3d(-' + actualKeyToSelect * 100 + '%, 0, 0 )';\n } else if ('vertical' === this._tabDirection) {\n this.paneMoveStyle = 'translate3d(0, -' + actualKeyToSelect * 100 + '%, 0 )';\n }\n }\n }\n\n private getVelocity(deltaDistance, deltaTime) {\n return Math.abs(deltaDistance / deltaTime);\n }\n}\n","<ng-container>\n <ng-template\n *ngIf=\"'top' === tabBarPosition || 'left' === tabBarPosition\"\n [ngTemplateOutlet]=\"renderTabBar || renderDefaultTabBar\"\n >\n </ng-template>\n <div\n #TabContent\n class=\"{{ prefixCls }}-content-wrap\"\n [ngClass]=\"{ 'am-tabs-content-wrap-animated': animated }\"\n [ngStyle]=\"{ transform: paneMoveStyle, webkitTransform: paneMoveStyle }\"\n (touchstart)=\"onTouchStart($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchend)=\"onTouchEnd($event)\"\n >\n <div\n tab-pane-body\n *ngFor=\"let tabPane of getCurrentTabPanes(); let i = index\"\n [content]=\"tabPane.content\"\n [active]=\"i === selectedKey\"\n [prerender]=\"\n prerenderingSiblingsNumber < 0 ||\n (selectedKey - i <= prerenderingSiblingsNumber && selectedKey - i + prerenderingSiblingsNumber >= 0)\n \"\n ></div>\n </div>\n <ng-template\n *ngIf=\"'bottom' === tabBarPosition || 'right' === tabBarPosition\"\n [ngTemplateOutlet]=\"renderTabBar || renderDefaultTabBar\"\n ></ng-template>\n</ng-container>\n\n<ng-template #renderDefaultTabBar>\n <DefaultTabBar\n #DefaultTabBar\n [page]=\"page\"\n [animated]=\"animated\"\n [activeTab]=\"selectedKey\"\n [tabTitleSize]=\"tabTitleSize\"\n [tabBarPosition]=\"tabBarPosition\"\n [tabBarUnderlineStyle]=\"tabBarUnderlineStyle\"\n [tabBarBackgroundColor]=\"tabBarBackgroundColor\"\n >\n <div\n #TabTitle\n *ngFor=\"let tabPane of getCurrentTabPanes(); let i = index\"\n class=\"{{ prefixCls }}-default-bar-tab\"\n [ngClass]=\"{\n 'am-tabs-default-bar-tab-active': i === selectedKey,\n 'am-tabs-default-bar-tab-disabled': tabPane.disabled\n }\"\n [ngStyle]=\"tabBarTextStyle\"\n [style.color]=\"i === selectedKey ? tabBarActiveTextColor : tabBarInactiveTextColor\"\n (click)=\"clickTab(i)\"\n >\n <ng-container *ngIf=\"tabPane.isTitleString; else titleTemplate\">\n {{ tabPane.title }}\n </ng-container>\n <ng-template #titleTemplate>\n <ng-template [ngTemplateOutlet]=\"tabPane.title\"></ng-template>\n </ng-template>\n </div>\n </DefaultTabBar>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { TabsComponent } from './tabs.component';\nimport { TabPaneComponent } from './tab-pane.component';\nimport { TabPaneBodyComponent } from './tab-pane-body.component';\nimport { DefaultTabBarComponent } from './default-tab-bar.component';\n\nexport { TabPaneComponent } from './tab-pane.component';\n\n@NgModule({\n imports: [CommonModule, ObserversModule],\n declarations: [TabPaneComponent, TabsComponent, TabPaneBodyComponent, DefaultTabBarComponent],\n exports: [TabPaneComponent, TabsComponent, TabPaneBodyComponent, DefaultTabBarComponent],\n providers: []\n})\nexport class TabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.TabPaneBodyComponent","i3.DefaultTabBarComponent"],"mappings":"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