{"version":3,"file":"finastra-angular-components-toaster.mjs","sources":["../tmp-esm2022/toaster/src/toaster.component.js","../tmp-esm2022/toaster/src/toaster-container.component.js","../tmp-esm2022/toaster/src/toaster.model.js","../tmp-esm2022/toaster/src/toaster.config.js","../tmp-esm2022/toaster/src/toaster.service.js","../tmp-esm2022/toaster/finastra-angular-components-toaster.js"],"sourcesContent":["import { Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/icon\";\nexport class ToasterComponent {\n    constructor() {\n        this.destroy = new EventEmitter();\n    }\n    get success() {\n        return this.toast.config.type === 'success';\n    }\n    get info() {\n        return this.toast.config.type === 'info';\n    }\n    get warning() {\n        return this.toast.config.type === 'warning';\n    }\n    get primary() {\n        return this.toast.config.type === 'error';\n    }\n    get destroyByClick() {\n        return this.toast.config.destroyByClick;\n    }\n    onClick() {\n        this.destroy.emit();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.4\", type: ToasterComponent, isStandalone: true, selector: \"uxg-toaster\", inputs: { toast: \"toast\" }, outputs: { destroy: \"destroy\" }, host: { listeners: { \"click\": \"onClick()\" }, properties: { \"class.type-success\": \"this.success\", \"class.type-info\": \"this.info\", \"class.type-warning\": \"this.warning\", \"class.type-error\": \"this.primary\", \"class.destroy-by-click\": \"this.destroyByClick\" } }, ngImport: i0, template: \"<div class=\\\"icon-container\\\">\\n  @if (toast.config.type === 'success') {\\n    <mat-icon dense>check_circle_outline</mat-icon>\\n  }\\n  @if (toast.config.type === 'error') {\\n    <mat-icon dense>error_outline</mat-icon>\\n  }\\n  @if (toast.config.type === 'warning') {\\n    <mat-icon class=\\\"material-icons-outlined\\\" dense>report_problem</mat-icon>\\n  }\\n  @if (toast.config.type === 'info') {\\n    <mat-icon class=\\\"material-icons-outlined\\\" dense>info</mat-icon>\\n  }\\n</div>\\n<div class=\\\"uxg-body-2 message\\\">\\n  {{ toast.message }}\\n</div>\\n\", styles: [\".mat-h1,.mat-headline-5,.mat-typography .mat-h1,.mat-typography .mat-headline-5,.mat-typography h1{font:800 1rem/1.375rem Spartan;letter-spacing:0;margin:0 0 16px}.mat-h2,.mat-headline-6,.mat-typography .mat-h2,.mat-typography .mat-headline-6,.mat-typography h2{font:800 .8125rem/1.125rem Spartan;letter-spacing:0;margin:0 0 16px}.mat-h3,.mat-subtitle-1,.mat-typography .mat-h3,.mat-typography .mat-subtitle-1,.mat-typography h3{font:500 1rem/1.5rem Roboto;letter-spacing:.15px;margin:0 0 16px}.mat-h4,.mat-body-1,.mat-typography .mat-h4,.mat-typography .mat-body-1,.mat-typography h4{font:300 1rem/1.5rem Roboto;letter-spacing:.5px;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:300 .72625rem/1.3125rem Roboto;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:300 .58625rem/1.3125rem Roboto;margin:0 0 12px}.mat-body-strong,.mat-subtitle-2,.mat-typography .mat-body-strong,.mat-typography .mat-subtitle-2{font:500 .875rem/1.3125rem Roboto;letter-spacing:.1px}.mat-body,.mat-body-2,.mat-typography .mat-body,.mat-typography .mat-body-2,.mat-typography{font:300 .875rem/1.3125rem Roboto;letter-spacing:.25px}.mat-body p,.mat-body-2 p,.mat-typography .mat-body p,.mat-typography .mat-body-2 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 .75rem/1.125rem Roboto;letter-spacing:.4px}.mat-headline-1,.mat-typography .mat-headline-1{font:800 3.1875rem/4.4375rem Spartan;letter-spacing:0;margin:0 0 56px}.mat-headline-2,.mat-typography .mat-headline-2{font:800 2.5625rem/3.5625rem Spartan;letter-spacing:0;margin:0 0 64px}.mat-headline-3,.mat-typography .mat-headline-3{font:800 1.75rem/2.4375rem Spartan;letter-spacing:0;margin:0 0 64px}.mat-headline-4,.mat-typography .mat-headline-4{font:800 1.3125rem/1.8125rem Spartan;letter-spacing:0;margin:0 0 64px}.flex{display:flex;box-sizing:border-box}.inline-flex{display:inline-flex;box-sizing:border-box}.flex-row{display:flex;flex-direction:row;box-sizing:border-box}.flex-col{display:flex;flex-direction:column;box-sizing:border-box}.flex-wrap{flex-wrap:wrap}@media screen and (max-width: 599px){.flex-col-xs{flex-direction:column}}@media screen and (max-width: 959px){.flex-col-lt-md{flex-direction:column}}@media screen and (max-width: 1279px){.flex-col-lt-lg{flex-direction:column}}@media screen and (max-width: 599px){.flex-row-xs{flex-direction:row}}@media screen and (max-width: 959px){.flex-row-lt-md{flex-direction:row}}@media screen and (max-width: 1279px){.flex-row-lt-lg{flex-direction:row}}.flex-row-gt-xs{display:flex}@media screen and (min-width: 600px){.flex-row-gt-xs{flex-direction:row}}.flex-initial{flex:initial}.flex-auto{flex:auto}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.flex-5{flex:5}.flex-15{flex:0 0 15%}.flex-20{flex:0 0 20%}.flex-25{flex:0 0 25%}.flex-30{flex:0 0 30%}.flex-35{flex:0 0 35%}.flex-40{flex:0 0 40%}.flex-45{flex:0 0 45%}.flex-50{flex:0 0 50%}.flex-55{flex:0 0 55%}.flex-60{flex:0 0 60%}.flex-80{flex:0 0 80%}.flex-none{flex:none}.flex-nogrow{flex:0 1 auto}.flex-noshrink{flex:1 0 auto}.flex-grow{flex:1 1 100%}.flex-grow25{flex:0 1 25%}.flex-grow50{flex:0 1 50%}.flex-grow60{flex:0 1 60%}.flex-grow75{flex:0 1 75%}.gap-10>*{margin-right:10px}.gap-10>*:last-child{margin-right:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-stretch{align-content:stretch}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.align-center{align-items:center}.align-stretch{align-items:stretch}.align-baseline{align-items:baseline}.center-center{justify-content:center;align-items:center}.item-start{align-self:flex-start}.item-end{align-self:flex-end}.item-center{align-self:center}.item-stretch{align-self:stretch}.item-baseline{align-self:baseline}.center{display:block;margin-left:auto;margin-right:auto}.fill{margin:0;width:100%;height:100%;min-width:100%;min-height:100%}.fill-remaining-space{flex:1 1 auto}.center-text{text-align:center}.hide{display:none!important}@media screen and (max-width: 599px){.hide-xs{display:none!important}}@media screen and (min-width: 600px){.hide-gt-xs{display:none!important}}@media screen and (max-width: 959px){.hide-lt-md{display:none!important}}@media screen and (min-width: 960px){.hide-gt-sm{display:none!important}}@media screen and (min-width: 1280px){.hide-gt-md{display:none!important}}@media screen and (max-width: 1279px){.hide-lt-lg{display:none!important}}@media screen and (max-width: 599px){.hide-lt-sm{display:none!important}}:host{display:flex;flex-direction:row;place-content:stretch flex-start;align-items:stretch;margin-top:var(--fds-spacing-3, 16px);margin-bottom:var(--fds-spacing-3, 16px);margin-right:4vw;margin-left:4vw;min-height:48px;width:92vw;border-radius:4px;box-shadow:0 5px 5px -3px #00000029,0 8px 10px 1px #0000001c,0 3px 14px 2px #00000017}:host .icon-container{padding:var(--fds-spacing-2, 8px);display:flex;place-content:center;align-items:center;width:48px;box-sizing:border-box;border-radius:4px 0 0 4px}:host .message{padding:var(--fds-spacing-3, 16px);align-self:center;flex:1 1 0%;word-break:break-word;white-space:pre-line;border:1px transparent}:host.destroy-by-click{cursor:pointer}@media screen and (min-width: 960px) and (max-width: 1279px){:host{margin:var(--fds-spacing-3, 16px);width:50vw}}@media screen and (min-width: 1280px){:host{margin:var(--fds-spacing-3, 16px);width:30vw}}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i1.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterComponent, decorators: [{\n            type: Component,\n            args: [{ selector: 'uxg-toaster', standalone: true, imports: [MatIconModule], template: \"<div class=\\\"icon-container\\\">\\n  @if (toast.config.type === 'success') {\\n    <mat-icon dense>check_circle_outline</mat-icon>\\n  }\\n  @if (toast.config.type === 'error') {\\n    <mat-icon dense>error_outline</mat-icon>\\n  }\\n  @if (toast.config.type === 'warning') {\\n    <mat-icon class=\\\"material-icons-outlined\\\" dense>report_problem</mat-icon>\\n  }\\n  @if (toast.config.type === 'info') {\\n    <mat-icon class=\\\"material-icons-outlined\\\" dense>info</mat-icon>\\n  }\\n</div>\\n<div class=\\\"uxg-body-2 message\\\">\\n  {{ toast.message }}\\n</div>\\n\", styles: [\".mat-h1,.mat-headline-5,.mat-typography .mat-h1,.mat-typography .mat-headline-5,.mat-typography h1{font:800 1rem/1.375rem Spartan;letter-spacing:0;margin:0 0 16px}.mat-h2,.mat-headline-6,.mat-typography .mat-h2,.mat-typography .mat-headline-6,.mat-typography h2{font:800 .8125rem/1.125rem Spartan;letter-spacing:0;margin:0 0 16px}.mat-h3,.mat-subtitle-1,.mat-typography .mat-h3,.mat-typography .mat-subtitle-1,.mat-typography h3{font:500 1rem/1.5rem Roboto;letter-spacing:.15px;margin:0 0 16px}.mat-h4,.mat-body-1,.mat-typography .mat-h4,.mat-typography .mat-body-1,.mat-typography h4{font:300 1rem/1.5rem Roboto;letter-spacing:.5px;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:300 .72625rem/1.3125rem Roboto;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:300 .58625rem/1.3125rem Roboto;margin:0 0 12px}.mat-body-strong,.mat-subtitle-2,.mat-typography .mat-body-strong,.mat-typography .mat-subtitle-2{font:500 .875rem/1.3125rem Roboto;letter-spacing:.1px}.mat-body,.mat-body-2,.mat-typography .mat-body,.mat-typography .mat-body-2,.mat-typography{font:300 .875rem/1.3125rem Roboto;letter-spacing:.25px}.mat-body p,.mat-body-2 p,.mat-typography .mat-body p,.mat-typography .mat-body-2 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 .75rem/1.125rem Roboto;letter-spacing:.4px}.mat-headline-1,.mat-typography .mat-headline-1{font:800 3.1875rem/4.4375rem Spartan;letter-spacing:0;margin:0 0 56px}.mat-headline-2,.mat-typography .mat-headline-2{font:800 2.5625rem/3.5625rem Spartan;letter-spacing:0;margin:0 0 64px}.mat-headline-3,.mat-typography .mat-headline-3{font:800 1.75rem/2.4375rem Spartan;letter-spacing:0;margin:0 0 64px}.mat-headline-4,.mat-typography .mat-headline-4{font:800 1.3125rem/1.8125rem Spartan;letter-spacing:0;margin:0 0 64px}.flex{display:flex;box-sizing:border-box}.inline-flex{display:inline-flex;box-sizing:border-box}.flex-row{display:flex;flex-direction:row;box-sizing:border-box}.flex-col{display:flex;flex-direction:column;box-sizing:border-box}.flex-wrap{flex-wrap:wrap}@media screen and (max-width: 599px){.flex-col-xs{flex-direction:column}}@media screen and (max-width: 959px){.flex-col-lt-md{flex-direction:column}}@media screen and (max-width: 1279px){.flex-col-lt-lg{flex-direction:column}}@media screen and (max-width: 599px){.flex-row-xs{flex-direction:row}}@media screen and (max-width: 959px){.flex-row-lt-md{flex-direction:row}}@media screen and (max-width: 1279px){.flex-row-lt-lg{flex-direction:row}}.flex-row-gt-xs{display:flex}@media screen and (min-width: 600px){.flex-row-gt-xs{flex-direction:row}}.flex-initial{flex:initial}.flex-auto{flex:auto}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.flex-5{flex:5}.flex-15{flex:0 0 15%}.flex-20{flex:0 0 20%}.flex-25{flex:0 0 25%}.flex-30{flex:0 0 30%}.flex-35{flex:0 0 35%}.flex-40{flex:0 0 40%}.flex-45{flex:0 0 45%}.flex-50{flex:0 0 50%}.flex-55{flex:0 0 55%}.flex-60{flex:0 0 60%}.flex-80{flex:0 0 80%}.flex-none{flex:none}.flex-nogrow{flex:0 1 auto}.flex-noshrink{flex:1 0 auto}.flex-grow{flex:1 1 100%}.flex-grow25{flex:0 1 25%}.flex-grow50{flex:0 1 50%}.flex-grow60{flex:0 1 60%}.flex-grow75{flex:0 1 75%}.gap-10>*{margin-right:10px}.gap-10>*:last-child{margin-right:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-stretch{align-content:stretch}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.align-center{align-items:center}.align-stretch{align-items:stretch}.align-baseline{align-items:baseline}.center-center{justify-content:center;align-items:center}.item-start{align-self:flex-start}.item-end{align-self:flex-end}.item-center{align-self:center}.item-stretch{align-self:stretch}.item-baseline{align-self:baseline}.center{display:block;margin-left:auto;margin-right:auto}.fill{margin:0;width:100%;height:100%;min-width:100%;min-height:100%}.fill-remaining-space{flex:1 1 auto}.center-text{text-align:center}.hide{display:none!important}@media screen and (max-width: 599px){.hide-xs{display:none!important}}@media screen and (min-width: 600px){.hide-gt-xs{display:none!important}}@media screen and (max-width: 959px){.hide-lt-md{display:none!important}}@media screen and (min-width: 960px){.hide-gt-sm{display:none!important}}@media screen and (min-width: 1280px){.hide-gt-md{display:none!important}}@media screen and (max-width: 1279px){.hide-lt-lg{display:none!important}}@media screen and (max-width: 599px){.hide-lt-sm{display:none!important}}:host{display:flex;flex-direction:row;place-content:stretch flex-start;align-items:stretch;margin-top:var(--fds-spacing-3, 16px);margin-bottom:var(--fds-spacing-3, 16px);margin-right:4vw;margin-left:4vw;min-height:48px;width:92vw;border-radius:4px;box-shadow:0 5px 5px -3px #00000029,0 8px 10px 1px #0000001c,0 3px 14px 2px #00000017}:host .icon-container{padding:var(--fds-spacing-2, 8px);display:flex;place-content:center;align-items:center;width:48px;box-sizing:border-box;border-radius:4px 0 0 4px}:host .message{padding:var(--fds-spacing-3, 16px);align-self:center;flex:1 1 0%;word-break:break-word;white-space:pre-line;border:1px transparent}:host.destroy-by-click{cursor:pointer}@media screen and (min-width: 960px) and (max-width: 1279px){:host{margin:var(--fds-spacing-3, 16px);width:50vw}}@media screen and (min-width: 1280px){:host{margin:var(--fds-spacing-3, 16px);width:30vw}}\\n\"] }]\n        }], propDecorators: { toast: [{\n                type: Input\n            }], destroy: [{\n                type: Output\n            }], success: [{\n                type: HostBinding,\n                args: ['class.type-success']\n            }], info: [{\n                type: HostBinding,\n                args: ['class.type-info']\n            }], warning: [{\n                type: HostBinding,\n                args: ['class.type-warning']\n            }], primary: [{\n                type: HostBinding,\n                args: ['class.type-error']\n            }], destroyByClick: [{\n                type: HostBinding,\n                args: ['class.destroy-by-click']\n            }], onClick: [{\n                type: HostListener,\n                args: ['click']\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy90b2FzdGVyL3NyYy90b2FzdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21wb25lbnRzL3RvYXN0ZXIvc3JjL3RvYXN0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBVXZELE1BQU0sT0FBTyxnQkFBZ0I7SUFQN0I7UUFXWSxZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7S0ErQjVEO0lBN0JDLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFDSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO0lBQzFDLENBQUM7SUFHRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOzhHQWxDVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixvWUNYN0IsbWlCQWlCQSwreExEUlksYUFBYTs7MkZBRVosZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLGFBQWEsY0FHWCxJQUFJLFdBQ1AsQ0FBQyxhQUFhLENBQUM7OEJBSXhCLEtBQUs7c0JBREosS0FBSztnQkFHSSxPQUFPO3NCQUFoQixNQUFNO2dCQUdILE9BQU87c0JBRFYsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBTTdCLElBQUk7c0JBRFAsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTFCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBTTdCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTTNCLGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsd0JBQXdCO2dCQU1yQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUb2FzdCB9IGZyb20gJy4vdG9hc3Rlci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3V4Zy10b2FzdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2FzdGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRJY29uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdGVyQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgdG9hc3QhOiBUb2FzdDtcblxuICBAT3V0cHV0KCkgZGVzdHJveTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudHlwZS1zdWNjZXNzJylcbiAgZ2V0IHN1Y2Nlc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudG9hc3QuY29uZmlnLnR5cGUgPT09ICdzdWNjZXNzJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudHlwZS1pbmZvJylcbiAgZ2V0IGluZm8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudG9hc3QuY29uZmlnLnR5cGUgPT09ICdpbmZvJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudHlwZS13YXJuaW5nJylcbiAgZ2V0IHdhcm5pbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudG9hc3QuY29uZmlnLnR5cGUgPT09ICd3YXJuaW5nJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudHlwZS1lcnJvcicpXG4gIGdldCBwcmltYXJ5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRvYXN0LmNvbmZpZy50eXBlID09PSAnZXJyb3InO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kZXN0cm95LWJ5LWNsaWNrJylcbiAgZ2V0IGRlc3Ryb3lCeUNsaWNrKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRvYXN0LmNvbmZpZy5kZXN0cm95QnlDbGljaztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgb25DbGljaygpIHtcbiAgICB0aGlzLmRlc3Ryb3kuZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cbiAgQGlmICh0b2FzdC5jb25maWcudHlwZSA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgPG1hdC1pY29uIGRlbnNlPmNoZWNrX2NpcmNsZV9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgfVxuICBAaWYgKHRvYXN0LmNvbmZpZy50eXBlID09PSAnZXJyb3InKSB7XG4gICAgPG1hdC1pY29uIGRlbnNlPmVycm9yX291dGxpbmU8L21hdC1pY29uPlxuICB9XG4gIEBpZiAodG9hc3QuY29uZmlnLnR5cGUgPT09ICd3YXJuaW5nJykge1xuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCIgZGVuc2U+cmVwb3J0X3Byb2JsZW08L21hdC1pY29uPlxuICB9XG4gIEBpZiAodG9hc3QuY29uZmlnLnR5cGUgPT09ICdpbmZvJykge1xuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCIgZGVuc2U+aW5mbzwvbWF0LWljb24+XG4gIH1cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInV4Zy1ib2R5LTIgbWVzc2FnZVwiPlxuICB7eyB0b2FzdC5tZXNzYWdlIH19XG48L2Rpdj5cbiJdfQ==","import { animate, style, transition, trigger } from '@angular/animations';\nimport { Component, Input, ViewChildren } from '@angular/core';\nimport { ToasterComponent } from './toaster.component';\nimport * as i0 from \"@angular/core\";\nconst voidState = style({\n    transform: 'translateX(110%)',\n    height: 0,\n    marginLeft: '0',\n    marginRight: '0'\n});\nexport class ToasterContainerComponent {\n    constructor() {\n        this.content = [];\n    }\n    ngOnInit() { }\n    ngOnDestroy() { }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.4\", type: ToasterContainerComponent, isStandalone: true, selector: \"uxg-toaster-container\", inputs: { content: \"content\" }, viewQueries: [{ propertyName: \"toasts\", predicate: ToasterComponent, descendants: true }], ngImport: i0, template: `\n    @for (toast of content; track toast) {\n      <uxg-toaster [@fadeIn]=\"fadeIn\" [toast]=\"toast\"></uxg-toaster>\n    }\n  `, isInline: true, dependencies: [{ kind: \"component\", type: ToasterComponent, selector: \"uxg-toaster\", inputs: [\"toast\"], outputs: [\"destroy\"] }], animations: [trigger('fadeIn', [transition(':enter', [voidState, animate(100)]), transition(':leave', [animate(100, voidState)])])] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterContainerComponent, decorators: [{\n            type: Component,\n            args: [{\n                    selector: 'uxg-toaster-container',\n                    template: `\n    @for (toast of content; track toast) {\n      <uxg-toaster [@fadeIn]=\"fadeIn\" [toast]=\"toast\"></uxg-toaster>\n    }\n  `,\n                    animations: [trigger('fadeIn', [transition(':enter', [voidState, animate(100)]), transition(':leave', [animate(100, voidState)])])],\n                    standalone: true,\n                    imports: [ToasterComponent]\n                }]\n        }], ctorParameters: () => [], propDecorators: { content: [{\n                type: Input\n            }], toasts: [{\n                type: ViewChildren,\n                args: [ToasterComponent]\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvbXBvbmVudHMvdG9hc3Rlci9zcmMvdG9hc3Rlci1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZ0MsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUd2RCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDdEIsU0FBUyxFQUFFLGtCQUFrQjtJQUM3QixNQUFNLEVBQUUsQ0FBQztJQUNULFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLEdBQUc7Q0FDakIsQ0FBQyxDQUFDO0FBYUgsTUFBTSxPQUFPLHlCQUF5QjtJQVNwQztRQVBBLFlBQU8sR0FBWSxFQUFFLENBQUM7SUFPUCxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDO0lBRWIsV0FBVyxLQUFJLENBQUM7OEdBYkwseUJBQXlCO2tHQUF6Qix5QkFBeUIsNElBSXRCLGdCQUFnQixnREFicEI7Ozs7R0FJVCw0REFHUyxnQkFBZ0IsbUZBRmQsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7OzJGQUl4SCx5QkFBeUI7a0JBWHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFOzs7O0dBSVQ7b0JBQ0QsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNuSSxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCO3dEQUdDLE9BQU87c0JBRE4sS0FBSztnQkFJTixNQUFNO3NCQURMLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUb2FzdGVyQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2FzdCB9IGZyb20gJy4vdG9hc3Rlci5tb2RlbCc7XG5cbmNvbnN0IHZvaWRTdGF0ZSA9IHN0eWxlKHtcbiAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMTAlKScsXG4gIGhlaWdodDogMCxcbiAgbWFyZ2luTGVmdDogJzAnLFxuICBtYXJnaW5SaWdodDogJzAnXG59KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndXhnLXRvYXN0ZXItY29udGFpbmVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICBAZm9yICh0b2FzdCBvZiBjb250ZW50OyB0cmFjayB0b2FzdCkge1xuICAgICAgPHV4Zy10b2FzdGVyIFtAZmFkZUluXT1cImZhZGVJblwiIFt0b2FzdF09XCJ0b2FzdFwiPjwvdXhnLXRvYXN0ZXI+XG4gICAgfVxuICBgLFxuICBhbmltYXRpb25zOiBbdHJpZ2dlcignZmFkZUluJywgW3RyYW5zaXRpb24oJzplbnRlcicsIFt2b2lkU3RhdGUsIGFuaW1hdGUoMTAwKV0pLCB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbYW5pbWF0ZSgxMDAsIHZvaWRTdGF0ZSldKV0pXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1RvYXN0ZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIGNvbnRlbnQ6IFRvYXN0W10gPSBbXTtcblxuICBAVmlld0NoaWxkcmVuKFRvYXN0ZXJDb21wb25lbnQpXG4gIHRvYXN0cyE6IFF1ZXJ5TGlzdDxUb2FzdGVyQ29tcG9uZW50PjtcblxuICBmYWRlSW46IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG5nT25EZXN0cm95KCkge31cbn1cbiJdfQ==","export class Toast {\n}\nexport var ToastType;\n(function (ToastType) {\n    ToastType[\"SUCCESS\"] = \"success\";\n    ToastType[\"ERROR\"] = \"error\";\n    ToastType[\"WARNING\"] = \"warning\";\n    ToastType[\"INFO\"] = \"info\";\n})(ToastType || (ToastType = {}));\nexport var ToastLogicalPosition;\n(function (ToastLogicalPosition) {\n    ToastLogicalPosition[\"TOP_START\"] = \"top-start\";\n    ToastLogicalPosition[\"TOP_END\"] = \"top-end\";\n    ToastLogicalPosition[\"BOTTOM_START\"] = \"bottom-start\";\n    ToastLogicalPosition[\"BOTTOM_END\"] = \"bottom-end\";\n})(ToastLogicalPosition || (ToastLogicalPosition = {}));\nexport var ToastPhysicalPosition;\n(function (ToastPhysicalPosition) {\n    ToastPhysicalPosition[\"TOP_RIGHT\"] = \"top-right\";\n    ToastPhysicalPosition[\"TOP_LEFT\"] = \"top-left\";\n    ToastPhysicalPosition[\"BOTTOM_RIGHT\"] = \"bottom-right\";\n    ToastPhysicalPosition[\"BOTTOM_LEFT\"] = \"bottom-left\";\n})(ToastPhysicalPosition || (ToastPhysicalPosition = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21wb25lbnRzL3RvYXN0ZXIvc3JjL3RvYXN0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLEtBQUs7Q0FHakI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLGdDQUFtQixDQUFBO0lBQ25CLDRCQUFlLENBQUE7SUFDZixnQ0FBbUIsQ0FBQTtJQUNuQiwwQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxXLFNBQVMsS0FBVCxTQUFTLFFBS3BCO0FBRUQsTUFBTSxDQUFOLElBQVksb0JBS1g7QUFMRCxXQUFZLG9CQUFvQjtJQUM5QiwrQ0FBdUIsQ0FBQTtJQUN2QiwyQ0FBbUIsQ0FBQTtJQUNuQixxREFBNkIsQ0FBQTtJQUM3QixpREFBeUIsQ0FBQTtBQUMzQixDQUFDLEVBTFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUsvQjtBQUVELE1BQU0sQ0FBTixJQUFZLHFCQUtYO0FBTEQsV0FBWSxxQkFBcUI7SUFDL0IsZ0RBQXVCLENBQUE7SUFDdkIsOENBQXFCLENBQUE7SUFDckIsc0RBQTZCLENBQUE7SUFDN0Isb0RBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQUxXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFLaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb2FzdGVyQ29uZmlnIH0gZnJvbSAnLi90b2FzdGVyLmNvbmZpZyc7XG5cbmV4cG9ydCBjbGFzcyBUb2FzdCB7XG4gIG1lc3NhZ2UhOiBzdHJpbmc7XG4gIGNvbmZpZyE6IFRvYXN0ZXJDb25maWc7XG59XG5cbmV4cG9ydCBlbnVtIFRvYXN0VHlwZSB7XG4gIFNVQ0NFU1MgPSAnc3VjY2VzcycsXG4gIEVSUk9SID0gJ2Vycm9yJyxcbiAgV0FSTklORyA9ICd3YXJuaW5nJyxcbiAgSU5GTyA9ICdpbmZvJ1xufVxuXG5leHBvcnQgZW51bSBUb2FzdExvZ2ljYWxQb3NpdGlvbiB7XG4gIFRPUF9TVEFSVCA9ICd0b3Atc3RhcnQnLFxuICBUT1BfRU5EID0gJ3RvcC1lbmQnLFxuICBCT1RUT01fU1RBUlQgPSAnYm90dG9tLXN0YXJ0JyxcbiAgQk9UVE9NX0VORCA9ICdib3R0b20tZW5kJ1xufVxuXG5leHBvcnQgZW51bSBUb2FzdFBoeXNpY2FsUG9zaXRpb24ge1xuICBUT1BfUklHSFQgPSAndG9wLXJpZ2h0JyxcbiAgVE9QX0xFRlQgPSAndG9wLWxlZnQnLFxuICBCT1RUT01fUklHSFQgPSAnYm90dG9tLXJpZ2h0JyxcbiAgQk9UVE9NX0xFRlQgPSAnYm90dG9tLWxlZnQnXG59XG5cbmV4cG9ydCB0eXBlIFRvYXN0UG9zaXRpb24gPSBUb2FzdFBoeXNpY2FsUG9zaXRpb24gfCBUb2FzdExvZ2ljYWxQb3NpdGlvbjtcbiJdfQ==","import { InjectionToken } from '@angular/core';\nimport { ToastLogicalPosition } from './toaster.model';\nexport const TOASTER_CONFIG = new InjectionToken('Default toaster config');\nexport class ToasterConfig {\n    constructor(config) {\n        /**\n         * Status chooses color scheme for the toast.\n         * */\n        this.type = 'info';\n        /**\n         * Duration is timeout between toast appears and disappears. 0 keeps the toast indefinitely on the screen\n         * */\n        this.duration = 5000;\n        /**\n         * Determines where on the screen toast have to be rendered.\n         * */\n        this.position = ToastLogicalPosition.TOP_END;\n        /**\n         * Destroy by click means you can hide the toast by clicking it.\n         * */\n        this.destroyByClick = true;\n        Object.assign(this, config);\n    }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy90b2FzdGVyL3NyYy90b2FzdGVyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQWdCLHdCQUF3QixDQUFDLENBQUM7QUFFMUYsTUFBTSxPQUFPLGFBQWE7SUFrQnhCLFlBQVksTUFBOEI7UUFqQjFDOzthQUVLO1FBQ0wsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUNkOzthQUVLO1FBQ0wsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQjs7YUFFSztRQUNMLGFBQVEsR0FBa0Isb0JBQW9CLENBQUMsT0FBTyxDQUFDO1FBQ3ZEOzthQUVLO1FBQ0wsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFHcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvYXN0TG9naWNhbFBvc2l0aW9uLCBUb2FzdFBvc2l0aW9uIH0gZnJvbSAnLi90b2FzdGVyLm1vZGVsJztcblxuZXhwb3J0IGNvbnN0IFRPQVNURVJfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFRvYXN0ZXJDb25maWc+KCdEZWZhdWx0IHRvYXN0ZXIgY29uZmlnJyk7XG5cbmV4cG9ydCBjbGFzcyBUb2FzdGVyQ29uZmlnIHtcbiAgLyoqXG4gICAqIFN0YXR1cyBjaG9vc2VzIGNvbG9yIHNjaGVtZSBmb3IgdGhlIHRvYXN0LlxuICAgKiAqL1xuICB0eXBlID0gJ2luZm8nO1xuICAvKipcbiAgICogRHVyYXRpb24gaXMgdGltZW91dCBiZXR3ZWVuIHRvYXN0IGFwcGVhcnMgYW5kIGRpc2FwcGVhcnMuIDAga2VlcHMgdGhlIHRvYXN0IGluZGVmaW5pdGVseSBvbiB0aGUgc2NyZWVuXG4gICAqICovXG4gIGR1cmF0aW9uID0gNTAwMDtcbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hlcmUgb24gdGhlIHNjcmVlbiB0b2FzdCBoYXZlIHRvIGJlIHJlbmRlcmVkLlxuICAgKiAqL1xuICBwb3NpdGlvbjogVG9hc3RQb3NpdGlvbiA9IFRvYXN0TG9naWNhbFBvc2l0aW9uLlRPUF9FTkQ7XG4gIC8qKlxuICAgKiBEZXN0cm95IGJ5IGNsaWNrIG1lYW5zIHlvdSBjYW4gaGlkZSB0aGUgdG9hc3QgYnkgY2xpY2tpbmcgaXQuXG4gICAqICovXG4gIGRlc3Ryb3lCeUNsaWNrID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IFBhcnRpYWw8VG9hc3RlckNvbmZpZz4pIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGNvbmZpZyk7XG4gIH1cbn1cbiJdfQ==","import { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, Inject, Injectable } from '@angular/core';\nimport { ToasterContainerComponent } from './toaster-container.component';\nimport { TOASTER_CONFIG, ToasterConfig } from './toaster.config';\nimport { ToastLogicalPosition, ToastType } from './toaster.model';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/cdk/overlay\";\nimport * as i2 from \"./toaster.config\";\nexport class ToasterRef {\n    constructor(toasterContainer, toast) {\n        this.toasterContainer = toasterContainer;\n        this.toast = toast;\n    }\n    close() {\n        this.toasterContainer.destroy(this.toast);\n    }\n}\nexport class ToasterContainerOverlayService {\n    constructor(overlay) {\n        this.overlay = overlay;\n    }\n    get scrollStrategies() {\n        return this.overlay.scrollStrategies;\n    }\n    create(config) {\n        // Returns an OverlayRef (which is a PortalHost)\n        return this.overlay.create({\n            ...config,\n            panelClass: 'uxg-toaster-overlay'\n        });\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterContainerOverlayService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }\n    static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterContainerOverlayService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterContainerOverlayService, decorators: [{\n            type: Injectable\n        }], ctorParameters: () => [{ type: i1.Overlay }] });\nexport class ToasterContainer {\n    get nativeElement() {\n        return this.containerRef.location.nativeElement;\n    }\n    constructor(position, containerRef) {\n        this.position = position;\n        this.containerRef = containerRef;\n        this.toasts = [];\n    }\n    attach(toast) {\n        const toastComponent = this.attachToast(toast);\n        if (toast.config.destroyByClick) {\n            this.subscribeOnClick(toastComponent, toast);\n        }\n        if (toast.config.duration) {\n            this.setDestroyTimeout(toast);\n        }\n        this.prevToast = toast;\n        return new ToasterRef(this, toast);\n    }\n    destroy(toast) {\n        if (this.prevToast === toast) {\n            this.prevToast = null;\n        }\n        this.toasts = this.toasts.filter((t) => t !== toast);\n        this.updateContainer();\n    }\n    attachToast(toast) {\n        return this.attachToTop(toast);\n    }\n    attachToTop(toast) {\n        this.toasts.unshift(toast);\n        this.updateContainer();\n        return this.containerRef.instance.toasts.first;\n    }\n    setDestroyTimeout(toast) {\n        setTimeout(() => this.destroy(toast), toast.config.duration);\n    }\n    subscribeOnClick(toastComponent, toast) {\n        toastComponent.destroy.subscribe(() => this.destroy(toast));\n    }\n    updateContainer() {\n        patch(this.containerRef, { content: this.toasts, position: this.position });\n    }\n}\nexport function patch(container, containerContext) {\n    Object.assign(container.instance, containerContext);\n    container.changeDetectorRef.detectChanges();\n    return container;\n}\nexport class ToasterContainerRegistry {\n    constructor(overlay, overlayService, document) {\n        this.overlay = overlay;\n        this.overlayService = overlayService;\n        this.document = document;\n        this.overlays = new Map();\n    }\n    get(position) {\n        const logicalPosition = this.toLogicalPosition(position);\n        const overlayWithContainer = this.overlays.get(position);\n        if (!overlayWithContainer || !this.existsInDom(overlayWithContainer.toasterContainer)) {\n            if (overlayWithContainer) {\n                overlayWithContainer.overlayRef.dispose();\n            }\n            this.instantiateContainer(logicalPosition);\n        }\n        return this.overlays.get(logicalPosition).toasterContainer;\n    }\n    instantiateContainer(position) {\n        const toasterOverlayWithContainer = this.createContainer(position);\n        this.overlays.set(position, toasterOverlayWithContainer);\n    }\n    createContainer(position) {\n        const positionStrategy = this.overlay.position().global().top().right(); // TODO - add customizable positioning. hardcoded to top-right for now\n        const ref = this.overlayService.create({ positionStrategy });\n        ref.hostElement.setAttribute('class', 'uxg-toaster-overlay-wrapper');\n        const containerRef = ref.attach(new ComponentPortal(ToasterContainerComponent));\n        return {\n            overlayRef: ref,\n            toasterContainer: new ToasterContainer(position, containerRef)\n        };\n    }\n    existsInDom(toastContainer) {\n        return this.document.body.contains(toastContainer.nativeElement);\n    }\n    toLogicalPosition(position) {\n        if (Object.values(ToastLogicalPosition).includes(position)) {\n            return position;\n        }\n        return ToastLogicalPosition.TOP_START; // TODO - remove when handling positioning\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterContainerRegistry, deps: [{ token: i1.Overlay }, { token: ToasterContainerOverlayService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }\n    static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterContainerRegistry }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterContainerRegistry, decorators: [{\n            type: Injectable\n        }], ctorParameters: () => [{ type: i1.Overlay }, { type: ToasterContainerOverlayService }, { type: undefined, decorators: [{\n                    type: Inject,\n                    args: [DOCUMENT]\n                }] }] });\n/**\n * The `ToasterService` provides a capability to build toast notifications.\n *\n * `ToasterService.show(message, config)` accepts two params, config is optional.\n *\n * ### Import\n *\n * Import `ToasterModule` to your app module.\n * ```ts\n * @NgModule({\n *   imports: [\n *     // ...\n *     ToasterModule,\n *   ],\n * })\n * export class AppModule { }\n * ```\n *\n * ### Usage\n *\n * Calling `ToasterService.show(...)` will render new toast and return `ToasterRef` with\n * help of which you may close newly created toast by calling `close` method.\n *\n * ```ts\n * const toastRef: ToasterRef = this.toasterService.show(...);\n * toastRef.close();\n * ```\n *\n * Config accepts following options:\n *\n * `type` - coloring and icon of the toast.\n * Default is `info`.\n *\n * `duration` - the time after which the toast will be destroyed.\n * `0` means endless toast, that may be destroyed by click only.\n * Default is 3000 ms.\n *\n * `position` - determines where on the screen toast will be rendered.\n * Default is `top-end`, hardcoded for now.\n *\n * `destroyByClick` - provides a capability to destroy toast by click.\n * Default is true.\n * */\nexport class ToasterService {\n    constructor(globalConfig, containerRegistry) {\n        this.globalConfig = globalConfig;\n        this.containerRegistry = containerRegistry;\n    }\n    /**\n     * Shows toast with message and user config.\n     * */\n    show(message, userConfig) {\n        const config = new ToasterConfig({\n            ...this.globalConfig,\n            ...userConfig\n        });\n        const container = this.containerRegistry.get(config.position);\n        const toast = { message, config };\n        return container.attach(toast);\n    }\n    /**\n     * Shows success toast with message, title and user config.\n     * */\n    success(message, config) {\n        return this.show(message, { ...config, type: ToastType.SUCCESS });\n    }\n    /**\n     * Shows error toast with message, title and user config.\n     * */\n    error(message, config) {\n        return this.show(message, { ...config, type: ToastType.ERROR });\n    }\n    /**\n     * Shows warning toast with message, title and user config.\n     * */\n    warning(message, config) {\n        return this.show(message, { ...config, type: ToastType.WARNING });\n    }\n    /**\n     * Shows info toast with message, title and user config.\n     * */\n    info(message, config) {\n        return this.show(message, { ...config, type: ToastType.INFO });\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterService, deps: [{ token: TOASTER_CONFIG }, { token: ToasterContainerRegistry }], target: i0.ɵɵFactoryTarget.Injectable }); }\n    static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: ToasterService, decorators: [{\n            type: Injectable,\n            args: [{\n                    providedIn: 'root'\n                }]\n        }], ctorParameters: () => [{ type: i2.ToasterConfig, decorators: [{\n                    type: Inject,\n                    args: [TOASTER_CONFIG]\n                }] }, { type: ToasterContainerRegistry }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvbXBvbmVudHMvdG9hc3Rlci9zcmMvdG9hc3Rlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFTLG9CQUFvQixFQUFpQixTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUV4RixNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUNVLGdCQUFrQyxFQUNsQyxLQUFZO1FBRFoscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQ25CLENBQUM7SUFFSixLQUFLO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxZQUFvQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQUcsQ0FBQztJQUV4QyxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFzQjtRQUMzQixnREFBZ0Q7UUFDaEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUN6QixHQUFHLE1BQU07WUFDVCxVQUFVLEVBQUUscUJBQXFCO1NBQ2xD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SUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDOzhHQTdDVSxjQUFjLGtCQUVmLGNBQWM7a0hBRmIsY0FBYyxjQUZiLE1BQU07OzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmLCBTY3JvbGxTdHJhdGVneU9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBET0NVTUVOVCwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdGVyQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdGVyLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9hc3RlckNvbXBvbmVudCB9IGZyb20gJy4vdG9hc3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVE9BU1RFUl9DT05GSUcsIFRvYXN0ZXJDb25maWcgfSBmcm9tICcuL3RvYXN0ZXIuY29uZmlnJztcbmltcG9ydCB7IFRvYXN0LCBUb2FzdExvZ2ljYWxQb3NpdGlvbiwgVG9hc3RQb3NpdGlvbiwgVG9hc3RUeXBlIH0gZnJvbSAnLi90b2FzdGVyLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJSZWYge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRvYXN0ZXJDb250YWluZXI6IFRvYXN0ZXJDb250YWluZXIsXG4gICAgcHJpdmF0ZSB0b2FzdDogVG9hc3RcbiAgKSB7fVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMudG9hc3RlckNvbnRhaW5lci5kZXN0cm95KHRoaXMudG9hc3QpO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUb2FzdGVyQ29udGFpbmVyT3ZlcmxheVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXkpIHt9XG5cbiAgZ2V0IHNjcm9sbFN0cmF0ZWdpZXMoKTogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXM7XG4gIH1cblxuICBjcmVhdGUoY29uZmlnPzogT3ZlcmxheUNvbmZpZyk6IE92ZXJsYXlSZWYge1xuICAgIC8vIFJldHVybnMgYW4gT3ZlcmxheVJlZiAod2hpY2ggaXMgYSBQb3J0YWxIb3N0KVxuICAgIHJldHVybiB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIHBhbmVsQ2xhc3M6ICd1eGctdG9hc3Rlci1vdmVybGF5J1xuICAgIH0pO1xuICB9XG59XG5cbmludGVyZmFjZSBUb2FzdGVyT3ZlcmxheVdpdGhDb250YWluZXIge1xuICBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICB0b2FzdGVyQ29udGFpbmVyOiBUb2FzdGVyQ29udGFpbmVyO1xufVxuXG5leHBvcnQgY2xhc3MgVG9hc3RlckNvbnRhaW5lciB7XG4gIHByb3RlY3RlZCB0b2FzdHM6IFRvYXN0W10gPSBbXTtcbiAgcHJvdGVjdGVkIHByZXZUb2FzdCE6IFRvYXN0IHwgbnVsbDtcblxuICBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBwb3NpdGlvbjogVG9hc3RQb3NpdGlvbixcbiAgICBwcm90ZWN0ZWQgY29udGFpbmVyUmVmOiBDb21wb25lbnRSZWY8VG9hc3RlckNvbnRhaW5lckNvbXBvbmVudD5cbiAgKSB7fVxuXG4gIGF0dGFjaCh0b2FzdDogVG9hc3QpOiBUb2FzdGVyUmVmIHtcbiAgICBjb25zdCB0b2FzdENvbXBvbmVudDogVG9hc3RlckNvbXBvbmVudCA9IHRoaXMuYXR0YWNoVG9hc3QodG9hc3QpO1xuXG4gICAgaWYgKHRvYXN0LmNvbmZpZy5kZXN0cm95QnlDbGljaykge1xuICAgICAgdGhpcy5zdWJzY3JpYmVPbkNsaWNrKHRvYXN0Q29tcG9uZW50LCB0b2FzdCk7XG4gICAgfVxuXG4gICAgaWYgKHRvYXN0LmNvbmZpZy5kdXJhdGlvbikge1xuICAgICAgdGhpcy5zZXREZXN0cm95VGltZW91dCh0b2FzdCk7XG4gICAgfVxuXG4gICAgdGhpcy5wcmV2VG9hc3QgPSB0b2FzdDtcblxuICAgIHJldHVybiBuZXcgVG9hc3RlclJlZih0aGlzLCB0b2FzdCk7XG4gIH1cblxuICBkZXN0cm95KHRvYXN0OiBUb2FzdCkge1xuICAgIGlmICh0aGlzLnByZXZUb2FzdCA9PT0gdG9hc3QpIHtcbiAgICAgIHRoaXMucHJldlRvYXN0ID0gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLnRvYXN0cyA9IHRoaXMudG9hc3RzLmZpbHRlcigodCkgPT4gdCAhPT0gdG9hc3QpO1xuICAgIHRoaXMudXBkYXRlQ29udGFpbmVyKCk7XG4gIH1cblxuICBwcml2YXRlIGF0dGFjaFRvYXN0KHRvYXN0OiBUb2FzdCk6IFRvYXN0ZXJDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLmF0dGFjaFRvVG9wKHRvYXN0KTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoVG9Ub3AodG9hc3Q6IFRvYXN0KTogVG9hc3RlckNvbXBvbmVudCB7XG4gICAgdGhpcy50b2FzdHMudW5zaGlmdCh0b2FzdCk7XG4gICAgdGhpcy51cGRhdGVDb250YWluZXIoKTtcbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJSZWYuaW5zdGFuY2UudG9hc3RzLmZpcnN0O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREZXN0cm95VGltZW91dCh0b2FzdDogVG9hc3QpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZGVzdHJveSh0b2FzdCksIHRvYXN0LmNvbmZpZy5kdXJhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uQ2xpY2sodG9hc3RDb21wb25lbnQ6IFRvYXN0ZXJDb21wb25lbnQsIHRvYXN0OiBUb2FzdCkge1xuICAgIHRvYXN0Q29tcG9uZW50LmRlc3Ryb3kuc3Vic2NyaWJlKCgpID0+IHRoaXMuZGVzdHJveSh0b2FzdCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250YWluZXIoKSB7XG4gICAgcGF0Y2godGhpcy5jb250YWluZXJSZWYsIHsgY29udGVudDogdGhpcy50b2FzdHMsIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uIH0pO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaDxUPihjb250YWluZXI6IENvbXBvbmVudFJlZjxUPiwgY29udGFpbmVyQ29udGV4dDogT2JqZWN0KTogQ29tcG9uZW50UmVmPFQ+IHtcbiAgT2JqZWN0LmFzc2lnbihjb250YWluZXIuaW5zdGFuY2UgYXMgT2JqZWN0LCBjb250YWluZXJDb250ZXh0KTtcbiAgY29udGFpbmVyLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgcmV0dXJuIGNvbnRhaW5lcjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJDb250YWluZXJSZWdpc3RyeSB7XG4gIHByaXZhdGUgb3ZlcmxheXM6IE1hcDxUb2FzdFBvc2l0aW9uLCBUb2FzdGVyT3ZlcmxheVdpdGhDb250YWluZXI+ID0gbmV3IE1hcCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBUb2FzdGVyQ29udGFpbmVyT3ZlcmxheVNlcnZpY2UsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55XG4gICkge31cblxuICBnZXQocG9zaXRpb246IFRvYXN0UG9zaXRpb24pOiBUb2FzdGVyQ29udGFpbmVyIHtcbiAgICBjb25zdCBsb2dpY2FsUG9zaXRpb246IFRvYXN0TG9naWNhbFBvc2l0aW9uID0gdGhpcy50b0xvZ2ljYWxQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgY29uc3Qgb3ZlcmxheVdpdGhDb250YWluZXIgPSB0aGlzLm92ZXJsYXlzLmdldChwb3NpdGlvbik7XG4gICAgaWYgKCFvdmVybGF5V2l0aENvbnRhaW5lciB8fCAhdGhpcy5leGlzdHNJbkRvbShvdmVybGF5V2l0aENvbnRhaW5lci50b2FzdGVyQ29udGFpbmVyKSkge1xuICAgICAgaWYgKG92ZXJsYXlXaXRoQ29udGFpbmVyKSB7XG4gICAgICAgIG92ZXJsYXlXaXRoQ29udGFpbmVyLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5pbnN0YW50aWF0ZUNvbnRhaW5lcihsb2dpY2FsUG9zaXRpb24pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm92ZXJsYXlzLmdldChsb2dpY2FsUG9zaXRpb24pIS50b2FzdGVyQ29udGFpbmVyO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YW50aWF0ZUNvbnRhaW5lcihwb3NpdGlvbjogVG9hc3RMb2dpY2FsUG9zaXRpb24pIHtcbiAgICBjb25zdCB0b2FzdGVyT3ZlcmxheVdpdGhDb250YWluZXIgPSB0aGlzLmNyZWF0ZUNvbnRhaW5lcihwb3NpdGlvbik7XG4gICAgdGhpcy5vdmVybGF5cy5zZXQocG9zaXRpb24sIHRvYXN0ZXJPdmVybGF5V2l0aENvbnRhaW5lcik7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNvbnRhaW5lcihwb3NpdGlvbjogVG9hc3RMb2dpY2FsUG9zaXRpb24pOiBUb2FzdGVyT3ZlcmxheVdpdGhDb250YWluZXIge1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS50b3AoKS5yaWdodCgpOyAvLyBUT0RPIC0gYWRkIGN1c3RvbWl6YWJsZSBwb3NpdGlvbmluZy4gaGFyZGNvZGVkIHRvIHRvcC1yaWdodCBmb3Igbm93XG4gICAgY29uc3QgcmVmID0gdGhpcy5vdmVybGF5U2VydmljZS5jcmVhdGUoeyBwb3NpdGlvblN0cmF0ZWd5IH0pO1xuICAgIHJlZi5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJ3V4Zy10b2FzdGVyLW92ZXJsYXktd3JhcHBlcicpO1xuICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IHJlZi5hdHRhY2gobmV3IENvbXBvbmVudFBvcnRhbChUb2FzdGVyQ29udGFpbmVyQ29tcG9uZW50KSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3ZlcmxheVJlZjogcmVmLFxuICAgICAgdG9hc3RlckNvbnRhaW5lcjogbmV3IFRvYXN0ZXJDb250YWluZXIocG9zaXRpb24sIGNvbnRhaW5lclJlZilcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBleGlzdHNJbkRvbSh0b2FzdENvbnRhaW5lcjogVG9hc3RlckNvbnRhaW5lcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50LmJvZHkuY29udGFpbnModG9hc3RDb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHRvTG9naWNhbFBvc2l0aW9uKHBvc2l0aW9uOiBUb2FzdFBvc2l0aW9uKTogVG9hc3RMb2dpY2FsUG9zaXRpb24ge1xuICAgIGlmIChPYmplY3QudmFsdWVzKFRvYXN0TG9naWNhbFBvc2l0aW9uKS5pbmNsdWRlcyhwb3NpdGlvbiBhcyBUb2FzdExvZ2ljYWxQb3NpdGlvbikpIHtcbiAgICAgIHJldHVybiBwb3NpdGlvbiBhcyBUb2FzdExvZ2ljYWxQb3NpdGlvbjtcbiAgICB9XG4gICAgcmV0dXJuIFRvYXN0TG9naWNhbFBvc2l0aW9uLlRPUF9TVEFSVDsgLy8gVE9ETyAtIHJlbW92ZSB3aGVuIGhhbmRsaW5nIHBvc2l0aW9uaW5nXG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgYFRvYXN0ZXJTZXJ2aWNlYCBwcm92aWRlcyBhIGNhcGFiaWxpdHkgdG8gYnVpbGQgdG9hc3Qgbm90aWZpY2F0aW9ucy5cbiAqXG4gKiBgVG9hc3RlclNlcnZpY2Uuc2hvdyhtZXNzYWdlLCBjb25maWcpYCBhY2NlcHRzIHR3byBwYXJhbXMsIGNvbmZpZyBpcyBvcHRpb25hbC5cbiAqXG4gKiAjIyMgSW1wb3J0XG4gKlxuICogSW1wb3J0IGBUb2FzdGVyTW9kdWxlYCB0byB5b3VyIGFwcCBtb2R1bGUuXG4gKiBgYGB0c1xuICogQE5nTW9kdWxlKHtcbiAqICAgaW1wb3J0czogW1xuICogICAgIC8vIC4uLlxuICogICAgIFRvYXN0ZXJNb2R1bGUsXG4gKiAgIF0sXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIEFwcE1vZHVsZSB7IH1cbiAqIGBgYFxuICpcbiAqICMjIyBVc2FnZVxuICpcbiAqIENhbGxpbmcgYFRvYXN0ZXJTZXJ2aWNlLnNob3coLi4uKWAgd2lsbCByZW5kZXIgbmV3IHRvYXN0IGFuZCByZXR1cm4gYFRvYXN0ZXJSZWZgIHdpdGhcbiAqIGhlbHAgb2Ygd2hpY2ggeW91IG1heSBjbG9zZSBuZXdseSBjcmVhdGVkIHRvYXN0IGJ5IGNhbGxpbmcgYGNsb3NlYCBtZXRob2QuXG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IHRvYXN0UmVmOiBUb2FzdGVyUmVmID0gdGhpcy50b2FzdGVyU2VydmljZS5zaG93KC4uLik7XG4gKiB0b2FzdFJlZi5jbG9zZSgpO1xuICogYGBgXG4gKlxuICogQ29uZmlnIGFjY2VwdHMgZm9sbG93aW5nIG9wdGlvbnM6XG4gKlxuICogYHR5cGVgIC0gY29sb3JpbmcgYW5kIGljb24gb2YgdGhlIHRvYXN0LlxuICogRGVmYXVsdCBpcyBgaW5mb2AuXG4gKlxuICogYGR1cmF0aW9uYCAtIHRoZSB0aW1lIGFmdGVyIHdoaWNoIHRoZSB0b2FzdCB3aWxsIGJlIGRlc3Ryb3llZC5cbiAqIGAwYCBtZWFucyBlbmRsZXNzIHRvYXN0LCB0aGF0IG1heSBiZSBkZXN0cm95ZWQgYnkgY2xpY2sgb25seS5cbiAqIERlZmF1bHQgaXMgMzAwMCBtcy5cbiAqXG4gKiBgcG9zaXRpb25gIC0gZGV0ZXJtaW5lcyB3aGVyZSBvbiB0aGUgc2NyZWVuIHRvYXN0IHdpbGwgYmUgcmVuZGVyZWQuXG4gKiBEZWZhdWx0IGlzIGB0b3AtZW5kYCwgaGFyZGNvZGVkIGZvciBub3cuXG4gKlxuICogYGRlc3Ryb3lCeUNsaWNrYCAtIHByb3ZpZGVzIGEgY2FwYWJpbGl0eSB0byBkZXN0cm95IHRvYXN0IGJ5IGNsaWNrLlxuICogRGVmYXVsdCBpcyB0cnVlLlxuICogKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChUT0FTVEVSX0NPTkZJRykgcHJpdmF0ZSBnbG9iYWxDb25maWc6IFRvYXN0ZXJDb25maWcsXG4gICAgcHJpdmF0ZSBjb250YWluZXJSZWdpc3RyeTogVG9hc3RlckNvbnRhaW5lclJlZ2lzdHJ5XG4gICkge31cblxuICAvKipcbiAgICogU2hvd3MgdG9hc3Qgd2l0aCBtZXNzYWdlIGFuZCB1c2VyIGNvbmZpZy5cbiAgICogKi9cbiAgc2hvdyhtZXNzYWdlOiBzdHJpbmcsIHVzZXJDb25maWc/OiBQYXJ0aWFsPFRvYXN0ZXJDb25maWc+KTogVG9hc3RlclJlZiB7XG4gICAgY29uc3QgY29uZmlnID0gbmV3IFRvYXN0ZXJDb25maWcoe1xuICAgICAgLi4udGhpcy5nbG9iYWxDb25maWcsXG4gICAgICAuLi51c2VyQ29uZmlnXG4gICAgfSk7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jb250YWluZXJSZWdpc3RyeS5nZXQoY29uZmlnLnBvc2l0aW9uKTtcbiAgICBjb25zdCB0b2FzdCA9IHsgbWVzc2FnZSwgY29uZmlnIH07XG4gICAgcmV0dXJuIGNvbnRhaW5lci5hdHRhY2godG9hc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3dzIHN1Y2Nlc3MgdG9hc3Qgd2l0aCBtZXNzYWdlLCB0aXRsZSBhbmQgdXNlciBjb25maWcuXG4gICAqICovXG4gIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCBjb25maWc/OiBQYXJ0aWFsPFRvYXN0ZXJDb25maWc+KTogVG9hc3RlclJlZiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB7IC4uLmNvbmZpZywgdHlwZTogVG9hc3RUeXBlLlNVQ0NFU1MgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgZXJyb3IgdG9hc3Qgd2l0aCBtZXNzYWdlLCB0aXRsZSBhbmQgdXNlciBjb25maWcuXG4gICAqICovXG4gIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgY29uZmlnPzogUGFydGlhbDxUb2FzdGVyQ29uZmlnPik6IFRvYXN0ZXJSZWYge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgeyAuLi5jb25maWcsIHR5cGU6IFRvYXN0VHlwZS5FUlJPUiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93cyB3YXJuaW5nIHRvYXN0IHdpdGggbWVzc2FnZSwgdGl0bGUgYW5kIHVzZXIgY29uZmlnLlxuICAgKiAqL1xuICB3YXJuaW5nKG1lc3NhZ2U6IHN0cmluZywgY29uZmlnPzogUGFydGlhbDxUb2FzdGVyQ29uZmlnPik6IFRvYXN0ZXJSZWYge1xuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgeyAuLi5jb25maWcsIHR5cGU6IFRvYXN0VHlwZS5XQVJOSU5HIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3dzIGluZm8gdG9hc3Qgd2l0aCBtZXNzYWdlLCB0aXRsZSBhbmQgdXNlciBjb25maWcuXG4gICAqICovXG4gIGluZm8obWVzc2FnZTogc3RyaW5nLCBjb25maWc/OiBQYXJ0aWFsPFRvYXN0ZXJDb25maWc+KTogVG9hc3RlclJlZiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB7IC4uLmNvbmZpZywgdHlwZTogVG9hc3RUeXBlLklORk8gfSk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYXN0cmEtYW5ndWxhci1jb21wb25lbnRzLXRvYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy90b2FzdGVyL2ZpbmFzdHJhLWFuZ3VsYXItY29tcG9uZW50cy10b2FzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2.ToasterConfig"],"mappings":"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"}