@hxui/angular
Version:
An Angular library based on the [HXUI design system](https://hxui.io).
40 lines • 4.69 kB
JavaScript
import { Directive, ElementRef, EventEmitter, HostBinding, HostListener } from '@angular/core';
import { DropdownDirective } from './dropdown.directive';
import * as i0 from "@angular/core";
import * as i1 from "./dropdown.directive";
export class DropdownToggleDirective {
constructor(elementRef, dropdown) {
this.elementRef = elementRef;
this.dropdown = dropdown;
this.isOpenChange = new EventEmitter();
}
onClick(event) {
this.dropdown.show();
}
onEsc() {
this.dropdown.hide();
}
ngOnDestroy() { }
}
DropdownToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownToggleDirective, deps: [{ token: i0.ElementRef }, { token: i1.DropdownDirective }], target: i0.ɵɵFactoryTarget.Directive });
DropdownToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: DropdownToggleDirective, selector: "[hxDropdownToggle],[hxaDropdownToggle]", host: { listeners: { "click": "onClick($event)", "keyup.esc": "onEsc()" }, properties: { "attr.disabled": "this.isDisabled", "class.is-active": "this.isOpen" } }, exportAs: ["hx-dropdown-toggle"], ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownToggleDirective, decorators: [{
type: Directive,
args: [{
selector: '[hxDropdownToggle],[hxaDropdownToggle]',
exportAs: 'hx-dropdown-toggle'
}]
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DropdownDirective }]; }, propDecorators: { isDisabled: [{
type: HostBinding,
args: ['attr.disabled']
}], isOpen: [{
type: HostBinding,
args: ['class.is-active']
}], onClick: [{
type: HostListener,
args: ['click', ['$event']]
}], onEsc: [{
type: HostListener,
args: ['keyup.esc']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdG9nZ2xlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h4LXVpL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24tdG9nZ2xlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFDL0QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7OztBQU92RCxNQUFNLE9BQU8sdUJBQXVCO0lBdUJsQyxZQUFtQixVQUFzQixFQUNyQixRQUEyQjtRQUQ1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBckIvQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFzQjNDLENBQUM7SUFaRCxPQUFPLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUlELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFNRCxXQUFXLEtBQUksQ0FBQzs7cUhBM0JMLHVCQUF1Qjt5R0FBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsUUFBUSxFQUFFLG9CQUFvQjtpQkFDL0I7aUlBUUMsVUFBVTtzQkFEVCxXQUFXO3VCQUFDLGVBQWU7Z0JBSTVCLE1BQU07c0JBREwsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBSTlCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBT2pDLEtBQUs7c0JBREosWUFBWTt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBPdXRwdXQsIFJlbmRlcmVyMlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xyXG5cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2h4RHJvcGRvd25Ub2dnbGVdLFtoeGFEcm9wZG93blRvZ2dsZV0nLFxyXG4gIGV4cG9ydEFzOiAnaHgtZHJvcGRvd24tdG9nZ2xlJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuXHJcbiAgaXNPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcclxuICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWFjdGl2ZScpXHJcbiAgaXNPcGVuOiBib29sZWFuO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25DbGljayhldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5kcm9wZG93bi5zaG93KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5dXAuZXNjJylcclxuICBvbkVzYygpOiB2b2lkIHtcclxuICAgIHRoaXMuZHJvcGRvd24uaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkcm9wZG93bjogRHJvcGRvd25EaXJlY3RpdmUpIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge31cclxufVxyXG4iXX0=