govuk-angular
Version:
Angular components port of govuk-frontend nunjucks macros.
63 lines (59 loc) • 6.02 kB
JavaScript
import { Component, Input } from '@angular/core';
import { emptyErrorMessage } from '../error/error-message.model';
import { emptyHint } from '../hint/hint';
import { emptyLabel } from '../label/label';
import * as i0 from "@angular/core";
import * as i1 from "../label/label.component";
import * as i2 from "../hint/hint.component";
import * as i3 from "../error/error.component";
import * as i4 from "../govuk-error-line.directive";
import * as i5 from "@angular/common";
/**
* The Field template is a common template for field type inputs.
* The template includes the Hint Label and ErrorMessage common to a number
* of component, including, govuk-input, govuk-select and govuk-input-group
*/
export class GovUKFieldComponent {
constructor() {
this.hint = emptyHint();
this.errorMessage = emptyErrorMessage();
this.label = emptyLabel();
this.hasHint = () => this.hint.text !== "";
}
}
GovUKFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: GovUKFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
GovUKFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: GovUKFieldComponent, selector: "govuk-field", inputs: { id: "id", name: "name", classes: "classes", hint: "hint", errorMessage: "errorMessage", label: "label" }, ngImport: i0, template: `
<div [govukErrorLine]="errorMessage" class="govuk-form-group classes">
<govuk-label [id]="id" [label]="label"></govuk-label>
<govuk-hint [id]="id" [hint]="hint" *ngIf="hasHint()"> </govuk-hint>
<govuk-error [id]="id" [errorMessage]="errorMessage"></govuk-error>
<ng-content></ng-content>
</div>
`, isInline: true, components: [{ type: i1.GovUKLabelComponent, selector: "govuk-label", inputs: ["id", "label"] }, { type: i2.GovUKHintComponent, selector: "govuk-hint", inputs: ["id", "hint"] }, { type: i3.GovUKErrorComponent, selector: "govuk-error", inputs: ["id", "errorMessage"] }], directives: [{ type: i4.GovErrorLineDirective, selector: "[govukErrorLine]", inputs: ["govukErrorLine"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: GovUKFieldComponent, decorators: [{
type: Component,
args: [{
selector: 'govuk-field',
template: `
<div [govukErrorLine]="errorMessage" class="govuk-form-group classes">
<govuk-label [id]="id" [label]="label"></govuk-label>
<govuk-hint [id]="id" [hint]="hint" *ngIf="hasHint()"> </govuk-hint>
<govuk-error [id]="id" [errorMessage]="errorMessage"></govuk-error>
<ng-content></ng-content>
</div>
`
}]
}], propDecorators: { id: [{
type: Input
}], name: [{
type: Input
}], classes: [{
type: Input
}], hint: [{
type: Input
}], errorMessage: [{
type: Input
}], label: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ292dWstYW5ndWxhci9zcmMvbGliL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWdCLE1BQU0sOEJBQThCLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFTLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFHbkQ7Ozs7R0FJRztBQWNILE1BQU0sT0FBTyxtQkFBbUI7SUFiaEM7UUFrQlcsU0FBSSxHQUFTLFNBQVMsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQWlCLGlCQUFpQixFQUFFLENBQUM7UUFDakQsVUFBSyxHQUFVLFVBQVUsRUFBRSxDQUFDO1FBRXJDLFlBQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7S0FDdkM7O2dIQVZZLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHVLQVhwQjs7Ozs7Ozs7O0NBU1g7MkZBRVksbUJBQW1CO2tCQWIvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUU7Ozs7Ozs7OztDQVNYO2lCQUNBOzhCQUVVLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdvdlVLQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YS1jYXB0dXJlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBlbXB0eUVycm9yTWVzc2FnZSwgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vZXJyb3IvZXJyb3ItbWVzc2FnZS5tb2RlbCc7XG5pbXBvcnQgeyBlbXB0eUhpbnQsIEhpbnQgfSBmcm9tICcuLi9oaW50L2hpbnQnO1xuaW1wb3J0IHsgZW1wdHlMYWJlbCwgTGFiZWwgfSBmcm9tICcuLi9sYWJlbC9sYWJlbCc7XG5cblxuLyoqXG4gKiBUaGUgRmllbGQgdGVtcGxhdGUgaXMgYSBjb21tb24gdGVtcGxhdGUgZm9yIGZpZWxkIHR5cGUgaW5wdXRzLlxuICogVGhlIHRlbXBsYXRlIGluY2x1ZGVzIHRoZSBIaW50IExhYmVsIGFuZCBFcnJvck1lc3NhZ2UgY29tbW9uIHRvIGEgbnVtYmVyXG4gKiBvZiBjb21wb25lbnQsIGluY2x1ZGluZywgZ292dWstaW5wdXQsIGdvdnVrLXNlbGVjdCBhbmQgZ292dWstaW5wdXQtZ3JvdXBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ292dWstZmllbGQnLFxuICB0ZW1wbGF0ZTogYFxuPGRpdiBbZ292dWtFcnJvckxpbmVdPVwiZXJyb3JNZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwIGNsYXNzZXNcIj5cbiAgPGdvdnVrLWxhYmVsIFtpZF09XCJpZFwiIFtsYWJlbF09XCJsYWJlbFwiPjwvZ292dWstbGFiZWw+XG4gIDxnb3Z1ay1oaW50ICBbaWRdPVwiaWRcIiBbaGludF09XCJoaW50XCIgKm5nSWY9XCJoYXNIaW50KClcIj4gPC9nb3Z1ay1oaW50PlxuICA8Z292dWstZXJyb3IgW2lkXT1cImlkXCIgW2Vycm9yTWVzc2FnZV09XCJlcnJvck1lc3NhZ2VcIj48L2dvdnVrLWVycm9yPlxuXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuPC9kaXY+XG5gXG59KVxuZXhwb3J0IGNsYXNzIEdvdlVLRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBHb3ZVS0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGhpbnQ6IEhpbnQgPSBlbXB0eUhpbnQoKTtcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBFcnJvck1lc3NhZ2UgPSBlbXB0eUVycm9yTWVzc2FnZSgpO1xuICBASW5wdXQoKSBsYWJlbDogTGFiZWwgPSBlbXB0eUxhYmVsKCk7XG5cbiAgaGFzSGludCA9ICgpID0+IHRoaXMuaGludC50ZXh0ICE9PSBcIlwiO1xufVxuIl19