UNPKG

@edugouvfr/ngx-dsfr

Version:

NgxDsfr est un portage Angular des éléments d'interface du Système de Design de l'État Français (DSFR).

58 lines 7.46 kB
import { Component, Input, ViewEncapsulation } from '@angular/core'; import { DsfrSizeConst } from '../../shared'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class DsfrBadgeComponent { constructor() { /** * L'icône de sévérité n'est pas affiché si `true` (`false` par défaut). * Attention seuls les badges dits "système" peuvent avoir une icône, les badges "custom" ne le peuvent pas. */ this.noIcon = false; /** Taille du badge, optionnel, `MD` par défaut. */ this.size = 'MD'; /** @internal */ this._severity = undefined; } get severity() { return this._severity; } /** Niveau d'alerte, optionnel. */ set severity(value) { this._severity = !value ? undefined : value?.toLowerCase(); } /** @internal */ getClasses() { if (!this.severity) return ''; return { // Severity 'fr-badge--new': this.severity === 'new', 'fr-badge--success': this.severity === 'success', 'fr-badge--info': this.severity == 'info', 'fr-badge--warning': this.severity == 'warning', 'fr-badge--error': this.severity === 'error', // small 'fr-badge--sm': this.size === DsfrSizeConst.SM && this.label, // no-icon (system badges) 'fr-badge--no-icon': this.noIcon, }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DsfrBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DsfrBadgeComponent, selector: "dsfr-badge", inputs: { label: "label", noIcon: "noIcon", size: "size", customClass: "customClass", severity: "severity" }, ngImport: i0, template: "<p class=\"fr-badge\" [class]=\"customClass ?? ''\" [ngClass]=\"getClasses()\">\n <span class=\"fr-ellipsis\">{{ label }}</span>\n</p>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DsfrBadgeComponent, decorators: [{ type: Component, args: [{ selector: 'dsfr-badge', encapsulation: ViewEncapsulation.None, template: "<p class=\"fr-badge\" [class]=\"customClass ?? ''\" [ngClass]=\"getClasses()\">\n <span class=\"fr-ellipsis\">{{ label }}</span>\n</p>\n" }] }], propDecorators: { label: [{ type: Input }], noIcon: [{ type: Input }], size: [{ type: Input }], customClass: [{ type: Input }], severity: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBUTdDLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFTRTs7O1dBR0c7UUFDTSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXhCLG1EQUFtRDtRQUMxQyxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUtwQyxnQkFBZ0I7UUFDUixjQUFTLEdBQWtDLFNBQVMsQ0FBQztLQTJCOUQ7SUF6QkMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQ0FBa0M7SUFDbEMsSUFBYSxRQUFRLENBQUMsS0FBb0M7UUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBb0IsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ2hGLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsVUFBVTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzlCLE9BQU87WUFDTCxXQUFXO1lBQ1gsZUFBZSxFQUFFLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSztZQUN4QyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVM7WUFDaEQsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNO1lBQ3pDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUztZQUMvQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU87WUFDNUMsUUFBUTtZQUNSLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUs7WUFDNUQsMEJBQTBCO1lBQzFCLG1CQUFtQixFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ2pDLENBQUM7SUFDSixDQUFDOytHQTNDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixnS0NUL0IsMklBR0E7OzRGRE1hLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxZQUFZLGlCQUVQLGlCQUFpQixDQUFDLElBQUk7OEJBSTVCLEtBQUs7c0JBQWIsS0FBSztnQkFNRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBVU8sUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEc2ZyU2l6ZUNvbnN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcbmltcG9ydCB7IERzZnJCYWRnZVNldmVyaXR5LCBEc2ZyQmFkZ2VTaXplIH0gZnJvbSAnLi9iYWRnZXMubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkc2ZyLWJhZGdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhZGdlLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRHNmckJhZGdlQ29tcG9uZW50IHtcbiAgLyoqIExhYmVsIGR1IGJhZGdlLCBvYmxpZ2F0b2lyZS4gKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogTCdpY8O0bmUgZGUgc8OpdsOpcml0w6kgbidlc3QgcGFzIGFmZmljaMOpIHNpIGB0cnVlYCAoYGZhbHNlYCBwYXIgZMOpZmF1dCkuXG4gICAqIEF0dGVudGlvbiBzZXVscyBsZXMgYmFkZ2VzIGRpdHMgXCJzeXN0w6htZVwiIHBldXZlbnQgYXZvaXIgdW5lIGljw7RuZSwgbGVzIGJhZGdlcyBcImN1c3RvbVwiIG5lIGxlIHBldXZlbnQgcGFzLlxuICAgKi9cbiAgQElucHV0KCkgbm9JY29uID0gZmFsc2U7XG5cbiAgLyoqIFRhaWxsZSBkdSBiYWRnZSwgb3B0aW9ubmVsLCBgTURgIHBhciBkw6lmYXV0LiAqL1xuICBASW5wdXQoKSBzaXplOiBEc2ZyQmFkZ2VTaXplID0gJ01EJztcblxuICAvKiogQ2xhc3NlIHBlcnNvbm5hbGlzw6llIHBvdXIgbGEgY291bGV1ciBkdSBiYWRnZS4gICovXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzOiBzdHJpbmc7XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcml2YXRlIF9zZXZlcml0eTogRHNmckJhZGdlU2V2ZXJpdHkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgZ2V0IHNldmVyaXR5KCk6IERzZnJCYWRnZVNldmVyaXR5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc2V2ZXJpdHk7XG4gIH1cblxuICAvKiogTml2ZWF1IGQnYWxlcnRlLCBvcHRpb25uZWwuICovXG4gIEBJbnB1dCgpIHNldCBzZXZlcml0eSh2YWx1ZTogRHNmckJhZGdlU2V2ZXJpdHkgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9zZXZlcml0eSA9ICF2YWx1ZSA/IHVuZGVmaW5lZCA6IDxEc2ZyQmFkZ2VTZXZlcml0eT52YWx1ZT8udG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgZ2V0Q2xhc3NlcygpIHtcbiAgICBpZiAoIXRoaXMuc2V2ZXJpdHkpIHJldHVybiAnJztcbiAgICByZXR1cm4ge1xuICAgICAgLy8gU2V2ZXJpdHlcbiAgICAgICdmci1iYWRnZS0tbmV3JzogdGhpcy5zZXZlcml0eSA9PT0gJ25ldycsXG4gICAgICAnZnItYmFkZ2UtLXN1Y2Nlc3MnOiB0aGlzLnNldmVyaXR5ID09PSAnc3VjY2VzcycsXG4gICAgICAnZnItYmFkZ2UtLWluZm8nOiB0aGlzLnNldmVyaXR5ID09ICdpbmZvJyxcbiAgICAgICdmci1iYWRnZS0td2FybmluZyc6IHRoaXMuc2V2ZXJpdHkgPT0gJ3dhcm5pbmcnLFxuICAgICAgJ2ZyLWJhZGdlLS1lcnJvcic6IHRoaXMuc2V2ZXJpdHkgPT09ICdlcnJvcicsXG4gICAgICAvLyBzbWFsbFxuICAgICAgJ2ZyLWJhZGdlLS1zbSc6IHRoaXMuc2l6ZSA9PT0gRHNmclNpemVDb25zdC5TTSAmJiB0aGlzLmxhYmVsLFxuICAgICAgLy8gbm8taWNvbiAoc3lzdGVtIGJhZGdlcylcbiAgICAgICdmci1iYWRnZS0tbm8taWNvbic6IHRoaXMubm9JY29uLFxuICAgIH07XG4gIH1cbn1cbiIsIjxwIGNsYXNzPVwiZnItYmFkZ2VcIiBbY2xhc3NdPVwiY3VzdG9tQ2xhc3MgPz8gJydcIiBbbmdDbGFzc109XCJnZXRDbGFzc2VzKClcIj5cbiAgPHNwYW4gY2xhc3M9XCJmci1lbGxpcHNpc1wiPnt7IGxhYmVsIH19PC9zcGFuPlxuPC9wPlxuIl19