UNPKG

@abgov/angular-components

Version:

Government of Alberta - UI components for Angular

121 lines 10 kB
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 [attr.name]="name" [value]="value" [attr.arialabel]="ariaLabel" [attr.arialabelledby]="ariaLabelledBy" [disabled]="disabled" [attr.error]="error" [attr.filterable]="filterable" [attr.leadingicon]="leadingIcon" [attr.maxheight]="maxHeight" [attr.mb]="mb" [attr.ml]="ml" [attr.mr]="mr" [attr.mt]="mt" [attr.multiselect]="multiselect" [attr.native]="native" [attr.placeholder]="placeholder" [attr.testid]="testId" [attr.width]="width" [attr.relative]="relative" [id]="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 [attr.name]="name" [value]="value" [attr.arialabel]="ariaLabel" [attr.arialabelledby]="ariaLabelledBy" [disabled]="disabled" [attr.error]="error" [attr.filterable]="filterable" [attr.leadingicon]="leadingIcon" [attr.maxheight]="maxHeight" [attr.mb]="mb" [attr.ml]="ml" [attr.mr]="mr" [attr.mt]="mt" [attr.multiselect]="multiselect" [attr.native]="native" [attr.placeholder]="placeholder" [attr.testid]="testId" [attr.width]="width" [attr.relative]="relative" [id]="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=