@abgov/angular-components
Version:
Government of Alberta - UI components for Angular
98 lines (94 loc) • 8.53 kB
JavaScript
import { CUSTOM_ELEMENTS_SCHEMA, Component, EventEmitter, Input, Output, TemplateRef, booleanAttribute, } from "@angular/core";
import { NgIf, NgTemplateOutlet } from "@angular/common";
import * as i0 from "@angular/core";
export class GoabModal {
constructor() {
this.closable = false;
this.onClose = new EventEmitter();
}
getHeadingAsString() {
return this.heading instanceof TemplateRef ? "" : this.heading;
}
getHeadingAsTemplate() {
if (!this.heading)
return null;
return this.heading instanceof TemplateRef ? this.heading : null;
}
_onClose() {
this.onClose.emit();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.3", type: GoabModal, isStandalone: true, selector: "goab-modal", inputs: { calloutVariant: "calloutVariant", open: ["open", "open", booleanAttribute], maxWidth: "maxWidth", closable: "closable", transition: "transition", testId: "testId", role: "role", heading: "heading", actions: "actions" }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
<goa-modal
[attr.calloutvariant]="calloutVariant"
[attr.open]="open"
[attr.maxwidth]="maxWidth"
[attr.testid]="testId"
[attr.role]="role"
[attr.closable]="closable"
[attr.transition]="transition"
[attr.heading]="getHeadingAsString()"
(_close)="_onClose()"
>
<div slot="heading">
<ng-container *ngIf="this.heading !== '' && getHeadingAsTemplate() !== null" [ngTemplateOutlet]="getHeadingAsTemplate()"></ng-container>
</div>
<ng-content></ng-content>
<div slot="actions">
<ng-container *ngIf="this.actions" [ngTemplateOutlet]="actions"></ng-container>
</div>
</goa-modal>
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GoabModal, decorators: [{
type: Component,
args: [{
standalone: true,
selector: "goab-modal",
imports: [NgIf, NgTemplateOutlet],
template: `
<goa-modal
[attr.calloutvariant]="calloutVariant"
[attr.open]="open"
[attr.maxwidth]="maxWidth"
[attr.testid]="testId"
[attr.role]="role"
[attr.closable]="closable"
[attr.transition]="transition"
[attr.heading]="getHeadingAsString()"
(_close)="_onClose()"
>
<div slot="heading">
<ng-container *ngIf="this.heading !== '' && getHeadingAsTemplate() !== null" [ngTemplateOutlet]="getHeadingAsTemplate()"></ng-container>
</div>
<ng-content></ng-content>
<div slot="actions">
<ng-container *ngIf="this.actions" [ngTemplateOutlet]="actions"></ng-container>
</div>
</goa-modal>
`,
schemas: [CUSTOM_ELEMENTS_SCHEMA],
}]
}], propDecorators: { calloutVariant: [{
type: Input
}], open: [{
type: Input,
args: [{ transform: booleanAttribute }]
}], maxWidth: [{
type: Input
}], closable: [{
type: Input
}], transition: [{
type: Input
}], testId: [{
type: Input
}], role: [{
type: Input
}], heading: [{
type: Input
}], actions: [{
type: Input
}], onClose: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBK0J6RCxNQUFNLE9BQU8sU0FBUztJQTdCdEI7UUFpQ1csYUFBUSxHQUFHLEtBQUssQ0FBQztRQU9oQixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQWN4QztJQVpDLGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLFlBQVksV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDakUsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLElBQUksQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQyxPQUFPLFlBQVksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbkUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7OEdBeEJVLFNBQVM7a0dBQVQsU0FBUyxpSEFFQSxnQkFBZ0IsNE1BM0IxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVCw0REF2QlMsSUFBSSw2RkFBRSxnQkFBZ0I7OzJGQTBCckIsU0FBUztrQkE3QnJCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxZQUFZO29CQUN0QixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEM7OEJBRVUsY0FBYztzQkFBdEIsS0FBSztnQkFDa0MsSUFBSTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBHb2FiTW9kYWxDYWxsb3V0VmFyaWFudCxcbiAgR29hYk1vZGFsVHJhbnNpdGlvbixcbn0gZnJvbSBcIkBhYmdvdi91aS1jb21wb25lbnRzLWNvbW1vblwiO1xuaW1wb3J0IHtcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiBcImdvYWItbW9kYWxcIixcbiAgaW1wb3J0czogW05nSWYsIE5nVGVtcGxhdGVPdXRsZXRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxnb2EtbW9kYWxcbiAgICAgIFthdHRyLmNhbGxvdXR2YXJpYW50XT1cImNhbGxvdXRWYXJpYW50XCJcbiAgICAgIFthdHRyLm9wZW5dPVwib3BlblwiXG4gICAgICBbYXR0ci5tYXh3aWR0aF09XCJtYXhXaWR0aFwiXG4gICAgICBbYXR0ci50ZXN0aWRdPVwidGVzdElkXCJcbiAgICAgIFthdHRyLnJvbGVdPVwicm9sZVwiXG4gICAgICBbYXR0ci5jbG9zYWJsZV09XCJjbG9zYWJsZVwiXG4gICAgICBbYXR0ci50cmFuc2l0aW9uXT1cInRyYW5zaXRpb25cIlxuICAgICAgW2F0dHIuaGVhZGluZ109XCJnZXRIZWFkaW5nQXNTdHJpbmcoKVwiXG4gICAgICAoX2Nsb3NlKT1cIl9vbkNsb3NlKClcIlxuICAgID5cbiAgICAgIDxkaXYgc2xvdD1cImhlYWRpbmdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRoaXMuaGVhZGluZyAhPT0gJycgJiYgZ2V0SGVhZGluZ0FzVGVtcGxhdGUoKSAhPT0gbnVsbFwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImdldEhlYWRpbmdBc1RlbXBsYXRlKClcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgIDxkaXYgc2xvdD1cImFjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRoaXMuYWN0aW9uc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFjdGlvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZ29hLW1vZGFsPlxuICBgLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIEdvYWJNb2RhbCB7XG4gIEBJbnB1dCgpIGNhbGxvdXRWYXJpYW50PzogR29hYk1vZGFsQ2FsbG91dFZhcmlhbnQ7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBvcGVuPzogYm9vbGVhbjtcbiAgQElucHV0KCkgbWF4V2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsb3NhYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRyYW5zaXRpb24/OiBHb2FiTW9kYWxUcmFuc2l0aW9uO1xuICBASW5wdXQoKSB0ZXN0SWQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJvbGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlYWRpbmchOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBhY3Rpb25zITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAT3V0cHV0KCkgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBnZXRIZWFkaW5nQXNTdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5oZWFkaW5nIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYgPyBcIlwiIDogdGhpcy5oZWFkaW5nO1xuICB9XG5cbiAgZ2V0SGVhZGluZ0FzVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwge1xuICAgIGlmICghdGhpcy5oZWFkaW5nKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy5oZWFkaW5nIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYgPyB0aGlzLmhlYWRpbmcgOiBudWxsO1xuICB9XG5cbiAgX29uQ2xvc2UoKSB7XG4gICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcbiAgfVxufVxuIl19