@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>
64 lines • 5.11 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';
var Tabs = /** @class */ (function () {
function Tabs() {
this.fitted = false;
}
/**
* @return {?}
*/
Tabs.prototype.ngAfterContentInit = /**
* @return {?}
*/
function () {
/** @type {?} */
var activeTabs = this.tabs.filter((/**
* @param {?} tab
* @return {?}
*/
function (tab) { return tab.active; }));
if (activeTabs.length === 0) {
this.selectTab(this.tabs.first);
}
};
/**
* @param {?} tabItem
* @return {?}
*/
Tabs.prototype.selectTab = /**
* @param {?} tabItem
* @return {?}
*/
function (tabItem) {
this.tabs.toArray().forEach((/**
* @param {?} tab
* @return {?}
*/
function (tab) { return tab.active = false; }));
tabItem.active = true;
tabItem.ngOnChanges();
};
Tabs.decorators = [
{ type: Component, args: [{
selector: 'suka-tabs',
template: "\n <ul class=\"tabs\">\n <li\n *ngFor=\"let tab of tabs\"\n (click)=\"selectTab(tab)\"\n [class.tabs__tab-container--selected]=\"tab.active\"\n class=\"tabs__tab-container\"\n >\n <button class=\"tabs__tab\" type=\"button\" role=\"tab\">\n <span class=\"tabs__title\">{{tab.title}}</span>\n </button>\n </li>\n </ul>\n <ng-content></ng-content>\n "
}] }
];
Tabs.propDecorators = {
fitted: [{ type: HostBinding, args: ['class.tabs-fitted',] }, { type: Input }],
tabs: [{ type: ContentChildren, args: [TabItem,] }]
};
return Tabs;
}());
export { Tabs };
if (false) {
/** @type {?} */
Tabs.prototype.fitted;
/** @type {?} */
Tabs.prototype.tabs;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Aa3VzaGtpL25nLXN1a2EvIiwic291cmNlcyI6WyJsaWIvdGFicy90YWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DO0lBQUE7UUFtQjZDLFdBQU0sR0FBRyxLQUFLLENBQUM7SUFrQjVELENBQUM7Ozs7SUFkQyxpQ0FBa0I7OztJQUFsQjs7WUFDUSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQyxHQUFHLElBQUssT0FBQSxHQUFHLENBQUMsTUFBTSxFQUFWLENBQVUsRUFBQztRQUV4RCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7Ozs7O0lBRUQsd0JBQVM7Ozs7SUFBVCxVQUFVLE9BQWdCO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTzs7OztRQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLEVBQWxCLENBQWtCLEVBQUMsQ0FBQztRQUV2RCxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUN0QixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7Z0JBcENGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFLHlhQWNUO2lCQUNGOzs7eUJBRUUsV0FBVyxTQUFDLG1CQUFtQixjQUFHLEtBQUs7dUJBRXZDLGVBQWUsU0FBQyxPQUFPOztJQWdCMUIsV0FBQztDQUFBLEFBckNELElBcUNDO1NBbkJZLElBQUk7OztJQUNmLHNCQUEwRDs7SUFFMUQsb0JBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGFiSXRlbSB9IGZyb20gJy4vdGFiLWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3VrYS10YWJzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dWwgY2xhc3M9XCJ0YWJzXCI+XG4gICAgICA8bGlcbiAgICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdFRhYih0YWIpXCJcbiAgICAgICAgW2NsYXNzLnRhYnNfX3RhYi1jb250YWluZXItLXNlbGVjdGVkXT1cInRhYi5hY3RpdmVcIlxuICAgICAgICBjbGFzcz1cInRhYnNfX3RhYi1jb250YWluZXJcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwidGFic19fdGFiXCIgdHlwZT1cImJ1dHRvblwiIHJvbGU9XCJ0YWJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRhYnNfX3RpdGxlXCI+e3t0YWIudGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJzIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MudGFicy1maXR0ZWQnKSBASW5wdXQoKSBmaXR0ZWQgPSBmYWxzZTtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYkl0ZW0pIHRhYnM6IFF1ZXJ5TGlzdDxUYWJJdGVtPjtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgY29uc3QgYWN0aXZlVGFicyA9IHRoaXMudGFicy5maWx0ZXIoKHRhYikgPT4gdGFiLmFjdGl2ZSk7XG5cbiAgICBpZiAoYWN0aXZlVGFicy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0VGFiKHRoaXMudGFicy5maXJzdCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0VGFiKHRhYkl0ZW06IFRhYkl0ZW0pIHtcbiAgICB0aGlzLnRhYnMudG9BcnJheSgpLmZvckVhY2godGFiID0+IHRhYi5hY3RpdmUgPSBmYWxzZSk7XG5cbiAgICB0YWJJdGVtLmFjdGl2ZSA9IHRydWU7XG4gICAgdGFiSXRlbS5uZ09uQ2hhbmdlcygpO1xuICB9XG59XG4iXX0=