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

53 lines 8.55 kB
import { CommonModule } from '@angular/common'; import { Component, Input, ViewEncapsulation } from '@angular/core'; 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 * @author pfontanet */ export class InputGroupComponent { constructor() { /** * Permet de désactiver le champ. */ this.disabled = false; /** * Message d'information lié au composant */ this.message = undefined; // Afin de pouvoir utiliser le type dans l'HTML /** @internal */ this.severityConst = DsfrSeverityConst; } /** @internal */ hasMessage(severity) { return !isStringEmptyOrNull(this.message) && severity === this.severity; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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': hasMessage(severityConst.ERROR),\n 'fr-input-group--valid': hasMessage(severityConst.SUCCESS),\n 'fr-input-group--info': hasMessage(severityConst.INFO)\n }\">\n <ng-content />\n <div class=\"fr-messages-group\" [id]=\"messagesGroupId\" aria-live=\"polite\">\n <!-- prettier-ignore -->\n <p\n class=\"fr-message\"\n [ngClass]=\"{\n 'fr-message--error': hasMessage(severityConst.ERROR),\n 'fr-message--valid': hasMessage(severityConst.SUCCESS),\n 'fr-message--info': hasMessage(severityConst.INFO)\n }\"\n >{{ message }}</p>\n </div>\n</div>\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: "16.2.12", ngImport: i0, type: InputGroupComponent, decorators: [{ type: Component, args: [{ selector: 'edu-input-group', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], template: "<div\n [ngClass]=\"{\n 'fr-input-group': true,\n 'fr-input-group--disabled': disabled,\n 'fr-input-group--error': hasMessage(severityConst.ERROR),\n 'fr-input-group--valid': hasMessage(severityConst.SUCCESS),\n 'fr-input-group--info': hasMessage(severityConst.INFO)\n }\">\n <ng-content />\n <div class=\"fr-messages-group\" [id]=\"messagesGroupId\" aria-live=\"polite\">\n <!-- prettier-ignore -->\n <p\n class=\"fr-message\"\n [ngClass]=\"{\n 'fr-message--error': hasMessage(severityConst.ERROR),\n 'fr-message--valid': hasMessage(severityConst.SUCCESS),\n 'fr-message--info': hasMessage(severityConst.INFO)\n }\"\n >{{ message }}</p>\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRzZnItY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kc2ZyLWNvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFnQixpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUVsRDs7Ozs7O0dBTUc7QUFRSCxNQUFNLE9BQU8sbUJBQW1CO0lBUGhDO1FBaUJFOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7V0FFRztRQUNNLFlBQU8sR0FBdUIsU0FBUyxDQUFDO1FBWWpELCtDQUErQztRQUMvQyxnQkFBZ0I7UUFDRyxrQkFBYSxHQUFHLGlCQUFpQixDQUFDO0tBTXREO0lBSkMsZ0JBQWdCO0lBQ04sVUFBVSxDQUFDLFFBQXNCO1FBQ3pDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDMUUsQ0FBQzsrR0FyQ1UsbUJBQW1CO21HQUFuQixtQkFBbUIsNk9DbkJoQyxrdEJBcUJBLDJDREpZLFlBQVk7OzRGQUVYLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxpQkFBaUIsaUJBQ1osaUJBQWlCLENBQUMsSUFBSSxjQUV6QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OEJBSWQsS0FBSztzQkFBYixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEc2ZyU2V2ZXJpdHksIERzZnJTZXZlcml0eUNvbnN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IGlzU3RyaW5nRW1wdHlPck51bGwgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbi8qKlxuICogSW5wdXRHcm91cENvbXBvbmVudCBjb250aWVudCA6XG4gKiAtIExlIGxhYmVsIGV0IGwnYWlkZSB0ZXh0dWVsIGRlIGwnaW5wdXQsXG4gKiAtIExlcyBtZXNzYWdlcyBkZSBsJ2lucHV0XG4gKiBAc2luY2UgMS4xMS4wXG4gKiBAYXV0aG9yIHBmb250YW5ldFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHUtaW5wdXQtZ3JvdXAnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRHcm91cENvbXBvbmVudCB7XG4gIC8qKiBMaWJlbGzDqSBkdSBjaGFtcC4gKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAvKiogRWzDqW1lbnQgc3VyIGxlcXVlbCBwb3J0ZSBsZSBsYWJlbC4gKi9cbiAgQElucHV0KCkgaW5wdXRJZDogc3RyaW5nO1xuXG4gIC8qKiBUZXh0ZSBhZGRpdGlvbm5lbCBkw6ljcml2YW50IGxlIGNoYW1wLiAgKi9cbiAgQElucHV0KCkgaGludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBQZXJtZXQgZGUgZMOpc2FjdGl2ZXIgbGUgY2hhbXAuXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBNZXNzYWdlIGQnaW5mb3JtYXRpb24gbGnDqSBhdSBjb21wb3NhbnRcbiAgICovXG4gIEBJbnB1dCgpIG1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogUmVwcsOpc2VudGUgbGEgc8OpdsOpcml0w6kgZHUgbWVzc2FnZVxuICAgKi9cbiAgQElucHV0KCkgc2V2ZXJpdHk6IERzZnJTZXZlcml0eTtcblxuICAvKipcbiAgICogSWQgZGUgbGEgZGl2IGFmZmljaGFudCBsZXMgbWVzc2FnZXMgZCdlcnJldXIgb3UgZGUgdmFsaWRhdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpIG1lc3NhZ2VzR3JvdXBJZDogc3RyaW5nO1xuXG4gIC8vIEFmaW4gZGUgcG91dm9pciB1dGlsaXNlciBsZSB0eXBlIGRhbnMgbCdIVE1MXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNldmVyaXR5Q29uc3QgPSBEc2ZyU2V2ZXJpdHlDb25zdDtcblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBoYXNNZXNzYWdlKHNldmVyaXR5OiBEc2ZyU2V2ZXJpdHkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIWlzU3RyaW5nRW1wdHlPck51bGwodGhpcy5tZXNzYWdlKSAmJiBzZXZlcml0eSA9PT0gdGhpcy5zZXZlcml0eTtcbiAgfVxufVxuIiwiPGRpdlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2ZyLWlucHV0LWdyb3VwJzogdHJ1ZSxcbiAgICAnZnItaW5wdXQtZ3JvdXAtLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgJ2ZyLWlucHV0LWdyb3VwLS1lcnJvcic6IGhhc01lc3NhZ2Uoc2V2ZXJpdHlDb25zdC5FUlJPUiksXG4gICAgJ2ZyLWlucHV0LWdyb3VwLS12YWxpZCc6IGhhc01lc3NhZ2Uoc2V2ZXJpdHlDb25zdC5TVUNDRVNTKSxcbiAgICAnZnItaW5wdXQtZ3JvdXAtLWluZm8nOiBoYXNNZXNzYWdlKHNldmVyaXR5Q29uc3QuSU5GTylcbiAgfVwiPlxuICA8bmctY29udGVudCAvPlxuICA8ZGl2IGNsYXNzPVwiZnItbWVzc2FnZXMtZ3JvdXBcIiBbaWRdPVwibWVzc2FnZXNHcm91cElkXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgPCEtLSBwcmV0dGllci1pZ25vcmUgLS0+XG4gICAgPHBcbiAgICAgIGNsYXNzPVwiZnItbWVzc2FnZVwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdmci1tZXNzYWdlLS1lcnJvcic6IGhhc01lc3NhZ2Uoc2V2ZXJpdHlDb25zdC5FUlJPUiksXG4gICAgICAgICdmci1tZXNzYWdlLS12YWxpZCc6IGhhc01lc3NhZ2Uoc2V2ZXJpdHlDb25zdC5TVUNDRVNTKSxcbiAgICAgICAgJ2ZyLW1lc3NhZ2UtLWluZm8nOiBoYXNNZXNzYWdlKHNldmVyaXR5Q29uc3QuSU5GTylcbiAgICAgIH1cIlxuICAgID57eyBtZXNzYWdlIH19PC9wPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19