@abgov/angular-components
Version:
Government of Alberta - UI components for Angular
121 lines • 10 kB
JavaScript
import { CUSTOM_ELEMENTS_SCHEMA, Component, EventEmitter, Input, Output, booleanAttribute, forwardRef, } from "@angular/core";
import { NG_VALUE_ACCESSOR } from "@angular/forms";
import { GoabControlValueAccessor } from "../base.component";
import * as i0 from "@angular/core";
// "disabled", "value", "id" is an exposed property of HTMLInputElement, no need to bind with attr
export class GoabDropdown extends GoabControlValueAccessor {
constructor() {
super(...arguments);
this.onChange = new EventEmitter();
}
_onChange(e) {
const detail = e.detail;
this.onChange.emit(detail);
this.markAsTouched();
this.fcChange?.(detail.value || "");
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabDropdown, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.3", type: GoabDropdown, isStandalone: true, selector: "goab-dropdown", inputs: { name: "name", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterable: ["filterable", "filterable", booleanAttribute], leadingIcon: "leadingIcon", maxHeight: "maxHeight", multiselect: ["multiselect", "multiselect", booleanAttribute], native: ["native", "native", booleanAttribute], placeholder: "placeholder", width: "width", relative: "relative" }, outputs: { onChange: "onChange" }, providers: [
{
provide: NG_VALUE_ACCESSOR,
multi: true,
useExisting: forwardRef(() => GoabDropdown),
},
], usesInheritance: true, ngImport: i0, template: `
<goa-dropdown
[]="name"
[]="value"
[]="ariaLabel"
[]="ariaLabelledBy"
[]="disabled"
[]="error"
[]="filterable"
[]="leadingIcon"
[]="maxHeight"
[]="mb"
[]="ml"
[]="mr"
[]="mt"
[]="multiselect"
[]="native"
[]="placeholder"
[]="testId"
[]="width"
[]="relative"
[]="id"
(_change)="_onChange($event)"
>
<ng-content />
</goa-dropdown>
`, isInline: true }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabDropdown, decorators: [{
type: Component,
args: [{
standalone: true,
selector: "goab-dropdown",
template: `
<goa-dropdown
[]="name"
[]="value"
[]="ariaLabel"
[]="ariaLabelledBy"
[]="disabled"
[]="error"
[]="filterable"
[]="leadingIcon"
[]="maxHeight"
[]="mb"
[]="ml"
[]="mr"
[]="mt"
[]="multiselect"
[]="native"
[]="placeholder"
[]="testId"
[]="width"
[]="relative"
[]="id"
(_change)="_onChange($event)"
>
<ng-content />
</goa-dropdown>
`,
schemas: [CUSTOM_ELEMENTS_SCHEMA],
providers: [
{
provide: NG_VALUE_ACCESSOR,
multi: true,
useExisting: forwardRef(() => GoabDropdown),
},
],
}]
}], propDecorators: { name: [{
type: Input
}], ariaLabel: [{
type: Input
}], ariaLabelledBy: [{
type: Input
}], filterable: [{
type: Input,
args: [{ transform: booleanAttribute }]
}], leadingIcon: [{
type: Input
}], maxHeight: [{
type: Input
}], multiselect: [{
type: Input,
args: [{ transform: booleanAttribute }]
}], native: [{
type: Input,
args: [{ transform: booleanAttribute }]
}], placeholder: [{
type: Input
}], width: [{
type: Input
}], relative: [{
type: Input
}], onChange: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFN0Qsa0dBQWtHO0FBd0NsRyxNQUFNLE9BQU8sWUFBYSxTQUFRLHdCQUF3QjtJQXZDMUQ7O1FBdURZLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQztLQVNyRTtJQVBDLFNBQVMsQ0FBQyxDQUFRO1FBQ2hCLE1BQU0sTUFBTSxHQUFJLENBQTZDLENBQUMsTUFBTSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDOzhHQXhCVSxZQUFZO2tHQUFaLFlBQVksNEtBSUgsZ0JBQWdCLG1HQUdoQixnQkFBZ0IsZ0NBQ2hCLGdCQUFnQixxSEFoQnpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDNUM7U0FDRixpREFsQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJUOzsyRkFVVSxZQUFZO2tCQXZDeEIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUM7eUJBQzVDO3FCQUNGO2lCQUNGOzhCQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ2tDLFVBQVU7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDa0MsV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxNQUFNO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUM3QixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHb2FiRHJvcGRvd25PbkNoYW5nZURldGFpbCwgR29hYkljb25UeXBlIH0gZnJvbSBcIkBhYmdvdi91aS1jb21wb25lbnRzLWNvbW1vblwiO1xuaW1wb3J0IHtcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgR29hYkNvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSBcIi4uL2Jhc2UuY29tcG9uZW50XCI7XG5cbi8vIFwiZGlzYWJsZWRcIiwgXCJ2YWx1ZVwiLCBcImlkXCIgaXMgYW4gZXhwb3NlZCBwcm9wZXJ0eSBvZiBIVE1MSW5wdXRFbGVtZW50LCBubyBuZWVkIHRvIGJpbmQgd2l0aCBhdHRyXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6IFwiZ29hYi1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxnb2EtZHJvcGRvd25cbiAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgW2F0dHIuYXJpYWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2F0dHIuZXJyb3JdPVwiZXJyb3JcIlxuICAgICAgW2F0dHIuZmlsdGVyYWJsZV09XCJmaWx0ZXJhYmxlXCJcbiAgICAgIFthdHRyLmxlYWRpbmdpY29uXT1cImxlYWRpbmdJY29uXCJcbiAgICAgIFthdHRyLm1heGhlaWdodF09XCJtYXhIZWlnaHRcIlxuICAgICAgW2F0dHIubWJdPVwibWJcIlxuICAgICAgW2F0dHIubWxdPVwibWxcIlxuICAgICAgW2F0dHIubXJdPVwibXJcIlxuICAgICAgW2F0dHIubXRdPVwibXRcIlxuICAgICAgW2F0dHIubXVsdGlzZWxlY3RdPVwibXVsdGlzZWxlY3RcIlxuICAgICAgW2F0dHIubmF0aXZlXT1cIm5hdGl2ZVwiXG4gICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbYXR0ci50ZXN0aWRdPVwidGVzdElkXCJcbiAgICAgIFthdHRyLndpZHRoXT1cIndpZHRoXCJcbiAgICAgIFthdHRyLnJlbGF0aXZlXT1cInJlbGF0aXZlXCJcbiAgICAgIFtpZF09XCJpZFwiXG4gICAgICAoX2NoYW5nZSk9XCJfb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2dvYS1kcm9wZG93bj5cbiAgYCxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR29hYkRyb3Bkb3duKSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHb2FiRHJvcGRvd24gZXh0ZW5kcyBHb2FiQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBuYW1lPzogc3RyaW5nO1xuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZmlsdGVyYWJsZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxlYWRpbmdJY29uPzogR29hYkljb25UeXBlO1xuICBASW5wdXQoKSBtYXhIZWlnaHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBtdWx0aXNlbGVjdD86IGJvb2xlYW47XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBuYXRpdmU/OiBib29sZWFuO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgQElucHV0KCkgd2lkdGg/OiBzdHJpbmc7XG4gIC8qKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBwcm9wZXJ0eSBoYXMgbm8gZWZmZWN0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvblxuICAgKi9cbiAgQElucHV0KCkgcmVsYXRpdmU/OiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8R29hYkRyb3Bkb3duT25DaGFuZ2VEZXRhaWw+KCk7XG5cbiAgX29uQ2hhbmdlKGU6IEV2ZW50KSB7XG4gICAgY29uc3QgZGV0YWlsID0gKGUgYXMgQ3VzdG9tRXZlbnQ8R29hYkRyb3Bkb3duT25DaGFuZ2VEZXRhaWw+KS5kZXRhaWw7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KGRldGFpbCk7XG5cbiAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLmZjQ2hhbmdlPy4oZGV0YWlsLnZhbHVlIHx8IFwiXCIpO1xuICB9XG59XG4iXX0=