UNPKG

@favian/headwind-ui

Version:

Headless UI for Angular - Styleless Angular components to integrate with Tailwind CSS

33 lines 5.35 kB
import { Component, EventEmitter, Input, Output } from '@angular/core'; import { HeadwindTabGroupService } from './service/headwind-tab-group.service'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import * as i0 from "@angular/core"; import * as i1 from "./service/headwind-tab-group.service"; export class HeadwindTabGroupComponent { constructor(_headwindTabGroupService) { this._headwindTabGroupService = _headwindTabGroupService; this.tabKeyChange = new EventEmitter(); this._headwindTabGroupService.tab$.pipe(takeUntilDestroyed()).subscribe((tabKey) => { if (this._previousTabKey !== tabKey) { this._previousTabKey = tabKey; this.tabKeyChange.emit(tabKey); } }); } set tabKey(value) { this._headwindTabGroupService.tab = value; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeadwindTabGroupComponent, deps: [{ token: i1.HeadwindTabGroupService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HeadwindTabGroupComponent, isStandalone: true, selector: "headwind-tab-group", inputs: { tabKey: "tabKey" }, outputs: { tabKeyChange: "tabKeyChange" }, host: { classAttribute: "headwind-tab-group" }, providers: [HeadwindTabGroupService], ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [""] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeadwindTabGroupComponent, decorators: [{ type: Component, args: [{ selector: 'headwind-tab-group', standalone: true, imports: [], host: { class: 'headwind-tab-group', }, providers: [HeadwindTabGroupService], template: "<ng-content></ng-content>\r\n" }] }], ctorParameters: () => [{ type: i1.HeadwindTabGroupService }], propDecorators: { tabKeyChange: [{ type: Output }], tabKey: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZHdpbmQtdGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hlYWR3aW5kLXVpL3NyYy9jb21wb25lbnRzL2hlYWR3aW5kLXRhYi1ncm91cC9oZWFkd2luZC10YWItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaGVhZHdpbmQtdWkvc3JjL2NvbXBvbmVudHMvaGVhZHdpbmQtdGFiLWdyb3VwL2hlYWR3aW5kLXRhYi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFhaEUsTUFBTSxPQUFPLHlCQUF5QjtJQUtwQyxZQUE2Qix3QkFBaUQ7UUFBakQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQUpwRSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFLL0MsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2pGLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUNJLE1BQU0sQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO0lBQzVDLENBQUM7K0dBakJVLHlCQUF5QjttR0FBekIseUJBQXlCLDBMQUZ6QixDQUFDLHVCQUF1QixDQUFDLDBCQ2J0QywrQkFDQTs7NEZEY2EseUJBQXlCO2tCQVhyQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsRUFBRSxRQUdMO3dCQUNKLEtBQUssRUFBRSxvQkFBb0I7cUJBQzVCLGFBQ1UsQ0FBQyx1QkFBdUIsQ0FBQzs0RkFHMUIsWUFBWTtzQkFBckIsTUFBTTtnQkFjSCxNQUFNO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIZWFkd2luZFRhYkdyb3VwU2VydmljZSB9IGZyb20gJy4vc2VydmljZS9oZWFkd2luZC10YWItZ3JvdXAuc2VydmljZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaGVhZHdpbmQtdGFiLWdyb3VwJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkd2luZC10YWItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9oZWFkd2luZC10YWItZ3JvdXAuY29tcG9uZW50LnNjc3MnLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnaGVhZHdpbmQtdGFiLWdyb3VwJyxcclxuICB9LFxyXG4gIHByb3ZpZGVyczogW0hlYWR3aW5kVGFiR3JvdXBTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWR3aW5kVGFiR3JvdXBDb21wb25lbnQge1xyXG4gIEBPdXRwdXQoKSB0YWJLZXlDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfcHJldmlvdXNUYWJLZXk6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfaGVhZHdpbmRUYWJHcm91cFNlcnZpY2U6IEhlYWR3aW5kVGFiR3JvdXBTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLl9oZWFkd2luZFRhYkdyb3VwU2VydmljZS50YWIkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgodGFiS2V5KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLl9wcmV2aW91c1RhYktleSAhPT0gdGFiS2V5KSB7XHJcbiAgICAgICAgdGhpcy5fcHJldmlvdXNUYWJLZXkgPSB0YWJLZXk7XHJcbiAgICAgICAgdGhpcy50YWJLZXlDaGFuZ2UuZW1pdCh0YWJLZXkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHRhYktleSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9oZWFkd2luZFRhYkdyb3VwU2VydmljZS50YWIgPSB2YWx1ZTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4iXX0=