@favian/headwind-ui
Version:
Headless UI for Angular - Styleless Angular components to integrate with Tailwind CSS
33 lines • 5.35 kB
JavaScript
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=