@kushki/ng-suka
Version:
<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>
69 lines • 4.73 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ContentChildren, QueryList, HostBinding, Input, } from '@angular/core';
import { TabItem } from './tab-item.component';
export class Tabs {
constructor() {
this.fitted = false;
}
/**
* @return {?}
*/
ngAfterContentInit() {
/** @type {?} */
const activeTabs = this.tabs.filter((/**
* @param {?} tab
* @return {?}
*/
(tab) => tab.active));
if (activeTabs.length === 0) {
this.selectTab(this.tabs.first);
}
}
/**
* @param {?} tabItem
* @return {?}
*/
selectTab(tabItem) {
this.tabs.toArray().forEach((/**
* @param {?} tab
* @return {?}
*/
tab => tab.active = false));
tabItem.active = true;
tabItem.ngOnChanges();
}
}
Tabs.decorators = [
{ type: Component, args: [{
selector: 'suka-tabs',
template: `
<ul class="tabs">
<li
*ngFor="let tab of tabs"
(click)="selectTab(tab)"
[class.tabs__tab-container--selected]="tab.active"
class="tabs__tab-container"
>
<button class="tabs__tab" type="button" role="tab">
<span class="tabs__title">{{tab.title}}</span>
</button>
</li>
</ul>
<ng-content></ng-content>
`
}] }
];
Tabs.propDecorators = {
fitted: [{ type: HostBinding, args: ['class.tabs-fitted',] }, { type: Input }],
tabs: [{ type: ContentChildren, args: [TabItem,] }]
};
if (false) {
/** @type {?} */
Tabs.prototype.fitted;
/** @type {?} */
Tabs.prototype.tabs;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Aa3VzaGtpL25nLXN1a2EvIiwic291cmNlcyI6WyJsaWIvdGFicy90YWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBb0IvQyxNQUFNLE9BQU8sSUFBSTtJQWxCakI7UUFtQjZDLFdBQU0sR0FBRyxLQUFLLENBQUM7SUFrQjVELENBQUM7Ozs7SUFkQyxrQkFBa0I7O2NBQ1YsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTs7OztRQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFDO1FBRXhELElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxTQUFTLENBQUMsT0FBZ0I7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPOzs7O1FBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssRUFBQyxDQUFDO1FBRXZELE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7WUFwQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7YUFDRjs7O3FCQUVFLFdBQVcsU0FBQyxtQkFBbUIsY0FBRyxLQUFLO21CQUV2QyxlQUFlLFNBQUMsT0FBTzs7OztJQUZ4QixzQkFBMEQ7O0lBRTFELG9CQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRhYkl0ZW0gfSBmcm9tICcuL3RhYi1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N1a2EtdGFicycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHVsIGNsYXNzPVwidGFic1wiPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RUYWIodGFiKVwiXG4gICAgICAgIFtjbGFzcy50YWJzX190YWItY29udGFpbmVyLS1zZWxlY3RlZF09XCJ0YWIuYWN0aXZlXCJcbiAgICAgICAgY2xhc3M9XCJ0YWJzX190YWItY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInRhYnNfX3RhYlwiIHR5cGU9XCJidXR0b25cIiByb2xlPVwidGFiXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWJzX190aXRsZVwiPnt7dGFiLnRpdGxlfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgVGFicyBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRhYnMtZml0dGVkJykgQElucHV0KCkgZml0dGVkID0gZmFsc2U7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJJdGVtKSB0YWJzOiBRdWVyeUxpc3Q8VGFiSXRlbT47XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGNvbnN0IGFjdGl2ZVRhYnMgPSB0aGlzLnRhYnMuZmlsdGVyKCh0YWIpID0+IHRhYi5hY3RpdmUpO1xuXG4gICAgaWYgKGFjdGl2ZVRhYnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnNlbGVjdFRhYih0aGlzLnRhYnMuZmlyc3QpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFRhYih0YWJJdGVtOiBUYWJJdGVtKSB7XG4gICAgdGhpcy50YWJzLnRvQXJyYXkoKS5mb3JFYWNoKHRhYiA9PiB0YWIuYWN0aXZlID0gZmFsc2UpO1xuXG4gICAgdGFiSXRlbS5hY3RpdmUgPSB0cnVlO1xuICAgIHRhYkl0ZW0ubmdPbkNoYW5nZXMoKTtcbiAgfVxufVxuIl19