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).

51 lines 8.77 kB
import { CommonModule } from '@angular/common'; import { Component, Input, ViewEncapsulation } from '@angular/core'; import { EduMessageSeverityDirective } from '../../directives/message-severity.directive'; import { DsfrSeverityConst } from '../../models'; import { isStringEmptyOrNull } from '../../utils'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; /** * InputGroupComponent contient : * - Le label et l'aide textuel de l'input, * - Les messages de l'input * * @since 1.11.0 */ export class InputGroupComponent { constructor() { /** * Permet de désactiver le champ. */ this.disabled = false; /** * Message d'information lié au composant */ this.message = undefined; this.DsfrSeverity = DsfrSeverityConst; } hasMessage(severity) { return !isStringEmptyOrNull(this.message) && severity === this.severity; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InputGroupComponent, isStandalone: true, selector: "edu-input-group", inputs: { label: "label", inputId: "inputId", hint: "hint", disabled: "disabled", message: "message", severity: "severity", messagesGroupId: "messagesGroupId" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'fr-input-group': true,\n 'fr-input-group--disabled': disabled,\n 'fr-input-group--error': message && severity === DsfrSeverity.ERROR,\n 'fr-input-group--valid': message && (severity === DsfrSeverity.SUCCESS || severity === DsfrSeverity.VALID),\n 'fr-input-group--info': message && severity === DsfrSeverity.INFO,\n 'fr-input-group--warning': message && severity === DsfrSeverity.WARNING,\n }\">\n <ng-content />\n <div class=\"fr-messages-group\" [id]=\"messagesGroupId\" aria-live=\"polite\">\n <!-- prettier-ignore -->\n @if (message) {\n <p\n class=\"fr-message\"\n [eduMessageSeverity]=\"severity\"\n >{{ message }}</p>\n }\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: EduMessageSeverityDirective, selector: "[eduMessageSeverity]", inputs: ["eduMessageSeverity"] }], encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputGroupComponent, decorators: [{ type: Component, args: [{ selector: 'edu-input-group', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, EduMessageSeverityDirective], template: "<div\n [ngClass]=\"{\n 'fr-input-group': true,\n 'fr-input-group--disabled': disabled,\n 'fr-input-group--error': message && severity === DsfrSeverity.ERROR,\n 'fr-input-group--valid': message && (severity === DsfrSeverity.SUCCESS || severity === DsfrSeverity.VALID),\n 'fr-input-group--info': message && severity === DsfrSeverity.INFO,\n 'fr-input-group--warning': message && severity === DsfrSeverity.WARNING,\n }\">\n <ng-content />\n <div class=\"fr-messages-group\" [id]=\"messagesGroupId\" aria-live=\"polite\">\n <!-- prettier-ignore -->\n @if (message) {\n <p\n class=\"fr-message\"\n [eduMessageSeverity]=\"severity\"\n >{{ message }}</p>\n }\n </div>\n</div>\n" }] }], propDecorators: { label: [{ type: Input }], inputId: [{ type: Input }], hint: [{ type: Input }], disabled: [{ type: Input }], message: [{ type: Input }], severity: [{ type: Input }], messagesGroupId: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kc2ZyLWNvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDMUYsT0FBTyxFQUFnQixpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUVsRDs7Ozs7O0dBTUc7QUFRSCxNQUFNLE9BQU8sbUJBQW1CO0lBUGhDO1FBaUJFOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7V0FFRztRQUNNLFlBQU8sR0FBdUIsU0FBUyxDQUFDO1FBWTlCLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7S0FLckQ7SUFIVyxVQUFVLENBQUMsUUFBc0I7UUFDekMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUMxRSxDQUFDOytHQWxDVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw2T0NwQmhDLDJ0QkFvQkEsMkNERlksWUFBWSw2SEFBRSwyQkFBMkI7OzRGQUV4QyxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsaUJBQWlCLGlCQUNaLGlCQUFpQixDQUFDLElBQUksY0FFekIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLDJCQUEyQixDQUFDOzhCQUkzQyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkdU1lc3NhZ2VTZXZlcml0eURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvbWVzc2FnZS1zZXZlcml0eS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHNmclNldmVyaXR5LCBEc2ZyU2V2ZXJpdHlDb25zdCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBpc1N0cmluZ0VtcHR5T3JOdWxsIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG4vKipcbiAqIElucHV0R3JvdXBDb21wb25lbnQgY29udGllbnQgOlxuICogLSBMZSBsYWJlbCBldCBsJ2FpZGUgdGV4dHVlbCBkZSBsJ2lucHV0LFxuICogLSBMZXMgbWVzc2FnZXMgZGUgbCdpbnB1dFxuICpcbiAqIEBzaW5jZSAxLjExLjBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWR1LWlucHV0LWdyb3VwJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRWR1TWVzc2FnZVNldmVyaXR5RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRHcm91cENvbXBvbmVudCB7XG4gIC8qKiBMaWJlbGzDqSBkdSBjaGFtcC4gKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAvKiogRWzDqW1lbnQgc3VyIGxlcXVlbCBwb3J0ZSBsZSBsYWJlbC4gKi9cbiAgQElucHV0KCkgaW5wdXRJZDogc3RyaW5nO1xuXG4gIC8qKiBUZXh0ZSBhZGRpdGlvbm5lbCBkw6ljcml2YW50IGxlIGNoYW1wLiAgKi9cbiAgQElucHV0KCkgaGludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBQZXJtZXQgZGUgZMOpc2FjdGl2ZXIgbGUgY2hhbXAuXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBNZXNzYWdlIGQnaW5mb3JtYXRpb24gbGnDqSBhdSBjb21wb3NhbnRcbiAgICovXG4gIEBJbnB1dCgpIG1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogUmVwcsOpc2VudGUgbGEgc8OpdsOpcml0w6kgZHUgbWVzc2FnZVxuICAgKi9cbiAgQElucHV0KCkgc2V2ZXJpdHk6IERzZnJTZXZlcml0eTtcblxuICAvKipcbiAgICogSWQgZGUgbGEgZGl2IGFmZmljaGFudCBsZXMgbWVzc2FnZXMgZCdlcnJldXIgb3UgZGUgdmFsaWRhdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpIG1lc3NhZ2VzR3JvdXBJZDogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBEc2ZyU2V2ZXJpdHkgPSBEc2ZyU2V2ZXJpdHlDb25zdDtcblxuICBwcm90ZWN0ZWQgaGFzTWVzc2FnZShzZXZlcml0eTogRHNmclNldmVyaXR5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFpc1N0cmluZ0VtcHR5T3JOdWxsKHRoaXMubWVzc2FnZSkgJiYgc2V2ZXJpdHkgPT09IHRoaXMuc2V2ZXJpdHk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW25nQ2xhc3NdPVwie1xuICAgICdmci1pbnB1dC1ncm91cCc6IHRydWUsXG4gICAgJ2ZyLWlucHV0LWdyb3VwLS1kaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgICdmci1pbnB1dC1ncm91cC0tZXJyb3InOiBtZXNzYWdlICYmIHNldmVyaXR5ID09PSBEc2ZyU2V2ZXJpdHkuRVJST1IsXG4gICAgJ2ZyLWlucHV0LWdyb3VwLS12YWxpZCc6IG1lc3NhZ2UgJiYgKHNldmVyaXR5ID09PSBEc2ZyU2V2ZXJpdHkuU1VDQ0VTUyB8fCBzZXZlcml0eSA9PT0gRHNmclNldmVyaXR5LlZBTElEKSxcbiAgICAnZnItaW5wdXQtZ3JvdXAtLWluZm8nOiBtZXNzYWdlICYmIHNldmVyaXR5ID09PSBEc2ZyU2V2ZXJpdHkuSU5GTyxcbiAgICAnZnItaW5wdXQtZ3JvdXAtLXdhcm5pbmcnOiBtZXNzYWdlICYmIHNldmVyaXR5ID09PSBEc2ZyU2V2ZXJpdHkuV0FSTklORyxcbiAgfVwiPlxuICA8bmctY29udGVudCAvPlxuICA8ZGl2IGNsYXNzPVwiZnItbWVzc2FnZXMtZ3JvdXBcIiBbaWRdPVwibWVzc2FnZXNHcm91cElkXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgPCEtLSBwcmV0dGllci1pZ25vcmUgLS0+XG4gICAgQGlmIChtZXNzYWdlKSB7XG4gICAgICA8cFxuICAgICAgICBjbGFzcz1cImZyLW1lc3NhZ2VcIlxuICAgICAgICAgW2VkdU1lc3NhZ2VTZXZlcml0eV09XCJzZXZlcml0eVwiXG4gICAgICAgID57eyBtZXNzYWdlIH19PC9wPlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==