@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).
78 lines • 10.1 kB
JavaScript
import { CommonModule } from '@angular/common';
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, ViewEncapsulation } from '@angular/core';
import { DsfrSizeConst } from '../../shared';
import { DsfrBadgeSeverityConst } from './badge.model';
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.badgeSize = 'MD';
/** @internal */
this._severity = undefined;
}
/**
* Taille du badge, optionnel, `MD` par défaut.
*
* @deprecated since(1.15.0) utiliser 'badgeSize' à la place
*/
get size() {
return this.badgeSize;
}
get severity() {
return this._severity;
}
/**
* Taille du badge, optionnel, `MD` par défaut.
*
* @deprecated since(1.15.0) utiliser 'badgeSize' à la place
*/
set size(value) {
this.badgeSize = value;
}
/** Niveau d'alerte, optionnel. */
set severity(value) {
this._severity = !value ? undefined : value?.toLowerCase();
}
/** @internal */
getClasses() {
const classes = {
'fr-badge--sm': this.badgeSize === DsfrSizeConst.SM && !!this.label,
'fr-badge--no-icon': this.noIcon,
};
if (this.severity) {
classes['fr-badge--new'] = this.severity === DsfrBadgeSeverityConst.NEW;
classes['fr-badge--success'] = this.severity === DsfrBadgeSeverityConst.SUCCESS;
classes['fr-badge--info'] = this.severity == DsfrBadgeSeverityConst.INFO;
classes['fr-badge--warning'] = this.severity == DsfrBadgeSeverityConst.WARNING;
classes['fr-badge--error'] = this.severity === DsfrBadgeSeverityConst.ERROR;
}
return classes;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DsfrBadgeComponent, isStandalone: true, selector: "dsfr-badge", inputs: { label: "label", noIcon: "noIcon", badgeSize: "badgeSize", customClass: "customClass", size: "size", 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrBadgeComponent, decorators: [{
type: Component,
args: [{ selector: 'dsfr-badge', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], 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
}], badgeSize: [{
type: Input
}], customClass: [{
type: Input
}], size: [{
type: Input
}], severity: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFxQixzQkFBc0IsRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQVV6RixNQUFNLE9BQU8sa0JBQWtCO0lBUi9CO1FBWUU7OztXQUdHO1FBQ00sV0FBTSxHQUFHLEtBQUssQ0FBQztRQUV4Qjs7V0FFRztRQUNNLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBS3pDLGdCQUFnQjtRQUNSLGNBQVMsR0FBa0MsU0FBUyxDQUFDO0tBOEM5RDtJQTVDQzs7OztPQUlHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFhLElBQUksQ0FBQyxLQUFvQjtRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsa0NBQWtDO0lBQ2xDLElBQWEsUUFBUSxDQUFDLEtBQW9DO1FBQ3hELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQW9CLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNoRixDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLFVBQVU7UUFDUixNQUFNLE9BQU8sR0FBNEI7WUFDdkMsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLEtBQUssYUFBYSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDbkUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDakMsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLHNCQUFzQixDQUFDLEdBQUcsQ0FBQztZQUN4RSxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztZQUNoRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQztZQUN6RSxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztZQUMvRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLHNCQUFzQixDQUFDLEtBQUssQ0FBQztRQUM5RSxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzsrR0FoRVUsa0JBQWtCO21HQUFsQixrQkFBa0IsNE1DYi9CLDJJQUdBLDJDRE9ZLFlBQVk7OzRGQUdYLGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDRSxZQUFZLGlCQUVQLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLFdBQ2QsQ0FBQyxzQkFBc0IsQ0FBQzs4QkFJeEIsS0FBSztzQkFBYixLQUFLO2dCQU1HLE1BQU07c0JBQWQsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBdUJPLElBQUk7c0JBQWhCLEtBQUs7Z0JBS08sUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHNmclNpemVDb25zdCB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBEc2ZyQmFkZ2VTZXZlcml0eSwgRHNmckJhZGdlU2V2ZXJpdHlDb25zdCwgRHNmckJhZGdlU2l6ZSB9IGZyb20gJy4vYmFkZ2UubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkc2ZyLWJhZGdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhZGdlLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgRHNmckJhZGdlQ29tcG9uZW50IHtcbiAgLyoqIExhYmVsIGR1IGJhZGdlLCBvYmxpZ2F0b2lyZS4gKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogTCdpY8O0bmUgZGUgc8OpdsOpcml0w6kgbidlc3QgcGFzIGFmZmljaMOpIHNpIGB0cnVlYCAoYGZhbHNlYCBwYXIgZMOpZmF1dCkuXG4gICAqIEF0dGVudGlvbiBzZXVscyBsZXMgYmFkZ2VzIGRpdHMgXCJzeXN0w6htZVwiIHBldXZlbnQgYXZvaXIgdW5lIGljw7RuZSwgbGVzIGJhZGdlcyBcImN1c3RvbVwiIG5lIGxlIHBldXZlbnQgcGFzLlxuICAgKi9cbiAgQElucHV0KCkgbm9JY29uID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRhaWxsZSBkdSBiYWRnZSwgb3B0aW9ubmVsLCBgTURgIHBhciBkw6lmYXV0LlxuICAgKi9cbiAgQElucHV0KCkgYmFkZ2VTaXplOiBEc2ZyQmFkZ2VTaXplID0gJ01EJztcblxuICAvKiogQ2xhc3NlIHBlcnNvbm5hbGlzw6llIHBvdXIgbGEgY291bGV1ciBkdSBiYWRnZS4gQ29ycmVzcG9uZCDDoCB1bmUgY2xhc3NlIGR1IHR5cGUgYGZyLWJhZGdlLS1ibHVlLWN1bXVsdXNgLiAqL1xuICBASW5wdXQoKSBjdXN0b21DbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJpdmF0ZSBfc2V2ZXJpdHk6IERzZnJCYWRnZVNldmVyaXR5IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUYWlsbGUgZHUgYmFkZ2UsIG9wdGlvbm5lbCwgYE1EYCBwYXIgZMOpZmF1dC5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgc2luY2UoMS4xNS4wKSB1dGlsaXNlciAnYmFkZ2VTaXplJyDDoCBsYSBwbGFjZVxuICAgKi9cbiAgZ2V0IHNpemUoKTogRHNmckJhZGdlU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuYmFkZ2VTaXplO1xuICB9XG5cbiAgZ2V0IHNldmVyaXR5KCk6IERzZnJCYWRnZVNldmVyaXR5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc2V2ZXJpdHk7XG4gIH1cblxuICAvKipcbiAgICogVGFpbGxlIGR1IGJhZGdlLCBvcHRpb25uZWwsIGBNRGAgcGFyIGTDqWZhdXQuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIHNpbmNlKDEuMTUuMCkgdXRpbGlzZXIgJ2JhZGdlU2l6ZScgw6AgbGEgcGxhY2VcbiAgICovXG4gIEBJbnB1dCgpIHNldCBzaXplKHZhbHVlOiBEc2ZyQmFkZ2VTaXplKSB7XG4gICAgdGhpcy5iYWRnZVNpemUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKiBOaXZlYXUgZCdhbGVydGUsIG9wdGlvbm5lbC4gKi9cbiAgQElucHV0KCkgc2V0IHNldmVyaXR5KHZhbHVlOiBEc2ZyQmFkZ2VTZXZlcml0eSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3NldmVyaXR5ID0gIXZhbHVlID8gdW5kZWZpbmVkIDogPERzZnJCYWRnZVNldmVyaXR5PnZhbHVlPy50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBnZXRDbGFzc2VzKCkge1xuICAgIGNvbnN0IGNsYXNzZXM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge1xuICAgICAgJ2ZyLWJhZGdlLS1zbSc6IHRoaXMuYmFkZ2VTaXplID09PSBEc2ZyU2l6ZUNvbnN0LlNNICYmICEhdGhpcy5sYWJlbCxcbiAgICAgICdmci1iYWRnZS0tbm8taWNvbic6IHRoaXMubm9JY29uLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5zZXZlcml0eSkge1xuICAgICAgY2xhc3Nlc1snZnItYmFkZ2UtLW5ldyddID0gdGhpcy5zZXZlcml0eSA9PT0gRHNmckJhZGdlU2V2ZXJpdHlDb25zdC5ORVc7XG4gICAgICBjbGFzc2VzWydmci1iYWRnZS0tc3VjY2VzcyddID0gdGhpcy5zZXZlcml0eSA9PT0gRHNmckJhZGdlU2V2ZXJpdHlDb25zdC5TVUNDRVNTO1xuICAgICAgY2xhc3Nlc1snZnItYmFkZ2UtLWluZm8nXSA9IHRoaXMuc2V2ZXJpdHkgPT0gRHNmckJhZGdlU2V2ZXJpdHlDb25zdC5JTkZPO1xuICAgICAgY2xhc3Nlc1snZnItYmFkZ2UtLXdhcm5pbmcnXSA9IHRoaXMuc2V2ZXJpdHkgPT0gRHNmckJhZGdlU2V2ZXJpdHlDb25zdC5XQVJOSU5HO1xuICAgICAgY2xhc3Nlc1snZnItYmFkZ2UtLWVycm9yJ10gPSB0aGlzLnNldmVyaXR5ID09PSBEc2ZyQmFkZ2VTZXZlcml0eUNvbnN0LkVSUk9SO1xuICAgIH1cblxuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG59XG4iLCI8cCBjbGFzcz1cImZyLWJhZGdlXCIgW2NsYXNzXT1cImN1c3RvbUNsYXNzID8/ICcnXCIgW25nQ2xhc3NdPVwiZ2V0Q2xhc3NlcygpXCI+XG4gIDxzcGFuIGNsYXNzPVwiZnItZWxsaXBzaXNcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbjwvcD5cbiJdfQ==