ng-halfmoon
Version:
Angular Library to build upon the halfmoon-framework
50 lines • 4.15 kB
JavaScript
import { Component, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';
import { Applier } from '../../utils';
export class AlertComponent extends Applier {
constructor(el, renderer) {
super(el, renderer, 'alert');
this.alertClass = true;
this.dismissable = false;
}
ngOnInit() {
this.renderer.setAttribute(this.el.nativeElement, 'role', 'alert');
}
ngOnChanges(changes) {
if (changes.appearance) {
this.applyChange(changes.appearance, this.el);
}
}
}
AlertComponent.decorators = [
{ type: Component, args: [{
selector: 'hm-alert',
template: `
<button
class="close"
data-dismiss="alert"
type="button"
aria-label="Close"
*ngIf="dismissable"
>
<span aria-hidden="true">×</span>
</button>
<ng-content select="h4"></ng-content>
<ng-content></ng-content>
`,
styles: [`
:host {
display: block;
}
`]
},] }
];
AlertComponent.ctorParameters = () => [
{ type: ElementRef },
{ type: Renderer2 }
];
AlertComponent.propDecorators = {
alertClass: [{ type: HostBinding, args: ['class.alert',] }],
appearance: [{ type: Input }],
dismissable: [{ type: Input }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaGFsZm1vb24vc3JjL2xpYi9hZHZhbmNlZC9hbGVydC9hbGVydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFHTCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLGFBQWEsQ0FBQztBQXlCaEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxPQUFPO0lBS3pDLFlBQVksRUFBYyxFQUFFLFFBQW1CO1FBQzdDLEtBQUssQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBTEgsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVyQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztJQUl0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQzs7O1lBeENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7R0FZVDt5QkFFQzs7OztLQUlDO2FBRUo7OztZQWhDQyxVQUFVO1lBS1YsU0FBUzs7O3lCQTZCUixXQUFXLFNBQUMsYUFBYTt5QkFDekIsS0FBSzswQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FwcGVhcmFuY2UsIEFwcGxpZXJ9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaG0tYWxlcnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgZGF0YS1kaXNtaXNzPVwiYWxlcnRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxuICAgICAgKm5nSWY9XCJkaXNtaXNzYWJsZVwiXG4gICAgPlxuICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJoNFwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29tcG9uZW50IGV4dGVuZHMgQXBwbGllciBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbGVydCcpIGFsZXJ0Q2xhc3MgPSB0cnVlO1xuICBASW5wdXQoKSBhcHBlYXJhbmNlOiBBcHBlYXJhbmNlO1xuICBASW5wdXQoKSBkaXNtaXNzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgc3VwZXIoZWwsIHJlbmRlcmVyLCAnYWxlcnQnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3JvbGUnLCAnYWxlcnQnKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5hcHBlYXJhbmNlKSB7XG4gICAgICB0aGlzLmFwcGx5Q2hhbmdlKGNoYW5nZXMuYXBwZWFyYW5jZSwgdGhpcy5lbCk7XG4gICAgfVxuICB9XG59XG4iXX0=