import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { IconDefinition } from '@fortawesome/free-solid-svg-icons'; import { faCheckCircle, faExclamationTriangle, faExclamationCircle, faInfoCircle, faTimes } from '@fortawesome/free-solid-svg-icons'; type AlertSize = 'sm' | 'md' | 'lg'; type AlertVariant = 'primary' | 'success' | 'warning' | 'danger' | 'info'; @Component({ selector: 'ui-alert', standalone: true, imports: [CommonModule, FontAwesomeModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: `