UNPKG

@favian/headwind-ui

Version:

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

45 lines 6.32 kB
import { Component, HostListener } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../service/headwind-accordion.service"; export class HeadwindAccordionButtonComponent { constructor(_headwindAccordionService) { this._headwindAccordionService = _headwindAccordionService; } get opened() { return this._headwindAccordionService.opened; } onHostClick() { this._headwindAccordionService.toggleOpened.emit(); } onHostSpaceKeydown(event) { event.stopPropagation(); event.preventDefault(); this._headwindAccordionService.toggleOpened.emit(); } onHostEnterKeydown(event) { event.stopPropagation(); event.preventDefault(); this._headwindAccordionService.toggleOpened.emit(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeadwindAccordionButtonComponent, deps: [{ token: i1.HeadwindAccordionService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HeadwindAccordionButtonComponent, isStandalone: true, selector: "headwind-accordion-button", host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "onHostClick()", "keydown.space": "onHostSpaceKeydown($event)", "keydown.enter": "onHostEnterKeydown($event)" }, properties: { "attr.aria-expanded": "opened" }, classAttribute: "headwind-accordion-button" }, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [""] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeadwindAccordionButtonComponent, decorators: [{ type: Component, args: [{ selector: 'headwind-accordion-button', standalone: true, imports: [], host: { tabindex: '0', role: 'button', class: 'headwind-accordion-button', ['[attr.aria-expanded]']: 'opened', }, template: "<ng-content></ng-content>\r\n" }] }], ctorParameters: () => [{ type: i1.HeadwindAccordionService }], propDecorators: { onHostClick: [{ type: HostListener, args: ['click'] }], onHostSpaceKeydown: [{ type: HostListener, args: ['keydown.space', ['$event']] }], onHostEnterKeydown: [{ type: HostListener, args: ['keydown.enter', ['$event']] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZHdpbmQtYWNjb3JkaW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9oZWFkd2luZC11aS9zcmMvY29tcG9uZW50cy9oZWFkd2luZC1hY2NvcmRpb24vaGVhZHdpbmQtYWNjb3JkaW9uLWJ1dHRvbi9oZWFkd2luZC1hY2NvcmRpb24tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hlYWR3aW5kLXVpL3NyYy9jb21wb25lbnRzL2hlYWR3aW5kLWFjY29yZGlvbi9oZWFkd2luZC1hY2NvcmRpb24tYnV0dG9uL2hlYWR3aW5kLWFjY29yZGlvbi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWdCeEQsTUFBTSxPQUFPLGdDQUFnQztJQUMzQyxZQUE2Qix5QkFBbUQ7UUFBbkQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtJQUFHLENBQUM7SUFFcEYsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDO0lBQy9DLENBQUM7SUFHRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBR0Qsa0JBQWtCLENBQUMsS0FBWTtRQUM3QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXZCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUdELGtCQUFrQixDQUFDLEtBQVk7UUFDN0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JELENBQUM7K0dBMUJVLGdDQUFnQzttR0FBaEMsZ0NBQWdDLHNYQ2hCN0MsK0JBQ0E7OzRGRGVhLGdDQUFnQztrQkFiNUMsU0FBUzsrQkFDRSwyQkFBMkIsY0FDekIsSUFBSSxXQUNQLEVBQUUsUUFHTDt3QkFDSixRQUFRLEVBQUUsR0FBRzt3QkFDYixJQUFJLEVBQUUsUUFBUTt3QkFDZCxLQUFLLEVBQUUsMkJBQTJCO3dCQUNsQyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsUUFBUTtxQkFDbkM7NkZBVUQsV0FBVztzQkFEVixZQUFZO3VCQUFDLE9BQU87Z0JBTXJCLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBU3pDLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIZWFkd2luZEFjY29yZGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2hlYWR3aW5kLWFjY29yZGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaGVhZHdpbmQtYWNjb3JkaW9uLWJ1dHRvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZHdpbmQtYWNjb3JkaW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2hlYWR3aW5kLWFjY29yZGlvbi1idXR0b24uY29tcG9uZW50LnNjc3MnLFxyXG4gIGhvc3Q6IHtcclxuICAgIHRhYmluZGV4OiAnMCcsXHJcbiAgICByb2xlOiAnYnV0dG9uJyxcclxuICAgIGNsYXNzOiAnaGVhZHdpbmQtYWNjb3JkaW9uLWJ1dHRvbicsXHJcbiAgICBbJ1thdHRyLmFyaWEtZXhwYW5kZWRdJ106ICdvcGVuZWQnLFxyXG4gIH0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkd2luZEFjY29yZGlvbkJ1dHRvbkNvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfaGVhZHdpbmRBY2NvcmRpb25TZXJ2aWNlOiBIZWFkd2luZEFjY29yZGlvblNlcnZpY2UpIHt9XHJcblxyXG4gIGdldCBvcGVuZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faGVhZHdpbmRBY2NvcmRpb25TZXJ2aWNlLm9wZW5lZDtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICBvbkhvc3RDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuX2hlYWR3aW5kQWNjb3JkaW9uU2VydmljZS50b2dnbGVPcGVuZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zcGFjZScsIFsnJGV2ZW50J10pXHJcbiAgb25Ib3N0U3BhY2VLZXlkb3duKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgIHRoaXMuX2hlYWR3aW5kQWNjb3JkaW9uU2VydmljZS50b2dnbGVPcGVuZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXHJcbiAgb25Ib3N0RW50ZXJLZXlkb3duKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgIHRoaXMuX2hlYWR3aW5kQWNjb3JkaW9uU2VydmljZS50b2dnbGVPcGVuZWQuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiJdfQ==