UNPKG

govuk-angular

Version:

Angular components port of govuk-frontend nunjucks macros.

95 lines (87 loc) 8.95 kB
import { Component, EventEmitter, Input, Output } from '@angular/core'; import { emptyFieldSet, emptyLegend } from '../fieldset/fieldset'; import { emptyHint } from '../hint/hint'; import { emptyErrorMessage } from '../error/error-message.model'; import * as i0 from "@angular/core"; import * as i1 from "../fieldset/fieldset.component"; import * as i2 from "./radio.component"; import * as i3 from "@angular/common"; /** * ```javascript * <govuk-radios [id]="'stacked'" * [model]="location" * [items]="locationOptions" * [legend]="{ text: 'Where do you live?', * classes: 'govuk-fieldset__legend--l', * isPageHeading: false}"> * </govuk-radios> * ``` */ export class GovUKRadiosComponent { constructor() { this.hint = emptyHint(); this.errorMessage = emptyErrorMessage(); /** Selected radio value from items.value */ this.modelChange = new EventEmitter(); this.fieldset = emptyFieldSet(); this.legend = emptyLegend(); } } GovUKRadiosComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: GovUKRadiosComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); GovUKRadiosComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: GovUKRadiosComponent, selector: "govuk-radios", inputs: { id: "id", name: "name", classes: "classes", describeBy: "describeBy", hint: "hint", errorMessage: "errorMessage", model: "model", fieldset: "fieldset", legend: "legend", items: "items" }, outputs: { modelChange: "modelChange" }, ngImport: i0, template: ` <govuk-fieldset [id]="id" [fieldset]="fieldset" [legend]="legend" [hint]="hint" [errorMessage]="errorMessage" > <div class="govuk-radios {{classes}}"> <span *ngFor="let choice of items; let i = index;"> <div class="govuk-radios__divider" *ngIf="choice.textDivider"> {{choice.textDivider}} </div> <govuk-radio [id]="id + '-' + i" [name]="id + '-' + i" [model]="model" [value]="choice.value" [label]="choice.text" [hint]="choice.hint"> </govuk-radio> </span> </div> </govuk-fieldset> `, isInline: true, components: [{ type: i1.GovUKFieldsetComponent, selector: "govuk-fieldset", inputs: ["id", "fieldset", "legend", "hint", "errorMessage"] }, { type: i2.GovUKRadioComponent, selector: "govuk-radio", inputs: ["id", "groupName", "value", "name", "label", "hint", "model"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: GovUKRadiosComponent, decorators: [{ type: Component, args: [{ selector: 'govuk-radios', template: ` <govuk-fieldset [id]="id" [fieldset]="fieldset" [legend]="legend" [hint]="hint" [errorMessage]="errorMessage" > <div class="govuk-radios {{classes}}"> <span *ngFor="let choice of items; let i = index;"> <div class="govuk-radios__divider" *ngIf="choice.textDivider"> {{choice.textDivider}} </div> <govuk-radio [id]="id + '-' + i" [name]="id + '-' + i" [model]="model" [value]="choice.value" [label]="choice.text" [hint]="choice.hint"> </govuk-radio> </span> </div> </govuk-fieldset> ` }] }], propDecorators: { id: [{ type: Input }], name: [{ type: Input }], classes: [{ type: Input }], describeBy: [{ type: Input }], hint: [{ type: Input }], errorMessage: [{ type: Input }], model: [{ type: Input }], modelChange: [{ type: Output }], fieldset: [{ type: Input }], legend: [{ type: Input }], items: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dvdnVrLWFuZ3VsYXIvc3JjL2xpYi9yYWRpb3MvcmFkaW9zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFHLFlBQVksRUFBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBR3BGLE9BQU8sRUFBRSxTQUFTLEVBQVEsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFnQixNQUFNLDhCQUE4QixDQUFDOzs7OztBQUUvRTs7Ozs7Ozs7OztHQVVHO0FBc0JILE1BQU0sT0FBTyxvQkFBb0I7SUFyQmpDO1FBNkJXLFNBQUksR0FBUyxTQUFTLEVBQUUsQ0FBQztRQUN6QixpQkFBWSxHQUFpQixpQkFBaUIsRUFBRSxDQUFDO1FBVzFELDRDQUE0QztRQUNsQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFMUMsYUFBUSxHQUFhLGFBQWEsRUFBRSxDQUFDO1FBQ3JDLFdBQU0sR0FBVyxXQUFXLEVBQUUsQ0FBQztLQVd6Qzs7aUhBbkNZLG9CQUFvQjtxR0FBcEIsb0JBQW9CLG1TQW5CckI7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUJYOzJGQUVZLG9CQUFvQjtrQkFyQmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FpQlg7aUJBQ0E7OEJBRVUsRUFBRTtzQkFBVixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFJRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFTRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFRSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFVRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsICBFdmVudEVtaXR0ZXIsICBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlbXB0eUZpZWxkU2V0LCBlbXB0eUxlZ2VuZCwgRmllbGRzZXQsIExlZ2VuZCB9IGZyb20gJy4uL2ZpZWxkc2V0L2ZpZWxkc2V0JztcbmltcG9ydCB7IEdvdlVLRGF0YUNhcHR1cmUgfSBmcm9tICcuLi9kYXRhLWNhcHR1cmUuY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvT3B0aW9uSXRlbSB9IGZyb20gJy4vcmFkaW8tb3B0aW9ucy1pdGVtJztcbmltcG9ydCB7IGVtcHR5SGludCwgSGludCB9IGZyb20gJy4uL2hpbnQvaGludCc7XG5pbXBvcnQgeyBlbXB0eUVycm9yTWVzc2FnZSwgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vZXJyb3IvZXJyb3ItbWVzc2FnZS5tb2RlbCc7XG5cbi8qKlxuICogYGBgamF2YXNjcmlwdFxuICogPGdvdnVrLXJhZGlvcyBbaWRdPVwiJ3N0YWNrZWQnXCJcbiAqICAgICAgICAgICAgICAgW21vZGVsXT1cImxvY2F0aW9uXCJcbiAqICAgICAgICAgICAgICAgW2l0ZW1zXT1cImxvY2F0aW9uT3B0aW9uc1wiXG4gKiAgICAgICAgICAgICAgIFtsZWdlbmRdPVwieyB0ZXh0OiAnV2hlcmUgZG8geW91IGxpdmU/JyxcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ2dvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwnLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICBpc1BhZ2VIZWFkaW5nOiBmYWxzZX1cIj5cbiAqIDwvZ292dWstcmFkaW9zPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dvdnVrLXJhZGlvcycsXG4gIHRlbXBsYXRlOiBgXG48Z292dWstZmllbGRzZXQgW2lkXT1cImlkXCIgW2ZpZWxkc2V0XT1cImZpZWxkc2V0XCIgW2xlZ2VuZF09XCJsZWdlbmRcIiBbaGludF09XCJoaW50XCIgW2Vycm9yTWVzc2FnZV09XCJlcnJvck1lc3NhZ2VcIiA+XG5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvcyB7e2NsYXNzZXN9fVwiPlxuXG4gICAgPHNwYW4gKm5nRm9yPVwibGV0IGNob2ljZSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2RpdmlkZXJcIiAqbmdJZj1cImNob2ljZS50ZXh0RGl2aWRlclwiPiB7e2Nob2ljZS50ZXh0RGl2aWRlcn19IDwvZGl2PlxuXG4gICAgICA8Z292dWstcmFkaW8gW2lkXT1cImlkICsgJy0nICsgaVwiXG4gICAgICAgICAgICAgICAgICAgW25hbWVdPVwiaWQgKyAnLScgKyBpXCJcbiAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwibW9kZWxcIlxuICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjaG9pY2UudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjaG9pY2UudGV4dFwiIFtoaW50XT1cImNob2ljZS5oaW50XCI+IDwvZ292dWstcmFkaW8+XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cblxuPC9nb3Z1ay1maWVsZHNldD5cbmBcbn0pXG5leHBvcnQgY2xhc3MgR292VUtSYWRpb3NDb21wb25lbnQgaW1wbGVtZW50cyBHb3ZVS0RhdGFDYXB0dXJlPHN0cmluZz4gIHtcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICAvKiogZ292dWstcmFkaW9zLS1pbmxpbmVcbiAgICogZ292dWstcmFkaW9zLS1zbWFsbFxuICAgKi9cbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBkZXNjcmliZUJ5Pzogc3RyaW5nO1xuICBASW5wdXQoKSBoaW50OiBIaW50ID0gZW1wdHlIaW50KCk7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogRXJyb3JNZXNzYWdlID0gZW1wdHlFcnJvck1lc3NhZ2UoKTtcblxuICAvKipcbiAgICogU2VsZWN0ZWQgcmFkaW8gdmFsdWUgZnJvbSBpdGVtcy52YWx1ZSwgc2V0IGEgZGVmYXVsdCB2YWx1ZSBpZiByZXF1aXJlZFxuICAgKlxuICAgKiBgYGBqYXZhc2NyaXB0XG4gICAqIHsgc2VsZWN0ZWQ6IFwiXCIgfVxuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgpIG1vZGVsOiBzdHJpbmc7XG5cbiAgLyoqIFNlbGVjdGVkIHJhZGlvIHZhbHVlIGZyb20gaXRlbXMudmFsdWUgKi9cbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQElucHV0KCkgZmllbGRzZXQ6IEZpZWxkc2V0ID0gZW1wdHlGaWVsZFNldCgpO1xuICBASW5wdXQoKSBsZWdlbmQ6IExlZ2VuZCA9IGVtcHR5TGVnZW5kKCk7XG5cbiAgLyoqXG4gICAqIGBgYGphdmFzY3JpcHRcbiAgICogaXRlbXM6IFJhZGlvT3B0aW9uSXRlbVtdID0gW1xuICAgKiAgIHsgdGV4dDogXCJZZXNcIiwgdmFsdWU6IFwieWVzXCIgfSxcbiAgICogICB7IHRleHQ6IFwiTm9cIiwgdmFsdWU6IFwibm9cIiB9LFxuICAgKiBdO1xuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgpIGl0ZW1zOiBBcnJheTxSYWRpb09wdGlvbkl0ZW0+O1xufVxuIl19