@abgov/angular-components
Version:
Government of Alberta - UI components for Angular
125 lines • 11.3 kB
JavaScript
import { CUSTOM_ELEMENTS_SCHEMA, Component, EventEmitter, Input, Output, forwardRef, TemplateRef, booleanAttribute, } from "@angular/core";
import { NG_VALUE_ACCESSOR } from "@angular/forms";
import { NgIf, NgTemplateOutlet } from "@angular/common";
import { GoabControlValueAccessor } from "../base.component";
import * as i0 from "@angular/core";
export class GoabCheckbox extends GoabControlValueAccessor {
constructor() {
super(...arguments);
this.onChange = new EventEmitter();
}
getDescriptionAsString() {
return typeof this.description === "string" ? this.description : "";
}
getDescriptionAsTemplate() {
if (this.description) {
return typeof this.description === "string" ? null : this.description;
}
return null;
}
_onChange(e) {
const detail = e.detail;
this.onChange.emit(detail);
this.markAsTouched();
this.fcChange?.(detail.binding === "check" ? detail.checked : detail.value || "");
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.3", type: GoabCheckbox, isStandalone: true, selector: "goab-checkbox", inputs: { name: "name", checked: ["checked", "checked", booleanAttribute], text: "text", value: "value", ariaLabel: "ariaLabel", description: "description", reveal: "reveal", revealArialLabel: "revealArialLabel", maxWidth: "maxWidth" }, outputs: { onChange: "onChange" }, providers: [
{
provide: NG_VALUE_ACCESSOR,
multi: true,
useExisting: forwardRef(() => GoabCheckbox),
},
], usesInheritance: true, ngImport: i0, template: ` <goa-checkbox
[]="name"
[]="checked"
[]="disabled"
[]="error"
[]="text"
[]="value"
[]="testId"
[]="ariaLabel"
[]="getDescriptionAsString()"
[]="revealArialLabel"
[]="id"
[]="maxWidth"
[]="mt"
[]="mb"
[]="ml"
[]="mr"
(_change)="_onChange($event)"
>
<ng-content />
<div slot="description">
<ng-container [ngTemplateOutlet]="getDescriptionAsTemplate()"></ng-container>
</div>
<div slot="reveal">
<ng-container *ngIf="reveal" [ngTemplateOutlet]="reveal"></ng-container>
</div>
</goa-checkbox>`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabCheckbox, decorators: [{
type: Component,
args: [{
standalone: true,
selector: "goab-checkbox",
template: ` <goa-checkbox
[]="name"
[]="checked"
[]="disabled"
[]="error"
[]="text"
[]="value"
[]="testId"
[]="ariaLabel"
[]="getDescriptionAsString()"
[]="revealArialLabel"
[]="id"
[]="maxWidth"
[]="mt"
[]="mb"
[]="ml"
[]="mr"
(_change)="_onChange($event)"
>
<ng-content />
<div slot="description">
<ng-container [ngTemplateOutlet]="getDescriptionAsTemplate()"></ng-container>
</div>
<div slot="reveal">
<ng-container *ngIf="reveal" [ngTemplateOutlet]="reveal"></ng-container>
</div>
</goa-checkbox>`,
schemas: [CUSTOM_ELEMENTS_SCHEMA],
providers: [
{
provide: NG_VALUE_ACCESSOR,
multi: true,
useExisting: forwardRef(() => GoabCheckbox),
},
],
imports: [NgTemplateOutlet, NgIf],
}]
}], propDecorators: { name: [{
type: Input
}], checked: [{
type: Input,
args: [{ transform: booleanAttribute }]
}], text: [{
type: Input
}], value: [{
type: Input
}], ariaLabel: [{
type: Input
}], description: [{
type: Input
}], reveal: [{
type: Input
}], revealArialLabel: [{
type: Input
}], maxWidth: [{
type: Input
}], onChange: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sVUFBVSxFQUNWLFdBQVcsRUFDWCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQTBDN0QsTUFBTSxPQUFPLFlBQWEsU0FBUSx3QkFBd0I7SUF4QzFEOztRQW9EWSxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7S0FtQnJFO0lBakJDLHNCQUFzQjtRQUNwQixPQUFPLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBUTtRQUNoQixNQUFNLE1BQU0sR0FBSSxDQUE2QyxDQUFDLE1BQU0sQ0FBQztRQUNyRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7OEdBOUJVLFlBQVk7a0dBQVosWUFBWSx5R0FFSCxnQkFBZ0IsbU5BWHpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDNUM7U0FDRixpREFsQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQTBCTSw0REFTTixnQkFBZ0Isb0pBQUUsSUFBSTs7MkZBRXJCLFlBQVk7a0JBeEN4QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkEwQk07b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDO3lCQUM1QztxQkFDRjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUM7aUJBQ2xDOzhCQUVVLElBQUk7c0JBQVosS0FBSztnQkFDa0MsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsSUFBSTtzQkFBWixLQUFLO2dCQUVZLEtBQUs7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR29hYkNoZWNrYm94T25DaGFuZ2VEZXRhaWwgfSBmcm9tIFwiQGFiZ292L3VpLWNvbXBvbmVudHMtY29tbW9uXCI7XG5pbXBvcnQge1xuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgZm9yd2FyZFJlZixcbiAgVGVtcGxhdGVSZWYsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEdvYWJDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gXCIuLi9iYXNlLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6IFwiZ29hYi1jaGVja2JveFwiLFxuICB0ZW1wbGF0ZTogYCA8Z29hLWNoZWNrYm94XG4gICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmVycm9yXT1cImVycm9yXCJcbiAgICBbYXR0ci50ZXh0XT1cInRleHRcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgW2F0dHIudGVzdGlkXT1cInRlc3RJZFwiXG4gICAgW2F0dHIuYXJpYWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2F0dHIuZGVzY3JpcHRpb25dPVwiZ2V0RGVzY3JpcHRpb25Bc1N0cmluZygpXCJcbiAgICBbYXR0ci5yZXZlYWxhcmlhbGFiZWxdPVwicmV2ZWFsQXJpYWxMYWJlbFwiXG4gICAgW2lkXT1cImlkXCJcbiAgICBbYXR0ci5tYXh3aWR0aF09XCJtYXhXaWR0aFwiXG4gICAgW2F0dHIubXRdPVwibXRcIlxuICAgIFthdHRyLm1iXT1cIm1iXCJcbiAgICBbYXR0ci5tbF09XCJtbFwiXG4gICAgW2F0dHIubXJdPVwibXJcIlxuICAgIChfY2hhbmdlKT1cIl9vbkNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IC8+XG4gICAgPGRpdiBzbG90PVwiZGVzY3JpcHRpb25cIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ2V0RGVzY3JpcHRpb25Bc1RlbXBsYXRlKClcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHNsb3Q9XCJyZXZlYWxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZXZlYWxcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJyZXZlYWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9nb2EtY2hlY2tib3g+YCxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR29hYkNoZWNrYm94KSxcbiAgICB9LFxuICBdLFxuICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgTmdJZl0sXG59KVxuZXhwb3J0IGNsYXNzIEdvYWJDaGVja2JveCBleHRlbmRzIEdvYWJDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIG5hbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBjaGVja2VkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdGV4dD86IHN0cmluZztcbiAgLy8gKiogTk9URTogY2FuIHdlIGp1c3QgdXNlIHRoZSBiYXNlIGNvbXBvbmVudCBmb3IgdGhpcz9cbiAgQElucHV0KCkgb3ZlcnJpZGUgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuO1xuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uITogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgcmV2ZWFsPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgcmV2ZWFsQXJpYWxMYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgbWF4V2lkdGg/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxHb2FiQ2hlY2tib3hPbkNoYW5nZURldGFpbD4oKTtcblxuICBnZXREZXNjcmlwdGlvbkFzU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLmRlc2NyaXB0aW9uID09PSBcInN0cmluZ1wiID8gdGhpcy5kZXNjcmlwdGlvbiA6IFwiXCI7XG4gIH1cblxuICBnZXREZXNjcmlwdGlvbkFzVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwge1xuICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHRoaXMuZGVzY3JpcHRpb24gPT09IFwic3RyaW5nXCIgPyBudWxsIDogdGhpcy5kZXNjcmlwdGlvbjtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBfb25DaGFuZ2UoZTogRXZlbnQpIHtcbiAgICBjb25zdCBkZXRhaWwgPSAoZSBhcyBDdXN0b21FdmVudDxHb2FiQ2hlY2tib3hPbkNoYW5nZURldGFpbD4pLmRldGFpbDtcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoZGV0YWlsKTtcbiAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLmZjQ2hhbmdlPy4oZGV0YWlsLmJpbmRpbmcgPT09IFwiY2hlY2tcIiA/IGRldGFpbC5jaGVja2VkIDogZGV0YWlsLnZhbHVlIHx8IFwiXCIpO1xuICB9XG59XG4iXX0=