@coreui/angular
Version:
CoreUI Components Library for Angular
55 lines • 5.73 kB
JavaScript
import { Directive, HostBinding, Input } from '@angular/core';
import * as i0 from "@angular/core";
export class HeaderTogglerDirective {
constructor(renderer, hostElement) {
this.renderer = renderer;
this.hostElement = hostElement;
this.headerToggler = true;
/**
* Default role for header-toggler. [docs]
* @type string
* @default 'button'
*/
this.type = 'button';
/**
* Default aria-label attr for header-toggler. [docs]
* @type string
* @default 'Toggle navigation'
*/
this.ariaLabel = 'Toggle navigation';
}
addDefaultIcon() {
const span = this.renderer.createElement('span');
this.renderer.addClass(span, 'header-toggler-icon');
this.renderer.appendChild(this.hostElement.nativeElement, span);
}
ngAfterContentInit() {
this.hasContent = this.hostElement.nativeElement.childNodes.length > 0;
if (!this.hasContent) {
this.addDefaultIcon();
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: HeaderTogglerDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: HeaderTogglerDirective, isStandalone: true, selector: "[cHeaderToggler]", inputs: { type: "type", ariaLabel: "ariaLabel" }, host: { properties: { "class.header-toggler": "this.headerToggler", "attr.type": "this.type", "attr.aria-label": "this.ariaLabel" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: HeaderTogglerDirective, decorators: [{
type: Directive,
args: [{
selector: '[cHeaderToggler]',
standalone: true
}]
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { headerToggler: [{
type: HostBinding,
args: ['class.header-toggler']
}], type: [{
type: HostBinding,
args: ['attr.type']
}, {
type: Input
}], ariaLabel: [{
type: HostBinding,
args: ['attr.aria-label']
}, {
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXRvZ2dsZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLXRvZ2dsZXIvaGVhZGVyLXRvZ2dsZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFjLFdBQVcsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBTXZHLE1BQU0sT0FBTyxzQkFBc0I7SUFvQmpDLFlBQ1UsUUFBbUIsRUFDbkIsV0FBdUI7UUFEdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXBCSSxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUMxRDs7OztXQUlHO1FBRU0sU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUN6Qjs7OztXQUlHO1FBRU0sY0FBUyxHQUFHLG1CQUFtQixDQUFDO0lBT3JDLENBQUM7SUFFTCxjQUFjO1FBQ1osTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDOytHQXBDVSxzQkFBc0I7bUdBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7dUdBR3NDLGFBQWE7c0JBQWpELFdBQVc7dUJBQUMsc0JBQXNCO2dCQU8xQixJQUFJO3NCQURaLFdBQVc7dUJBQUMsV0FBVzs7c0JBQ3ZCLEtBQUs7Z0JBT0csU0FBUztzQkFEakIsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUM3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY0hlYWRlclRvZ2dsZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJUb2dnbGVyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oZWFkZXItdG9nZ2xlcicpIGhlYWRlclRvZ2dsZXIgPSB0cnVlO1xuICAvKipcbiAgICogRGVmYXVsdCByb2xlIGZvciBoZWFkZXItdG9nZ2xlci4gW2RvY3NdXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKiBAZGVmYXVsdCAnYnV0dG9uJ1xuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnR5cGUnKVxuICBASW5wdXQoKSB0eXBlID0gJ2J1dHRvbic7XG4gIC8qKlxuICAgKiBEZWZhdWx0IGFyaWEtbGFiZWwgYXR0ciBmb3IgaGVhZGVyLXRvZ2dsZXIuIFtkb2NzXVxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgJ1RvZ2dsZSBuYXZpZ2F0aW9uJ1xuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICBASW5wdXQoKSBhcmlhTGFiZWwgPSAnVG9nZ2xlIG5hdmlnYXRpb24nO1xuXG4gIHByaXZhdGUgaGFzQ29udGVudCE6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWZcbiAgKSB7IH1cblxuICBhZGREZWZhdWx0SWNvbigpOiB2b2lkIHtcbiAgICBjb25zdCBzcGFuID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhzcGFuLCAnaGVhZGVyLXRvZ2dsZXItaWNvbicpO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCBzcGFuKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc0NvbnRlbnQgPSB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGggPiAwO1xuICAgIGlmICghdGhpcy5oYXNDb250ZW50KSB7XG4gICAgICB0aGlzLmFkZERlZmF1bHRJY29uKCk7XG4gICAgfVxuICB9XG59XG4iXX0=