UNPKG

@engie-group/fluid-design-system-angular

Version:

Fluid Design System Angular

58 lines 9.78 kB
import { CommonModule } from '@angular/common'; import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class StatusIndicatorComponent { constructor() { this.statusIndicatorClass = 'nj-status-indicator'; this.statusIndicatorClasses = { offline: `${this.statusIndicatorClass}--offline`, online: `${this.statusIndicatorClass}--online`, away: `${this.statusIndicatorClass}--away`, 'do-not-disturb': `${this.statusIndicatorClass}--do-not-disturb`, busy: `${this.statusIndicatorClass}--busy`, unknown: `${this.statusIndicatorClass}--unknown`, error: `${this.statusIndicatorClass}--error`, success: `${this.statusIndicatorClass}--success`, warning: `${this.statusIndicatorClass}--warning`, 'in-progress': `${this.statusIndicatorClass}--in-progress`, information: `${this.statusIndicatorClass}--information`, discovery: `${this.statusIndicatorClass}--discovery`, planet: `${this.statusIndicatorClass}--planet`, }; /** * Status Indicator status */ this.status = 'online'; } ngAfterViewInit() { this.hasLabel = this.labelWrapper.nativeElement && this.labelWrapper.nativeElement.innerHTML !== ''; } getStatusClass() { const statusClass = this.statusIndicatorClasses[this.status]; if (!this.status || !statusClass) { return ''; } return statusClass; } getSizeClass() { if (!this.size || this.size === 'md') { return ''; } return `${this.statusIndicatorClass}--${this.size}`; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StatusIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StatusIndicatorComponent, isStandalone: true, selector: "nj-status-indicator", inputs: { status: "status", size: "size" }, viewQueries: [{ propertyName: "labelWrapper", first: true, predicate: ["labelWrapper"], descendants: true }], ngImport: i0, template: "<div class=\"nj-status-indicator\" [ngClass]=\"[getStatusClass(), getSizeClass()]\" [attr.aria-hidden]=\"hasLabel ? null : true\">\n <div class=\"nj-status-indicator__svg\"></div>\n <p class=\"nj-status-indicator__text\" #labelWrapper>\n <ng-content></ng-content>\n </p>\n</div>\n", styles: [".nj-status-indicator__text:empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StatusIndicatorComponent, decorators: [{ type: Component, args: [{ selector: 'nj-status-indicator', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div class=\"nj-status-indicator\" [ngClass]=\"[getStatusClass(), getSizeClass()]\" [attr.aria-hidden]=\"hasLabel ? null : true\">\n <div class=\"nj-status-indicator__svg\"></div>\n <p class=\"nj-status-indicator__text\" #labelWrapper>\n <ng-content></ng-content>\n </p>\n</div>\n", styles: [".nj-status-indicator__text:empty{display:none}\n"] }] }], ctorParameters: function () { return []; }, propDecorators: { status: [{ type: Input }], size: [{ type: Input }], labelWrapper: [{ type: ViewChild, args: ['labelWrapper'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zdGF0dXMtaW5kaWNhdG9yL3N0YXR1cy1pbmRpY2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc3RhdHVzLWluZGljYXRvci9zdGF0dXMtaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQWdCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFXbEcsTUFBTSxPQUFPLHdCQUF3QjtJQXdDbkM7UUF0Q2lCLHlCQUFvQixHQUFHLHFCQUFxQixDQUFDO1FBRTdDLDJCQUFzQixHQUFHO1lBQ3hDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsV0FBVztZQUNoRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLFVBQVU7WUFDOUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixRQUFRO1lBQzFDLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixrQkFBa0I7WUFDaEUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixRQUFRO1lBQzFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsV0FBVztZQUNoRCxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLFNBQVM7WUFDNUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixXQUFXO1lBQ2hELE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsV0FBVztZQUNoRCxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLGVBQWU7WUFDMUQsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixlQUFlO1lBQ3hELFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsYUFBYTtZQUNwRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLFVBQVU7U0FDL0MsQ0FBQztRQUVGOztXQUVHO1FBQ00sV0FBTSxHQUEwQixRQUFRLENBQUM7SUFrQmxELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEtBQUssRUFBRSxDQUFDO0lBQ3RHLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQyxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtZQUNwQyxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEQsQ0FBQzsrR0E1RFUsd0JBQXdCO21HQUF4Qix3QkFBd0IseU9DWnJDLGdTQU1BLHlHRElZLFlBQVk7OzRGQUVYLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7MEVBeUJkLE1BQU07c0JBQWQsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS3FCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3RhdHVzSW5kaWNhdG9yU2l6ZSwgU3RhdHVzSW5kaWNhdG9yU3RhdHVzfSBmcm9tICcuL3N0YXR1cy1pbmRpY2F0b3IubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduai1zdGF0dXMtaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YXR1cy1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGF0dXMtaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNJbmRpY2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c0luZGljYXRvckNsYXNzID0gJ25qLXN0YXR1cy1pbmRpY2F0b3InO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzSW5kaWNhdG9yQ2xhc3NlcyA9IHtcbiAgICBvZmZsaW5lOiBgJHt0aGlzLnN0YXR1c0luZGljYXRvckNsYXNzfS0tb2ZmbGluZWAsXG4gICAgb25saW5lOiBgJHt0aGlzLnN0YXR1c0luZGljYXRvckNsYXNzfS0tb25saW5lYCxcbiAgICBhd2F5OiBgJHt0aGlzLnN0YXR1c0luZGljYXRvckNsYXNzfS0tYXdheWAsXG4gICAgJ2RvLW5vdC1kaXN0dXJiJzogYCR7dGhpcy5zdGF0dXNJbmRpY2F0b3JDbGFzc30tLWRvLW5vdC1kaXN0dXJiYCxcbiAgICBidXN5OiBgJHt0aGlzLnN0YXR1c0luZGljYXRvckNsYXNzfS0tYnVzeWAsXG4gICAgdW5rbm93bjogYCR7dGhpcy5zdGF0dXNJbmRpY2F0b3JDbGFzc30tLXVua25vd25gLFxuICAgIGVycm9yOiBgJHt0aGlzLnN0YXR1c0luZGljYXRvckNsYXNzfS0tZXJyb3JgLFxuICAgIHN1Y2Nlc3M6IGAke3RoaXMuc3RhdHVzSW5kaWNhdG9yQ2xhc3N9LS1zdWNjZXNzYCxcbiAgICB3YXJuaW5nOiBgJHt0aGlzLnN0YXR1c0luZGljYXRvckNsYXNzfS0td2FybmluZ2AsXG4gICAgJ2luLXByb2dyZXNzJzogYCR7dGhpcy5zdGF0dXNJbmRpY2F0b3JDbGFzc30tLWluLXByb2dyZXNzYCxcbiAgICBpbmZvcm1hdGlvbjogYCR7dGhpcy5zdGF0dXNJbmRpY2F0b3JDbGFzc30tLWluZm9ybWF0aW9uYCxcbiAgICBkaXNjb3Zlcnk6IGAke3RoaXMuc3RhdHVzSW5kaWNhdG9yQ2xhc3N9LS1kaXNjb3ZlcnlgLFxuICAgIHBsYW5ldDogYCR7dGhpcy5zdGF0dXNJbmRpY2F0b3JDbGFzc30tLXBsYW5ldGAsXG4gIH07XG5cbiAgLyoqXG4gICAqIFN0YXR1cyBJbmRpY2F0b3Igc3RhdHVzXG4gICAqL1xuICBASW5wdXQoKSBzdGF0dXM6IFN0YXR1c0luZGljYXRvclN0YXR1cyA9ICdvbmxpbmUnO1xuXG4gIC8qKlxuICAgKiBTdGF0dXMgSW5kaWNhdG9yIHN0YXR1c1xuICAgKi9cbiAgQElucHV0KCkgc2l6ZTogU3RhdHVzSW5kaWNhdG9yU2l6ZTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQFZpZXdDaGlsZCgnbGFiZWxXcmFwcGVyJykgbGFiZWxXcmFwcGVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHN0YXR1cyBpbmRpY2F0b3IgaGFzIGxhYmVsXG4gICAqL1xuICBoYXNMYWJlbDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmhhc0xhYmVsID0gdGhpcy5sYWJlbFdyYXBwZXIubmF0aXZlRWxlbWVudCAmJiB0aGlzLmxhYmVsV3JhcHBlci5uYXRpdmVFbGVtZW50LmlubmVySFRNTCAhPT0gJyc7XG4gIH1cblxuICBnZXRTdGF0dXNDbGFzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0YXR1c0NsYXNzID0gdGhpcy5zdGF0dXNJbmRpY2F0b3JDbGFzc2VzW3RoaXMuc3RhdHVzXTtcbiAgICBpZiAoIXRoaXMuc3RhdHVzIHx8ICFzdGF0dXNDbGFzcykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gc3RhdHVzQ2xhc3M7XG4gIH1cblxuICBnZXRTaXplQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuc2l6ZSB8fCB0aGlzLnNpemUgPT09ICdtZCcpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMuc3RhdHVzSW5kaWNhdG9yQ2xhc3N9LS0ke3RoaXMuc2l6ZX1gO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmotc3RhdHVzLWluZGljYXRvclwiIFtuZ0NsYXNzXT1cIltnZXRTdGF0dXNDbGFzcygpLCBnZXRTaXplQ2xhc3MoKV1cIiBbYXR0ci5hcmlhLWhpZGRlbl09XCJoYXNMYWJlbCA/IG51bGwgOiB0cnVlXCI+XG4gIDxkaXYgY2xhc3M9XCJuai1zdGF0dXMtaW5kaWNhdG9yX19zdmdcIj48L2Rpdj5cbiAgPHAgY2xhc3M9XCJuai1zdGF0dXMtaW5kaWNhdG9yX190ZXh0XCIgI2xhYmVsV3JhcHBlcj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvcD5cbjwvZGl2PlxuIl19