@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
JavaScript
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