UNPKG

@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
/** * @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