govuk-angular
Version:
Angular components port of govuk-frontend nunjucks macros.
75 lines (63 loc) • 6.08 kB
JavaScript
import { Component, Input } from '@angular/core';
import { emptyFieldSet } from '../fieldset/fieldset';
import { GovUKDataCaptureComponent } from '../data-capture.component';
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";
/**
* @deprecated : Use the govuk-radios component
*/
export class GovUKRadioGroupComponent extends GovUKDataCaptureComponent {
constructor() {
super(...arguments);
this.fieldset = emptyFieldSet();
}
createId(choice) {
return choice.toLowerCase().replace(/\s/gm, '-') + '-' + this.id;
}
}
GovUKRadioGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: GovUKRadioGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
GovUKRadioGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: GovUKRadioGroupComponent, selector: "govuk-radio-group", inputs: { fieldset: "fieldset", options: "options" }, usesInheritance: true, ngImport: i0, template: `
<govuk-fieldset [id]="id" [legend]="fieldset" [hint]="hint" [errorMessage]="errorMessage" >
<div class="govuk-radios {{classes}}">
<span *ngFor="let choice of options">
<div class="govuk-radios__divider" *ngIf="choice.textDivider">
{{choice.textDivider}}
</div>
<govuk-radio [id]="createId(choice.value)"
[name]="id"
[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: GovUKRadioGroupComponent, decorators: [{
type: Component,
args: [{
selector: 'govuk-radio-group',
template: `
<govuk-fieldset [id]="id" [legend]="fieldset" [hint]="hint" [errorMessage]="errorMessage" >
<div class="govuk-radios {{classes}}">
<span *ngFor="let choice of options">
<div class="govuk-radios__divider" *ngIf="choice.textDivider">
{{choice.textDivider}}
</div>
<govuk-radio [id]="createId(choice.value)"
[name]="id"
[model]="model"
[value]="choice.value"
[label]="choice.text" [hint]="choice.hint"></govuk-radio>
</span>
</div>
</govuk-fieldset>
`
}]
}], propDecorators: { fieldset: [{
type: Input
}], options: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX3JhZGlvLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dvdnVrLWFuZ3VsYXIvc3JjL2xpYi9yYWRpb3MvX3JhZGlvLWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFHLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFZLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBR3RFOztHQUVHO0FBMEJILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx5QkFBaUM7SUF6Qi9FOztRQTJCVyxhQUFRLEdBQWEsYUFBYSxFQUFFLENBQUM7S0FNL0M7SUFIQyxRQUFRLENBQUMsTUFBYztRQUNyQixPQUFPLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25FLENBQUM7O3FIQVBVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHNJQXZCekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFCWDsyRkFFWSx3QkFBd0I7a0JBekJwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUJYO2lCQUNBOzhCQUdVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCAgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGVtcHR5RmllbGRTZXQsIEZpZWxkc2V0IH0gZnJvbSAnLi4vZmllbGRzZXQvZmllbGRzZXQnO1xuaW1wb3J0IHsgR292VUtEYXRhQ2FwdHVyZUNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGEtY2FwdHVyZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9PcHRpb25JdGVtIH0gZnJvbSAnLi9yYWRpby1vcHRpb25zLWl0ZW0nO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIDogVXNlIHRoZSBnb3Z1ay1yYWRpb3MgY29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dvdnVrLXJhZGlvLWdyb3VwJyxcbiAgdGVtcGxhdGU6IGBcbjxnb3Z1ay1maWVsZHNldCBbaWRdPVwiaWRcIiBbbGVnZW5kXT1cImZpZWxkc2V0XCIgW2hpbnRdPVwiaGludFwiIFtlcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlXCIgPlxuXG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3Mge3tjbGFzc2VzfX1cIj5cblxuICAgIDxzcGFuICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2Ygb3B0aW9uc1wiPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19kaXZpZGVyXCIgKm5nSWY9XCJjaG9pY2UudGV4dERpdmlkZXJcIj5cbiAgICAgICAge3tjaG9pY2UudGV4dERpdmlkZXJ9fVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxnb3Z1ay1yYWRpbyAgICBbaWRdPVwiY3JlYXRlSWQoY2hvaWNlLnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiaWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJtb2RlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNob2ljZS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNob2ljZS50ZXh0XCIgW2hpbnRdPVwiY2hvaWNlLmhpbnRcIj48L2dvdnVrLXJhZGlvPlxuICAgIDwvc3Bhbj5cblxuICA8L2Rpdj5cblxuPC9nb3Z1ay1maWVsZHNldD5cbmBcbn0pXG5leHBvcnQgY2xhc3MgR292VUtSYWRpb0dyb3VwQ29tcG9uZW50IGV4dGVuZHMgR292VUtEYXRhQ2FwdHVyZUNvbXBvbmVudDxzdHJpbmc+ICB7XG5cbiAgQElucHV0KCkgZmllbGRzZXQ6IEZpZWxkc2V0ID0gZW1wdHlGaWVsZFNldCgpO1xuICBASW5wdXQoKSBvcHRpb25zOiBBcnJheTxSYWRpb09wdGlvbkl0ZW0+O1xuXG4gIGNyZWF0ZUlkKGNob2ljZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2hvaWNlLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxzL2dtLCAnLScpICsgJy0nICsgdGhpcy5pZDtcbiAgfVxufVxuIl19