@skyux/modals 13.7.2 → 13.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/skyux-modals.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-modals.mjs","sources":["../tmp-esm2022/lib/modules/confirm/confirm-instance.js","../tmp-esm2022/lib/modules/confirm/confirm-type.js","../tmp-esm2022/lib/modules/confirm/confirm.module.js","../tmp-esm2022/lib/modules/confirm/confirm-config-token.js","../tmp-esm2022/lib/modules/modal/modal-content.component.js","../tmp-esm2022/lib/modules/modal/modal-before-close-handler.js","../tmp-esm2022/lib/modules/modal/modal-close-args.js","../tmp-esm2022/lib/modules/modal/modal-instance.js","../tmp-esm2022/lib/modules/shared/sky-modals-resources.module.js","../tmp-esm2022/lib/modules/modal/modal-component-adapter.service.js","../tmp-esm2022/lib/modules/modal/modal-configuration.js","../tmp-esm2022/lib/modules/modal/modal-errors.service.js","../tmp-esm2022/lib/modules/modal/modal-header.component.js","../tmp-esm2022/lib/modules/modal/modal-host.service.js","../tmp-esm2022/lib/modules/modal/modal.component.js","../tmp-esm2022/lib/modules/confirm/confirm.component.js","../tmp-esm2022/lib/modules/modal/modal-host-context.js","../tmp-esm2022/lib/modules/modal/modal-adapter.service.js","../tmp-esm2022/lib/modules/modal/modal-host.component.js","../tmp-esm2022/lib/modules/modal/modal.service.js","../tmp-esm2022/lib/modules/confirm/confirm.service.js","../tmp-esm2022/lib/modules/modal/modal-footer.component.js","../tmp-esm2022/lib/modules/modal/modal-is-dirty.directive.js","../tmp-esm2022/lib/modules/modal/modal.module.js","../tmp-esm2022/skyux-modals.js"],"sourcesContent":["import { ReplaySubject } from 'rxjs';\nexport class SkyConfirmInstance {\n /**\n * Fires when users select an action to close the dialog. This event\n * returns a `SkyConfirmCloseEventArgs` object with information about the button that\n * users select. It returns the `'cancel'` action when users press the <kbd>Escape</kbd> key.\n */\n get closed() {\n return this.#closedObs;\n }\n #closed = new ReplaySubject();\n #closedObs = this.#closed.asObservable();\n /**\n * Closes the confirm instance.\n * @param args Specifies an object to emit to subscribers of the `closed` event\n * of the confirm instance.\n */\n close(args) {\n this.#closed.next(args);\n this.#closed.complete();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1pbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL2NvbmZpcm0vY29uZmlybS1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWpELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7Ozs7T0FJRztJQUNILElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRVEsT0FBTyxHQUFHLElBQUksYUFBYSxFQUE0QixDQUFDO0lBQ3hELFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRWxEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsSUFBOEI7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUNvbmZpcm1DbG9zZUV2ZW50QXJncyB9IGZyb20gJy4vY29uZmlybS1jbG9zZWQtZXZlbnQtYXJncyc7XG5cbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtSW5zdGFuY2Uge1xuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgYW4gYWN0aW9uIHRvIGNsb3NlIHRoZSBkaWFsb2cuIFRoaXMgZXZlbnRcbiAgICogcmV0dXJucyBhIGBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3NgIG9iamVjdCB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSBidXR0b24gdGhhdFxuICAgKiB1c2VycyBzZWxlY3QuIEl0IHJldHVybnMgdGhlIGAnY2FuY2VsJ2AgYWN0aW9uIHdoZW4gdXNlcnMgcHJlc3MgdGhlIDxrYmQ+RXNjYXBlPC9rYmQ+IGtleS5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2xvc2VkKCk6IE9ic2VydmFibGU8U2t5Q29uZmlybUNsb3NlRXZlbnRBcmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuI2Nsb3NlZE9icztcbiAgfVxuXG4gIHJlYWRvbmx5ICNjbG9zZWQgPSBuZXcgUmVwbGF5U3ViamVjdDxTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3M+KCk7XG4gIHJlYWRvbmx5ICNjbG9zZWRPYnMgPSB0aGlzLiNjbG9zZWQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgY29uZmlybSBpbnN0YW5jZS5cbiAgICogQHBhcmFtIGFyZ3MgU3BlY2lmaWVzIGFuIG9iamVjdCB0byBlbWl0IHRvIHN1YnNjcmliZXJzIG9mIHRoZSBgY2xvc2VkYCBldmVudFxuICAgKiBvZiB0aGUgY29uZmlybSBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBjbG9zZShhcmdzOiBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLiNjbG9zZWQubmV4dChhcmdzKTtcbiAgICB0aGlzLiNjbG9zZWQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19","export var SkyConfirmType;\n(function (SkyConfirmType) {\n /**\n * Allows you to define your own buttons using the `buttons` property of `SkyConfirmConfig`.\n */\n SkyConfirmType[SkyConfirmType[\"Custom\"] = 0] = \"Custom\";\n /**\n * Displays one button with an **OK** label and an `'ok'` action.\n */\n SkyConfirmType[SkyConfirmType[\"OK\"] = 1] = \"OK\";\n /**\n * Displays two buttons with **Yes** and **Cancel** labels.\n * @deprecated Use the `Custom` type to follow the guidance that labels\n * should clearly indicate the actions that occur when users select buttons.\n */\n SkyConfirmType[SkyConfirmType[\"YesCancel\"] = 2] = \"YesCancel\";\n /**\n * Displays three buttons with **Yes**, **No**, and **Cancel** labels.\n * @deprecated Use the `Custom` type to follow the guidance that labels\n * should clearly indicate the actions that occur when users select buttons.\n */\n SkyConfirmType[SkyConfirmType[\"YesNoCancel\"] = 3] = \"YesNoCancel\";\n})(SkyConfirmType || (SkyConfirmType = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvY29uZmlybS9jb25maXJtLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksY0FxQlg7QUFyQkQsV0FBWSxjQUFjO0lBQ3hCOztPQUVHO0lBQ0gsdURBQVUsQ0FBQTtJQUNWOztPQUVHO0lBQ0gsK0NBQU0sQ0FBQTtJQUNOOzs7O09BSUc7SUFDSCw2REFBYSxDQUFBO0lBQ2I7Ozs7T0FJRztJQUNILGlFQUFlLENBQUE7QUFDakIsQ0FBQyxFQXJCVyxjQUFjLEtBQWQsY0FBYyxRQXFCekIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTa3lDb25maXJtVHlwZSB7XG4gIC8qKlxuICAgKiBBbGxvd3MgeW91IHRvIGRlZmluZSB5b3VyIG93biBidXR0b25zIHVzaW5nIHRoZSBgYnV0dG9uc2AgcHJvcGVydHkgb2YgYFNreUNvbmZpcm1Db25maWdgLlxuICAgKi9cbiAgQ3VzdG9tID0gMCxcbiAgLyoqXG4gICAqIERpc3BsYXlzIG9uZSBidXR0b24gd2l0aCBhbiAqKk9LKiogbGFiZWwgYW5kIGFuIGAnb2snYCBhY3Rpb24uXG4gICAqL1xuICBPSyA9IDEsXG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0d28gYnV0dG9ucyB3aXRoICoqWWVzKiogYW5kICoqQ2FuY2VsKiogbGFiZWxzLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGBDdXN0b21gIHR5cGUgdG8gZm9sbG93IHRoZSBndWlkYW5jZSB0aGF0IGxhYmVsc1xuICAgKiBzaG91bGQgY2xlYXJseSBpbmRpY2F0ZSB0aGUgYWN0aW9ucyB0aGF0IG9jY3VyIHdoZW4gdXNlcnMgc2VsZWN0IGJ1dHRvbnMuXG4gICAqL1xuICBZZXNDYW5jZWwgPSAyLFxuICAvKipcbiAgICogRGlzcGxheXMgdGhyZWUgYnV0dG9ucyB3aXRoICoqWWVzKiosICoqTm8qKiwgYW5kICoqQ2FuY2VsKiogbGFiZWxzLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGBDdXN0b21gIHR5cGUgdG8gZm9sbG93IHRoZSBndWlkYW5jZSB0aGF0IGxhYmVsc1xuICAgKiBzaG91bGQgY2xlYXJseSBpbmRpY2F0ZSB0aGUgYWN0aW9ucyB0aGF0IG9jY3VyIHdoZW4gdXNlcnMgc2VsZWN0IGJ1dHRvbnMuXG4gICAqL1xuICBZZXNOb0NhbmNlbCA9IDMsXG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated The `SkyConfirmModule` is no longer needed and can be removed from your application.\n * @internal\n */\nexport class SkyConfirmModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpDOzs7R0FHRztBQUVILE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFFBQVE7bUJBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhlIGBTa3lDb25maXJtTW9kdWxlYCBpcyBubyBsb25nZXIgbmVlZGVkIGFuZCBjYW4gYmUgcmVtb3ZlZCBmcm9tIHlvdXIgYXBwbGljYXRpb24uXG4gKiBAaW50ZXJuYWxcbiAqL1xuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIFNreUNvbmZpcm1Nb2R1bGUge31cbiJdfQ==","import { InjectionToken } from '@angular/core';\n/**\n * @internal\n */\nexport const SKY_CONFIRM_CONFIG = new InjectionToken('SkyConfirmConfig');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1jb25maWctdG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0tY29uZmlnLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FDbEQsa0JBQWtCLENBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lDb25maXJtQ29uZmlnIH0gZnJvbSAnLi9jb25maXJtLWNvbmZpZyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBTS1lfQ09ORklSTV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48U2t5Q29uZmlybUNvbmZpZz4oXG4gICdTa3lDb25maXJtQ29uZmlnJyxcbik7XG4iXX0=","import { Component, ViewEncapsulation } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * Specifies content to display in the modal's body.\n */\nexport class SkyModalContentComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.0\", type: SkyModalContentComponent, isStandalone: true, selector: \"sky-modal-content\", hostDirectives: [{ directive: i1.SkyResponsiveHostDirective }], ngImport: i0, template: \"<ng-content />\\n\", styles: [\".sky-modal:not(.sky-theme-modern *){--sky-override-modal-content-padding: 0}sky-modal-content{display:block;min-height:100%;padding:var(--sky-override-modal-content-padding, var(--sky-comp-modal-content-space-inset-top) var(--sky-comp-modal-content-space-inset-right) var(--sky-comp-modal-content-space-inset-bottom) var(--sky-comp-modal-content-space-inset-left))}\\n\"], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalContentComponent, decorators: [{\n type: Component,\n args: [{ hostDirectives: [SkyResponsiveHostDirective], selector: 'sky-modal-content', encapsulation: ViewEncapsulation.None, template: \"<ng-content />\\n\", styles: [\".sky-modal:not(.sky-theme-modern *){--sky-override-modal-content-padding: 0}sky-modal-content{display:block;min-height:100%;padding:var(--sky-override-modal-content-padding, var(--sky-comp-modal-content-space-inset-top) var(--sky-comp-modal-content-space-inset-right) var(--sky-comp-modal-content-space-inset-bottom) var(--sky-comp-modal-content-space-inset-left))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUV6RDs7R0FFRztBQVFILE1BQU0sT0FBTyx3QkFBd0I7OEdBQXhCLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDZJQ2JyQyxrQkFDQTs7MkZEWWEsd0JBQXdCO2tCQVBwQyxTQUFTO3FDQUNRLENBQUMsMEJBQTBCLENBQUMsWUFDbEMsbUJBQW1CLGlCQUdkLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgY29udGVudCB0byBkaXNwbGF5IGluIHRoZSBtb2RhbCdzIGJvZHkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBob3N0RGlyZWN0aXZlczogW1NreVJlc3BvbnNpdmVIb3N0RGlyZWN0aXZlXSxcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtY29udGVudC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbENvbnRlbnRDb21wb25lbnQge31cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=","/**\n * Properties about the modal close action and a method to close the modal.\n */\nexport class SkyModalBeforeCloseHandler {\n constructor(closeModal, closeArgs) {\n this.closeArgs = closeArgs;\n this.closeModal = closeModal;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYmVmb3JlLWNsb3NlLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1iZWZvcmUtY2xvc2UtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTywwQkFBMEI7SUFjckMsWUFBWSxVQUFzQixFQUFFLFNBQTRCO1FBQzlELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreU1vZGFsQ2xvc2VBcmdzIH0gZnJvbSAnLi9tb2RhbC1jbG9zZS1hcmdzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGFib3V0IHRoZSBtb2RhbCBjbG9zZSBhY3Rpb24gYW5kIGEgbWV0aG9kIHRvIGNsb3NlIHRoZSBtb2RhbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreU1vZGFsQmVmb3JlQ2xvc2VIYW5kbGVyIHtcbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgdGhhdCB3b3VsZCBiZSBlbWl0dGVkIGJ5IGEgbW9kYWwncyBgY2xvc2VkYCBldmVudC4gVGhpcyBvYmplY3RcbiAgICogY2FuIGJlIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gcHJvbXB0IHRoZSB1c2VyIGZvciBjb25maXJtYXRpb24sIHN1Y2hcbiAgICogYXMgd2hlbiB0aGUgdXNlciBjbG9zZXMgYSBtb2RhbCBmb3JtIGFmdGVyIGVudGVyaW5nIGRhdGEuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvc2VBcmdzOiBTa3lNb2RhbENsb3NlQXJncztcblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gY2FsbCB0byBjbG9zZSB0aGUgbW9kYWwuIE5lZ2xlY3RpbmcgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uXG4gICAqIGVmZmVjdGl2ZWx5IGNhbmNlbHMgdGhlIGNsb3NlIG1vZGFsIGFjdGlvbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjbG9zZU1vZGFsOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKGNsb3NlTW9kYWw6ICgpID0+IHZvaWQsIGNsb3NlQXJnczogU2t5TW9kYWxDbG9zZUFyZ3MpIHtcbiAgICB0aGlzLmNsb3NlQXJncyA9IGNsb3NlQXJncztcbiAgICB0aGlzLmNsb3NlTW9kYWwgPSBjbG9zZU1vZGFsO1xuICB9XG59XG4iXX0=","/**\n * Contains an object with the data passed from users when\n * a modal is closed and the reason that the modal was closed.\n */\nexport class SkyModalCloseArgs {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY2xvc2UtYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNsb3NlLWFyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtDQVU3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udGFpbnMgYW4gb2JqZWN0IHdpdGggdGhlIGRhdGEgcGFzc2VkIGZyb20gdXNlcnMgd2hlblxuICogYSBtb2RhbCBpcyBjbG9zZWQgYW5kIHRoZSByZWFzb24gdGhhdCB0aGUgbW9kYWwgd2FzIGNsb3NlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreU1vZGFsQ2xvc2VBcmdzIHtcbiAgLyoqXG4gICAqIFRoZSByZWFzb24gdGhlIG1vZGFsIHdhcyBjbG9zZWQuXG4gICAqIE9wdGlvbnMgaW5jbHVkZSBgXCJjbG9zZVwiYCwgYFwic2F2ZVwiYCwgYW5kIGBcImNhbmNlbFwiYC5cbiAgICovXG4gIHB1YmxpYyByZWFzb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBkYXRhIHBhc3NlZCBmcm9tIHVzZXJzIHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZC5cbiAgICovXG4gIHB1YmxpYyBkYXRhOiBhbnk7XG59XG4iXX0=","import { Subject } from 'rxjs';\nimport { SkyModalBeforeCloseHandler } from './modal-before-close-handler';\nimport { SkyModalCloseArgs } from './modal-close-args';\nexport class SkyModalInstance {\n /**\n * An event that the modal instance emits when it is about to close.\n * It emits a `SkyModalBeforeCloseHandler` object with a `closeModal` method\n * that closes the modal. If a subscription exists for this event,\n * the modal does not close until the subscriber calls the `closeModal` method.\n */\n get beforeClose() {\n return this.#_beforeClose;\n }\n /**\n * An event that the modal instance emits when it closes.\n * It emits a `SkyModalCloseArgs` object with a `data` property that includes\n * data passed from users on close or save and a `reason` property that indicates\n * whether the modal was saved or closed without saving.\n * The `reason` property accepts any string value.\n * Common examples include `\"cancel\"`, `\"close\"`, and `\"save\"`.\n */\n get closed() {\n return this.#_closed;\n }\n /**\n * An event that the modal instance emits when users click\n * the help inline button.\n * If a `helpKey` parameter was specified, the `helpOpened` event broadcasts the `helpKey`.\n * @deprecated\n */\n get helpOpened() {\n return this.#_helpOpened;\n }\n /**\n * Sets the component adapter for the instance. This is used internally for actions such as scrolling the content.\n * @internal\n */\n set adapter(value) {\n this.#adapter = value;\n }\n /**\n * Sets the component ref for the instance. This is used to extract the component instance for the public API and the element ref for internal use.\n * @internal\n */\n set componentRef(value) {\n this.componentInstance = value.instance;\n this.#elementRef = value.location;\n }\n #_beforeClose = new Subject();\n #_closed = new Subject();\n /**\n * @deprecated\n */\n #_helpOpened = new Subject();\n #adapter;\n #elementRef;\n /**\n * Closes the modal instance.\n * @param result Specifies an object to emit to subscribers of the `closed` event of the\n * modal instance. The `SkyModalInstance` provider can be injected into a component's constructor\n * so that this `close` function can be called from a button in the `sky-modal-footer`.\n * @param reason Specifies the reason for the modal closing, with the default reason of `\"close\"`.\n * @param ignoreBeforeClose Indicates whether to ignore the modal instance's `beforeClose` event.\n */\n close(result, reason, ignoreBeforeClose) {\n if (reason === undefined) {\n reason = 'close';\n }\n this.#closeModal(reason, result, ignoreBeforeClose);\n }\n /**\n * Closes the modal instance with `reason=\"cancel\"`.\n * @param result Specifies an object to emit to subscribers of the `closed` event of the modal\n * instance. The `SkyModalInstance` provider can be injected into a component's constructor so\n * that this cancel function can be called from a button in the `sky-modal-footer`.\n */\n cancel(result) {\n this.#closeModal('cancel', result);\n }\n /**\n * Closes the modal instance with `reason=\"save\"`.\n * @param result Specifies an object to emit to subscribers of the `closed` event of the modal\n * instance. The `SkyModalInstance` provider can be injected into a component's constructor so\n * that this `save` function can be called from a button in `the sky-modal-footer`.\n */\n save(result) {\n this.#closeModal('save', result);\n }\n /**\n * Scrolls the modal content area to the top of its scrollable area.\n */\n scrollContentToTop() {\n if (this.#adapter && this.#elementRef) {\n this.#adapter.scrollContentToTop(this.#elementRef);\n }\n }\n /**\n * Triggers the `helpOpened` event that broadcasts a `helpKey` parameter to open\n * when users click the help inline button.\n * @param helpKey Specifies a string to emit to subscribers of\n * the modal instance's `helpOpened` event. Consumers can inject the `SkyModalInstance` provider\n * into a component's constructor to call the `openHelp` function in the modal template.\n * @deprecated\n */\n openHelp(helpKey) {\n this.#_helpOpened.next(helpKey);\n }\n #closeModal(type, result, ignoreBeforeClose = false) {\n const args = new SkyModalCloseArgs();\n args.reason = type;\n args.data = result;\n if (this.#_beforeClose.observers.length === 0 || ignoreBeforeClose) {\n this.#notifyClosed(args);\n }\n else {\n this.#_beforeClose.next(new SkyModalBeforeCloseHandler(() => {\n this.#notifyClosed(args);\n }, args));\n }\n }\n #notifyClosed(args) {\n this.#_closed.next(args);\n this.#_closed.complete();\n this.#_beforeClose.complete();\n this.#_helpOpened.complete();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7Ozs7O09BS0c7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQVFEOzs7T0FHRztJQUNILElBQVcsT0FBTyxDQUFDLEtBQTZCO1FBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLFlBQVksQ0FBQyxLQUF3QjtRQUM5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztJQUUxRCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7SUFFNUM7O09BRUc7SUFDSCxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUVyQyxRQUFRLENBQXFDO0lBQzdDLFdBQVcsQ0FBeUI7SUFFcEM7Ozs7Ozs7T0FPRztJQUNJLEtBQUssQ0FDVixNQUFZLEVBQ1osTUFBZSxFQUNmLGlCQUEyQjtRQUUzQixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN6QixNQUFNLEdBQUcsT0FBTyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsTUFBWTtRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxJQUFJLENBQUMsTUFBWTtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxrQkFBa0I7UUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxRQUFRLENBQUMsT0FBZTtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVksRUFBRSxNQUFZLEVBQUUsaUJBQWlCLEdBQUcsS0FBSztRQUMvRCxNQUFNLElBQUksR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFFckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7UUFFbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLDBCQUEwQixDQUFDLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQ1QsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQXVCO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreU1vZGFsQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vbW9kYWwtYmVmb3JlLWNsb3NlLWhhbmRsZXInO1xuaW1wb3J0IHsgU2t5TW9kYWxDbG9zZUFyZ3MgfSBmcm9tICcuL21vZGFsLWNsb3NlLWFyZ3MnO1xuXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxJbnN0YW5jZSB7XG4gIC8qKlxuICAgKiBBbiBldmVudCB0aGF0IHRoZSBtb2RhbCBpbnN0YW5jZSBlbWl0cyB3aGVuIGl0IGlzIGFib3V0IHRvIGNsb3NlLlxuICAgKiBJdCBlbWl0cyBhIGBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcmAgb2JqZWN0IHdpdGggYSBgY2xvc2VNb2RhbGAgbWV0aG9kXG4gICAqIHRoYXQgY2xvc2VzIHRoZSBtb2RhbC4gSWYgYSBzdWJzY3JpcHRpb24gZXhpc3RzIGZvciB0aGlzIGV2ZW50LFxuICAgKiB0aGUgbW9kYWwgZG9lcyBub3QgY2xvc2UgdW50aWwgdGhlIHN1YnNjcmliZXIgY2FsbHMgdGhlIGBjbG9zZU1vZGFsYCBtZXRob2QuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGJlZm9yZUNsb3NlKCk6IE9ic2VydmFibGU8U2t5TW9kYWxCZWZvcmVDbG9zZUhhbmRsZXI+IHtcbiAgICByZXR1cm4gdGhpcy4jX2JlZm9yZUNsb3NlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGV2ZW50IHRoYXQgdGhlIG1vZGFsIGluc3RhbmNlIGVtaXRzIHdoZW4gaXQgY2xvc2VzLlxuICAgKiBJdCBlbWl0cyBhIGBTa3lNb2RhbENsb3NlQXJnc2Agb2JqZWN0IHdpdGggYSBgZGF0YWAgcHJvcGVydHkgdGhhdCBpbmNsdWRlc1xuICAgKiBkYXRhIHBhc3NlZCBmcm9tIHVzZXJzIG9uIGNsb3NlIG9yIHNhdmUgYW5kIGEgYHJlYXNvbmAgcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXNcbiAgICogd2hldGhlciB0aGUgbW9kYWwgd2FzIHNhdmVkIG9yIGNsb3NlZCB3aXRob3V0IHNhdmluZy5cbiAgICogVGhlIGByZWFzb25gIHByb3BlcnR5IGFjY2VwdHMgYW55IHN0cmluZyB2YWx1ZS5cbiAgICogQ29tbW9uIGV4YW1wbGVzIGluY2x1ZGUgYFwiY2FuY2VsXCJgLCBgXCJjbG9zZVwiYCwgYW5kIGBcInNhdmVcImAuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNsb3NlZCgpOiBPYnNlcnZhYmxlPFNreU1vZGFsQ2xvc2VBcmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuI19jbG9zZWQ7XG4gIH1cblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgbW9kYWwgaW5zdGFuY2UgZW1pdHMgd2hlbiB1c2VycyBjbGlja1xuICAgKiB0aGUgaGVscCBpbmxpbmUgYnV0dG9uLlxuICAgKiBJZiBhIGBoZWxwS2V5YCBwYXJhbWV0ZXIgd2FzIHNwZWNpZmllZCwgdGhlIGBoZWxwT3BlbmVkYCBldmVudCBicm9hZGNhc3RzIHRoZSBgaGVscEtleWAuXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhlbHBPcGVuZWQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy4jX2hlbHBPcGVuZWQ7XG4gIH1cblxuICAvKipcbiAgICogQSBkaXJlY3QgcmVmZXJlbmNlIHRvIHRoZSBwcm92aWRlZCBjb21wb25lbnQncyBjbGFzcy5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBjb21wb25lbnRJbnN0YW5jZTogYW55O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb21wb25lbnQgYWRhcHRlciBmb3IgdGhlIGluc3RhbmNlLiBUaGlzIGlzIHVzZWQgaW50ZXJuYWxseSBmb3IgYWN0aW9ucyBzdWNoIGFzIHNjcm9sbGluZyB0aGUgY29udGVudC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2V0IGFkYXB0ZXIodmFsdWU6IFNreU1vZGFsQWRhcHRlclNlcnZpY2UpIHtcbiAgICB0aGlzLiNhZGFwdGVyID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29tcG9uZW50IHJlZiBmb3IgdGhlIGluc3RhbmNlLiBUaGlzIGlzIHVzZWQgdG8gZXh0cmFjdCB0aGUgY29tcG9uZW50IGluc3RhbmNlIGZvciB0aGUgcHVibGljIEFQSSBhbmQgdGhlIGVsZW1lbnQgcmVmIGZvciBpbnRlcm5hbCB1c2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNldCBjb21wb25lbnRSZWYodmFsdWU6IENvbXBvbmVudFJlZjxhbnk+KSB7XG4gICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZSA9IHZhbHVlLmluc3RhbmNlO1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSB2YWx1ZS5sb2NhdGlvbjtcbiAgfVxuXG4gICNfYmVmb3JlQ2xvc2UgPSBuZXcgU3ViamVjdDxTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcj4oKTtcblxuICAjX2Nsb3NlZCA9IG5ldyBTdWJqZWN0PFNreU1vZGFsQ2xvc2VBcmdzPigpO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgI19oZWxwT3BlbmVkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICNhZGFwdGVyOiBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHJlc3VsdCBTcGVjaWZpZXMgYW4gb2JqZWN0IHRvIGVtaXQgdG8gc3Vic2NyaWJlcnMgb2YgdGhlIGBjbG9zZWRgIGV2ZW50IG9mIHRoZVxuICAgKiBtb2RhbCBpbnN0YW5jZS4gVGhlIGBTa3lNb2RhbEluc3RhbmNlYCBwcm92aWRlciBjYW4gYmUgaW5qZWN0ZWQgaW50byBhIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yXG4gICAqIHNvIHRoYXQgdGhpcyBgY2xvc2VgIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZnJvbSBhIGJ1dHRvbiBpbiB0aGUgYHNreS1tb2RhbC1mb290ZXJgLlxuICAgKiBAcGFyYW0gcmVhc29uIFNwZWNpZmllcyB0aGUgcmVhc29uIGZvciB0aGUgbW9kYWwgY2xvc2luZywgd2l0aCB0aGUgZGVmYXVsdCByZWFzb24gb2YgYFwiY2xvc2VcImAuXG4gICAqIEBwYXJhbSBpZ25vcmVCZWZvcmVDbG9zZSBJbmRpY2F0ZXMgd2hldGhlciB0byBpZ25vcmUgdGhlIG1vZGFsIGluc3RhbmNlJ3MgYGJlZm9yZUNsb3NlYCBldmVudC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZShcbiAgICByZXN1bHQ/OiBhbnksXG4gICAgcmVhc29uPzogc3RyaW5nLFxuICAgIGlnbm9yZUJlZm9yZUNsb3NlPzogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKHJlYXNvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZWFzb24gPSAnY2xvc2UnO1xuICAgIH1cblxuICAgIHRoaXMuI2Nsb3NlTW9kYWwocmVhc29uLCByZXN1bHQsIGlnbm9yZUJlZm9yZUNsb3NlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG1vZGFsIGluc3RhbmNlIHdpdGggYHJlYXNvbj1cImNhbmNlbFwiYC5cbiAgICogQHBhcmFtIHJlc3VsdCBTcGVjaWZpZXMgYW4gb2JqZWN0IHRvIGVtaXQgdG8gc3Vic2NyaWJlcnMgb2YgdGhlIGBjbG9zZWRgIGV2ZW50IG9mIHRoZSBtb2RhbFxuICAgKiBpbnN0YW5jZS4gVGhlIGBTa3lNb2RhbEluc3RhbmNlYCBwcm92aWRlciBjYW4gYmUgaW5qZWN0ZWQgaW50byBhIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yIHNvXG4gICAqIHRoYXQgdGhpcyBjYW5jZWwgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBmcm9tIGEgYnV0dG9uIGluIHRoZSBgc2t5LW1vZGFsLWZvb3RlcmAuXG4gICAqL1xuICBwdWJsaWMgY2FuY2VsKHJlc3VsdD86IGFueSk6IHZvaWQge1xuICAgIHRoaXMuI2Nsb3NlTW9kYWwoJ2NhbmNlbCcsIHJlc3VsdCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCBpbnN0YW5jZSB3aXRoIGByZWFzb249XCJzYXZlXCJgLlxuICAgKiBAcGFyYW0gcmVzdWx0IFNwZWNpZmllcyBhbiBvYmplY3QgdG8gZW1pdCB0byBzdWJzY3JpYmVycyBvZiB0aGUgYGNsb3NlZGAgZXZlbnQgb2YgdGhlIG1vZGFsXG4gICAqIGluc3RhbmNlLiBUaGUgYFNreU1vZGFsSW5zdGFuY2VgIHByb3ZpZGVyIGNhbiBiZSBpbmplY3RlZCBpbnRvIGEgY29tcG9uZW50J3MgY29uc3RydWN0b3Igc29cbiAgICogdGhhdCB0aGlzIGBzYXZlYCBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIGZyb20gYSBidXR0b24gaW4gYHRoZSBza3ktbW9kYWwtZm9vdGVyYC5cbiAgICovXG4gIHB1YmxpYyBzYXZlKHJlc3VsdD86IGFueSk6IHZvaWQge1xuICAgIHRoaXMuI2Nsb3NlTW9kYWwoJ3NhdmUnLCByZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNjcm9sbHMgdGhlIG1vZGFsIGNvbnRlbnQgYXJlYSB0byB0aGUgdG9wIG9mIGl0cyBzY3JvbGxhYmxlIGFyZWEuXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsQ29udGVudFRvVG9wKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNhZGFwdGVyICYmIHRoaXMuI2VsZW1lbnRSZWYpIHtcbiAgICAgIHRoaXMuI2FkYXB0ZXIuc2Nyb2xsQ29udGVudFRvVG9wKHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgYGhlbHBPcGVuZWRgIGV2ZW50IHRoYXQgYnJvYWRjYXN0cyBhIGBoZWxwS2V5YCBwYXJhbWV0ZXIgdG8gb3BlblxuICAgKiB3aGVuIHVzZXJzIGNsaWNrIHRoZSBoZWxwIGlubGluZSBidXR0b24uXG4gICAqIEBwYXJhbSBoZWxwS2V5IFNwZWNpZmllcyBhIHN0cmluZyB0byBlbWl0IHRvIHN1YnNjcmliZXJzIG9mXG4gICAqIHRoZSBtb2RhbCBpbnN0YW5jZSdzIGBoZWxwT3BlbmVkYCBldmVudC4gQ29uc3VtZXJzIGNhbiBpbmplY3QgdGhlIGBTa3lNb2RhbEluc3RhbmNlYCBwcm92aWRlclxuICAgKiBpbnRvIGEgY29tcG9uZW50J3MgY29uc3RydWN0b3IgdG8gY2FsbCB0aGUgYG9wZW5IZWxwYCBmdW5jdGlvbiBpbiB0aGUgbW9kYWwgdGVtcGxhdGUuXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgb3BlbkhlbHAoaGVscEtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jX2hlbHBPcGVuZWQubmV4dChoZWxwS2V5KTtcbiAgfVxuXG4gICNjbG9zZU1vZGFsKHR5cGU6IHN0cmluZywgcmVzdWx0PzogYW55LCBpZ25vcmVCZWZvcmVDbG9zZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgY29uc3QgYXJncyA9IG5ldyBTa3lNb2RhbENsb3NlQXJncygpO1xuXG4gICAgYXJncy5yZWFzb24gPSB0eXBlO1xuICAgIGFyZ3MuZGF0YSA9IHJlc3VsdDtcblxuICAgIGlmICh0aGlzLiNfYmVmb3JlQ2xvc2Uub2JzZXJ2ZXJzLmxlbmd0aCA9PT0gMCB8fCBpZ25vcmVCZWZvcmVDbG9zZSkge1xuICAgICAgdGhpcy4jbm90aWZ5Q2xvc2VkKGFyZ3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNfYmVmb3JlQ2xvc2UubmV4dChcbiAgICAgICAgbmV3IFNreU1vZGFsQmVmb3JlQ2xvc2VIYW5kbGVyKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNub3RpZnlDbG9zZWQoYXJncyk7XG4gICAgICAgIH0sIGFyZ3MpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAjbm90aWZ5Q2xvc2VkKGFyZ3M6IFNreU1vZGFsQ2xvc2VBcmdzKTogdm9pZCB7XG4gICAgdGhpcy4jX2Nsb3NlZC5uZXh0KGFyZ3MpO1xuICAgIHRoaXMuI19jbG9zZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLiNfYmVmb3JlQ2xvc2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNfaGVscE9wZW5lZC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=","/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-modals' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';\nimport * as i0 from \"@angular/core\";\nconst RESOURCES = {\n 'EN-US': {\n skyux_confirm_dialog_default_ok_text: { message: 'OK' },\n skyux_confirm_dialog_default_yes_text: { message: 'Yes' },\n skyux_confirm_dialog_default_no_text: { message: 'No' },\n skyux_confirm_dialog_default_cancel_text: { message: 'Cancel' },\n skyux_modal_close: { message: 'Close modal' },\n skyux_modal_open_help: { message: 'Open Help' },\n skyux_modal_footer_cancel_button: { message: 'Cancel' },\n skyux_modal_footer_primary_button: { message: 'Save' },\n skyux_modal_dirty_default_message: {\n message: 'Are you sure you want to discard your changes?',\n },\n skyux_modal_dirty_default_discard_changes_text: {\n message: 'Discard changes',\n },\n skyux_modal_dirty_default_keep_working_text: { message: 'Keep working' },\n },\n 'FR-CA': {\n skyux_confirm_dialog_default_ok_text: { message: 'OK' },\n skyux_confirm_dialog_default_yes_text: { message: 'Oui' },\n skyux_confirm_dialog_default_no_text: { message: 'Non' },\n skyux_confirm_dialog_default_cancel_text: { message: 'Annuler' },\n skyux_modal_close: { message: 'Fermer le modal' },\n skyux_modal_open_help: { message: 'Ouvrir l’aide' },\n skyux_modal_footer_cancel_button: { message: 'Annuler' },\n skyux_modal_footer_primary_button: { message: 'Sauvegarder' },\n skyux_modal_dirty_default_message: {\n message: 'Êtes-vous certain de vouloir supprimer ces changements?',\n },\n skyux_modal_dirty_default_discard_changes_text: {\n message: 'Supprimer les changements',\n },\n skyux_modal_dirty_default_keep_working_text: {\n message: 'Continuer à travailler',\n },\n },\n};\nSkyLibResourcesService.addResources(RESOURCES);\n/**\n * Import into any component library module that needs to use resource strings.\n */\nexport class SkyModalsResourcesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalsResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalsResourcesModule, exports: [SkyI18nModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalsResourcesModule, imports: [SkyI18nModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalsResourcesModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [SkyI18nModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LW1vZGFscy1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1tb2RhbHMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1Asb0NBQW9DLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1FBQ3ZELHFDQUFxQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUN6RCxvQ0FBb0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7UUFDdkQsd0NBQXdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQy9ELGlCQUFpQixFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUM3QyxxQkFBcUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7UUFDL0MsZ0NBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQ3ZELGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRTtRQUN0RCxpQ0FBaUMsRUFBRTtZQUNqQyxPQUFPLEVBQUUsZ0RBQWdEO1NBQzFEO1FBQ0QsOENBQThDLEVBQUU7WUFDOUMsT0FBTyxFQUFFLGlCQUFpQjtTQUMzQjtRQUNELDJDQUEyQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRTtLQUN6RTtJQUNELE9BQU8sRUFBRTtRQUNQLG9DQUFvQyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtRQUN2RCxxQ0FBcUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7UUFDekQsb0NBQW9DLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1FBQ3hELHdDQUF3QyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUNoRSxpQkFBaUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRTtRQUNqRCxxQkFBcUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUU7UUFDbkQsZ0NBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQ3hELGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUM3RCxpQ0FBaUMsRUFBRTtZQUNqQyxPQUFPLEVBQUUseURBQXlEO1NBQ25FO1FBQ0QsOENBQThDLEVBQUU7WUFDOUMsT0FBTyxFQUFFLDJCQUEyQjtTQUNyQztRQUNELDJDQUEyQyxFQUFFO1lBQzNDLE9BQU8sRUFBRSx3QkFBd0I7U0FDbEM7S0FDRjtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sd0JBQXdCOzhHQUF4Qix3QkFBd0I7K0dBQXhCLHdCQUF3QixZQUZ6QixhQUFhOytHQUVaLHdCQUF3QixZQUZ6QixhQUFhOzsyRkFFWix3QkFBd0I7a0JBSHBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1tb2RhbHMnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IFJlY29yZDxzdHJpbmcsIFNreUxpYlJlc291cmNlcz4gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X29rX3RleHQ6IHsgbWVzc2FnZTogJ09LJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfeWVzX3RleHQ6IHsgbWVzc2FnZTogJ1llcycgfSxcbiAgICBza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X25vX3RleHQ6IHsgbWVzc2FnZTogJ05vJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfY2FuY2VsX3RleHQ6IHsgbWVzc2FnZTogJ0NhbmNlbCcgfSxcbiAgICBza3l1eF9tb2RhbF9jbG9zZTogeyBtZXNzYWdlOiAnQ2xvc2UgbW9kYWwnIH0sXG4gICAgc2t5dXhfbW9kYWxfb3Blbl9oZWxwOiB7IG1lc3NhZ2U6ICdPcGVuIEhlbHAnIH0sXG4gICAgc2t5dXhfbW9kYWxfZm9vdGVyX2NhbmNlbF9idXR0b246IHsgbWVzc2FnZTogJ0NhbmNlbCcgfSxcbiAgICBza3l1eF9tb2RhbF9mb290ZXJfcHJpbWFyeV9idXR0b246IHsgbWVzc2FnZTogJ1NhdmUnIH0sXG4gICAgc2t5dXhfbW9kYWxfZGlydHlfZGVmYXVsdF9tZXNzYWdlOiB7XG4gICAgICBtZXNzYWdlOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRpc2NhcmQgeW91ciBjaGFuZ2VzPycsXG4gICAgfSxcbiAgICBza3l1eF9tb2RhbF9kaXJ0eV9kZWZhdWx0X2Rpc2NhcmRfY2hhbmdlc190ZXh0OiB7XG4gICAgICBtZXNzYWdlOiAnRGlzY2FyZCBjaGFuZ2VzJyxcbiAgICB9LFxuICAgIHNreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfa2VlcF93b3JraW5nX3RleHQ6IHsgbWVzc2FnZTogJ0tlZXAgd29ya2luZycgfSxcbiAgfSxcbiAgJ0ZSLUNBJzoge1xuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfb2tfdGV4dDogeyBtZXNzYWdlOiAnT0snIH0sXG4gICAgc2t5dXhfY29uZmlybV9kaWFsb2dfZGVmYXVsdF95ZXNfdGV4dDogeyBtZXNzYWdlOiAnT3VpJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfbm9fdGV4dDogeyBtZXNzYWdlOiAnTm9uJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfY2FuY2VsX3RleHQ6IHsgbWVzc2FnZTogJ0FubnVsZXInIH0sXG4gICAgc2t5dXhfbW9kYWxfY2xvc2U6IHsgbWVzc2FnZTogJ0Zlcm1lciBsZSBtb2RhbCcgfSxcbiAgICBza3l1eF9tb2RhbF9vcGVuX2hlbHA6IHsgbWVzc2FnZTogJ091dnJpciBs4oCZYWlkZScgfSxcbiAgICBza3l1eF9tb2RhbF9mb290ZXJfY2FuY2VsX2J1dHRvbjogeyBtZXNzYWdlOiAnQW5udWxlcicgfSxcbiAgICBza3l1eF9tb2RhbF9mb290ZXJfcHJpbWFyeV9idXR0b246IHsgbWVzc2FnZTogJ1NhdXZlZ2FyZGVyJyB9LFxuICAgIHNreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfbWVzc2FnZToge1xuICAgICAgbWVzc2FnZTogJ8OKdGVzLXZvdXMgY2VydGFpbiBkZSB2b3Vsb2lyIHN1cHByaW1lciBjZXMgY2hhbmdlbWVudHM/JyxcbiAgICB9LFxuICAgIHNreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfZGlzY2FyZF9jaGFuZ2VzX3RleHQ6IHtcbiAgICAgIG1lc3NhZ2U6ICdTdXBwcmltZXIgbGVzIGNoYW5nZW1lbnRzJyxcbiAgICB9LFxuICAgIHNreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfa2VlcF93b3JraW5nX3RleHQ6IHtcbiAgICAgIG1lc3NhZ2U6ICdDb250aW51ZXIgw6AgdHJhdmFpbGxlcicsXG4gICAgfSxcbiAgfSxcbn07XG5cblNreUxpYlJlc291cmNlc1NlcnZpY2UuYWRkUmVzb3VyY2VzKFJFU09VUkNFUyk7XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsc1Jlc291cmNlc01vZHVsZSB7fVxuIl19","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @internal\n */\nexport class SkyModalComponentAdapterService {\n handleWindowChange(modalEl) {\n const boundedHeightEl = modalEl.nativeElement.querySelector('.sky-modal');\n const fullPageModalEl = modalEl.nativeElement.querySelector('.sky-modal-full-page');\n const modalStyle = getComputedStyle(boundedHeightEl);\n const marginTopBottom = parseInt(modalStyle.marginTop, 10) +\n parseInt(modalStyle.marginBottom, 10);\n /*\n Set modal height equal to max height of window (accounting for padding above and below modal)\n */\n const newHeight = window.innerHeight - marginTopBottom;\n boundedHeightEl.style.maxHeight = newHeight.toString() + 'px';\n boundedHeightEl.style.setProperty('--sky-modal-content-max-height', boundedHeightEl.style.maxHeight);\n if (fullPageModalEl) {\n this.#setFullPageHeight(fullPageModalEl);\n }\n }\n isFocusInFirstItem(event, list) {\n /* istanbul ignore next */\n /* sanity check */\n const eventTarget = event.target || event.srcElement;\n return list.length > 0 && eventTarget === list[0];\n }\n isFocusInLastItem(event, list) {\n /* istanbul ignore next */\n /* sanity check */\n const eventTarget = event.target || event.srcElement;\n return list.length > 0 && eventTarget === list[list.length - 1];\n }\n isModalFocused(event, modalEl) {\n /* istanbul ignore next */\n /* sanity check */\n const eventTarget = event.target || event.srcElement;\n return (modalEl &&\n eventTarget === modalEl.nativeElement.querySelector('.sky-modal-dialog'));\n }\n focusLastElement(list) {\n if (list.length > 0) {\n list[list.length - 1].focus();\n return true;\n }\n return false;\n }\n focusFirstElement(list) {\n if (list.length > 0) {\n list[0].focus();\n return true;\n }\n return false;\n }\n modalContentHasDirectChildViewkeeper(modalContentEl) {\n return !!modalContentEl.nativeElement.querySelector('sky-modal-content > .sky-viewkeeper-fixed');\n }\n #setFullPageHeight(fullPageModalEl) {\n const windowHeight = window.innerHeight;\n const fullPageModalStyle = getComputedStyle(fullPageModalEl);\n const marginTopBottom = parseInt(fullPageModalStyle.marginTop, 10) +\n parseInt(fullPageModalStyle.marginBottom, 10);\n const fullPageModalHeight = windowHeight - marginTopBottom + 'px';\n fullPageModalEl.style.height = fullPageModalHeight;\n fullPageModalEl.style.maxHeight = fullPageModalHeight;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalComponentAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalComponentAdapterService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalComponentAdapterService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29tcG9uZW50LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbXBvbmVudC1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sK0JBQStCO0lBQ25DLGtCQUFrQixDQUFDLE9BQW1CO1FBQzNDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFFLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUN6RCxzQkFBc0IsQ0FDdkIsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXJELE1BQU0sZUFBZSxHQUNuQixRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDbEMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFeEM7O1VBRUU7UUFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQztRQUV2RCxlQUFlLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzlELGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUMvQixnQ0FBZ0MsRUFDaEMsZUFBZSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQ2hDLENBQUM7UUFDRixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLGtCQUFrQixDQUN2QixLQUFvQixFQUNwQixJQUFtQjtRQUVuQiwwQkFBMEI7UUFDMUIsa0JBQWtCO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQW9CLEVBQUUsSUFBbUI7UUFDaEUsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxXQUFXLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFvQixFQUFFLE9BQW1CO1FBQzdELDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ3JELE9BQU8sQ0FDTCxPQUFPO1lBQ1AsV0FBVyxLQUFLLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQ3pFLENBQUM7SUFDSixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsSUFBbUI7UUFDekMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQW1CO1FBQzFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sb0NBQW9DLENBQ3pDLGNBQTBCO1FBRTFCLE9BQU8sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUNqRCwyQ0FBMkMsQ0FDNUMsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxlQUE0QjtRQUM3QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3hDLE1BQU0sa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFN0QsTUFBTSxlQUFlLEdBQ25CLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQzFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFaEQsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLEdBQUcsZUFBZSxHQUFHLElBQUksQ0FBQztRQUVsRSxlQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQztRQUNuRCxlQUFlLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztJQUN4RCxDQUFDOzhHQTFGVSwrQkFBK0I7a0hBQS9CLCtCQUErQjs7MkZBQS9CLCtCQUErQjtrQkFEM0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsQ29tcG9uZW50QWRhcHRlclNlcnZpY2Uge1xuICBwdWJsaWMgaGFuZGxlV2luZG93Q2hhbmdlKG1vZGFsRWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBib3VuZGVkSGVpZ2h0RWwgPSBtb2RhbEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1tb2RhbCcpO1xuICAgIGNvbnN0IGZ1bGxQYWdlTW9kYWxFbCA9IG1vZGFsRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5za3ktbW9kYWwtZnVsbC1wYWdlJyxcbiAgICApO1xuICAgIGNvbnN0IG1vZGFsU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGJvdW5kZWRIZWlnaHRFbCk7XG5cbiAgICBjb25zdCBtYXJnaW5Ub3BCb3R0b20gPVxuICAgICAgcGFyc2VJbnQobW9kYWxTdHlsZS5tYXJnaW5Ub3AsIDEwKSArXG4gICAgICBwYXJzZUludChtb2RhbFN0eWxlLm1hcmdpbkJvdHRvbSwgMTApO1xuXG4gICAgLypcbiAgICAgIFNldCBtb2RhbCBoZWlnaHQgZXF1YWwgdG8gbWF4IGhlaWdodCBvZiB3aW5kb3cgKGFjY291bnRpbmcgZm9yIHBhZGRpbmcgYWJvdmUgYW5kIGJlbG93IG1vZGFsKVxuICAgICovXG4gICAgY29uc3QgbmV3SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gbWFyZ2luVG9wQm90dG9tO1xuXG4gICAgYm91bmRlZEhlaWdodEVsLnN0eWxlLm1heEhlaWdodCA9IG5ld0hlaWdodC50b1N0cmluZygpICsgJ3B4JztcbiAgICBib3VuZGVkSGVpZ2h0RWwuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAnLS1za3ktbW9kYWwtY29udGVudC1tYXgtaGVpZ2h0JyxcbiAgICAgIGJvdW5kZWRIZWlnaHRFbC5zdHlsZS5tYXhIZWlnaHQsXG4gICAgKTtcbiAgICBpZiAoZnVsbFBhZ2VNb2RhbEVsKSB7XG4gICAgICB0aGlzLiNzZXRGdWxsUGFnZUhlaWdodChmdWxsUGFnZU1vZGFsRWwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0ZvY3VzSW5GaXJzdEl0ZW0oXG4gICAgZXZlbnQ6IEtleWJvYXJkRXZlbnQsXG4gICAgbGlzdDogSFRNTEVsZW1lbnRbXSxcbiAgKTogYm9vbGVhbiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LnRhcmdldCB8fCBldmVudC5zcmNFbGVtZW50O1xuICAgIHJldHVybiBsaXN0Lmxlbmd0aCA+IDAgJiYgZXZlbnRUYXJnZXQgPT09IGxpc3RbMF07XG4gIH1cblxuICBwdWJsaWMgaXNGb2N1c0luTGFzdEl0ZW0oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGxpc3Q6IEhUTUxFbGVtZW50W10pOiBib29sZWFuIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGNvbnN0IGV2ZW50VGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnNyY0VsZW1lbnQ7XG4gICAgcmV0dXJuIGxpc3QubGVuZ3RoID4gMCAmJiBldmVudFRhcmdldCA9PT0gbGlzdFtsaXN0Lmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgcHVibGljIGlzTW9kYWxGb2N1c2VkKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBtb2RhbEVsOiBFbGVtZW50UmVmKTogYm9vbGVhbiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LnRhcmdldCB8fCBldmVudC5zcmNFbGVtZW50O1xuICAgIHJldHVybiAoXG4gICAgICBtb2RhbEVsICYmXG4gICAgICBldmVudFRhcmdldCA9PT0gbW9kYWxFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktbW9kYWwtZGlhbG9nJylcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGZvY3VzTGFzdEVsZW1lbnQobGlzdDogSFRNTEVsZW1lbnRbXSk6IGJvb2xlYW4ge1xuICAgIGlmIChsaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGxpc3RbbGlzdC5sZW5ndGggLSAxXS5mb2N1cygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0ZpcnN0RWxlbWVudChsaXN0OiBIVE1MRWxlbWVudFtdKTogYm9vbGVhbiB7XG4gICAgaWYgKGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgbGlzdFswXS5mb2N1cygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBtb2RhbENvbnRlbnRIYXNEaXJlY3RDaGlsZFZpZXdrZWVwZXIoXG4gICAgbW9kYWxDb250ZW50RWw6IEVsZW1lbnRSZWYsXG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIW1vZGFsQ29udGVudEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICdza3ktbW9kYWwtY29udGVudCA+IC5za3ktdmlld2tlZXBlci1maXhlZCcsXG4gICAgKTtcbiAgfVxuXG4gICNzZXRGdWxsUGFnZUhlaWdodChmdWxsUGFnZU1vZGFsRWw6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIGNvbnN0IGZ1bGxQYWdlTW9kYWxTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZnVsbFBhZ2VNb2RhbEVsKTtcblxuICAgIGNvbnN0IG1hcmdpblRvcEJvdHRvbSA9XG4gICAgICBwYXJzZUludChmdWxsUGFnZU1vZGFsU3R5bGUubWFyZ2luVG9wLCAxMCkgK1xuICAgICAgcGFyc2VJbnQoZnVsbFBhZ2VNb2RhbFN0eWxlLm1hcmdpbkJvdHRvbSwgMTApO1xuXG4gICAgY29uc3QgZnVsbFBhZ2VNb2RhbEhlaWdodCA9IHdpbmRvd0hlaWdodCAtIG1hcmdpblRvcEJvdHRvbSArICdweCc7XG5cbiAgICBmdWxsUGFnZU1vZGFsRWwuc3R5bGUuaGVpZ2h0ID0gZnVsbFBhZ2VNb2RhbEhlaWdodDtcbiAgICBmdWxsUGFnZU1vZGFsRWwuc3R5bGUubWF4SGVpZ2h0ID0gZnVsbFBhZ2VNb2RhbEhlaWdodDtcbiAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @internal\n */\nexport class SkyModalConfiguration {\n constructor() {\n this.size = 'medium';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalConfiguration }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalConfiguration, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8scUJBQXFCO0lBc0JoQztRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7OEdBeEJVLHFCQUFxQjtrSEFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxDb25maWd1cmF0aW9uIHtcbiAgcHVibGljIGZ1bGxQYWdlPzogYm9vbGVhbjtcbiAgcHVibGljIHNpemU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgYXJpYUxhYmVsbGVkQnk/OiBzdHJpbmc7XG4gIHB1YmxpYyBhcmlhUm9sZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgdGlsZWRCb2R5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgaGVscEtleT86IHN0cmluZztcbiAgcHVibGljIHdyYXBwZXJDbGFzcz86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNpemUgPSAnbWVkaXVtJztcbiAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\n/**\n * @internal\n */\nexport class SkyModalErrorsService {\n #formErrors = new BehaviorSubject(undefined);\n constructor() {\n this.formErrors = this.#formErrors.asObservable();\n }\n updateErrors(value) {\n this.#formErrors.next(value);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalErrorsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalErrorsService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalErrorsService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZXJyb3JzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1lcnJvcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBSW5EOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQThCLFNBQVMsQ0FBQyxDQUFDO0lBRTFFO1FBQ0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTSxZQUFZLENBQUMsS0FBa0M7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs4R0FYVSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreU1vZGFsRXJyb3IgfSBmcm9tICcuL21vZGFsLWVycm9yJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsRXJyb3JzU2VydmljZSB7XG4gIHB1YmxpYyBmb3JtRXJyb3JzOiBPYnNlcnZhYmxlPFNreU1vZGFsRXJyb3JbXSB8IHVuZGVmaW5lZD47XG5cbiAgI2Zvcm1FcnJvcnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNreU1vZGFsRXJyb3JbXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmZvcm1FcnJvcnMgPSB0aGlzLiNmb3JtRXJyb3JzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUVycm9ycyh2YWx1ZTogU2t5TW9kYWxFcnJvcltdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy4jZm9ybUVycm9ycy5uZXh0KHZhbHVlKTtcbiAgfVxufVxuIl19","import { Component } from '@angular/core';\nimport { SkyTrimModule } from '@skyux/core';\nimport { SkyThemeModule } from '@skyux/theme';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * Specifies a header for the modal.\n */\nexport class SkyModalHeaderComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.0\", type: SkyModalHeaderComponent, isStandalone: true, selector: \"sky-modal-header\", ngImport: i0, template: \"<h2 class=\\\"sky-modal-heading\\\" skyTrim>\\n <ng-content />\\n</h2>\\n<span class=\\\"sky-control-help-container\\\" skyTrim\\n ><ng-content select=\\\".sky-control-help\\\"></ng-content\\n></span>\\n\", styles: [\".sky-modal-heading:not(.sky-theme-modern *){--sky-override-modal-h2-font-size: 16px;--sky-override-modal-h2-font-weight: 600;--sky-override-modal-h2-line-height: 1.2}h2.sky-modal-heading{display:inline;line-height:var(--sky-override-modal-h2-line-height, var(--sky-font-line_height-heading-2));font-size:var(--sky-override-modal-h2-font-size, var(--sky-font-size-heading-2));font-weight:var(--sky-override-modal-h2-font-weight, var(--sky-font-style-heading-2))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: SkyThemeModule }, { kind: \"ngmodule\", type: SkyTrimModule }, { kind: \"directive\", type: i1.λ4, selector: \"[skyTrim]\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHeaderComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-modal-header', imports: [SkyThemeModule, SkyTrimModule], template: \"<h2 class=\\\"sky-modal-heading\\\" skyTrim>\\n <ng-content />\\n</h2>\\n<span class=\\\"sky-control-help-container\\\" skyTrim\\n ><ng-content select=\\\".sky-control-help\\\"></ng-content\\n></span>\\n\", styles: [\".sky-modal-heading:not(.sky-theme-modern *){--sky-override-modal-h2-font-size: 16px;--sky-override-modal-h2-font-weight: 600;--sky-override-modal-h2-line-height: 1.2}h2.sky-modal-heading{display:inline;line-height:var(--sky-override-modal-h2-line-height, var(--sky-font-line_height-heading-2));font-size:var(--sky-override-modal-h2-font-size, var(--sky-font-size-heading-2));font-weight:var(--sky-override-modal-h2-font-weight, var(--sky-font-style-heading-2))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7OztBQUU5Qzs7R0FFRztBQU9ILE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDRFQ2JwQyw2TEFNQSx3Z0JES1ksY0FBYyw4QkFBRSxhQUFhOzsyRkFFNUIsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLGtCQUFrQixXQUduQixDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVRyaW1Nb2R1bGUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIGEgaGVhZGVyIGZvciB0aGUgbW9kYWwuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtTa3lUaGVtZU1vZHVsZSwgU2t5VHJpbU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSGVhZGVyQ29tcG9uZW50IHt9XG4iLCI8aDIgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGluZ1wiIHNreVRyaW0+XG4gIDxuZy1jb250ZW50IC8+XG48L2gyPlxuPHNwYW4gY2xhc3M9XCJza3ktY29udHJvbC1oZWxwLWNvbnRhaW5lclwiIHNreVRyaW1cbiAgPjxuZy1jb250ZW50IHNlbGVjdD1cIi5za3ktY29udHJvbC1oZWxwXCI+PC9uZy1jb250ZW50XG4+PC9zcGFuPlxuIl19","var _a;\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nconst BASE_Z_INDEX = 1040;\nconst modalHosts = [];\nconst backdropZIndex = new BehaviorSubject(0);\nconst backdropZIndexObs = backdropZIndex.asObservable();\nconst openModalCount = new BehaviorSubject(0);\nconst openModalCountObs = openModalCount.asObservable();\n/**\n * @internal\n */\nexport class SkyModalHostService {\n static get openModalCountChange() {\n return openModalCountObs;\n }\n static get backdropZIndexChange() {\n return backdropZIndexObs;\n }\n /**\n * @deprecated Subscribe to `openModalCountChange` instead.\n */\n static get openModalCount() {\n return modalHosts.length;\n }\n static get fullPageModalCount() {\n const fullPageModals = modalHosts.filter((modal) => modal.fullPage);\n return fullPageModals.length;\n }\n /**\n * @deprecated Subscribe to `backdropZIndexChange` instead.\n */\n static get backdropZIndex() {\n return BASE_Z_INDEX + modalHosts.length * 10;\n }\n static get topModal() {\n return modalHosts[modalHosts.length - 1];\n }\n constructor() {\n this.close = new Subject();\n this.fullPage = false;\n /**\n * @deprecated\n */\n this.openHelp = new Subject();\n this.zIndex = this.#calculateZIndex();\n modalHosts.push(this);\n this.#notifyBackdropZIndex();\n this.#notifyOpenModalCount();\n }\n getModalZIndex() {\n return this.zIndex;\n }\n onClose() {\n this.close.next();\n }\n /**\n * @deprecated\n */\n onOpenHelp(helpKey) {\n this.openHelp.next(helpKey);\n }\n destroy() {\n modalHosts.splice(modalHosts.indexOf(this), 1);\n this.#notifyBackdropZIndex();\n this.#notifyOpenModalCount();\n }\n #calculateZIndex() {\n const zIndexArray = modalHosts.map((hostService) => hostService.zIndex);\n if (zIndexArray.length === 0) {\n return BASE_Z_INDEX + 11;\n }\n else {\n const currentMaxZIndex = Math.max(...zIndexArray);\n return currentMaxZIndex + 10;\n }\n }\n #notifyOpenModalCount() {\n openModalCount.next(modalHosts.length);\n }\n #notifyBackdropZIndex() {\n backdropZIndex.next(_a.backdropZIndex);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostService, providedIn: 'root' }); }\n}\n_a = SkyModalHostService;\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUU1RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUM7QUFDMUIsTUFBTSxVQUFVLEdBQTBCLEVBQUUsQ0FBQztBQUU3QyxNQUFNLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztBQUN0RCxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUV4RCxNQUFNLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztBQUN0RCxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUV4RDs7R0FFRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsTUFBTSxLQUFLLG9CQUFvQjtRQUNwQyxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFTSxNQUFNLEtBQUssb0JBQW9CO1FBQ3BDLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLGNBQWM7UUFDOUIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFTSxNQUFNLEtBQUssa0JBQWtCO1FBQ2xDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRSxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLGNBQWM7UUFDOUIsT0FBTyxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVNLE1BQU0sS0FBSyxRQUFRO1FBQ3hCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQVVEO1FBUk8sVUFBSyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDNUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUN4Qjs7V0FFRztRQUNJLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBSXRDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVUsQ0FBQyxPQUFlO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxPQUFPO1FBQ1osVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEUsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDO1lBQ2xELE9BQU8sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELENBQUM7OEdBcEZVLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuY29uc3QgQkFTRV9aX0lOREVYID0gMTA0MDtcbmNvbnN0IG1vZGFsSG9zdHM6IFNreU1vZGFsSG9zdFNlcnZpY2VbXSA9IFtdO1xuXG5jb25zdCBiYWNrZHJvcFpJbmRleCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbmNvbnN0IGJhY2tkcm9wWkluZGV4T2JzID0gYmFja2Ryb3BaSW5kZXguYXNPYnNlcnZhYmxlKCk7XG5cbmNvbnN0IG9wZW5Nb2RhbENvdW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuY29uc3Qgb3Blbk1vZGFsQ291bnRPYnMgPSBvcGVuTW9kYWxDb3VudC5hc09ic2VydmFibGUoKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdFNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIGdldCBvcGVuTW9kYWxDb3VudENoYW5nZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiBvcGVuTW9kYWxDb3VudE9icztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGJhY2tkcm9wWkluZGV4Q2hhbmdlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIGJhY2tkcm9wWkluZGV4T2JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFN1YnNjcmliZSB0byBgb3Blbk1vZGFsQ291bnRDaGFuZ2VgIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCBvcGVuTW9kYWxDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiBtb2RhbEhvc3RzLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGZ1bGxQYWdlTW9kYWxDb3VudCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGZ1bGxQYWdlTW9kYWxzID0gbW9kYWxIb3N0cy5maWx0ZXIoKG1vZGFsKSA9PiBtb2RhbC5mdWxsUGFnZSk7XG4gICAgcmV0dXJuIGZ1bGxQYWdlTW9kYWxzLmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBTdWJzY3JpYmUgdG8gYGJhY2tkcm9wWkluZGV4Q2hhbmdlYCBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQgYmFja2Ryb3BaSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gQkFTRV9aX0lOREVYICsgbW9kYWxIb3N0cy5sZW5ndGggKiAxMDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IHRvcE1vZGFsKCk6IFNreU1vZGFsSG9zdFNlcnZpY2Uge1xuICAgIHJldHVybiBtb2RhbEhvc3RzW21vZGFsSG9zdHMubGVuZ3RoIC0gMV07XG4gIH1cblxuICBwdWJsaWMgY2xvc2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgZnVsbFBhZ2UgPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgb3BlbkhlbHAgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHB1YmxpYyB6SW5kZXg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnpJbmRleCA9IHRoaXMuI2NhbGN1bGF0ZVpJbmRleCgpO1xuICAgIG1vZGFsSG9zdHMucHVzaCh0aGlzKTtcbiAgICB0aGlzLiNub3RpZnlCYWNrZHJvcFpJbmRleCgpO1xuICAgIHRoaXMuI25vdGlmeU9wZW5Nb2RhbENvdW50KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kYWxaSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy56SW5kZXg7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIG9uT3BlbkhlbHAoaGVscEtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuSGVscC5uZXh0KGhlbHBLZXkpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgbW9kYWxIb3N0cy5zcGxpY2UobW9kYWxIb3N0cy5pbmRleE9mKHRoaXMpLCAxKTtcbiAgICB0aGlzLiNub3RpZnlCYWNrZHJvcFpJbmRleCgpO1xuICAgIHRoaXMuI25vdGlmeU9wZW5Nb2RhbENvdW50KCk7XG4gIH1cblxuICAjY2FsY3VsYXRlWkluZGV4KCk6IG51bWJlciB7XG4gICAgY29uc3QgekluZGV4QXJyYXkgPSBtb2RhbEhvc3RzLm1hcCgoaG9zdFNlcnZpY2UpID0+IGhvc3RTZXJ2aWNlLnpJbmRleCk7XG4gICAgaWYgKHpJbmRleEFycmF5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIEJBU0VfWl9JTkRFWCArIDExO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjdXJyZW50TWF4WkluZGV4ID0gTWF0aC5tYXgoLi4uekluZGV4QXJyYXkpO1xuICAgICAgcmV0dXJuIGN1cnJlbnRNYXhaSW5kZXggKyAxMDtcbiAgICB9XG4gIH1cblxuICAjbm90aWZ5T3Blbk1vZGFsQ291bnQoKTogdm9pZCB7XG4gICAgb3Blbk1vZGFsQ291bnQubmV4dChtb2RhbEhvc3RzLmxlbmd0aCk7XG4gIH1cblxuICAjbm90aWZ5QmFja2Ryb3BaSW5kZXgoKTogdm9pZCB7XG4gICAgYmFja2Ryb3BaSW5kZXgubmV4dChTa3lNb2RhbEhvc3RTZXJ2aWNlLmJhY2tkcm9wWkluZGV4KTtcbiAgfVxufVxuIl19","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, Input, ViewChild, inject, input, } from '@angular/core';\nimport { SkyCoreAdapterService, SkyDockLocation, SkyDockService, SkyIdModule, SkyLayoutHostDirective, SkyLiveAnnouncerService, SkyScrollShadowDirective, } from '@skyux/core';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyTheme, SkyThemeModule, SkyThemeService } from '@skyux/theme';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SkyModalsResourcesModule } from '../shared/sky-modals-resources.module';\nimport { SkyModalComponentAdapterService } from './modal-component-adapter.service';\nimport { SkyModalConfiguration } from './modal-configuration';\nimport { SkyModalErrorsService } from './modal-errors.service';\nimport { SkyModalHeaderComponent } from './modal-header.component';\nimport { SkyModalHostService } from './modal-host.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@skyux/help-inline\";\nimport * as i3 from \"@skyux/icon\";\nimport * as i4 from \"@skyux/core\";\nimport * as i5 from \"@skyux/theme\";\nimport * as i6 from \"@skyux/i18n\";\nconst ARIA_ROLE_DEFAULT = 'dialog';\n/**\n * Provides a common look-and-feel for modal content with options to display\n * a common modal header, specify body content, and display a common modal footer\n * and buttons.\n */\nexport class SkyModalComponent {\n /**\n * A list of form-level errors to display to the user.\n */\n set formErrors(value) {\n this.#errorsSvc.updateErrors(value);\n }\n /**\n * Used by the confirm component to set a different role for the modal.\n * @internal\n */\n set ariaRole(value) {\n this.ariaRoleOrDefault = value || ARIA_ROLE_DEFAULT;\n }\n /**\n * Used by the confirm component to set descriptive text without using a\n * modal header.\n * @internal\n */\n set ariaDescribedBy(id) {\n this.#_ariaDescribedBy = id;\n }\n get ariaDescribedBy() {\n return this.#_ariaDescribedBy;\n }\n /**\n * Used by the confirm component to set descriptive text without using a\n * modal header.\n * @internal\n */\n set ariaLabelledBy(id) {\n this.#_ariaLabelledBy = id;\n }\n get ariaLabelledBy() {\n return this.#_ariaLabelledBy;\n }\n #ngUnsubscribe;\n #_ariaDescribedBy;\n #_ariaLabelledBy;\n #changeDetector;\n #componentAdapter;\n #coreAdapter;\n #dockService;\n #elRef;\n #errorsSvc;\n #hostService;\n #liveAnnouncerSvc;\n /**\n * This provider is optional to account for situations where a modal component\n * is implemented without the modal service. For example, when a consumer tests\n * a component that uses the modal component but doesn't launch the modal from\n * the modal service before executing assertions.\n */\n #config;\n #themeSvc;\n constructor() {\n this.ariaRoleOrDefault = ARIA_ROLE_DEFAULT;\n this.layout = input('none', ...(ngDevMode ? [{ debugName: \"layout\" }] : []));\n this.ariaOwns = null;\n this.modalState = 'in';\n this.scrollShadow = {\n bottomShadow: 'none',\n topShadow: 'none',\n };\n this.scrollShadowEnabled = false;\n this.#ngUnsubscribe = new Subject();\n this.#changeDetector = inject(ChangeDetectorRef);\n this.#componentAdapter = inject(SkyModalComponentAdapterService);\n this.#coreAdapter = inject(SkyCoreAdapterService);\n this.#dockService = inject(SkyDockService, { host: true });\n this.#elRef = inject(ElementRef);\n this.#errorsSvc = inject(SkyModalErrorsService);\n this.#hostService = inject(SkyModalHostService);\n this.#liveAnnouncerSvc = inject(SkyLiveAnnouncerService);\n /**\n * This provider is optional to account for situations where a modal component\n * is implemented without the modal service. For example, when a consumer tests\n * a component that uses the modal component but doesn't launch the modal from\n * the modal service before executing assertions.\n */\n this.#config = inject(SkyModalConfiguration, { optional: true }) ??\n new SkyModalConfiguration();\n this.#themeSvc = inject(SkyThemeService, { optional: true });\n this.ariaDescribedBy = this.#config.ariaDescribedBy;\n this.ariaLabelledBy = this.#config.ariaLabelledBy;\n this.ariaRole = this.#config.ariaRole;\n this.legacyHelpKey = this.#config.helpKey;\n this.tiledBody = this.#config.tiledBody;\n this.wrapperClass = this.#config.wrapperClass;\n this.size = this.#config.fullPage\n ? 'full-page'\n : this.#config.size?.toLowerCase() || 'medium';\n this.modalZIndex = this.#hostService.zIndex;\n }\n onDocumentKeyUp(event) {\n /* istanbul ignore else */\n /* sanity check */\n if (SkyModalHostService.openModalCount > 0) {\n const topModal = SkyModalHostService.topModal;\n if (topModal && topModal === this.#hostService) {\n if (event.which === 27) {\n // Escape key up\n event.preventDefault();\n this.closeButtonClick();\n }\n }\n }\n }\n onDocumentKeyDown(event) {\n /* istanbul ignore else */\n /* sanity check */\n if (SkyModalHostService.openModalCount > 0) {\n const topModal = SkyModalHostService.topModal;\n if (topModal && topModal === this.#hostService) {\n if (event.which === 9) {\n // Tab pressed\n let focusChanged = false;\n const focusElementList = this.#coreAdapter.getFocusableChildren(this.#elRef.nativeElement);\n if (event.shiftKey &&\n (this.#componentAdapter.isFocusInFirstItem(event, focusElementList) ||\n this.#componentAdapter.isModalFocused(event, this.#elRef))) {\n focusChanged =\n this.#componentAdapter.focusLastElement(focusElementList);\n }\n else if (!event.shiftKey &&\n this.#componentAdapter.isFocusInLastItem(event, focusElementList)) {\n focusChanged =\n this.#componentAdapter.focusFirstElement(focusElementList);\n }\n if (focusChanged) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n }\n }\n ngOnInit() {\n this.#liveAnnouncerSvc.announcerElementChanged\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((element) => {\n if (element?.id) {\n this.ariaOwns = element.id;\n this.#changeDetector.markForCheck();\n }\n });\n if (this.#themeSvc) {\n this.#themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((themeSettings) => {\n this.scrollShadowEnabled =\n themeSettings.currentSettings.theme === SkyTheme.presets.modern;\n });\n }\n }\n ngAfterViewInit() {\n this.#componentAdapter.handleWindowChange(this.#elRef);\n this.#dockService.setDockOptions({\n location: SkyDockLocation.ElementBottom,\n referenceEl: this.modalContentWrapperElement.nativeElement,\n zIndex: 5,\n });\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n /**\n * @deprecated\n */\n helpButtonClick() {\n if (this.legacyHelpKey) {\n this.#hostService.onOpenHelp(this.legacyHelpKey);\n }\n }\n closeButtonClick() {\n this.#hostService.onClose();\n }\n windowResize() {\n this.#componentAdapter.handleWindowChange(this.#elRef);\n }\n scrollShadowChange(args) {\n this.scrollShadow = args;\n }\n viewkeeperEnabled() {\n return this.#componentAdapter.modalContentHasDirectChildViewkeeper(this.#elRef);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyModalComponent, isStandalone: true, selector: \"sky-modal\", inputs: { formErrors: { classPropertyName: \"formErrors\", publicName: \"formErrors\", isSignal: false, isRequired: false, transformFunction: null }, headingText: { classPropertyName: \"headingText\", publicName: \"headingText\", isSignal: false, isRequired: false, transformFunction: null }, helpKey: { classPropertyName: \"helpKey\", publicName: \"helpKey\", isSignal: false, isRequired: false, transformFunction: null }, helpPopoverContent: { classPropertyName: \"helpPopoverContent\", publicName: \"helpPopoverContent\", isSignal: false, isRequired: false, transformFunction: null }, helpPopoverTitle: { classPropertyName: \"helpPopoverTitle\", publicName: \"helpPopoverTitle\", isSignal: false, isRequired: false, transformFunction: null }, ariaRole: { classPropertyName: \"ariaRole\", publicName: \"ariaRole\", isSignal: false, isRequired: false, transformFunction: null }, tiledBody: { classPropertyName: \"tiledBody\", publicName: \"tiledBody\", isSignal: false, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: \"ariaDescribedBy\", publicName: \"ariaDescribedBy\", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: \"ariaLabelledBy\", publicName: \"ariaLabelledBy\", isSignal: false, isRequired: false, transformFunction: null }, layout: { classPropertyName: \"layout\", publicName: \"layout\", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { \"document:keyup\": \"onDocumentKeyUp($event)\", \"document:keydown\": \"onDocumentKeyDown($event)\" }, properties: { \"class\": \"this.wrapperClass\" } }, providers: [\n SkyModalComponentAdapterService,\n SkyModalErrorsService,\n SkyDockService,\n ], viewQueries: [{ propertyName: \"modalContentWrapperElement\", first: true, predicate: [\"modalContentWrapper\"], descendants: true, read: ElementRef }], ngImport: i0, template: \"<div\\n class=\\\"sky-modal-dialog\\\"\\n aria-modal=\\\"true\\\"\\n [attr.aria-describedby]=\\\"ariaDescribedBy || modalContentId.id\\\"\\n [attr.aria-labelledby]=\\\"ariaLabelledBy || headerId.id\\\"\\n [attr.aria-owns]=\\\"ariaOwns\\\"\\n [attr.role]=\\\"ariaRoleOrDefault\\\"\\n (window:resize)=\\\"windowResize()\\\"\\n>\\n <div\\n class=\\\"sky-modal sky-shadow sky-box sky-elevation-16 sky-modal-{{ size }}\\\"\\n tabindex=\\\"-1\\\"\\n [ngClass]=\\\"{\\n 'sky-modal-tiled': tiledBody,\\n 'sky-modal-viewkeeper': viewkeeperEnabled()\\n }\\\"\\n [ngStyle]=\\\"{\\n zIndex: modalZIndex\\n }\\\"\\n >\\n <div\\n class=\\\"sky-modal-header\\\"\\n [ngStyle]=\\\"{\\n 'box-shadow': scrollShadow?.topShadow\\n }\\\"\\n >\\n <div #headerId=\\\"skyId\\\" class=\\\"sky-modal-header-content\\\" skyId>\\n @if (headingText) {\\n <sky-modal-header>\\n {{ headingText }}\\n @if (helpKey || helpPopoverContent) {\\n <sky-help-inline\\n class=\\\"sky-control-help\\\"\\n [helpKey]=\\\"helpKey\\\"\\n [labelText]=\\\"headingText\\\"\\n [popoverContent]=\\\"helpPopoverContent\\\"\\n [popoverTitle]=\\\"helpPopoverTitle\\\"\\n />\\n }\\n </sky-modal-header>\\n } @else {\\n <ng-content select=\\\"sky-modal-header\\\" />\\n }\\n </div>\\n <div class=\\\"sky-modal-header-buttons\\\">\\n @if (legacyHelpKey) {\\n <button\\n class=\\\"sky-btn sky-modal-btn-help\\\"\\n name=\\\"help-button\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_modal_open_help' | skyLibResources\\\"\\n (click)=\\\"helpButtonClick()\\\"\\n >\\n <sky-icon iconName=\\\"question-circle\\\" />\\n </button>\\n }\\n\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn sky-modal-btn-close\\\"\\n [attr.aria-label]=\\\"'skyux_modal_close' | skyLibResources\\\"\\n (click)=\\\"closeButtonClick()\\\"\\n >\\n <sky-icon iconName=\\\"close\\\" />\\n </button>\\n </div>\\n </div>\\n <div\\n #modalContentId=\\\"skyId\\\"\\n #modalContentWrapper\\n class=\\\"sky-modal-content\\\"\\n role=\\\"region\\\"\\n tabindex=\\\"0\\\"\\n skyId\\n skyLayoutHost\\n [layout]=\\\"layout()\\\"\\n [attr.aria-labelledby]=\\\"headerId.id\\\"\\n [skyScrollShadowEnabled]=\\\"scrollShadowEnabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-padding-even-large': 'default'\\n }\\\"\\n (skyScrollShadow)=\\\"scrollShadowChange($event)\\\"\\n >\\n <ng-content select=\\\"sky-modal-content\\\" />\\n </div>\\n <div\\n class=\\\"sky-modal-footer\\\"\\n [ngStyle]=\\\"{\\n 'box-shadow': scrollShadow?.bottomShadow\\n }\\\"\\n >\\n <ng-content select=\\\"sky-modal-footer\\\" />\\n </div>\\n </div>\\n</div>\\n\", styles: [\".sky-modal:not(.sky-theme-modern *){--sky-override-modal-background-color: #fff;--sky-override-modal-border: 1px solid #cdcfd2;--sky-override-modal-dock-bottom: -15px;--sky-override-modal-dock-margin-left-right-bottom: -15px;--sky-override-modal-dock-padding-top: 15px;--sky-override-modal-dock-width: calc(100% + 30px) ;--sky-override-modal-full-page-margin-xs: 0;--sky-override-modal-full-page-margin: 0;--sky-override-modal-full-page-width: 100%;--sky-override-modal-header-bottom-border: 1px solid #e2e3e4;--sky-override-modal-header-padding: 9px 3px 9px 15px;--sky-override-modal-help-close-display: inline-block;--sky-override-modal-margin: 20px auto;--sky-override-modal-viewkept-toolbar-box-shadow: none;--sky-override-modal-viewkept-toolbar-padding-horizontal: 10px;--sky-override-modal-width-l: 900px;--sky-override-modal-width-m: 600px;--sky-override-modal-width-s: 300px;--sky-override-modal-xs-margin: 30px 10px 10px 10px}:host{--sky-viewport-top: 0;--sky-viewport-bottom: 0;--sky-viewport-left: 0;--sky-viewport-right: 0}.sky-modal{--sky-comp-override-list-header-background-color: initial;border:var(--sky-override-modal-border, var(--sky-border-width-container-base) solid var(--sky-color-border-container-base));position:fixed;width:auto;left:0;right:0;top:0;margin:var(--sky-override-modal-xs-margin, var(--sky-comp-modal-space-offset-xs-top) var(--sky-comp-modal-space-offset-xs-right) var(--sky-comp-modal-space-offset-xs-bottom) var(--sky-comp-modal-space-offset-xs-left));display:flex;flex-direction:column;overflow:hidden}.sky-modal:has(.sky-modal-content.sky-layout-host-fit){height:var(--sky-modal-content-max-height, 100%)}.sky-modal:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-header:has(.sky-modal-header-content:empty){display:none}.sky-modal-btn-help,.sky-modal-btn-close{display:var(--sky-override-modal-help-close-display, none)}.sky-modal-full-page{width:var(--sky-override-modal-full-page-width, calc(100% - (var(--sky-override-modal-full-page-margin-xs, var(--sky-comp-modal-fullscreen-space-offset-xs-right)) + var(--sky-override-modal-full-page-margin-xs, var(--sky-comp-modal-fullscreen-space-offset-xs-left)))));margin:var(--sky-override-modal-full-page-margin-xs, var(--sky-comp-modal-fullscreen-space-offset-xs-top) var(--sky-comp-modal-fullscreen-space-offset-xs-right) var(--sky-comp-modal-fullscreen-space-offset-xs-bottom) var(--sky-comp-modal-fullscreen-space-offset-xs-left))}@media (min-width: 768px){.sky-modal:not(.sky-modal-full-page){margin:var(--sky-override-modal-margin, var(--sky-comp-modal-space-offset-sm-top) auto var(--sky-comp-modal-space-offset-sm-bottom))}.sky-modal-small{width:var(--sky-override-modal-width-s, var(--sky-size-width-modal-s))}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:var(--sky-override-modal-width-s, var(--sky-size-width-modal-s))}.sky-modal-medium{width:var(--sky-override-modal-width-m, var(--sky-size-width-modal-m))}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:var(--sky-override-modal-width-m, var(--sky-size-width-modal-m))}.sky-modal-full-page{width:var(--sky-override-modal-full-page-width, calc(100% - (var(--sky-override-modal-full-page-margin, var(--sky-comp-modal-fullscreen-space-offset-sm-left)) + var(--sky-override-modal-full-page-margin, var(--sky-comp-modal-fullscreen-space-offset-sm-right)))));margin:var(--sky-override-modal-full-page-margin, var(--sky-comp-modal-fullscreen-space-offset-sm-top) var(--sky-comp-modal-fullscreen-space-offset-sm-right) var(--sky-comp-modal-fullscreen-space-offset-sm-bottom) var(--sky-comp-modal-fullscreen-space-offset-sm-left))}}@media (min-width: 920px){.sky-modal-large{width:var(--sky-override-modal-width-l, var(--sky-size-width-modal-l))}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:var(--sky-override-modal-width-l, var(--sky-size-width-modal-l))}}.sky-modal-content{background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-modal-background-color, var(--sky-color-background-container-base) )}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-content.sky-layout-host-fit{flex-grow:1;position:relative}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef;--sky-background-color-page-default: $sky-background-color-neutral-light}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:var(--sky-text-color-deemphasized);font-weight:300;font-size:19px}.sky-modal-header{padding:var(--sky-override-modal-header-padding, var(--sky-comp-modal-header-space-inset-top) var(--sky-comp-modal-header-space-inset-right) var(--sky-comp-modal-header-space-inset-bottom) var(--sky-comp-modal-header-space-inset-left));background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));border-bottom:var(--sky-override-modal-header-bottom-border);display:flex;align-items:baseline}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#686c73;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#383a3d;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-full-page .sky-modal-content{flex-grow:1}.sky-modal-content>::ng-deep sky-dock{bottom:var(--sky-override-modal-dock-bottom, 0);margin-left:var(--sky-override-modal-dock-margin-left-right-bottom, initial);margin-right:var(--sky-override-modal-dock-margin-left-right-bottom, initial);margin-bottom:var(--sky-override-modal-dock-margin-left-right-bottom, initial);padding-top:var(--sky-override-modal-dock-padding-top, initial);width:var(--sky-override-modal-dock-width, 100%)}.sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}.sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:var(--sky-override-modal-viewkept-toolbar-box-shadow, var(--sky-elevation-overflow))}.sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-modal-background-color, var(--sky-color-background-container-base) );padding-left:var(--sky-override-modal-viewkept-toolbar-padding-horizontal, var(--sky-comp-modal-header-space-inset-left));padding-right:var(--sky-override-modal-viewkept-toolbar-padding-horizontal, var(--sky-comp-modal-header-space-inset-right))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i1.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"ngmodule\", type: SkyHelpInlineModule }, { kind: \"component\", type: i2.λ1, selector: \"sky-help-inline\", inputs: [\"ariaControls\", \"ariaExpanded\", \"ariaLabel\", \"helpKey\", \"labelledBy\", \"labelText\", \"popoverContent\", \"popoverTitle\"], outputs: [\"actionClick\"] }, { kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i3.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"ngmodule\", type: SkyIdModule }, { kind: \"directive\", type: i4.λ2, selector: \"[skyId]\", exportAs: [\"skyId\"] }, { kind: \"directive\", type: SkyLayoutHostDirective, selector: \"[skyLayoutHost]\", inputs: [\"layout\"] }, { kind: \"component\", type: SkyModalHeaderComponent, selector: \"sky-modal-header\" }, { kind: \"ngmodule\", type: SkyModalsResourcesModule }, { kind: \"directive\", type: SkyScrollShadowDirective, selector: \"[skyScrollShadow]\", inputs: [\"skyScrollShadowEnabled\"], outputs: [\"skyScrollShadow\"] }, { kind: \"ngmodule\", type: SkyThemeModule }, { kind: \"directive\", type: i5.λ2, selector: \"[skyThemeClass]\", inputs: [\"class\", \"skyThemeClass\"] }, { kind: \"pipe\", type: i6.SkyLibResourcesPipe, name: \"skyLibResources\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-modal', providers: [\n SkyModalComponentAdapterService,\n SkyModalErrorsService,\n SkyDockService,\n ], imports: [\n CommonModule,\n SkyHelpInlineModule,\n SkyIconModule,\n SkyIdModule,\n SkyLayoutHostDirective,\n SkyModalHeaderComponent,\n SkyModalsResourcesModule,\n SkyScrollShadowDirective,\n SkyThemeModule,\n ], template: \"<div\\n class=\\\"sky-modal-dialog\\\"\\n aria-modal=\\\"true\\\"\\n [attr.aria-describedby]=\\\"ariaDescribedBy || modalContentId.id\\\"\\n [attr.aria-labelledby]=\\\"ariaLabelledBy || headerId.id\\\"\\n [attr.aria-owns]=\\\"ariaOwns\\\"\\n [attr.role]=\\\"ariaRoleOrDefault\\\"\\n (window:resize)=\\\"windowResize()\\\"\\n>\\n <div\\n class=\\\"sky-modal sky-shadow sky-box sky-elevation-16 sky-modal-{{ size }}\\\"\\n tabindex=\\\"-1\\\"\\n [ngClass]=\\\"{\\n 'sky-modal-tiled': tiledBody,\\n 'sky-modal-viewkeeper': viewkeeperEnabled()\\n }\\\"\\n [ngStyle]=\\\"{\\n zIndex: modalZIndex\\n }\\\"\\n >\\n <div\\n class=\\\"sky-modal-header\\\"\\n [ngStyle]=\\\"{\\n 'box-shadow': scrollShadow?.topShadow\\n }\\\"\\n >\\n <div #headerId=\\\"skyId\\\" class=\\\"sky-modal-header-content\\\" skyId>\\n @if (headingText) {\\n <sky-modal-header>\\n {{ headingText }}\\n @if (helpKey || helpPopoverContent) {\\n <sky-help-inline\\n class=\\\"sky-control-help\\\"\\n [helpKey]=\\\"helpKey\\\"\\n [labelText]=\\\"headingText\\\"\\n [popoverContent]=\\\"helpPopoverContent\\\"\\n [popoverTitle]=\\\"helpPopoverTitle\\\"\\n />\\n }\\n </sky-modal-header>\\n } @else {\\n <ng-content select=\\\"sky-modal-header\\\" />\\n }\\n </div>\\n <div class=\\\"sky-modal-header-buttons\\\">\\n @if (legacyHelpKey) {\\n <button\\n class=\\\"sky-btn sky-modal-btn-help\\\"\\n name=\\\"help-button\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_modal_open_help' | skyLibResources\\\"\\n (click)=\\\"helpButtonClick()\\\"\\n >\\n <sky-icon iconName=\\\"question-circle\\\" />\\n </button>\\n }\\n\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn sky-modal-btn-close\\\"\\n [attr.aria-label]=\\\"'skyux_modal_close' | skyLibResources\\\"\\n (click)=\\\"closeButtonClick()\\\"\\n >\\n <sky-icon iconName=\\\"close\\\" />\\n </button>\\n </div>\\n </div>\\n <div\\n #modalContentId=\\\"skyId\\\"\\n #modalContentWrapper\\n class=\\\"sky-modal-content\\\"\\n role=\\\"region\\\"\\n tabindex=\\\"0\\\"\\n skyId\\n skyLayoutHost\\n [layout]=\\\"layout()\\\"\\n [attr.aria-labelledby]=\\\"headerId.id\\\"\\n [skyScrollShadowEnabled]=\\\"scrollShadowEnabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-padding-even-large': 'default'\\n }\\\"\\n (skyScrollShadow)=\\\"scrollShadowChange($event)\\\"\\n >\\n <ng-content select=\\\"sky-modal-content\\\" />\\n </div>\\n <div\\n class=\\\"sky-modal-footer\\\"\\n [ngStyle]=\\\"{\\n 'box-shadow': scrollShadow?.bottomShadow\\n }\\\"\\n >\\n <ng-content select=\\\"sky-modal-footer\\\" />\\n </div>\\n </div>\\n</div>\\n\", styles: [\".sky-modal:not(.sky-theme-modern *){--sky-override-modal-background-color: #fff;--sky-override-modal-border: 1px solid #cdcfd2;--sky-override-modal-dock-bottom: -15px;--sky-override-modal-dock-margin-left-right-bottom: -15px;--sky-override-modal-dock-padding-top: 15px;--sky-override-modal-dock-width: calc(100% + 30px) ;--sky-override-modal-full-page-margin-xs: 0;--sky-override-modal-full-page-margin: 0;--sky-override-modal-full-page-width: 100%;--sky-override-modal-header-bottom-border: 1px solid #e2e3e4;--sky-override-modal-header-padding: 9px 3px 9px 15px;--sky-override-modal-help-close-display: inline-block;--sky-override-modal-margin: 20px auto;--sky-override-modal-viewkept-toolbar-box-shadow: none;--sky-override-modal-viewkept-toolbar-padding-horizontal: 10px;--sky-override-modal-width-l: 900px;--sky-override-modal-width-m: 600px;--sky-override-modal-width-s: 300px;--sky-override-modal-xs-margin: 30px 10px 10px 10px}:host{--sky-viewport-top: 0;--sky-viewport-bottom: 0;--sky-viewport-left: 0;--sky-viewport-right: 0}.sky-modal{--sky-comp-override-list-header-background-color: initial;border:var(--sky-override-modal-border, var(--sky-border-width-container-base) solid var(--sky-color-border-container-base));position:fixed;width:auto;left:0;right:0;top:0;margin:var(--sky-override-modal-xs-margin, var(--sky-comp-modal-space-offset-xs-top) var(--sky-comp-modal-space-offset-xs-right) var(--sky-comp-modal-space-offset-xs-bottom) var(--sky-comp-modal-space-offset-xs-left));display:flex;flex-direction:column;overflow:hidden}.sky-modal:has(.sky-modal-content.sky-layout-host-fit){height:var(--sky-modal-content-max-height, 100%)}.sky-modal:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-header:has(.sky-modal-header-content:empty){display:none}.sky-modal-btn-help,.sky-modal-btn-close{display:var(--sky-override-modal-help-close-display, none)}.sky-modal-full-page{width:var(--sky-override-modal-full-page-width, calc(100% - (var(--sky-override-modal-full-page-margin-xs, var(--sky-comp-modal-fullscreen-space-offset-xs-right)) + var(--sky-override-modal-full-page-margin-xs, var(--sky-comp-modal-fullscreen-space-offset-xs-left)))));margin:var(--sky-override-modal-full-page-margin-xs, var(--sky-comp-modal-fullscreen-space-offset-xs-top) var(--sky-comp-modal-fullscreen-space-offset-xs-right) var(--sky-comp-modal-fullscreen-space-offset-xs-bottom) var(--sky-comp-modal-fullscreen-space-offset-xs-left))}@media (min-width: 768px){.sky-modal:not(.sky-modal-full-page){margin:var(--sky-override-modal-margin, var(--sky-comp-modal-space-offset-sm-top) auto var(--sky-comp-modal-space-offset-sm-bottom))}.sky-modal-small{width:var(--sky-override-modal-width-s, var(--sky-size-width-modal-s))}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:var(--sky-override-modal-width-s, var(--sky-size-width-modal-s))}.sky-modal-medium{width:var(--sky-override-modal-width-m, var(--sky-size-width-modal-m))}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:var(--sky-override-modal-width-m, var(--sky-size-width-modal-m))}.sky-modal-full-page{width:var(--sky-override-modal-full-page-width, calc(100% - (var(--sky-override-modal-full-page-margin, var(--sky-comp-modal-fullscreen-space-offset-sm-left)) + var(--sky-override-modal-full-page-margin, var(--sky-comp-modal-fullscreen-space-offset-sm-right)))));margin:var(--sky-override-modal-full-page-margin, var(--sky-comp-modal-fullscreen-space-offset-sm-top) var(--sky-comp-modal-fullscreen-space-offset-sm-right) var(--sky-comp-modal-fullscreen-space-offset-sm-bottom) var(--sky-comp-modal-fullscreen-space-offset-sm-left))}}@media (min-width: 920px){.sky-modal-large{width:var(--sky-override-modal-width-l, var(--sky-size-width-modal-l))}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:var(--sky-override-modal-width-l, var(--sky-size-width-modal-l))}}.sky-modal-content{background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-modal-background-color, var(--sky-color-background-container-base) )}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-content.sky-layout-host-fit{flex-grow:1;position:relative}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef;--sky-background-color-page-default: $sky-background-color-neutral-light}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:var(--sky-text-color-deemphasized);font-weight:300;font-size:19px}.sky-modal-header{padding:var(--sky-override-modal-header-padding, var(--sky-comp-modal-header-space-inset-top) var(--sky-comp-modal-header-space-inset-right) var(--sky-comp-modal-header-space-inset-bottom) var(--sky-comp-modal-header-space-inset-left));background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));border-bottom:var(--sky-override-modal-header-bottom-border);display:flex;align-items:baseline}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#686c73;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#383a3d;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-full-page .sky-modal-content{flex-grow:1}.sky-modal-content>::ng-deep sky-dock{bottom:var(--sky-override-modal-dock-bottom, 0);margin-left:var(--sky-override-modal-dock-margin-left-right-bottom, initial);margin-right:var(--sky-override-modal-dock-margin-left-right-bottom, initial);margin-bottom:var(--sky-override-modal-dock-margin-left-right-bottom, initial);padding-top:var(--sky-override-modal-dock-padding-top, initial);width:var(--sky-override-modal-dock-width, 100%)}.sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}.sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:var(--sky-override-modal-viewkept-toolbar-box-shadow, var(--sky-elevation-overflow))}.sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-modal-background-color, var(--sky-color-background-container-base) );padding-left:var(--sky-override-modal-viewkept-toolbar-padding-horizontal, var(--sky-comp-modal-header-space-inset-left));padding-right:var(--sky-override-modal-viewkept-toolbar-padding-horizontal, var(--sky-comp-modal-header-space-inset-right))}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { wrapperClass: [{\n type: HostBinding,\n args: ['class']\n }], formErrors: [{\n type: Input\n }], headingText: [{\n type: Input\n }], helpKey: [{\n type: Input\n }], helpPopoverContent: [{\n type: Input\n }], helpPopoverTitle: [{\n type: Input\n }], ariaRole: [{\n type: Input\n }], tiledBody: [{\n type: Input\n }], ariaDescribedBy: [{\n type: Input\n }], ariaLabelledBy: [{\n type: Input\n }], modalContentWrapperElement: [{\n type: ViewChild,\n args: ['modalContentWrapper', { read: ElementRef }]\n }], onDocumentKeyUp: [{\n type: HostListener,\n args: ['document:keyup', ['$event']]\n }], onDocumentKeyDown: [{\n type: HostListener,\n args: ['document:keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFJTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixjQUFjLEVBQ2QsV0FBVyxFQUNYLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEdBRXpCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxxQkFBcUIsRUFB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c0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLGNBQWM7cUJBQ2Y7d0RBSU0sWUFBWTtzQkFEbEIsV0FBVzt1QkFBQyxPQUFPO2dCQU9ULFVBQVU7c0JBRHBCLEtBQUs7Z0JBU0MsV0FBVztzQkFEakIsS0FBSztnQkFRQyxPQUFPO3NCQURiLEtBQUs7Z0JBU0Msa0JBQWtCO3NCQUR4QixLQUFLO2dCQVFDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQVlDLFNBQVM7c0JBRGYsS0FBSztnQkFTSyxlQUFlO3NCQUR6QixLQUFLO2dCQWVLLGNBQWM7c0JBRHhCLEtBQUs7Z0JBOEJDLDBCQUEwQjtzQkFEaEMsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBOEMvQyxlQUFlO3NCQURyQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCbkMsaUJBQWlCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gIFNreURvY2tMb2NhdGlvbixcbiAgU2t5RG9ja1NlcnZpY2UsXG4gIFNreUlkTW9kdWxlLFxuICBTa3lMYXlvdXRIb3N0RGlyZWN0aXZlLFxuICBTa3lMaXZlQW5ub3VuY2VyU2VydmljZSxcbiAgU2t5U2Nyb2xsU2hhZG93RGlyZWN0aXZlLFxuICBTa3lTY3JvbGxTaGFkb3dFdmVudEFyZ3MsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVNb2R1bGUgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pY29uJztcbmltcG9ydCB7IFNreVRoZW1lLCBTa3lUaGVtZU1vZHVsZSwgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbHNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LW1vZGFscy1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vbW9kYWwtY29tcG9uZW50LWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21vZGFsLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgU2t5TW9kYWxFcnJvciB9IGZyb20gJy4vbW9kYWwtZXJyb3InO1xuaW1wb3J0IHsgU2t5TW9kYWxFcnJvcnNTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1lcnJvcnMuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1ob3N0LnNlcnZpY2UnO1xuXG5jb25zdCBBUklBX1JPTEVfREVGQVVMVCA9ICdkaWFsb2cnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgY29tbW9uIGxvb2stYW5kLWZlZWwgZm9yIG1vZGFsIGNvbnRlbnQgd2l0aCBvcHRpb25zIHRvIGRpc3BsYXlcbiAqIGEgY29tbW9uIG1vZGFsIGhlYWRlciwgc3BlY2lmeSBib2R5IGNvbnRlbnQsIGFuZCBkaXNwbGF5IGEgY29tbW9uIG1vZGFsIGZvb3RlclxuICogYW5kIGJ1dHRvbnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreU1vZGFsQ29tcG9uZW50QWRhcHRlclNlcnZpY2UsXG4gICAgU2t5TW9kYWxFcnJvcnNTZXJ2aWNlLFxuICAgIFNreURvY2tTZXJ2aWNlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNreUhlbHBJbmxpbmVNb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lJZE1vZHVsZSxcbiAgICBTa3lMYXlvdXRIb3N0RGlyZWN0aXZlLFxuICAgIFNreU1vZGFsSGVhZGVyQ29tcG9uZW50LFxuICAgIFNreU1vZGFsc1Jlc291cmNlc01vZHVsZSxcbiAgICBTa3lTY3JvbGxTaGFkb3dEaXJlY3RpdmUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHVibGljIHdyYXBwZXJDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgZm9ybS1sZXZlbCBlcnJvcnMgdG8gZGlzcGxheSB0byB0aGUgdXNlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZm9ybUVycm9ycyh2YWx1ZTogU2t5TW9kYWxFcnJvcltdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jZXJyb3JzU3ZjLnVwZGF0ZUVycm9ycyh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRleHQgdG8gZGlzcGxheSBhcyB0aGUgbW9kYWwncyBoZWFkaW5nLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlYWRpbmdUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEEgaGVscCBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSBnbG9iYWwgaGVscCBjb250ZW50IHRvIGRpc3BsYXkuIFdoZW4gc3BlY2lmaWVkIGFsb25nIHdpdGggYGhlYWRpbmdUZXh0YCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSkgYnV0dG9uIGlzXG4gICAqIGFkZGVkIHRvIHRoZSBtb2RhbCBoZWFkZXIuIENsaWNraW5nIHRoZSBidXR0b24gaW52b2tlcyBnbG9iYWwgaGVscCBhcyBjb25maWd1cmVkIGJ5IHRoZSBhcHBsaWNhdGlvbi4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVhZGluZ1RleHRgIGlzIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIGhlbHAgcG9wb3Zlci4gV2hlbiBzcGVjaWZpZWQgYWxvbmcgd2l0aCBgaGVhZGluZ1RleHRgLCBhIFtoZWxwIGlubGluZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2hlbHAtaW5saW5lKVxuICAgKiBidXR0b24gaXMgYWRkZWQgdG8gdGhlIG1vZGFsIGhlYWRlci4gVGhlIGhlbHAgaW5saW5lIGJ1dHRvbiBkaXNwbGF5cyBhIFtwb3BvdmVyXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvcG9wb3ZlcilcbiAgICogd2hlbiBjbGlja2VkIHVzaW5nIHRoZSBzcGVjaWZpZWQgY29udGVudCBhbmQgb3B0aW9uYWwgdGl0bGUuIFRoaXMgcHJvcGVydHkgb25seSBhcHBsaWVzIHdoZW4gYGhlYWRpbmdUZXh0YCBpcyBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlckNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGhlbHAgcG9wb3Zlci4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVscFBvcG92ZXJDb250ZW50YCBpc1xuICAgKiBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlclRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgdGhlIGNvbmZpcm0gY29tcG9uZW50IHRvIHNldCBhIGRpZmZlcmVudCByb2xlIGZvciB0aGUgbW9kYWwuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcmlhUm9sZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5hcmlhUm9sZU9yRGVmYXVsdCA9IHZhbHVlIHx8IEFSSUFfUk9MRV9ERUZBVUxUO1xuICB9XG5cbiAgcHVibGljIGFyaWFSb2xlT3JEZWZhdWx0ID0gQVJJQV9ST0xFX0RFRkFVTFQ7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRpbGVkQm9keTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVXNlZCBieSB0aGUgY29uZmlybSBjb21wb25lbnQgdG8gc2V0IGRlc2NyaXB0aXZlIHRleHQgd2l0aG91dCB1c2luZyBhXG4gICAqIG1vZGFsIGhlYWRlci5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFyaWFEZXNjcmliZWRCeShpZDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2FyaWFEZXNjcmliZWRCeSA9IGlkO1xuICB9XG5cbiAgcHVibGljIGdldCBhcmlhRGVzY3JpYmVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2FyaWFEZXNjcmliZWRCeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IHRoZSBjb25maXJtIGNvbXBvbmVudCB0byBzZXQgZGVzY3JpcHRpdmUgdGV4dCB3aXRob3V0IHVzaW5nIGFcbiAgICogbW9kYWwgaGVhZGVyLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXJpYUxhYmVsbGVkQnkoaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19hcmlhTGFiZWxsZWRCeSA9IGlkO1xuICB9XG5cbiAgcHVibGljIGdldCBhcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfYXJpYUxhYmVsbGVkQnk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgbGF5b3V0ID0gaW5wdXQ8J25vbmUnIHwgJ2ZpdCc+KCdub25lJyk7XG5cbiAgcHVibGljIGFyaWFPd25zOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHB1YmxpYyBsZWdhY3lIZWxwS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIG1vZGFsU3RhdGUgPSAnaW4nO1xuXG4gIHB1YmxpYyBtb2RhbFpJbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBzY3JvbGxTaGFkb3c6IFNreVNjcm9sbFNoYWRvd0V2ZW50QXJncyA9IHtcbiAgICBib3R0b21TaGFkb3c6ICdub25lJyxcbiAgICB0b3BTaGFkb3c6ICdub25lJyxcbiAgfTtcblxuICBwdWJsaWMgc2l6ZTogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudFdyYXBwZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIG1vZGFsQ29udGVudFdyYXBwZXJFbGVtZW50OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBzY3JvbGxTaGFkb3dFbmFibGVkID0gZmFsc2U7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfYXJpYURlc2NyaWJlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICNfYXJpYUxhYmVsbGVkQnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSAjY29tcG9uZW50QWRhcHRlciA9IGluamVjdChTa3lNb2RhbENvbXBvbmVudEFkYXB0ZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2NvcmVBZGFwdGVyID0gaW5qZWN0KFNreUNvcmVBZGFwdGVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNkb2NrU2VydmljZSA9IGluamVjdChTa3lEb2NrU2VydmljZSwgeyBob3N0OiB0cnVlIH0pO1xuICByZWFkb25seSAjZWxSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHJlYWRvbmx5ICNlcnJvcnNTdmMgPSBpbmplY3QoU2t5TW9kYWxFcnJvcnNTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2hvc3RTZXJ2aWNlID0gaW5qZWN0KFNreU1vZGFsSG9zdFNlcnZpY2UpO1xuICByZWFkb25seSAjbGl2ZUFubm91bmNlclN2YyA9IGluamVjdChTa3lMaXZlQW5ub3VuY2VyU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFRoaXMgcHJvdmlkZXIgaXMgb3B0aW9uYWwgdG8gYWNjb3VudCBmb3Igc2l0dWF0aW9ucyB3aGVyZSBhIG1vZGFsIGNvbXBvbmVudFxuICAgKiBpcyBpbXBsZW1lbnRlZCB3aXRob3V0IHRoZSBtb2RhbCBzZXJ2aWNlLiBGb3IgZXhhbXBsZSwgd2hlbiBhIGNvbnN1bWVyIHRlc3RzXG4gICAqIGEgY29tcG9uZW50IHRoYXQgdXNlcyB0aGUgbW9kYWwgY29tcG9uZW50IGJ1dCBkb2Vzbid0IGxhdW5jaCB0aGUgbW9kYWwgZnJvbVxuICAgKiB0aGUgbW9kYWwgc2VydmljZSBiZWZvcmUgZXhlY3V0aW5nIGFzc2VydGlvbnMuXG4gICAqL1xuICByZWFkb25seSAjY29uZmlnID1cbiAgICBpbmplY3QoU2t5TW9kYWxDb25maWd1cmF0aW9uLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/XG4gICAgbmV3IFNreU1vZGFsQ29uZmlndXJhdGlvbigpO1xuICByZWFkb25seSAjdGhlbWVTdmMgPSBpbmplY3QoU2t5VGhlbWVTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYXJpYURlc2NyaWJlZEJ5ID0gdGhpcy4jY29uZmlnLmFyaWFEZXNjcmliZWRCeTtcbiAgICB0aGlzLmFyaWFMYWJlbGxlZEJ5ID0gdGhpcy4jY29uZmlnLmFyaWFMYWJlbGxlZEJ5O1xuICAgIHRoaXMuYXJpYVJvbGUgPSB0aGlzLiNjb25maWcuYXJpYVJvbGU7XG4gICAgdGhpcy5sZWdhY3lIZWxwS2V5ID0gdGhpcy4jY29uZmlnLmhlbHBLZXk7XG4gICAgdGhpcy50aWxlZEJvZHkgPSB0aGlzLiNjb25maWcudGlsZWRCb2R5O1xuICAgIHRoaXMud3JhcHBlckNsYXNzID0gdGhpcy4jY29uZmlnLndyYXBwZXJDbGFzcztcblxuICAgIHRoaXMuc2l6ZSA9IHRoaXMuI2NvbmZpZy5mdWxsUGFnZVxuICAgICAgPyAnZnVsbC1wYWdlJ1xuICAgICAgOiB0aGlzLiNjb25maWcuc2l6ZT8udG9Mb3dlckNhc2UoKSB8fCAnbWVkaXVtJztcblxuICAgIHRoaXMubW9kYWxaSW5kZXggPSB0aGlzLiNob3N0U2VydmljZS56SW5kZXg7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXl1cCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRvY3VtZW50S2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCkge1xuICAgICAgY29uc3QgdG9wTW9kYWwgPSBTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsO1xuICAgICAgaWYgKHRvcE1vZGFsICYmIHRvcE1vZGFsID09PSB0aGlzLiNob3N0U2VydmljZSkge1xuICAgICAgICBpZiAoZXZlbnQud2hpY2ggPT09IDI3KSB7XG4gICAgICAgICAgLy8gRXNjYXBlIGtleSB1cFxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5jbG9zZUJ1dHRvbkNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRG9jdW1lbnRLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDApIHtcbiAgICAgIGNvbnN0IHRvcE1vZGFsID0gU2t5TW9kYWxIb3N0U2VydmljZS50b3BNb2RhbDtcbiAgICAgIGlmICh0b3BNb2RhbCAmJiB0b3BNb2RhbCA9PT0gdGhpcy4jaG9zdFNlcnZpY2UpIHtcbiAgICAgICAgaWYgKGV2ZW50LndoaWNoID09PSA5KSB7XG4gICAgICAgICAgLy8gVGFiIHByZXNzZWRcbiAgICAgICAgICBsZXQgZm9jdXNDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgICAgICBjb25zdCBmb2N1c0VsZW1lbnRMaXN0ID0gdGhpcy4jY29yZUFkYXB0ZXIuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oXG4gICAgICAgICAgICB0aGlzLiNlbFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBldmVudC5zaGlmdEtleSAmJlxuICAgICAgICAgICAgKHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaXNGb2N1c0luRmlyc3RJdGVtKFxuICAgICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgICAgZm9jdXNFbGVtZW50TGlzdCxcbiAgICAgICAgICAgICkgfHxcbiAgICAgICAgICAgICAgdGhpcy4jY29tcG9uZW50QWRhcHRlci5pc01vZGFsRm9jdXNlZChldmVudCwgdGhpcy4jZWxSZWYpKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZm9jdXNDaGFuZ2VkID1cbiAgICAgICAgICAgICAgdGhpcy4jY29tcG9uZW50QWRhcHRlci5mb2N1c0xhc3RFbGVtZW50KGZvY3VzRWxlbWVudExpc3QpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAhZXZlbnQuc2hpZnRLZXkgJiZcbiAgICAgICAgICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaXNGb2N1c0luTGFzdEl0ZW0oZXZlbnQsIGZvY3VzRWxlbWVudExpc3QpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBmb2N1c0NoYW5nZWQgPVxuICAgICAgICAgICAgICB0aGlzLiNjb21wb25lbnRBZGFwdGVyLmZvY3VzRmlyc3RFbGVtZW50KGZvY3VzRWxlbWVudExpc3QpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmb2N1c0NoYW5nZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jbGl2ZUFubm91bmNlclN2Yy5hbm5vdW5jZXJFbGVtZW50Q2hhbmdlZFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoZWxlbWVudD8uaWQpIHtcbiAgICAgICAgICB0aGlzLmFyaWFPd25zID0gZWxlbWVudC5pZDtcbiAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy4jdGhlbWVTdmMpIHtcbiAgICAgIHRoaXMuI3RoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgodGhlbWVTZXR0aW5ncykgPT4ge1xuICAgICAgICAgIHRoaXMuc2Nyb2xsU2hhZG93RW5hYmxlZCA9XG4gICAgICAgICAgICB0aGVtZVNldHRpbmdzLmN1cnJlbnRTZXR0aW5ncy50aGVtZSA9PT0gU2t5VGhlbWUucHJlc2V0cy5tb2Rlcm47XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jY29tcG9uZW50QWRhcHRlci5oYW5kbGVXaW5kb3dDaGFuZ2UodGhpcy4jZWxSZWYpO1xuXG4gICAgdGhpcy4jZG9ja1NlcnZpY2Uuc2V0RG9ja09wdGlvbnMoe1xuICAgICAgbG9jYXRpb246IFNreURvY2tMb2NhdGlvbi5FbGVtZW50Qm90dG9tLFxuICAgICAgcmVmZXJlbmNlRWw6IHRoaXMubW9kYWxDb250ZW50V3JhcHBlckVsZW1lbnQhLm5hdGl2ZUVsZW1lbnQsXG4gICAgICB6SW5kZXg6IDUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgaGVscEJ1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxlZ2FjeUhlbHBLZXkpIHtcbiAgICAgIHRoaXMuI2hvc3RTZXJ2aWNlLm9uT3BlbkhlbHAodGhpcy5sZWdhY3lIZWxwS2V5KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2VCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLiNob3N0U2VydmljZS5vbkNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgd2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaGFuZGxlV2luZG93Q2hhbmdlKHRoaXMuI2VsUmVmKTtcbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxTaGFkb3dDaGFuZ2UoYXJnczogU2t5U2Nyb2xsU2hhZG93RXZlbnRBcmdzKTogdm9pZCB7XG4gICAgdGhpcy5zY3JvbGxTaGFkb3cgPSBhcmdzO1xuICB9XG5cbiAgcHVibGljIHZpZXdrZWVwZXJFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNjb21wb25lbnRBZGFwdGVyLm1vZGFsQ29udGVudEhhc0RpcmVjdENoaWxkVmlld2tlZXBlcihcbiAgICAgIHRoaXMuI2VsUmVmLFxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktbW9kYWwtZGlhbG9nXCJcbiAgYXJpYS1tb2RhbD1cInRydWVcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeSB8fCBtb2RhbENvbnRlbnRJZC5pZFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeSB8fCBoZWFkZXJJZC5pZFwiXG4gIFthdHRyLmFyaWEtb3duc109XCJhcmlhT3duc1wiXG4gIFthdHRyLnJvbGVdPVwiYXJpYVJvbGVPckRlZmF1bHRcIlxuICAod2luZG93OnJlc2l6ZSk9XCJ3aW5kb3dSZXNpemUoKVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1tb2RhbCBza3ktc2hhZG93IHNreS1ib3ggc2t5LWVsZXZhdGlvbi0xNiBza3ktbW9kYWwte3sgc2l6ZSB9fVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1tb2RhbC10aWxlZCc6IHRpbGVkQm9keSxcbiAgICAgICdza3ktbW9kYWwtdmlld2tlZXBlcic6IHZpZXdrZWVwZXJFbmFibGVkKClcbiAgICB9XCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICB6SW5kZXg6IG1vZGFsWkluZGV4XG4gICAgfVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS1tb2RhbC1oZWFkZXJcIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAnYm94LXNoYWRvdyc6IHNjcm9sbFNoYWRvdz8udG9wU2hhZG93XG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8ZGl2ICNoZWFkZXJJZD1cInNreUlkXCIgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGVyLWNvbnRlbnRcIiBza3lJZD5cbiAgICAgICAgQGlmIChoZWFkaW5nVGV4dCkge1xuICAgICAgICAgIDxza3ktbW9kYWwtaGVhZGVyPlxuICAgICAgICAgICAge3sgaGVhZGluZ1RleHQgfX1cbiAgICAgICAgICAgIEBpZiAoaGVscEtleSB8fCBoZWxwUG9wb3ZlckNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgPHNreS1oZWxwLWlubGluZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtaGVscFwiXG4gICAgICAgICAgICAgICAgW2hlbHBLZXldPVwiaGVscEtleVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsVGV4dF09XCJoZWFkaW5nVGV4dFwiXG4gICAgICAgICAgICAgICAgW3BvcG92ZXJDb250ZW50XT1cImhlbHBQb3BvdmVyQ29udGVudFwiXG4gICAgICAgICAgICAgICAgW3BvcG92ZXJUaXRsZV09XCJoZWxwUG9wb3ZlclRpdGxlXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NreS1tb2RhbC1oZWFkZXI+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1tb2RhbC1oZWFkZXJcIiAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGVyLWJ1dHRvbnNcIj5cbiAgICAgICAgQGlmIChsZWdhY3lIZWxwS2V5KSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1tb2RhbC1idG4taGVscFwiXG4gICAgICAgICAgICBuYW1lPVwiaGVscC1idXR0b25cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9tb2RhbF9vcGVuX2hlbHAnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoZWxwQnV0dG9uQ2xpY2soKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNreS1pY29uIGljb25OYW1lPVwicXVlc3Rpb24tY2lyY2xlXCIgLz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LW1vZGFsLWJ0bi1jbG9zZVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfbW9kYWxfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xvc2VCdXR0b25DbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvbiBpY29uTmFtZT1cImNsb3NlXCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAjbW9kYWxDb250ZW50SWQ9XCJza3lJZFwiXG4gICAgICAjbW9kYWxDb250ZW50V3JhcHBlclxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtY29udGVudFwiXG4gICAgICByb2xlPVwicmVnaW9uXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBza3lJZFxuICAgICAgc2t5TGF5b3V0SG9zdFxuICAgICAgW2xheW91dF09XCJsYXlvdXQoKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaGVhZGVySWQuaWRcIlxuICAgICAgW3NreVNjcm9sbFNoYWRvd0VuYWJsZWRdPVwic2Nyb2xsU2hhZG93RW5hYmxlZFwiXG4gICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICdza3ktcGFkZGluZy1ldmVuLWxhcmdlJzogJ2RlZmF1bHQnXG4gICAgICB9XCJcbiAgICAgIChza3lTY3JvbGxTaGFkb3cpPVwic2Nyb2xsU2hhZG93Q2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1tb2RhbC1jb250ZW50XCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS1tb2RhbC1mb290ZXJcIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAnYm94LXNoYWRvdyc6IHNjcm9sbFNoYWRvdz8uYm90dG9tU2hhZG93XG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktbW9kYWwtZm9vdGVyXCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { SkyIdModule, SkyIdService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyThemeModule } from '@skyux/theme';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SkyModalContentComponent } from '../modal/modal-content.component';\nimport { SkyModalInstance } from '../modal/modal-instance';\nimport { SkyModalComponent } from '../modal/modal.component';\nimport { SkyModalsResourcesModule } from '../shared/sky-modals-resources.module';\nimport { SKY_CONFIRM_CONFIG } from './confirm-config-token';\nimport { SkyConfirmInstance } from './confirm-instance';\nimport { SkyConfirmType } from './confirm-type';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@skyux/core\";\nimport * as i3 from \"@skyux/theme\";\n/**\n * @internal\n */\nexport class SkyConfirmComponent {\n #ngUnsubscribe;\n #config;\n #modalInstance;\n #confirmInstance;\n #resourcesSvc;\n #idSvc;\n constructor() {\n this.isOkType = false;\n this.preserveWhiteSpace = false;\n this.#ngUnsubscribe = new Subject();\n this.#config = inject(SKY_CONFIRM_CONFIG);\n this.#modalInstance = inject(SkyModalInstance);\n this.#confirmInstance = inject(SkyConfirmInstance);\n this.#resourcesSvc = inject(SkyLibResourcesService);\n this.#idSvc = inject(SkyIdService);\n this.#config.type ??= SkyConfirmType.OK;\n if (this.#config.type === SkyConfirmType.Custom &&\n this.#config.buttons &&\n this.#config.buttons.length > 0) {\n this.buttons = this.#getCustomButtons(this.#config.buttons);\n }\n else {\n this.#getPresetButtons()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((buttons) => {\n this.buttons = buttons;\n });\n }\n this.message = this.#config.message;\n this.body = this.#config.body;\n // Using the service here instead of the directive due to the confirm\n // component's \"body\" container being conditional and thus a template\n // variable being unavailable at an outer scope\n this.bodyId = this.#idSvc.generateId();\n this.preserveWhiteSpace = !!this.#config.preserveWhiteSpace;\n this.isOkType = this.#config.type === SkyConfirmType.OK;\n // Closes the modal when requested by the confirm instance.\n this.#confirmInstance.closed.subscribe((args) => {\n this.#modalInstance.close(args);\n });\n this.#modalInstance.closed.subscribe((args) => {\n // Close the confirm when the \"escape\" key is pressed (passes 'undefined')\n // since this behavior is handled by the underlying modal component.\n if (args.data === undefined) {\n this.#confirmInstance.close({\n action: 'cancel',\n });\n }\n });\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n close(button) {\n const result = {\n action: button.action,\n };\n this.#confirmInstance.close(result);\n }\n #getPresetButtons() {\n const emitter = new ReplaySubject(1);\n this.#resourcesSvc\n .getStrings({\n cancel: 'skyux_confirm_dialog_default_cancel_text',\n no: 'skyux_confirm_dialog_default_no_text',\n ok: 'skyux_confirm_dialog_default_ok_text',\n yes: 'skyux_confirm_dialog_default_yes_text',\n })\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((values) => {\n const confirmButtons = [];\n switch (this.#config.type) {\n case SkyConfirmType.YesNoCancel:\n case SkyConfirmType.YesCancel:\n confirmButtons.push({\n text: values.yes,\n autofocus: true,\n styleType: 'primary',\n action: 'yes',\n });\n if (this.#config.type === SkyConfirmType.YesNoCancel) {\n confirmButtons.push({\n text: values.no,\n styleType: 'default',\n action: 'no',\n });\n }\n confirmButtons.push({\n text: values.cancel,\n styleType: 'link',\n action: 'cancel',\n });\n break;\n default:\n confirmButtons.push({\n text: values.ok,\n autofocus: true,\n styleType: 'primary',\n action: 'ok',\n });\n }\n emitter.next(confirmButtons);\n });\n return emitter.asObservable();\n }\n #getCustomButtons(buttonConfig) {\n return buttonConfig.map((config) => ({\n text: config.text,\n action: config.action,\n styleType: config.styleType || 'default',\n autofocus: config.autofocus || false,\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyConfirmComponent, isStandalone: true, selector: \"sky-confirm\", ngImport: i0, template: \"<div class=\\\"sky-confirm\\\" [ngClass]=\\\"{ 'sky-confirm-type-ok': isOkType }\\\">\\n <sky-modal\\n ariaRole=\\\"alertdialog\\\"\\n [ariaLabelledBy]=\\\"confirmMessage.id\\\"\\n [ariaDescribedBy]=\\\"body ? bodyId : undefined\\\"\\n >\\n <sky-modal-content class=\\\"sky-confirm-content\\\">\\n <!--\\n The following \\\"magic comment\\\" keeps Prettier from adding line breaks\\n inside the div and causing leading and trailing whitespace when\\n `preserveWhiteSpace` is `true`.\\n https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting\\n -->\\n <!-- display: inline -->\\n <div\\n #confirmMessage=\\\"skyId\\\"\\n class=\\\"sky-confirm-message\\\"\\n skyId\\n [ngClass]=\\\"{\\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\\n }\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-font-display-4': 'default'\\n }\\\"\\n >{{ message }}</div\\n >\\n\\n @if (body) {\\n <!--\\n The following \\\"magic comment\\\" keeps Prettier from adding line breaks\\n inside the div and causing leading and trailing whitespace when\\n `preserveWhiteSpace` is `true`.\\n https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting\\n -->\\n <!-- display: inline -->\\n <div\\n class=\\\"sky-confirm-body\\\"\\n [id]=\\\"bodyId\\\"\\n [ngClass]=\\\"{\\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\\n }\\\"\\n >{{ body }}</div\\n >\\n }\\n\\n <div class=\\\"sky-confirm-buttons\\\">\\n @for (button of buttons; track button.text) {\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn\\\"\\n [ngClass]=\\\"'sky-btn-' + button.styleType\\\"\\n [attr.autofocus]=\\\"button.autofocus ? 'autofocus' : null\\\"\\n (click)=\\\"close(button)\\\"\\n >\\n {{ button.text }}\\n </button>\\n }\\n </div>\\n </sky-modal-content>\\n </sky-modal>\\n</div>\\n\", styles: [\".sky-confirm:not(.sky-theme-modern *){--sky-override-confirm-body-padding: 8px 0 0;--sky-override-confirm-btn-spacing: 5px;--sky-override-confirm-footer-padding: 20px 0 0;--sky-override-confirm-header-font-size: 16px;--sky-override-confirm-message-padding: 5px 0 0}.sky-confirm-content{padding:0}.sky-confirm-message{padding:var(--sky-override-confirm-message-padding, var(--sky-comp-modal-header-space-inset-top) var(--sky-comp-modal-header-space-inset-right) var(--sky-comp-modal-header-space-inset-bottom) var(--sky-comp-modal-header-space-inset-left));color:var(--sky-color-text-heading);font-size:var(--sky-override-confirm-header-font-size, var(--sky-font-size-heading-2))}.sky-confirm-body{padding:var(--sky-override-confirm-body-padding, var(--sky-comp-modal-content-space-inset-top) var(--sky-comp-modal-content-space-inset-right) var(--sky-comp-modal-content-space-inset-bottom) var(--sky-comp-modal-content-space-inset-left))}.sky-confirm-buttons{padding:var(--sky-override-confirm-footer-padding, var(--sky-comp-modal-footer-space-inset-top) var(--sky-comp-modal-footer-space-inset-right) var(--sky-comp-modal-footer-space-inset-bottom) var(--sky-comp-modal-footer-space-inset-left))}.sky-confirm-preserve-white-space{white-space:pre-wrap}.sky-confirm .sky-btn{margin-right:var(--sky-override-confirm-btn-spacing, var(--sky-space-gap-action_group-m))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"ngmodule\", type: SkyIdModule }, { kind: \"directive\", type: i2.λ2, selector: \"[skyId]\", exportAs: [\"skyId\"] }, { kind: \"component\", type: SkyModalComponent, selector: \"sky-modal\", inputs: [\"formErrors\", \"headingText\", \"helpKey\", \"helpPopoverContent\", \"helpPopoverTitle\", \"ariaRole\", \"tiledBody\", \"ariaDescribedBy\", \"ariaLabelledBy\", \"layout\"] }, { kind: \"component\", type: SkyModalContentComponent, selector: \"sky-modal-content\" }, { kind: \"ngmodule\", type: SkyModalsResourcesModule }, { kind: \"ngmodule\", type: SkyThemeModule }, { kind: \"directive\", type: i3.λ2, selector: \"[skyThemeClass]\", inputs: [\"class\", \"skyThemeClass\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-confirm', imports: [\n CommonModule,\n SkyIdModule,\n SkyModalComponent,\n SkyModalContentComponent,\n SkyModalsResourcesModule,\n SkyThemeModule,\n ], template: \"<div class=\\\"sky-confirm\\\" [ngClass]=\\\"{ 'sky-confirm-type-ok': isOkType }\\\">\\n <sky-modal\\n ariaRole=\\\"alertdialog\\\"\\n [ariaLabelledBy]=\\\"confirmMessage.id\\\"\\n [ariaDescribedBy]=\\\"body ? bodyId : undefined\\\"\\n >\\n <sky-modal-content class=\\\"sky-confirm-content\\\">\\n <!--\\n The following \\\"magic comment\\\" keeps Prettier from adding line breaks\\n inside the div and causing leading and trailing whitespace when\\n `preserveWhiteSpace` is `true`.\\n https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting\\n -->\\n <!-- display: inline -->\\n <div\\n #confirmMessage=\\\"skyId\\\"\\n class=\\\"sky-confirm-message\\\"\\n skyId\\n [ngClass]=\\\"{\\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\\n }\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-font-display-4': 'default'\\n }\\\"\\n >{{ message }}</div\\n >\\n\\n @if (body) {\\n <!--\\n The following \\\"magic comment\\\" keeps Prettier from adding line breaks\\n inside the div and causing leading and trailing whitespace when\\n `preserveWhiteSpace` is `true`.\\n https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting\\n -->\\n <!-- display: inline -->\\n <div\\n class=\\\"sky-confirm-body\\\"\\n [id]=\\\"bodyId\\\"\\n [ngClass]=\\\"{\\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\\n }\\\"\\n >{{ body }}</div\\n >\\n }\\n\\n <div class=\\\"sky-confirm-buttons\\\">\\n @for (button of buttons; track button.text) {\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn\\\"\\n [ngClass]=\\\"'sky-btn-' + button.styleType\\\"\\n [attr.autofocus]=\\\"button.autofocus ? 'autofocus' : null\\\"\\n (click)=\\\"close(button)\\\"\\n >\\n {{ button.text }}\\n </button>\\n }\\n </div>\\n </sky-modal-content>\\n </sky-modal>\\n</div>\\n\", styles: [\".sky-confirm:not(.sky-theme-modern *){--sky-override-confirm-body-padding: 8px 0 0;--sky-override-confirm-btn-spacing: 5px;--sky-override-confirm-footer-padding: 20px 0 0;--sky-override-confirm-header-font-size: 16px;--sky-override-confirm-message-padding: 5px 0 0}.sky-confirm-content{padding:0}.sky-confirm-message{padding:var(--sky-override-confirm-message-padding, var(--sky-comp-modal-header-space-inset-top) var(--sky-comp-modal-header-space-inset-right) var(--sky-comp-modal-header-space-inset-bottom) var(--sky-comp-modal-header-space-inset-left));color:var(--sky-color-text-heading);font-size:var(--sky-override-confirm-header-font-size, var(--sky-font-size-heading-2))}.sky-confirm-body{padding:var(--sky-override-confirm-body-padding, var(--sky-comp-modal-content-space-inset-top) var(--sky-comp-modal-content-space-inset-right) var(--sky-comp-modal-content-space-inset-bottom) var(--sky-comp-modal-content-space-inset-left))}.sky-confirm-buttons{padding:var(--sky-override-confirm-footer-padding, var(--sky-comp-modal-footer-space-inset-top) var(--sky-comp-modal-footer-space-inset-right) var(--sky-comp-modal-footer-space-inset-bottom) var(--sky-comp-modal-footer-space-inset-left))}.sky-confirm-preserve-white-space{white-space:pre-wrap}.sky-confirm .sky-btn{margin-right:var(--sky-override-confirm-btn-spacing, var(--sky-space-gap-action_group-m))}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvY29uZmlybS9jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFLakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFB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QUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4QixjQUFjO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUlkTW9kdWxlLCBTa3lJZFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU1vZGFsQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsL21vZGFsLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNreU1vZGFsSW5zdGFuY2UgfSBmcm9tICcuLi9tb2RhbC9tb2RhbC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lNb2RhbHNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LW1vZGFscy1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbiB9IGZyb20gJy4vY29uZmlybS1idXR0b24nO1xuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbkNvbmZpZyB9IGZyb20gJy4vY29uZmlybS1idXR0b24tY29uZmlnJztcbmltcG9ydCB7IFNreUNvbmZpcm1DbG9zZUV2ZW50QXJncyB9IGZyb20gJy4vY29uZmlybS1jbG9zZWQtZXZlbnQtYXJncyc7XG5pbXBvcnQgeyBTS1lfQ09ORklSTV9DT05GSUcgfSBmcm9tICcuL2NvbmZpcm0tY29uZmlnLXRva2VuJztcbmltcG9ydCB7IFNreUNvbmZpcm1JbnN0YW5jZSB9IGZyb20gJy4vY29uZmlybS1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lDb25maXJtVHlwZSB9IGZyb20gJy4vY29uZmlybS10eXBlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWNvbmZpcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lJZE1vZHVsZSxcbiAgICBTa3lNb2RhbENvbXBvbmVudCxcbiAgICBTa3lNb2RhbENvbnRlbnRDb21wb25lbnQsXG4gICAgU2t5TW9kYWxzUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIGJvZHk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJvdGVjdGVkIGJvZHlJZDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgYnV0dG9uczogU2t5Q29uZmlybUJ1dHRvbltdIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgaXNPa1R5cGUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIG1lc3NhZ2U6IHN0cmluZztcbiAgcHJvdGVjdGVkIHByZXNlcnZlV2hpdGVTcGFjZSA9IGZhbHNlO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICByZWFkb25seSAjY29uZmlnID0gaW5qZWN0KFNLWV9DT05GSVJNX0NPTkZJRyk7XG4gIHJlYWRvbmx5ICNtb2RhbEluc3RhbmNlID0gaW5qZWN0KFNreU1vZGFsSW5zdGFuY2UpO1xuICByZWFkb25seSAjY29uZmlybUluc3RhbmNlID0gaW5qZWN0KFNreUNvbmZpcm1JbnN0YW5jZSk7XG4gIHJlYWRvbmx5ICNyZXNvdXJjZXNTdmMgPSBpbmplY3QoU2t5TGliUmVzb3VyY2VzU2VydmljZSk7XG4gIHJlYWRvbmx5ICNpZFN2YyA9IGluamVjdChTa3lJZFNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuI2NvbmZpZy50eXBlID8/PSBTa3lDb25maXJtVHlwZS5PSztcblxuICAgIGlmIChcbiAgICAgIHRoaXMuI2NvbmZpZy50eXBlID09PSBTa3lDb25maXJtVHlwZS5DdXN0b20gJiZcbiAgICAgIHRoaXMuI2NvbmZpZy5idXR0b25zICYmXG4gICAgICB0aGlzLiNjb25maWcuYnV0dG9ucy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLmJ1dHRvbnMgPSB0aGlzLiNnZXRDdXN0b21CdXR0b25zKHRoaXMuI2NvbmZpZy5idXR0b25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jZ2V0UHJlc2V0QnV0dG9ucygpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoYnV0dG9ucykgPT4ge1xuICAgICAgICAgIHRoaXMuYnV0dG9ucyA9IGJ1dHRvbnM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuI2NvbmZpZy5tZXNzYWdlO1xuICAgIHRoaXMuYm9keSA9IHRoaXMuI2NvbmZpZy5ib2R5O1xuXG4gICAgLy8gVXNpbmcgdGhlIHNlcnZpY2UgaGVyZSBpbnN0ZWFkIG9mIHRoZSBkaXJlY3RpdmUgZHVlIHRvIHRoZSBjb25maXJtXG4gICAgLy8gY29tcG9uZW50J3MgXCJib2R5XCIgY29udGFpbmVyIGJlaW5nIGNvbmRpdGlvbmFsIGFuZCB0aHVzIGEgdGVtcGxhdGVcbiAgICAvLyB2YXJpYWJsZSBiZWluZyB1bmF2YWlsYWJsZSBhdCBhbiBvdXRlciBzY29wZVxuICAgIHRoaXMuYm9keUlkID0gdGhpcy4jaWRTdmMuZ2VuZXJhdGVJZCgpO1xuXG4gICAgdGhpcy5wcmVzZXJ2ZVdoaXRlU3BhY2UgPSAhIXRoaXMuI2NvbmZpZy5wcmVzZXJ2ZVdoaXRlU3BhY2U7XG4gICAgdGhpcy5pc09rVHlwZSA9IHRoaXMuI2NvbmZpZy50eXBlID09PSBTa3lDb25maXJtVHlwZS5PSztcblxuICAgIC8vIENsb3NlcyB0aGUgbW9kYWwgd2hlbiByZXF1ZXN0ZWQgYnkgdGhlIGNvbmZpcm0gaW5zdGFuY2UuXG4gICAgdGhpcy4jY29uZmlybUluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcbiAgICAgIHRoaXMuI21vZGFsSW5zdGFuY2UuY2xvc2UoYXJncyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNtb2RhbEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcbiAgICAgIC8vIENsb3NlIHRoZSBjb25maXJtIHdoZW4gdGhlIFwiZXNjYXBlXCIga2V5IGlzIHByZXNzZWQgKHBhc3NlcyAndW5kZWZpbmVkJylcbiAgICAgIC8vIHNpbmNlIHRoaXMgYmVoYXZpb3IgaXMgaGFuZGxlZCBieSB0aGUgdW5kZXJseWluZyBtb2RhbCBjb21wb25lbnQuXG4gICAgICBpZiAoYXJncy5kYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy4jY29uZmlybUluc3RhbmNlLmNsb3NlKHtcbiAgICAgICAgICBhY3Rpb246ICdjYW5jZWwnLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xvc2UoYnV0dG9uOiBTa3lDb25maXJtQnV0dG9uKTogdm9pZCB7XG4gICAgY29uc3QgcmVzdWx0OiBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MgPSB7XG4gICAgICBhY3Rpb246IGJ1dHRvbi5hY3Rpb24sXG4gICAgfTtcblxuICAgIHRoaXMuI2NvbmZpcm1JbnN0YW5jZS5jbG9zZShyZXN1bHQpO1xuICB9XG5cbiAgI2dldFByZXNldEJ1dHRvbnMoKTogT2JzZXJ2YWJsZTxTa3lDb25maXJtQnV0dG9uW10+IHtcbiAgICBjb25zdCBlbWl0dGVyID0gbmV3IFJlcGxheVN1YmplY3Q8U2t5Q29uZmlybUJ1dHRvbltdPigxKTtcblxuICAgIHRoaXMuI3Jlc291cmNlc1N2Y1xuICAgICAgLmdldFN0cmluZ3Moe1xuICAgICAgICBjYW5jZWw6ICdza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X2NhbmNlbF90ZXh0JyxcbiAgICAgICAgbm86ICdza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X25vX3RleHQnLFxuICAgICAgICBvazogJ3NreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfb2tfdGV4dCcsXG4gICAgICAgIHllczogJ3NreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfeWVzX3RleHQnLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgICBjb25zdCBjb25maXJtQnV0dG9uczogU2t5Q29uZmlybUJ1dHRvbltdID0gW107XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLiNjb25maWcudHlwZSkge1xuICAgICAgICAgIGNhc2UgU2t5Q29uZmlybVR5cGUuWWVzTm9DYW5jZWw6XG4gICAgICAgICAgY2FzZSBTa3lDb25maXJtVHlwZS5ZZXNDYW5jZWw6XG4gICAgICAgICAgICBjb25maXJtQnV0dG9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgdGV4dDogdmFsdWVzLnllcyxcbiAgICAgICAgICAgICAgYXV0b2ZvY3VzOiB0cnVlLFxuICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgYWN0aW9uOiAneWVzJyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy4jY29uZmlnLnR5cGUgPT09IFNreUNvbmZpcm1UeXBlLlllc05vQ2FuY2VsKSB7XG4gICAgICAgICAgICAgIGNvbmZpcm1CdXR0b25zLnB1c2goe1xuICAgICAgICAgICAgICAgIHRleHQ6IHZhbHVlcy5ubyxcbiAgICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBhY3Rpb246ICdubycsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25maXJtQnV0dG9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgdGV4dDogdmFsdWVzLmNhbmNlbCxcbiAgICAgICAgICAgICAgc3R5bGVUeXBlOiAnbGluaycsXG4gICAgICAgICAgICAgIGFjdGlvbjogJ2NhbmNlbCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjb25maXJtQnV0dG9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgdGV4dDogdmFsdWVzLm9rLFxuICAgICAgICAgICAgICBhdXRvZm9jdXM6IHRydWUsXG4gICAgICAgICAgICAgIHN0eWxlVHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICBhY3Rpb246ICdvaycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVtaXR0ZXIubmV4dChjb25maXJtQnV0dG9ucyk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBlbWl0dGVyLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgI2dldEN1c3RvbUJ1dHRvbnMoXG4gICAgYnV0dG9uQ29uZmlnOiBTa3lDb25maXJtQnV0dG9uQ29uZmlnW10sXG4gICk6IFNreUNvbmZpcm1CdXR0b25bXSB7XG4gICAgcmV0dXJuIGJ1dHRvbkNvbmZpZy5tYXAoXG4gICAgICAoY29uZmlnKSA9PlxuICAgICAgICAoe1xuICAgICAgICAgIHRleHQ6IGNvbmZpZy50ZXh0LFxuICAgICAgICAgIGFjdGlvbjogY29uZmlnLmFjdGlvbixcbiAgICAgICAgICBzdHlsZVR5cGU6IGNvbmZpZy5zdHlsZVR5cGUgfHwgJ2RlZmF1bHQnLFxuICAgICAgICAgIGF1dG9mb2N1czogY29uZmlnLmF1dG9mb2N1cyB8fCBmYWxzZSxcbiAgICAgICAgfSkgYXMgU2t5Q29uZmlybUJ1dHRvbixcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWNvbmZpcm1cIiBbbmdDbGFzc109XCJ7ICdza3ktY29uZmlybS10eXBlLW9rJzogaXNPa1R5cGUgfVwiPlxuICA8c2t5LW1vZGFsXG4gICAgYXJpYVJvbGU9XCJhbGVydGRpYWxvZ1wiXG4gICAgW2FyaWFMYWJlbGxlZEJ5XT1cImNvbmZpcm1NZXNzYWdlLmlkXCJcbiAgICBbYXJpYURlc2NyaWJlZEJ5XT1cImJvZHkgPyBib2R5SWQgOiB1bmRlZmluZWRcIlxuICA+XG4gICAgPHNreS1tb2RhbC1jb250ZW50IGNsYXNzPVwic2t5LWNvbmZpcm0tY29udGVudFwiPlxuICAgICAgPCEtLVxuICAgICAgICBUaGUgZm9sbG93aW5nIFwibWFnaWMgY29tbWVudFwiIGtlZXBzIFByZXR0aWVyIGZyb20gYWRkaW5nIGxpbmUgYnJlYWtzXG4gICAgICAgIGluc2lkZSB0aGUgZGl2IGFuZCBjYXVzaW5nIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2Ugd2hlblxuICAgICAgICBgcHJlc2VydmVXaGl0ZVNwYWNlYCBpcyBgdHJ1ZWAuXG4gICAgICAgIGh0dHBzOi8vcHJldHRpZXIuaW8vYmxvZy8yMDE4LzExLzA3LzEuMTUuMC5odG1sI3doaXRlc3BhY2Utc2Vuc2l0aXZlLWZvcm1hdHRpbmdcbiAgICAgIC0tPlxuICAgICAgPCEtLSBkaXNwbGF5OiBpbmxpbmUgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgICNjb25maXJtTWVzc2FnZT1cInNreUlkXCJcbiAgICAgICAgY2xhc3M9XCJza3ktY29uZmlybS1tZXNzYWdlXCJcbiAgICAgICAgc2t5SWRcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktY29uZmlybS1wcmVzZXJ2ZS13aGl0ZS1zcGFjZSc6IHByZXNlcnZlV2hpdGVTcGFjZVxuICAgICAgICB9XCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktZm9udC1kaXNwbGF5LTQnOiAnZGVmYXVsdCdcbiAgICAgICAgfVwiXG4gICAgICAgID57eyBtZXNzYWdlIH19PC9kaXZcbiAgICAgID5cblxuICAgICAgQGlmIChib2R5KSB7XG4gICAgICAgIDwhLS1cbiAgICAgICAgICBUaGUgZm9sbG93aW5nIFwibWFnaWMgY29tbWVudFwiIGtlZXBzIFByZXR0aWVyIGZyb20gYWRkaW5nIGxpbmUgYnJlYWtzXG4gICAgICAgICAgaW5zaWRlIHRoZSBkaXYgYW5kIGNhdXNpbmcgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSB3aGVuXG4gICAgICAgICAgYHByZXNlcnZlV2hpdGVTcGFjZWAgaXMgYHRydWVgLlxuICAgICAgICAgIGh0dHBzOi8vcHJldHRpZXIuaW8vYmxvZy8yMDE4LzExLzA3LzEuMTUuMC5odG1sI3doaXRlc3BhY2Utc2Vuc2l0aXZlLWZvcm1hdHRpbmdcbiAgICAgICAgLS0+XG4gICAgICAgIDwhLS0gZGlzcGxheTogaW5saW5lIC0tPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJza3ktY29uZmlybS1ib2R5XCJcbiAgICAgICAgICBbaWRdPVwiYm9keUlkXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnc2t5LWNvbmZpcm0tcHJlc2VydmUtd2hpdGUtc3BhY2UnOiBwcmVzZXJ2ZVdoaXRlU3BhY2VcbiAgICAgICAgICB9XCJcbiAgICAgICAgICA+e3sgYm9keSB9fTwvZGl2XG4gICAgICAgID5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cInNreS1jb25maXJtLWJ1dHRvbnNcIj5cbiAgICAgICAgQGZvciAoYnV0dG9uIG9mIGJ1dHRvbnM7IHRyYWNrIGJ1dHRvbi50ZXh0KSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1idG5cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiJ3NreS1idG4tJyArIGJ1dHRvbi5zdHlsZVR5cGVcIlxuICAgICAgICAgICAgW2F0dHIuYXV0b2ZvY3VzXT1cImJ1dHRvbi5hdXRvZm9jdXMgPyAnYXV0b2ZvY3VzJyA6IG51bGxcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKGJ1dHRvbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGJ1dHRvbi50ZXh0IH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvc2t5LW1vZGFsLWNvbnRlbnQ+XG4gIDwvc2t5LW1vZGFsPlxuPC9kaXY+XG4iXX0=","import { Inject, Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Provided by the modal service to give the modal host\n * component additional context and features.\n * @internal\n */\nexport class SkyModalHostContext {\n constructor(args) {\n this.args = args;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostContext, deps: [{ token: 'SkyModalHostContextArgs' }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostContext }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostContext, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: ['SkyModalHostContextArgs']\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUluRDs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUM0QyxJQUE2QjtRQUE3QixTQUFJLEdBQUosSUFBSSxDQUF5QjtJQUN0RSxDQUFDOzhHQUhPLG1CQUFtQixrQkFFcEIseUJBQXlCO2tIQUZ4QixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHRBcmdzIH0gZnJvbSAnLi9tb2RhbC1ob3N0LWNvbnRleHQtYXJncyc7XG5cbi8qKlxuICogUHJvdmlkZWQgYnkgdGhlIG1vZGFsIHNlcnZpY2UgdG8gZ2l2ZSB0aGUgbW9kYWwgaG9zdFxuICogY29tcG9uZW50IGFkZGl0aW9uYWwgY29udGV4dCBhbmQgZmVhdHVyZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdENvbnRleHQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdTa3lNb2RhbEhvc3RDb250ZXh0QXJncycpIHB1YmxpYyBhcmdzOiBTa3lNb2RhbEhvc3RDb250ZXh0QXJncyxcbiAgKSB7fVxufVxuIl19","import { Injectable, inject } from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * @internal\n */\nexport class SkyModalAdapterService {\n static { this.MODAL_BODY_FULL_CLASS = 'sky-modal-body-full-page'; }\n static { this.MODAL_BODY_CLASS = 'sky-modal-body-open'; }\n #docRef;\n #bodyEl;\n #coreAdapter = inject(SkyCoreAdapterService);\n #windowRef;\n #hostSiblingAriaHiddenCache = new Map();\n constructor(windowRef) {\n this.#windowRef = windowRef;\n this.#docRef = this.#windowRef.nativeWindow.document;\n this.#bodyEl = this.#windowRef.nativeWindow.document.body;\n }\n toggleFullPageModalClass(isAddFull) {\n if (isAddFull) {\n this.#addClassToBody(SkyModalAdapterService.MODAL_BODY_FULL_CLASS);\n }\n else {\n this.#removeClassFromBody(SkyModalAdapterService.MODAL_BODY_FULL_CLASS);\n }\n }\n setPageScroll(isAdd) {\n if (isAdd) {\n this.#addClassToBody(SkyModalAdapterService.MODAL_BODY_CLASS);\n }\n else {\n this.#removeClassFromBody(SkyModalAdapterService.MODAL_BODY_CLASS);\n }\n }\n getModalOpener() {\n return this.#docRef.activeElement;\n }\n #addClassToBody(className) {\n this.#bodyEl.classList.add(className);\n }\n #removeClassFromBody(className) {\n this.#bodyEl.classList.remove(className);\n }\n scrollContentToTop(element) {\n element.nativeElement.querySelector('.sky-modal-content').scrollTop = 0;\n }\n /**\n * Hides siblings of modal-host from screen readers\n * @param hostElRef reference to modal-host element\n */\n hideHostSiblingsFromScreenReaders(hostElRef) {\n const hostElement = hostElRef.nativeElement;\n const hostSiblings = hostElement.parentElement?.children;\n if (hostSiblings) {\n for (const element of hostSiblings) {\n if (element.contains(document.activeElement)) {\n document.body.focus();\n }\n if (element !== hostElement &&\n !element.hasAttribute('aria-live') &&\n element.nodeName.toLowerCase() !== 'script' &&\n element.nodeName.toLowerCase() !== 'style') {\n // preserve previous aria-hidden status of elements outside of modal host\n this.#hostSiblingAriaHiddenCache.set(element, element.getAttribute('aria-hidden'));\n element.setAttribute('aria-hidden', 'true');\n }\n }\n }\n }\n focusFirstElement(modalEl) {\n /* istanbul ignore else */\n /* handle the case where somehow there is a focused element already in the modal */\n if (!(document.activeElement &&\n modalEl.nativeElement.contains(document.activeElement))) {\n const currentScrollX = window.pageXOffset;\n const currentScrollY = window.pageYOffset;\n const inputWithAutofocus = modalEl.nativeElement.querySelector('[autofocus]');\n if (inputWithAutofocus) {\n inputWithAutofocus.focus();\n }\n else {\n this.#coreAdapter.getFocusableChildrenAndApplyFocus(modalEl, '.sky-modal-content', true);\n }\n window.scrollTo(currentScrollX, currentScrollY);\n }\n }\n /**\n * Restores modal-host siblings to screen reader status prior to modals being opened\n */\n unhideOrRestoreHostSiblingsFromScreenReaders() {\n this.#hostSiblingAriaHiddenCache.forEach((previousValue, element) => {\n // if element had aria-hidden status prior, restore status\n if (element.parentElement) {\n if (previousValue) {\n element.setAttribute('aria-hidden', previousValue);\n }\n else {\n element.removeAttribute('aria-hidden');\n }\n }\n });\n this.#hostSiblingAriaHiddenCache.clear();\n }\n hidePreviousModalFromScreenReaders(topModal) {\n if (topModal && topModal.nativeElement.previousElementSibling) {\n topModal.nativeElement.previousElementSibling.setAttribute('aria-hidden', 'true');\n }\n }\n unhidePreviousModalFromScreenReaders(topModal) {\n if (topModal && topModal.nativeElement.previousElementSibling) {\n topModal.nativeElement.previousElementSibling.removeAttribute('aria-hidden');\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalAdapterService, deps: [{ token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalAdapterService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalAdapterService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.SkyAppWindowRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUVyRTs7R0FFRztBQUVILE1BQU0sT0FBTyxzQkFBc0I7YUFDVCwwQkFBcUIsR0FBRywwQkFBMEIsQUFBN0IsQ0FBOEI7YUFDbkQscUJBQWdCLEdBQUcscUJBQXFCLEFBQXhCLENBQXlCO0lBRWpFLE9BQU8sQ0FBTTtJQUNiLE9BQU8sQ0FBYztJQUVyQixZQUFZLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDN0MsVUFBVSxDQUFrQjtJQUM1QiwyQkFBMkIsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztJQUVoRSxZQUFZLFNBQTBCO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUM1RCxDQUFDO0lBRU0sd0JBQXdCLENBQUMsU0FBa0I7UUFDaEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNyRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxxQkFB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bEQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLDRDQUE0QztRQUNqRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2xFLDBEQUEwRDtZQUMxRCxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxhQUFhLEVBQUUsQ0FBQztvQkFDbEIsT0FBTyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQ3JELENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN6QyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTSxrQ0FBa0MsQ0FBQyxRQUFvQjtRQUM1RCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUQsUUFBUSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQ3hELGFBQWEsRUFDYixNQUFNLENBQ1AsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU0sb0NBQW9DLENBQUMsUUFBb0I7UUFDOUQsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzlELFFBQVEsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsZUFBZSxDQUMzRCxhQUFhLENBQ2QsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDOzhHQTNJVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5QXBwV2luZG93UmVmLCBTa3lDb3JlQWRhcHRlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTU9EQUxfQk9EWV9GVUxMX0NMQVNTID0gJ3NreS1tb2RhbC1ib2R5LWZ1bGwtcGFnZSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1PREFMX0JPRFlfQ0xBU1MgPSAnc2t5LW1vZGFsLWJvZHktb3Blbic7XG5cbiAgI2RvY1JlZjogYW55O1xuICAjYm9keUVsOiBIVE1MRWxlbWVudDtcblxuICAjY29yZUFkYXB0ZXIgPSBpbmplY3QoU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlKTtcbiAgI3dpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmO1xuICAjaG9zdFNpYmxpbmdBcmlhSGlkZGVuQ2FjaGUgPSBuZXcgTWFwPEVsZW1lbnQsIHN0cmluZyB8IG51bGw+KCk7XG5cbiAgY29uc3RydWN0b3Iod2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYpIHtcbiAgICB0aGlzLiN3aW5kb3dSZWYgPSB3aW5kb3dSZWY7XG4gICAgdGhpcy4jZG9jUmVmID0gdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5kb2N1bWVudDtcbiAgICB0aGlzLiNib2R5RWwgPSB0aGlzLiN3aW5kb3dSZWYubmF0aXZlV2luZG93LmRvY3VtZW50LmJvZHk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlRnVsbFBhZ2VNb2RhbENsYXNzKGlzQWRkRnVsbDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChpc0FkZEZ1bGwpIHtcbiAgICAgIHRoaXMuI2FkZENsYXNzVG9Cb2R5KFNreU1vZGFsQWRhcHRlclNlcnZpY2UuTU9EQUxfQk9EWV9GVUxMX0NMQVNTKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jcmVtb3ZlQ2xhc3NGcm9tQm9keShTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlLk1PREFMX0JPRFlfRlVMTF9DTEFTUyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFBhZ2VTY3JvbGwoaXNBZGQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoaXNBZGQpIHtcbiAgICAgIHRoaXMuI2FkZENsYXNzVG9Cb2R5KFNreU1vZGFsQWRhcHRlclNlcnZpY2UuTU9EQUxfQk9EWV9DTEFTUyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3JlbW92ZUNsYXNzRnJvbUJvZHkoU2t5TW9kYWxBZGFwdGVyU2VydmljZS5NT0RBTF9CT0RZX0NMQVNTKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kYWxPcGVuZXIoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNkb2NSZWYuYWN0aXZlRWxlbWVudDtcbiAgfVxuXG4gICNhZGRDbGFzc1RvQm9keShjbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2JvZHlFbC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gIH1cblxuICAjcmVtb3ZlQ2xhc3NGcm9tQm9keShjbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2JvZHlFbC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsQ29udGVudFRvVG9wKGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1tb2RhbC1jb250ZW50Jykuc2Nyb2xsVG9wID0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBIaWRlcyBzaWJsaW5ncyBvZiBtb2RhbC1ob3N0IGZyb20gc2NyZWVuIHJlYWRlcnNcbiAgICogQHBhcmFtIGhvc3RFbFJlZiByZWZlcmVuY2UgdG8gbW9kYWwtaG9zdCBlbGVtZW50XG4gICAqL1xuICBwdWJsaWMgaGlkZUhvc3RTaWJsaW5nc0Zyb21TY3JlZW5SZWFkZXJzKGhvc3RFbFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gaG9zdEVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgaG9zdFNpYmxpbmdzID0gaG9zdEVsZW1lbnQucGFyZW50RWxlbWVudD8uY2hpbGRyZW47XG5cbiAgICBpZiAoaG9zdFNpYmxpbmdzKSB7XG4gICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgaG9zdFNpYmxpbmdzKSB7XG4gICAgICAgIGlmIChlbGVtZW50LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICBlbGVtZW50ICE9PSBob3N0RWxlbWVudCAmJlxuICAgICAgICAgICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnYXJpYS1saXZlJykgJiZcbiAgICAgICAgICBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdzY3JpcHQnICYmXG4gICAgICAgICAgZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAnc3R5bGUnXG4gICAgICAgICkge1xuICAgICAgICAgIC8vIHByZXNlcnZlIHByZXZpb3VzIGFyaWEtaGlkZGVuIHN0YXR1cyBvZiBlbGVtZW50cyBvdXRzaWRlIG9mIG1vZGFsIGhvc3RcbiAgICAgICAgICB0aGlzLiNob3N0U2libGluZ0FyaWFIaWRkZW5DYWNoZS5zZXQoXG4gICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJyksXG4gICAgICAgICAgKTtcbiAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvY3VzRmlyc3RFbGVtZW50KG1vZGFsRWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBzb21laG93IHRoZXJlIGlzIGEgZm9jdXNlZCBlbGVtZW50IGFscmVhZHkgaW4gdGhlIG1vZGFsICovXG4gICAgaWYgKFxuICAgICAgIShcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJlxuICAgICAgICBtb2RhbEVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudClcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTY3JvbGxYID0gd2luZG93LnBhZ2VYT2Zmc2V0O1xuICAgICAgY29uc3QgY3VycmVudFNjcm9sbFkgPSB3aW5kb3cucGFnZVlPZmZzZXQ7XG5cbiAgICAgIGNvbnN0IGlucHV0V2l0aEF1dG9mb2N1cyA9XG4gICAgICAgIG1vZGFsRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbYXV0b2ZvY3VzXScpO1xuXG4gICAgICBpZiAoaW5wdXRXaXRoQXV0b2ZvY3VzKSB7XG4gICAgICAgIGlucHV0V2l0aEF1dG9mb2N1cy5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jY29yZUFkYXB0ZXIuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW5BbmRBcHBseUZvY3VzKFxuICAgICAgICAgIG1vZGFsRWwsXG4gICAgICAgICAgJy5za3ktbW9kYWwtY29udGVudCcsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHdpbmRvdy5zY3JvbGxUbyhjdXJyZW50U2Nyb2xsWCwgY3VycmVudFNjcm9sbFkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlcyBtb2RhbC1ob3N0IHNpYmxpbmdzIHRvIHNjcmVlbiByZWFkZXIgc3RhdHVzIHByaW9yIHRvIG1vZGFscyBiZWluZyBvcGVuZWRcbiAgICovXG4gIHB1YmxpYyB1bmhpZGVPclJlc3RvcmVIb3N0U2libGluZ3NGcm9tU2NyZWVuUmVhZGVycygpOiB2b2lkIHtcbiAgICB0aGlzLiNob3N0U2libGluZ0FyaWFIaWRkZW5DYWNoZS5mb3JFYWNoKChwcmV2aW91c1ZhbHVlLCBlbGVtZW50KSA9PiB7XG4gICAgICAvLyBpZiBlbGVtZW50IGhhZCBhcmlhLWhpZGRlbiBzdGF0dXMgcHJpb3IsIHJlc3RvcmUgc3RhdHVzXG4gICAgICBpZiAoZWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgIGlmIChwcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgcHJldmlvdXNWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLiNob3N0U2libGluZ0FyaWFIaWRkZW5DYWNoZS5jbGVhcigpO1xuICB9XG5cbiAgcHVibGljIGhpZGVQcmV2aW91c01vZGFsRnJvbVNjcmVlblJlYWRlcnModG9wTW9kYWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBpZiAodG9wTW9kYWwgJiYgdG9wTW9kYWwubmF0aXZlRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSB7XG4gICAgICB0b3BNb2RhbC5uYXRpdmVFbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmcuc2V0QXR0cmlidXRlKFxuICAgICAgICAnYXJpYS1oaWRkZW4nLFxuICAgICAgICAndHJ1ZScsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1bmhpZGVQcmV2aW91c01vZGFsRnJvbVNjcmVlblJlYWRlcnModG9wTW9kYWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBpZiAodG9wTW9kYWwgJiYgdG9wTW9kYWwubmF0aXZlRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSB7XG4gICAgICB0b3BNb2RhbC5uYXRpdmVFbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmcucmVtb3ZlQXR0cmlidXRlKFxuICAgICAgICAnYXJpYS1oaWRkZW4nLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, ElementRef, EnvironmentInjector, ViewChild, ViewContainerRef, inject, } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { NavigationStart, Router, RouterModule } from '@angular/router';\nimport { SKY_STACKING_CONTEXT, SkyAppWindowRef, SkyDynamicComponentService, } from '@skyux/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { takeUntil, takeWhile } from 'rxjs/operators';\nimport { SkyModalsResourcesModule } from '../shared/sky-modals-resources.module';\nimport { SkyModalAdapterService } from './modal-adapter.service';\nimport { SkyModalConfiguration } from './modal-configuration';\nimport { SkyModalHostContext } from './modal-host-context';\nimport { SkyModalHostService } from './modal-host.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\n/**\n * @internal\n */\nexport class SkyModalHostComponent {\n constructor() {\n this.backdropZIndex = toSignal(SkyModalHostService.backdropZIndexChange);\n this.modalCount = toSignal(SkyModalHostService.openModalCountChange);\n this.#modalInstances = [];\n this.#adapter = inject(SkyModalAdapterService);\n this.#changeDetector = inject(ChangeDetectorRef);\n this.#dynamicComponentSvc = inject(SkyDynamicComponentService);\n this.#elRef = inject(ElementRef);\n this.#environmentInjector = inject(EnvironmentInjector);\n this.#modalHostContext = inject(SkyModalHostContext);\n this.#router = inject(Router, { optional: true });\n this.#windowRef = inject(SkyAppWindowRef);\n }\n #modalInstances;\n #adapter;\n #changeDetector;\n #dynamicComponentSvc;\n #elRef;\n #environmentInjector;\n #modalHostContext;\n #router;\n #windowRef;\n ngOnDestroy() {\n // Close all modal instances before disposing of the host container.\n this.#closeAllModalInstances();\n this.#modalHostContext.args.teardownCallback();\n }\n open(modalInstance, component, config, environmentInjector) {\n /* Ignore coverage as we specify the target element and so the view child should never be undefined unless\n * we were to call the `open` method in an early lifecycle hook. */\n /* istanbul ignore next */\n if (!this.target) {\n return;\n }\n const params = Object.assign({}, config);\n const hostService = new SkyModalHostService();\n hostService.fullPage = !!params.fullPage;\n const adapter = this.#adapter;\n const modalOpener = adapter.getModalOpener();\n let isOpen = true;\n params.providers ||= [];\n params.providers.push({\n provide: SkyModalHostService,\n useValue: hostService,\n }, {\n provide: SkyModalConfiguration,\n useValue: params,\n }, {\n provide: SKY_STACKING_CONTEXT,\n useValue: {\n zIndex: new BehaviorSubject(hostService.getModalZIndex())\n .asObservable()\n .pipe(takeUntil(modalInstance.closed)),\n },\n });\n adapter.setPageScroll(SkyModalHostService.openModalCount > 0);\n adapter.toggleFullPageModalClass(SkyModalHostService.fullPageModalCount > 0);\n environmentInjector ||= this.#environmentInjector;\n const modalComponentRef = this.#dynamicComponentSvc.createComponent(component, {\n environmentInjector: environmentInjector,\n providers: params.providers,\n viewContainerRef: this.target,\n });\n // modal element that was just opened\n const modalElement = modalComponentRef.location;\n modalInstance.adapter = this.#adapter;\n modalInstance.componentRef = modalComponentRef;\n this.#registerModalInstance(modalInstance);\n // Adding a timeout to avoid ExpressionChangedAfterItHasBeenCheckedError.\n // https://stackoverflow.com/questions/40562845\n this.#windowRef.nativeWindow.setTimeout(() => {\n this.#adapter.focusFirstElement(modalElement);\n // hiding all elements at the modal-host level from screen readers when the a modal is opened\n this.#adapter.hideHostSiblingsFromScreenReaders(this.#elRef);\n if (SkyModalHostService.openModalCount > 1 &&\n SkyModalHostService.topModal === hostService) {\n // hiding the lower modals when more than one modal is opened\n this.#adapter.hidePreviousModalFromScreenReaders(modalElement);\n }\n });\n const closeModal = () => {\n // unhide siblings if last modal is closing\n if (SkyModalHostService.openModalCount === 1) {\n this.#adapter.unhideOrRestoreHostSiblingsFromScreenReaders();\n }\n else if (SkyModalHostService.topModal === hostService) {\n // if there are more than 1 modal then unhide the one behind this one before closing it\n this.#adapter.unhidePreviousModalFromScreenReaders(modalElement);\n }\n hostService.destroy();\n adapter.setPageScroll(SkyModalHostService.openModalCount > 0);\n adapter.toggleFullPageModalClass(SkyModalHostService.fullPageModalCount > 0);\n /* istanbul ignore else */\n /* sanity check */\n if (modalOpener && modalOpener.focus) {\n modalOpener.focus();\n }\n modalComponentRef.destroy();\n };\n hostService.openHelp.subscribe((helpKey) => {\n modalInstance.openHelp(helpKey);\n });\n hostService.close.subscribe(() => {\n modalInstance.close();\n });\n this.#router?.events.pipe(takeWhile(() => isOpen)).subscribe((event) => {\n /* istanbul ignore else */\n if (event instanceof NavigationStart) {\n modalInstance.close();\n }\n });\n modalInstance.closed.subscribe(() => {\n isOpen = false;\n this.#unregisterModalInstance(modalInstance);\n closeModal();\n });\n // Necessary if the host was created via a consumer's lifecycle hook such as ngOnInit\n this.#changeDetector.detectChanges();\n }\n #registerModalInstance(instance) {\n this.#modalInstances.push(instance);\n }\n #unregisterModalInstance(instance) {\n this.#modalInstances.slice(this.#modalInstances.indexOf(instance), 1);\n }\n #closeAllModalInstances() {\n for (const instance of this.#modalInstances) {\n instance.close();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.0\", type: SkyModalHostComponent, isStandalone: true, selector: \"sky-modal-host\", viewQueries: [{ propertyName: \"target\", first: true, predicate: [\"target\"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: \"<div\\n class=\\\"sky-modal-host-backdrop\\\"\\n [hidden]=\\\"modalCount() === 0\\\"\\n [ngStyle]=\\\"{\\n zIndex: backdropZIndex()\\n }\\\"\\n></div>\\n<div #target></div>\\n\", styles: [\".sky-modal-host-backdrop:not(.sky-theme-modern *){--sky-override-modal-host-backdrop-color: rgba(0, 0, 0, .5)}.sky-modal-host-backdrop{background-color:var(--sky-override-modal-host-backdrop-color, var(--sky-color-background-scrim));position:fixed;inset:0}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: SkyModalsResourcesModule }], viewProviders: [SkyModalAdapterService] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-modal-host', viewProviders: [SkyModalAdapterService], imports: [CommonModule, RouterModule, SkyModalsResourcesModule], template: \"<div\\n class=\\\"sky-modal-host-backdrop\\\"\\n [hidden]=\\\"modalCount() === 0\\\"\\n [ngStyle]=\\\"{\\n zIndex: backdropZIndex()\\n }\\\"\\n></div>\\n<div #target></div>\\n\", styles: [\".sky-modal-host-backdrop:not(.sky-theme-modern *){--sky-override-modal-host-backdrop-color: rgba(0, 0, 0, .5)}.sky-modal-host-backdrop{background-color:var(--sky-override-modal-host-backdrop-color, var(--sky-color-background-scrim));position:fixed;inset:0}\\n\"] }]\n }], propDecorators: { target: [{\n type: ViewChild,\n args: ['target', {\n read: ViewContainerRef,\n static: true,\n }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFHbkIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLDBCQUEwQixHQUMzQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFakYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxF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bnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEVudmlyb25tZW50SW5qZWN0b3IsXG4gIE9uRGVzdHJveSxcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIFNLWV9TVEFDS0lOR19DT05URVhULFxuICBTa3lBcHBXaW5kb3dSZWYsXG4gIFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU1vZGFsc1Jlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktbW9kYWxzLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9tb2RhbC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHQgfSBmcm9tICcuL21vZGFsLWhvc3QtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4vbW9kYWwtaW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtaG9zdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1ob3N0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtaG9zdC5jb21wb25lbnQuc2NzcyddLFxuICB2aWV3UHJvdmlkZXJzOiBbU2t5TW9kYWxBZGFwdGVyU2VydmljZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgU2t5TW9kYWxzUmVzb3VyY2VzTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxIb3N0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIGJhY2tkcm9wWkluZGV4ID0gdG9TaWduYWwoU2t5TW9kYWxIb3N0U2VydmljZS5iYWNrZHJvcFpJbmRleENoYW5nZSk7XG4gIHByb3RlY3RlZCBtb2RhbENvdW50ID0gdG9TaWduYWwoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudENoYW5nZSk7XG5cbiAgQFZpZXdDaGlsZCgndGFyZ2V0Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkO1xuXG4gICNtb2RhbEluc3RhbmNlczogU2t5TW9kYWxJbnN0YW5jZVtdID0gW107XG5cbiAgcmVhZG9ubHkgI2FkYXB0ZXIgPSBpbmplY3QoU2t5TW9kYWxBZGFwdGVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNkeW5hbWljQ29tcG9uZW50U3ZjID0gaW5qZWN0KFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2VsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICByZWFkb25seSAjZW52aXJvbm1lbnRJbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKTtcbiAgcmVhZG9ubHkgI21vZGFsSG9zdENvbnRleHQgPSBpbmplY3QoU2t5TW9kYWxIb3N0Q29udGV4dCk7XG4gIHJlYWRvbmx5ICNyb3V0ZXIgPSBpbmplY3QoUm91dGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICByZWFkb25seSAjd2luZG93UmVmID0gaW5qZWN0KFNreUFwcFdpbmRvd1JlZik7XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIENsb3NlIGFsbCBtb2RhbCBpbnN0YW5jZXMgYmVmb3JlIGRpc3Bvc2luZyBvZiB0aGUgaG9zdCBjb250YWluZXIuXG4gICAgdGhpcy4jY2xvc2VBbGxNb2RhbEluc3RhbmNlcygpO1xuICAgIHRoaXMuI21vZGFsSG9zdENvbnRleHQuYXJncy50ZWFyZG93bkNhbGxiYWNrKCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbjxUPihcbiAgICBtb2RhbEluc3RhbmNlOiBTa3lNb2RhbEluc3RhbmNlLFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc/OiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UsXG4gICAgZW52aXJvbm1lbnRJbmplY3Rvcj86IEVudmlyb25tZW50SW5qZWN0b3IsXG4gICk6IHZvaWQge1xuICAgIC8qIElnbm9yZSBjb3ZlcmFnZSBhcyB3ZSBzcGVjaWZ5IHRoZSB0YXJnZXQgZWxlbWVudCBhbmQgc28gdGhlIHZpZXcgY2hpbGQgc2hvdWxkIG5ldmVyIGJlIHVuZGVmaW5lZCB1bmxlc3NcbiAgICAgKiB3ZSB3ZXJlIHRvIGNhbGwgdGhlIGBvcGVuYCBtZXRob2QgaW4gYW4gZWFybHkgbGlmZWN5Y2xlIGhvb2suICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpO1xuXG4gICAgY29uc3QgaG9zdFNlcnZpY2UgPSBuZXcgU2t5TW9kYWxIb3N0U2VydmljZSgpO1xuICAgIGhvc3RTZXJ2aWNlLmZ1bGxQYWdlID0gISFwYXJhbXMuZnVsbFBhZ2U7XG5cbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy4jYWRhcHRlcjtcbiAgICBjb25zdCBtb2RhbE9wZW5lcjogSFRNTEVsZW1lbnQgPSBhZGFwdGVyLmdldE1vZGFsT3BlbmVyKCk7XG5cbiAgICBsZXQgaXNPcGVuID0gdHJ1ZTtcblxuICAgIHBhcmFtcy5wcm92aWRlcnMgfHw9IFtdO1xuICAgIHBhcmFtcy5wcm92aWRlcnMucHVzaChcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogU2t5TW9kYWxIb3N0U2VydmljZSxcbiAgICAgICAgdXNlVmFsdWU6IGhvc3RTZXJ2aWNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogU2t5TW9kYWxDb25maWd1cmF0aW9uLFxuICAgICAgICB1c2VWYWx1ZTogcGFyYW1zLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogU0tZX1NUQUNLSU5HX0NPTlRFWFQsXG4gICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgekluZGV4OiBuZXcgQmVoYXZpb3JTdWJqZWN0KGhvc3RTZXJ2aWNlLmdldE1vZGFsWkluZGV4KCkpXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbChtb2RhbEluc3RhbmNlLmNsb3NlZCkpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgYWRhcHRlci5zZXRQYWdlU2Nyb2xsKFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwKTtcbiAgICBhZGFwdGVyLnRvZ2dsZUZ1bGxQYWdlTW9kYWxDbGFzcyhcbiAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2UuZnVsbFBhZ2VNb2RhbENvdW50ID4gMCxcbiAgICApO1xuXG4gICAgZW52aXJvbm1lbnRJbmplY3RvciB8fD0gdGhpcy4jZW52aXJvbm1lbnRJbmplY3RvcjtcbiAgICBjb25zdCBtb2RhbENvbXBvbmVudFJlZiA9IHRoaXMuI2R5bmFtaWNDb21wb25lbnRTdmMuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgY29tcG9uZW50LFxuICAgICAge1xuICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yOiBlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICBwcm92aWRlcnM6IHBhcmFtcy5wcm92aWRlcnMsXG4gICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudGFyZ2V0LFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgLy8gbW9kYWwgZWxlbWVudCB0aGF0IHdhcyBqdXN0IG9wZW5lZFxuICAgIGNvbnN0IG1vZGFsRWxlbWVudCA9IG1vZGFsQ29tcG9uZW50UmVmLmxvY2F0aW9uO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5hZGFwdGVyID0gdGhpcy4jYWRhcHRlcjtcbiAgICBtb2RhbEluc3RhbmNlLmNvbXBvbmVudFJlZiA9IG1vZGFsQ29tcG9uZW50UmVmO1xuXG4gICAgdGhpcy4jcmVnaXN0ZXJNb2RhbEluc3RhbmNlKG1vZGFsSW5zdGFuY2UpO1xuXG4gICAgLy8gQWRkaW5nIGEgdGltZW91dCB0byBhdm9pZCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yLlxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQwNTYyODQ1XG4gICAgdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2FkYXB0ZXIuZm9jdXNGaXJzdEVsZW1lbnQobW9kYWxFbGVtZW50KTtcblxuICAgICAgLy8gaGlkaW5nIGFsbCBlbGVtZW50cyBhdCB0aGUgbW9kYWwtaG9zdCBsZXZlbCBmcm9tIHNjcmVlbiByZWFkZXJzIHdoZW4gdGhlIGEgbW9kYWwgaXMgb3BlbmVkXG4gICAgICB0aGlzLiNhZGFwdGVyLmhpZGVIb3N0U2libGluZ3NGcm9tU2NyZWVuUmVhZGVycyh0aGlzLiNlbFJlZik7XG4gICAgICBpZiAoXG4gICAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAxICYmXG4gICAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2UudG9wTW9kYWwgPT09IGhvc3RTZXJ2aWNlXG4gICAgICApIHtcbiAgICAgICAgLy8gaGlkaW5nIHRoZSBsb3dlciBtb2RhbHMgd2hlbiBtb3JlIHRoYW4gb25lIG1vZGFsIGlzIG9wZW5lZFxuICAgICAgICB0aGlzLiNhZGFwdGVyLmhpZGVQcmV2aW91c01vZGFsRnJvbVNjcmVlblJlYWRlcnMobW9kYWxFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGNsb3NlTW9kYWwgPSAoKTogdm9pZCA9PiB7XG4gICAgICAvLyB1bmhpZGUgc2libGluZ3MgaWYgbGFzdCBtb2RhbCBpcyBjbG9zaW5nXG4gICAgICBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA9PT0gMSkge1xuICAgICAgICB0aGlzLiNhZGFwdGVyLnVuaGlkZU9yUmVzdG9yZUhvc3RTaWJsaW5nc0Zyb21TY3JlZW5SZWFkZXJzKCk7XG4gICAgICB9IGVsc2UgaWYgKFNreU1vZGFsSG9zdFNlcnZpY2UudG9wTW9kYWwgPT09IGhvc3RTZXJ2aWNlKSB7XG4gICAgICAgIC8vIGlmIHRoZXJlIGFyZSBtb3JlIHRoYW4gMSBtb2RhbCB0aGVuIHVuaGlkZSB0aGUgb25lIGJlaGluZCB0aGlzIG9uZSBiZWZvcmUgY2xvc2luZyBpdFxuICAgICAgICB0aGlzLiNhZGFwdGVyLnVuaGlkZVByZXZpb3VzTW9kYWxGcm9tU2NyZWVuUmVhZGVycyhtb2RhbEVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBob3N0U2VydmljZS5kZXN0cm95KCk7XG4gICAgICBhZGFwdGVyLnNldFBhZ2VTY3JvbGwoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDApO1xuICAgICAgYWRhcHRlci50b2dnbGVGdWxsUGFnZU1vZGFsQ2xhc3MoXG4gICAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2UuZnVsbFBhZ2VNb2RhbENvdW50ID4gMCxcbiAgICAgICk7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICBpZiAobW9kYWxPcGVuZXIgJiYgbW9kYWxPcGVuZXIuZm9jdXMpIHtcbiAgICAgICAgbW9kYWxPcGVuZXIuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIG1vZGFsQ29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgaG9zdFNlcnZpY2Uub3BlbkhlbHAuc3Vic2NyaWJlKChoZWxwS2V5KSA9PiB7XG4gICAgICBtb2RhbEluc3RhbmNlLm9wZW5IZWxwKGhlbHBLZXkpO1xuICAgIH0pO1xuXG4gICAgaG9zdFNlcnZpY2UuY2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIG1vZGFsSW5zdGFuY2UuY2xvc2UoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuI3JvdXRlcj8uZXZlbnRzLnBpcGUodGFrZVdoaWxlKCgpID0+IGlzT3BlbikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlzT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy4jdW5yZWdpc3Rlck1vZGFsSW5zdGFuY2UobW9kYWxJbnN0YW5jZSk7XG4gICAgICBjbG9zZU1vZGFsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBOZWNlc3NhcnkgaWYgdGhlIGhvc3Qgd2FzIGNyZWF0ZWQgdmlhIGEgY29uc3VtZXIncyBsaWZlY3ljbGUgaG9vayBzdWNoIGFzIG5nT25Jbml0XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgI3JlZ2lzdGVyTW9kYWxJbnN0YW5jZShpbnN0YW5jZTogU2t5TW9kYWxJbnN0YW5jZSk6IHZvaWQge1xuICAgIHRoaXMuI21vZGFsSW5zdGFuY2VzLnB1c2goaW5zdGFuY2UpO1xuICB9XG5cbiAgI3VucmVnaXN0ZXJNb2RhbEluc3RhbmNlKGluc3RhbmNlOiBTa3lNb2RhbEluc3RhbmNlKTogdm9pZCB7XG4gICAgdGhpcy4jbW9kYWxJbnN0YW5jZXMuc2xpY2UodGhpcy4jbW9kYWxJbnN0YW5jZXMuaW5kZXhPZihpbnN0YW5jZSksIDEpO1xuICB9XG5cbiAgI2Nsb3NlQWxsTW9kYWxJbnN0YW5jZXMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpbnN0YW5jZSBvZiB0aGlzLiNtb2RhbEluc3RhbmNlcykge1xuICAgICAgaW5zdGFuY2UuY2xvc2UoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktbW9kYWwtaG9zdC1iYWNrZHJvcFwiXG4gIFtoaWRkZW5dPVwibW9kYWxDb3VudCgpID09PSAwXCJcbiAgW25nU3R5bGVdPVwie1xuICAgIHpJbmRleDogYmFja2Ryb3BaSW5kZXgoKVxuICB9XCJcbj48L2Rpdj5cbjxkaXYgI3RhcmdldD48L2Rpdj5cbiJdfQ==","import { EnvironmentInjector, Injectable, inject, } from '@angular/core';\nimport { SkyModalHostContext } from './modal-host-context';\nimport { SkyModalHostComponent } from './modal-host.component';\nimport { SkyModalInstance } from './modal-instance';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * A service that launches modals.\n */\nexport class SkyModalService {\n #dynamicComponentService;\n #environmentInjector = inject(EnvironmentInjector);\n constructor(dynamicComponentService) {\n this.#dynamicComponentService = dynamicComponentService;\n }\n /**\n * @internal\n * Removes the modal host from the DOM.\n */\n dispose() {\n if (SkyModalService.host) {\n this.#dynamicComponentService.removeComponent(SkyModalService.host);\n SkyModalService.host = undefined;\n }\n }\n /**\n * Opens a modal using the specified component.\n * @param component Determines the component to render.\n * @param {SkyModalConfigurationInterface} config Specifies configuration options for the modal.\n */\n open(component, config) {\n const modalInstance = new SkyModalInstance();\n if (!SkyModalService.host) {\n SkyModalService.host = this.#createHostComponent();\n }\n const params = this.#getConfigFromParameter(config);\n params.providers ||= [];\n params.providers.push({\n provide: SkyModalInstance,\n useValue: modalInstance,\n });\n if (SkyModalService.host) {\n SkyModalService.host.instance.open(modalInstance, component, params, this.#environmentInjector);\n }\n return modalInstance;\n }\n #getConfigFromParameter(providersOrConfig) {\n const defaultParams = {\n providers: [],\n fullPage: false,\n size: 'medium',\n tiledBody: false,\n };\n let params = {};\n let method = undefined;\n // Object Literal Lookup for backwards compatibility.\n method = {\n 'providers?': Object.assign({}, defaultParams, {\n providers: providersOrConfig,\n }),\n config: Object.assign({}, defaultParams, providersOrConfig),\n };\n if (Array.isArray(providersOrConfig) === true) {\n params = method['providers?'];\n }\n else {\n params = method['config'];\n }\n return params;\n }\n #createHostComponent() {\n const componentRef = this.#dynamicComponentService.createComponent(SkyModalHostComponent, {\n environmentInjector: this.#environmentInjector,\n providers: [\n {\n provide: SkyModalHostContext,\n useValue: new SkyModalHostContext({\n teardownCallback: () => {\n this.dispose();\n },\n }),\n },\n ],\n });\n return componentRef;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalService, deps: [{ token: i1.SkyDynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.SkyDynamicComponentService }] });\n/**\n * A service that launches modals.\n * @internal\n * @deprecated Use `SkyModalService` to open a standalone component instead.\n */\nexport class SkyModalLegacyService extends SkyModalService {\n /* istanbul ignore next */\n constructor(dynamicComponentSvc) {\n super(dynamicComponentSvc);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalLegacyService, deps: [{ token: i1.SkyDynamicComponentLegacyService }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalLegacyService, providedIn: 'any' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalLegacyService, decorators: [{\n type: Injectable,\n args: [{\n // Must be 'any' so that the modal component is created in the context of its module's injector.\n // If set to 'root', the component's dependency injections would only be derived from the root\n // injector and may lose context if the modal was opened from within a lazy-loaded module.\n providedIn: 'any',\n }]\n }], ctorParameters: () => [{ type: i1.SkyDynamicComponentLegacyService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixVQUFVLEVBQ1YsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFJcEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQUcxQix3QkFBd0IsQ0FBNkI7SUFDckQsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFbkQsWUFBWSx1QkFBbUQ7UUFDN0QsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHVCQUF1QixDQUFDO0lBQzFELENBQUM7SUFFRDs7O09BR0c7SUFDSSxPQUFPO1FBQ1osSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEUsZUFBZSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksSUFBSSxDQUNULFNBQWMsRUFDZCxNQUErQztRQUUvQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFFN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixlQUFlLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3JELENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFcEQsTUFBTSxDQUFDLFNBQVMsS0FBSyxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUUsYUFBYTtTQUN4QixDQUFDLENBQUM7UUFFSCxJQUFJLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hDLGFBQWEsRUFDYixTQUFTLEVBQ1QsTUFBTSxFQUNOLElBQUksQ0FBQyxvQkFBb0IsQ0FDMUIsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsdUJBQXVCLENBQ3JCLGlCQUFzQjtRQUV0QixNQUFNLGFBQWEsR0FBbUM7WUFDcEQsU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsS0FBSztZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztRQUNGLElBQUksTUFBTSxHQUFtQyxFQUFFLENBQUM7UUFDaEQsSUFBSSxNQUFNLEdBQVEsU0FBUyxDQUFDO1FBRTVCLHFEQUFxRDtRQUNyRCxNQUFNLEdBQUc7WUFDUCxZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFO2dCQUM3QyxTQUFTLEVBQUUsaUJBQWlCO2FBQzdCLENBQUM7WUFDRixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDO1NBQzVELENBQUM7UUFFRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM5QyxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxDQUNoRSxxQkFBcUIsRUFDckI7WUFDRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQzlDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixRQUFRLEVBQUUsSUFBSSxtQkFBbUIsQ0FBQzt3QkFDaEMsZ0JBQWdCLEVBQUUsR0FBUyxFQUFFOzRCQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQ2pCLENBQUM7cUJBQ0YsQ0FBQztpQkFDSDthQUNGO1NBQ0YsQ0FDRixDQUFDO1FBRUYsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs4R0F4R1UsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBNEdEOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQUN4RCwwQkFBMEI7SUFDMUIsWUFBWSxtQkFBcUQ7UUFDL0QsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDN0IsQ0FBQzs4R0FKVSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQUZwQixLQUFLOzsyRkFFTixxQkFBcUI7a0JBTmpDLFVBQVU7bUJBQUM7b0JBQ1YsZ0dBQWdHO29CQUNoRyw4RkFBOEY7b0JBQzlGLDBGQUEwRjtvQkFDMUYsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBJbmplY3RhYmxlLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5RHluYW1pY0NvbXBvbmVudExlZ2FjeVNlcnZpY2UsXG4gIFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHQgfSBmcm9tICcuL21vZGFsLWhvc3QtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLWhvc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNreU1vZGFsSW5zdGFuY2UgfSBmcm9tICcuL21vZGFsLWluc3RhbmNlJztcbmltcG9ydCB7IFNreU1vZGFsU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4vbW9kYWwtc2VydmljZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEEgc2VydmljZSB0aGF0IGxhdW5jaGVzIG1vZGFscy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsU2VydmljZSBpbXBsZW1lbnRzIFNreU1vZGFsU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgc3RhdGljIGhvc3Q6IENvbXBvbmVudFJlZjxTa3lNb2RhbEhvc3RDb21wb25lbnQ+IHwgdW5kZWZpbmVkOyAvLyA8LS0gaG93IGRvIHdlIGhhbmRsZSBvbmx5IGhhdmluZyBvbmUgb2YgdGhlc2U/XG5cbiAgI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZTtcbiAgI2Vudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG5cbiAgY29uc3RydWN0b3IoZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlKSB7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UgPSBkeW5hbWljQ29tcG9uZW50U2VydmljZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogUmVtb3ZlcyB0aGUgbW9kYWwgaG9zdCBmcm9tIHRoZSBET00uXG4gICAqL1xuICBwdWJsaWMgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICBpZiAoU2t5TW9kYWxTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIHRoaXMuI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLnJlbW92ZUNvbXBvbmVudChTa3lNb2RhbFNlcnZpY2UuaG9zdCk7XG4gICAgICBTa3lNb2RhbFNlcnZpY2UuaG9zdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgYSBtb2RhbCB1c2luZyB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCBEZXRlcm1pbmVzIHRoZSBjb21wb25lbnQgdG8gcmVuZGVyLlxuICAgKiBAcGFyYW0ge1NreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZX0gY29uZmlnIFNwZWNpZmllcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBtb2RhbC5cbiAgICovXG4gIHB1YmxpYyBvcGVuKFxuICAgIGNvbXBvbmVudDogYW55LFxuICAgIGNvbmZpZz86IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSB8IGFueVtdLFxuICApOiBTa3lNb2RhbEluc3RhbmNlIHtcbiAgICBjb25zdCBtb2RhbEluc3RhbmNlID0gbmV3IFNreU1vZGFsSW5zdGFuY2UoKTtcblxuICAgIGlmICghU2t5TW9kYWxTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIFNreU1vZGFsU2VydmljZS5ob3N0ID0gdGhpcy4jY3JlYXRlSG9zdENvbXBvbmVudCgpO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuI2dldENvbmZpZ0Zyb21QYXJhbWV0ZXIoY29uZmlnKTtcblxuICAgIHBhcmFtcy5wcm92aWRlcnMgfHw9IFtdO1xuICAgIHBhcmFtcy5wcm92aWRlcnMucHVzaCh7XG4gICAgICBwcm92aWRlOiBTa3lNb2RhbEluc3RhbmNlLFxuICAgICAgdXNlVmFsdWU6IG1vZGFsSW5zdGFuY2UsXG4gICAgfSk7XG5cbiAgICBpZiAoU2t5TW9kYWxTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIFNreU1vZGFsU2VydmljZS5ob3N0Lmluc3RhbmNlLm9wZW4oXG4gICAgICAgIG1vZGFsSW5zdGFuY2UsXG4gICAgICAgIGNvbXBvbmVudCxcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICB0aGlzLiNlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9kYWxJbnN0YW5jZTtcbiAgfVxuXG4gICNnZXRDb25maWdGcm9tUGFyYW1ldGVyKFxuICAgIHByb3ZpZGVyc09yQ29uZmlnOiBhbnksXG4gICk6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSB7XG4gICAgY29uc3QgZGVmYXVsdFBhcmFtczogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlID0ge1xuICAgICAgcHJvdmlkZXJzOiBbXSxcbiAgICAgIGZ1bGxQYWdlOiBmYWxzZSxcbiAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgdGlsZWRCb2R5OiBmYWxzZSxcbiAgICB9O1xuICAgIGxldCBwYXJhbXM6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSA9IHt9O1xuICAgIGxldCBtZXRob2Q6IGFueSA9IHVuZGVmaW5lZDtcblxuICAgIC8vIE9iamVjdCBMaXRlcmFsIExvb2t1cCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gICAgbWV0aG9kID0ge1xuICAgICAgJ3Byb3ZpZGVycz8nOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0UGFyYW1zLCB7XG4gICAgICAgIHByb3ZpZGVyczogcHJvdmlkZXJzT3JDb25maWcsXG4gICAgICB9KSxcbiAgICAgIGNvbmZpZzogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFBhcmFtcywgcHJvdmlkZXJzT3JDb25maWcpLFxuICAgIH07XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwcm92aWRlcnNPckNvbmZpZykgPT09IHRydWUpIHtcbiAgICAgIHBhcmFtcyA9IG1ldGhvZFsncHJvdmlkZXJzPyddO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbXMgPSBtZXRob2RbJ2NvbmZpZyddO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICAjY3JlYXRlSG9zdENvbXBvbmVudCgpOiBDb21wb25lbnRSZWY8U2t5TW9kYWxIb3N0Q29tcG9uZW50PiB7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgU2t5TW9kYWxIb3N0Q29tcG9uZW50LFxuICAgICAge1xuICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLiNlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBTa3lNb2RhbEhvc3RDb250ZXh0LFxuICAgICAgICAgICAgdXNlVmFsdWU6IG5ldyBTa3lNb2RhbEhvc3RDb250ZXh0KHtcbiAgICAgICAgICAgICAgdGVhcmRvd25DYWxsYmFjazogKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcG9zZSgpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cbn1cblxuLyoqXG4gKiBBIHNlcnZpY2UgdGhhdCBsYXVuY2hlcyBtb2RhbHMuXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkIFVzZSBgU2t5TW9kYWxTZXJ2aWNlYCB0byBvcGVuIGEgc3RhbmRhbG9uZSBjb21wb25lbnQgaW5zdGVhZC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAvLyBNdXN0IGJlICdhbnknIHNvIHRoYXQgdGhlIG1vZGFsIGNvbXBvbmVudCBpcyBjcmVhdGVkIGluIHRoZSBjb250ZXh0IG9mIGl0cyBtb2R1bGUncyBpbmplY3Rvci5cbiAgLy8gSWYgc2V0IHRvICdyb290JywgdGhlIGNvbXBvbmVudCdzIGRlcGVuZGVuY3kgaW5qZWN0aW9ucyB3b3VsZCBvbmx5IGJlIGRlcml2ZWQgZnJvbSB0aGUgcm9vdFxuICAvLyBpbmplY3RvciBhbmQgbWF5IGxvc2UgY29udGV4dCBpZiB0aGUgbW9kYWwgd2FzIG9wZW5lZCBmcm9tIHdpdGhpbiBhIGxhenktbG9hZGVkIG1vZHVsZS5cbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsTGVnYWN5U2VydmljZSBleHRlbmRzIFNreU1vZGFsU2VydmljZSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKGR5bmFtaWNDb21wb25lbnRTdmM6IFNreUR5bmFtaWNDb21wb25lbnRMZWdhY3lTZXJ2aWNlKSB7XG4gICAgc3VwZXIoZHluYW1pY0NvbXBvbmVudFN2Yyk7XG4gIH1cbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { SKY_CONFIRM_CONFIG } from './confirm-config-token';\nimport { SkyConfirmInstance } from './confirm-instance';\nimport { SkyConfirmComponent } from './confirm.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../modal/modal.service\";\n/**\n * Launches a dialog.\n */\nexport class SkyConfirmService {\n #modalService;\n constructor(modalService) {\n this.#modalService = modalService;\n }\n /**\n * Opens a dialog using the specified options.\n * @param config Specifies configuration options for the dialog.\n */\n open(config) {\n const confirmInstance = new SkyConfirmInstance();\n this.#modalService.open(SkyConfirmComponent, {\n providers: [\n {\n provide: SKY_CONFIRM_CONFIG,\n useValue: config,\n },\n {\n provide: SkyConfirmInstance,\n useValue: confirmInstance,\n },\n ],\n });\n return confirmInstance;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmService, deps: [{ token: i1.SkyModalService }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.SkyModalService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvY29uZmlybS9jb25maXJtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRTFEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixhQUFhLENBQWtCO0lBRS9CLFlBQVksWUFBNkI7UUFDdkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLElBQUksQ0FBQyxNQUF3QjtRQUNsQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDM0MsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixRQUFRLEVBQUUsZUFBZTtpQkFDMUI7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7OEdBNUJVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsU2VydmljZSB9IGZyb20gJy4uL21vZGFsL21vZGFsLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lDb25maXJtQ29uZmlnIH0gZnJvbSAnLi9jb25maXJtLWNvbmZpZyc7XG5pbXBvcnQgeyBTS1lfQ09ORklSTV9DT05GSUcgfSBmcm9tICcuL2NvbmZpcm0tY29uZmlnLXRva2VuJztcbmltcG9ydCB7IFNreUNvbmZpcm1JbnN0YW5jZSB9IGZyb20gJy4vY29uZmlybS1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lDb25maXJtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4vY29uZmlybS1zZXJ2aWNlLWludGVyZmFjZSc7XG5pbXBvcnQgeyBTa3lDb25maXJtQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maXJtLmNvbXBvbmVudCc7XG5cbi8qKlxuICogTGF1bmNoZXMgYSBkaWFsb2cuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtU2VydmljZSBpbXBsZW1lbnRzIFNreUNvbmZpcm1TZXJ2aWNlSW50ZXJmYWNlIHtcbiAgI21vZGFsU2VydmljZTogU2t5TW9kYWxTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKG1vZGFsU2VydmljZTogU2t5TW9kYWxTZXJ2aWNlKSB7XG4gICAgdGhpcy4jbW9kYWxTZXJ2aWNlID0gbW9kYWxTZXJ2aWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgZGlhbG9nIHVzaW5nIHRoZSBzcGVjaWZpZWQgb3B0aW9ucy5cbiAgICogQHBhcmFtIGNvbmZpZyBTcGVjaWZpZXMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgZGlhbG9nLlxuICAgKi9cbiAgcHVibGljIG9wZW4oY29uZmlnOiBTa3lDb25maXJtQ29uZmlnKTogU2t5Q29uZmlybUluc3RhbmNlIHtcbiAgICBjb25zdCBjb25maXJtSW5zdGFuY2UgPSBuZXcgU2t5Q29uZmlybUluc3RhbmNlKCk7XG5cbiAgICB0aGlzLiNtb2RhbFNlcnZpY2Uub3BlbihTa3lDb25maXJtQ29tcG9uZW50LCB7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFNLWV9DT05GSVJNX0NPTkZJRyxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU2t5Q29uZmlybUluc3RhbmNlLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maXJtSW5zdGFuY2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvbmZpcm1JbnN0YW5jZTtcbiAgfVxufVxuIl19","import { CommonModule } from '@angular/common';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\nimport { SkyModalErrorsService } from './modal-errors.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"@skyux/indicators\";\n/**\n * Specifies content to display in the modal's footer.\n */\nexport class SkyModalFooterComponent {\n constructor() {\n this.errorsSvc = inject(SkyModalErrorsService);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyModalFooterComponent, isStandalone: true, selector: \"sky-modal-footer\", hostDirectives: [{ directive: i1.SkyResponsiveHostDirective }], ngImport: i0, template: \"<div class=\\\"sky-modal-footer-container\\\">\\n <div aria-live=\\\"polite\\\">\\n @if (errorsSvc.formErrors | async; as formErrors) {\\n @if (formErrors.length > 0) {\\n <div\\n class=\\\"sky-modal-footer-errors sky-margin-stacked-lg sky-errors-overflow\\\"\\n tabindex=\\\"0\\\"\\n >\\n @for (formError of formErrors; track formError.message) {\\n <sky-status-indicator\\n descriptionType=\\\"error\\\"\\n indicatorType=\\\"danger\\\"\\n [ngClass]=\\\"{\\n 'sky-margin-stacked-sm':\\n formErrors.indexOf(formError) < formErrors.length - 1,\\n 'footer-error': true\\n }\\\"\\n >\\n {{ formError.message }}\\n </sky-status-indicator>\\n }\\n </div>\\n }\\n }\\n </div>\\n <ng-content />\\n</div>\\n\", styles: [\".sky-modal-footer-container:not(.sky-theme-modern *){--sky-override-modal-footer-border-top: 1px solid #e2e3e4;--sky-override-modal-footer-btn-btn-link-margin: -2px;--sky-override-modal-footer-btn-btn-margin: 10px;--sky-override-modal-footer-padding: 15px}sky-modal-footer{display:block}.sky-modal-footer-container{background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));border-top:var(--sky-override-modal-footer-border-top, none);padding:var(--sky-override-modal-footer-padding, var(--sky-comp-modal-footer-space-inset-top) var(--sky-comp-modal-footer-space-inset-right) var(--sky-comp-modal-footer-space-inset-bottom) var(--sky-comp-modal-footer-space-inset-left))}.sky-modal-footer-container .sky-btn+.sky-btn{margin-left:var(--sky-override-modal-footer-btn-btn-margin, var(--sky-space-gap-action_group-m))}.sky-modal-footer-container .sky-btn+.sky-btn-link{margin-left:var(--sky-override-modal-footer-btn-btn-link-margin, var(--sky-space-gap-action_group-m))}.sky-modal-footer-container .sky-modal-footer-errors .footer-error{display:block}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"ngmodule\", type: SkyStatusIndicatorModule }, { kind: \"component\", type: i3.λ10, selector: \"sky-status-indicator\", inputs: [\"indicatorType\", \"descriptionType\", \"customDescription\", \"helpPopoverContent\", \"helpPopoverTitle\", \"helpKey\"] }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalFooterComponent, decorators: [{\n type: Component,\n args: [{ hostDirectives: [SkyResponsiveHostDirective], selector: 'sky-modal-footer', encapsulation: ViewEncapsulation.None, imports: [CommonModule, SkyStatusIndicatorModule], template: \"<div class=\\\"sky-modal-footer-container\\\">\\n <div aria-live=\\\"polite\\\">\\n @if (errorsSvc.formErrors | async; as formErrors) {\\n @if (formErrors.length > 0) {\\n <div\\n class=\\\"sky-modal-footer-errors sky-margin-stacked-lg sky-errors-overflow\\\"\\n tabindex=\\\"0\\\"\\n >\\n @for (formError of formErrors; track formError.message) {\\n <sky-status-indicator\\n descriptionType=\\\"error\\\"\\n indicatorType=\\\"danger\\\"\\n [ngClass]=\\\"{\\n 'sky-margin-stacked-sm':\\n formErrors.indexOf(formError) < formErrors.length - 1,\\n 'footer-error': true\\n }\\\"\\n >\\n {{ formError.message }}\\n </sky-status-indicator>\\n }\\n </div>\\n }\\n }\\n </div>\\n <ng-content />\\n</div>\\n\", styles: [\".sky-modal-footer-container:not(.sky-theme-modern *){--sky-override-modal-footer-border-top: 1px solid #e2e3e4;--sky-override-modal-footer-btn-btn-link-margin: -2px;--sky-override-modal-footer-btn-btn-margin: 10px;--sky-override-modal-footer-padding: 15px}sky-modal-footer{display:block}.sky-modal-footer-container{background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));border-top:var(--sky-override-modal-footer-border-top, none);padding:var(--sky-override-modal-footer-padding, var(--sky-comp-modal-footer-space-inset-top) var(--sky-comp-modal-footer-space-inset-right) var(--sky-comp-modal-footer-space-inset-bottom) var(--sky-comp-modal-footer-space-inset-left))}.sky-modal-footer-container .sky-btn+.sky-btn{margin-left:var(--sky-override-modal-footer-btn-btn-margin, var(--sky-space-gap-action_group-m))}.sky-modal-footer-container .sky-btn+.sky-btn-link{margin-left:var(--sky-override-modal-footer-btn-btn-link-margin, var(--sky-space-gap-action_group-m))}.sky-modal-footer-container .sky-modal-footer-errors .footer-error{display:block}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFFL0Q7O0dBRUc7QUFTSCxNQUFNLE9BQU8sdUJBQXVCO0lBUnBDO1FBU3FCLGNBQVMsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztLQUM5RDs4R0FGWSx1QkFBdUI7a0dBQXZCLHVCQUF1Qiw0SUNsQnBDLG0yQkEyQkEsZ29DRFhZLFlBQVksNEhBQUUsd0JBQXdCOzsyRkFFckMsdUJBQXVCO2tCQVJuQyxTQUFTO3FDQUNRLENBQUMsMEJBQTBCLENBQUMsWUFDbEMsa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxZQUFZLEVBQUUsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreVN0YXR1c0luZGljYXRvck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcblxuaW1wb3J0IHsgU2t5TW9kYWxFcnJvcnNTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1lcnJvcnMuc2VydmljZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIGNvbnRlbnQgdG8gZGlzcGxheSBpbiB0aGUgbW9kYWwncyBmb290ZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBob3N0RGlyZWN0aXZlczogW1NreVJlc3BvbnNpdmVIb3N0RGlyZWN0aXZlXSxcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtZm9vdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWZvb3Rlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLWZvb3Rlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTa3lTdGF0dXNJbmRpY2F0b3JNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEZvb3RlckNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBlcnJvcnNTdmMgPSBpbmplY3QoU2t5TW9kYWxFcnJvcnNTZXJ2aWNlKTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktbW9kYWwtZm9vdGVyLWNvbnRhaW5lclwiPlxuICA8ZGl2IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgIEBpZiAoZXJyb3JzU3ZjLmZvcm1FcnJvcnMgfCBhc3luYzsgYXMgZm9ybUVycm9ycykge1xuICAgICAgQGlmIChmb3JtRXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwic2t5LW1vZGFsLWZvb3Rlci1lcnJvcnMgc2t5LW1hcmdpbi1zdGFja2VkLWxnIHNreS1lcnJvcnMtb3ZlcmZsb3dcIlxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgID5cbiAgICAgICAgICBAZm9yIChmb3JtRXJyb3Igb2YgZm9ybUVycm9yczsgdHJhY2sgZm9ybUVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIDxza3ktc3RhdHVzLWluZGljYXRvclxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblR5cGU9XCJlcnJvclwiXG4gICAgICAgICAgICAgIGluZGljYXRvclR5cGU9XCJkYW5nZXJcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ3NreS1tYXJnaW4tc3RhY2tlZC1zbSc6XG4gICAgICAgICAgICAgICAgICBmb3JtRXJyb3JzLmluZGV4T2YoZm9ybUVycm9yKSA8IGZvcm1FcnJvcnMubGVuZ3RoIC0gMSxcbiAgICAgICAgICAgICAgICAnZm9vdGVyLWVycm9yJzogdHJ1ZVxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgZm9ybUVycm9yLm1lc3NhZ2UgfX1cbiAgICAgICAgICAgIDwvc2t5LXN0YXR1cy1pbmRpY2F0b3I+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICB9XG4gIDwvZGl2PlxuICA8bmctY29udGVudCAvPlxuPC9kaXY+XG4iXX0=","import { Directive, HostBinding, Input, inject, } from '@angular/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SkyConfirmType } from '../confirm/confirm-type';\nimport { SkyConfirmService } from '../confirm/confirm.service';\nimport { SkyModalInstance } from './modal-instance';\nimport * as i0 from \"@angular/core\";\n/**\n * Provides a way to mark a modal as \"dirty\" and displays a confirmation\n * message when a user closes the modal without saving.\n */\nexport class SkyModalIsDirtyDirective {\n constructor() {\n /**\n * Whether the user edited an input on the modal.\n * @required\n */\n this.isDirty = false;\n this.#ngUnsubscribe = new Subject();\n this.#modalInstance = inject(SkyModalInstance);\n this.#confirmSvc = inject(SkyConfirmService);\n this.#resourcesSvc = inject(SkyLibResourcesService);\n }\n #ngUnsubscribe;\n #modalInstance;\n #confirmSvc;\n #resourcesSvc;\n ngOnInit() {\n this.#modalInstance.beforeClose\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((handler) => this.#promptIfDirty(handler));\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n #promptIfDirty(handler) {\n if (this.isDirty &&\n (handler.closeArgs.reason === 'close' ||\n handler.closeArgs.reason === 'cancel')) {\n this.#resourcesSvc\n .getStrings({\n message: 'skyux_modal_dirty_default_message',\n discardActionText: 'skyux_modal_dirty_default_discard_changes_text',\n keepActionText: 'skyux_modal_dirty_default_keep_working_text',\n })\n .subscribe((textValues) => {\n const discardAction = 'discard';\n const keepAction = 'keep';\n this.#confirmSvc\n .open({\n message: textValues.message,\n buttons: [\n {\n action: discardAction,\n text: textValues.discardActionText,\n styleType: 'primary',\n },\n {\n action: keepAction,\n text: textValues.keepActionText,\n styleType: 'link',\n },\n ],\n type: SkyConfirmType.Custom,\n })\n .closed.subscribe((args) => {\n if (args.action === discardAction) {\n handler.closeModal();\n }\n });\n });\n }\n else {\n handler.closeModal();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalIsDirtyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.0\", type: SkyModalIsDirtyDirective, isStandalone: true, selector: \"sky-modal[isDirty]\", inputs: { isDirty: \"isDirty\" }, host: { properties: { \"attr.data-sky-modal-is-dirty\": \"this.isDirty\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalIsDirtyDirective, decorators: [{\n type: Directive,\n args: [{\n // Since this is limited to sky-modal, it should be safe to\n // leave off the sky prefix.\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'sky-modal[isDirty]',\n }]\n }], propDecorators: { isDirty: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.data-sky-modal-is-dirty']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaXMtZGlydHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaXMtZGlydHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFcEQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHdCQUF3QjtJQU5yQztRQU9FOzs7V0FHRztRQUtJLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZCxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFckMsbUJBQWMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMxQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7S0F3RHpEO0lBNURVLGNBQWMsQ0FBdUI7SUFFckMsY0FBYyxDQUE0QjtJQUMxQyxXQUFXLENBQTZCO0lBQ3hDLGFBQWEsQ0FBa0M7SUFFakQsUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVzthQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFtQztRQUNoRCxJQUNFLElBQUksQ0FBQyxPQUFPO1lBQ1osQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxPQUFPO2dCQUNuQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsRUFDeEMsQ0FBQztZQUNELElBQUksQ0FBQyxhQUFhO2lCQUNmLFVBQVUsQ0FBQztnQkFDVixPQUFPLEVBQUUsbUNBQW1DO2dCQUM1QyxpQkFBaUIsRUFBRSxnREFBZ0Q7Z0JBQ25FLGNBQWMsRUFBRSw2Q0FBNkM7YUFDOUQsQ0FBQztpQkFDRCxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDeEIsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO2dCQUNoQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7Z0JBRTFCLElBQUksQ0FBQyxXQUFXO3FCQUNiLElBQUksQ0FBQztvQkFDSixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87b0JBQzNCLE9BQU8sRUFBRTt3QkFDUDs0QkFDRSxNQUFNLEVBQUUsYUFBYTs0QkFDckIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxpQkFBaUI7NEJBQ2xDLFNBQVMsRUFBRSxTQUFTO3lCQUNyQjt3QkFDRDs0QkFDRSxNQUFNLEVBQUUsVUFBVTs0QkFDbEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxjQUFjOzRCQUMvQixTQUFTLEVBQUUsTUFBTTt5QkFDbEI7cUJBQ0Y7b0JBQ0QsSUFBSSxFQUFFLGNBQWMsQ0FBQyxNQUFNO2lCQUM1QixDQUFDO3FCQUNELE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDekIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGFBQWEsRUFBRSxDQUFDO3dCQUNsQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ3ZCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDOzhHQXRFVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDVCwyREFBMkQ7b0JBQzNELDRCQUE0QjtvQkFDNUIsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjs4QkFVUSxPQUFPO3NCQUpiLEtBQUs7O3NCQUdMLFdBQVc7dUJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lDb25maXJtVHlwZSB9IGZyb20gJy4uL2NvbmZpcm0vY29uZmlybS10eXBlJztcbmltcG9ydCB7IFNreUNvbmZpcm1TZXJ2aWNlIH0gZnJvbSAnLi4vY29uZmlybS9jb25maXJtLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vbW9kYWwtYmVmb3JlLWNsb3NlLWhhbmRsZXInO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4vbW9kYWwtaW5zdGFuY2UnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgd2F5IHRvIG1hcmsgYSBtb2RhbCBhcyBcImRpcnR5XCIgYW5kIGRpc3BsYXlzIGEgY29uZmlybWF0aW9uXG4gKiBtZXNzYWdlIHdoZW4gYSB1c2VyIGNsb3NlcyB0aGUgbW9kYWwgd2l0aG91dCBzYXZpbmcuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAvLyBTaW5jZSB0aGlzIGlzIGxpbWl0ZWQgdG8gc2t5LW1vZGFsLCBpdCBzaG91bGQgYmUgc2FmZSB0b1xuICAvLyBsZWF2ZSBvZmYgdGhlIHNreSBwcmVmaXguXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnc2t5LW1vZGFsW2lzRGlydHldJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxJc0RpcnR5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgdXNlciBlZGl0ZWQgYW4gaW5wdXQgb24gdGhlIG1vZGFsLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIC8vIFRoaXMgYXR0cmlidXRlIGlzIGJlaW5nIGFwcGxpZWQgdG8gdGhlIGhvc3QgdG8gc3VwcG9ydFxuICAvLyB1bml0IHRlc3RpbmcgdGhpcyBmZWF0dXJlLlxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1za3ktbW9kYWwtaXMtZGlydHknKVxuICBwdWJsaWMgaXNEaXJ0eSA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5ICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICByZWFkb25seSAjbW9kYWxJbnN0YW5jZSA9IGluamVjdChTa3lNb2RhbEluc3RhbmNlKTtcbiAgcmVhZG9ubHkgI2NvbmZpcm1TdmMgPSBpbmplY3QoU2t5Q29uZmlybVNlcnZpY2UpO1xuICByZWFkb25seSAjcmVzb3VyY2VzU3ZjID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNtb2RhbEluc3RhbmNlLmJlZm9yZUNsb3NlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChoYW5kbGVyKSA9PiB0aGlzLiNwcm9tcHRJZkRpcnR5KGhhbmRsZXIpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAjcHJvbXB0SWZEaXJ0eShoYW5kbGVyOiBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcik6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuaXNEaXJ0eSAmJlxuICAgICAgKGhhbmRsZXIuY2xvc2VBcmdzLnJlYXNvbiA9PT0gJ2Nsb3NlJyB8fFxuICAgICAgICBoYW5kbGVyLmNsb3NlQXJncy5yZWFzb24gPT09ICdjYW5jZWwnKVxuICAgICkge1xuICAgICAgdGhpcy4jcmVzb3VyY2VzU3ZjXG4gICAgICAgIC5nZXRTdHJpbmdzKHtcbiAgICAgICAgICBtZXNzYWdlOiAnc2t5dXhfbW9kYWxfZGlydHlfZGVmYXVsdF9tZXNzYWdlJyxcbiAgICAgICAgICBkaXNjYXJkQWN0aW9uVGV4dDogJ3NreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfZGlzY2FyZF9jaGFuZ2VzX3RleHQnLFxuICAgICAgICAgIGtlZXBBY3Rpb25UZXh0OiAnc2t5dXhfbW9kYWxfZGlydHlfZGVmYXVsdF9rZWVwX3dvcmtpbmdfdGV4dCcsXG4gICAgICAgIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoKHRleHRWYWx1ZXMpID0+IHtcbiAgICAgICAgICBjb25zdCBkaXNjYXJkQWN0aW9uID0gJ2Rpc2NhcmQnO1xuICAgICAgICAgIGNvbnN0IGtlZXBBY3Rpb24gPSAna2VlcCc7XG5cbiAgICAgICAgICB0aGlzLiNjb25maXJtU3ZjXG4gICAgICAgICAgICAub3Blbih7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IHRleHRWYWx1ZXMubWVzc2FnZSxcbiAgICAgICAgICAgICAgYnV0dG9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGFjdGlvbjogZGlzY2FyZEFjdGlvbixcbiAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRWYWx1ZXMuZGlzY2FyZEFjdGlvblRleHQsXG4gICAgICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGFjdGlvbjoga2VlcEFjdGlvbixcbiAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRWYWx1ZXMua2VlcEFjdGlvblRleHQsXG4gICAgICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdsaW5rJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB0eXBlOiBTa3lDb25maXJtVHlwZS5DdXN0b20sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNsb3NlZC5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGFyZ3MuYWN0aW9uID09PSBkaXNjYXJkQWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlci5jbG9zZU1vZGFsKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGFuZGxlci5jbG9zZU1vZGFsKCk7XG4gICAgfVxuICB9XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { SkyModalContentComponent } from './modal-content.component';\nimport { SkyModalFooterComponent } from './modal-footer.component';\nimport { SkyModalHeaderComponent } from './modal-header.component';\nimport { SkyModalIsDirtyDirective } from './modal-is-dirty.directive';\nimport { SkyModalComponent } from './modal.component';\nimport * as i0 from \"@angular/core\";\nexport class SkyModalModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalModule, imports: [SkyModalComponent,\n SkyModalContentComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent,\n SkyModalIsDirtyDirective], exports: [SkyModalComponent,\n SkyModalContentComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent,\n SkyModalIsDirtyDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalModule, imports: [SkyModalComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n SkyModalComponent,\n SkyModalContentComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent,\n SkyModalIsDirtyDirective,\n ],\n exports: [\n SkyModalComponent,\n SkyModalContentComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent,\n SkyModalIsDirtyDirective,\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBa0J0RCxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsWUFkdkIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsdUJBQXVCO1lBQ3ZCLHdCQUF3QixhQUd4QixpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsd0JBQXdCOytHQUdmLGNBQWMsWUFkdkIsaUJBQWlCO1lBRWpCLHVCQUF1QjtZQUN2Qix1QkFBdUI7OzJGQVdkLGNBQWM7a0JBaEIxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TW9kYWxGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TW9kYWxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TW9kYWxJc0RpcnR5RGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC1pcy1kaXJ0eS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTa3lNb2RhbENvbXBvbmVudCxcbiAgICBTa3lNb2RhbENvbnRlbnRDb21wb25lbnQsXG4gICAgU2t5TW9kYWxGb290ZXJDb21wb25lbnQsXG4gICAgU2t5TW9kYWxIZWFkZXJDb21wb25lbnQsXG4gICAgU2t5TW9kYWxJc0RpcnR5RGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5TW9kYWxDb21wb25lbnQsXG4gICAgU2t5TW9kYWxDb250ZW50Q29tcG9uZW50LFxuICAgIFNreU1vZGFsRm9vdGVyQ29tcG9uZW50LFxuICAgIFNreU1vZGFsSGVhZGVyQ29tcG9uZW50LFxuICAgIFNreU1vZGFsSXNEaXJ0eURpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtbW9kYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvc2t5dXgtbW9kYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i4","i2","i3","i1.SkyModalService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-modals.mjs","sources":["../tmp-esm2022/lib/modules/confirm/confirm-instance.js","../tmp-esm2022/lib/modules/confirm/confirm-type.js","../tmp-esm2022/lib/modules/confirm/confirm.module.js","../tmp-esm2022/lib/modules/confirm/confirm-config-token.js","../tmp-esm2022/lib/modules/modal/modal-content.component.js","../tmp-esm2022/lib/modules/modal/modal-before-close-handler.js","../tmp-esm2022/lib/modules/modal/modal-close-args.js","../tmp-esm2022/lib/modules/modal/modal-instance.js","../tmp-esm2022/lib/modules/shared/sky-modals-resources.module.js","../tmp-esm2022/lib/modules/modal/modal-component-adapter.service.js","../tmp-esm2022/lib/modules/modal/modal-configuration.js","../tmp-esm2022/lib/modules/modal/modal-errors.service.js","../tmp-esm2022/lib/modules/modal/modal-header.component.js","../tmp-esm2022/lib/modules/modal/modal-host.service.js","../tmp-esm2022/lib/modules/modal/modal.component.js","../tmp-esm2022/lib/modules/confirm/confirm.component.js","../tmp-esm2022/lib/modules/modal/modal-host-context.js","../tmp-esm2022/lib/modules/modal/modal-adapter.service.js","../tmp-esm2022/lib/modules/modal/modal-host.component.js","../tmp-esm2022/lib/modules/modal/modal.service.js","../tmp-esm2022/lib/modules/confirm/confirm.service.js","../tmp-esm2022/lib/modules/modal/modal-footer.component.js","../tmp-esm2022/lib/modules/modal/modal-is-dirty.directive.js","../tmp-esm2022/lib/modules/modal/modal.module.js","../tmp-esm2022/skyux-modals.js"],"sourcesContent":["import { ReplaySubject } from 'rxjs';\nexport class SkyConfirmInstance {\n /**\n * Fires when users select an action to close the dialog. This event\n * returns a `SkyConfirmCloseEventArgs` object with information about the button that\n * users select. It returns the `'cancel'` action when users press the <kbd>Escape</kbd> key.\n */\n get closed() {\n return this.#closedObs;\n }\n #closed = new ReplaySubject();\n #closedObs = this.#closed.asObservable();\n /**\n * Closes the confirm instance.\n * @param args Specifies an object to emit to subscribers of the `closed` event\n * of the confirm instance.\n */\n close(args) {\n this.#closed.next(args);\n this.#closed.complete();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1pbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL2NvbmZpcm0vY29uZmlybS1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWpELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7Ozs7T0FJRztJQUNILElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRVEsT0FBTyxHQUFHLElBQUksYUFBYSxFQUE0QixDQUFDO0lBQ3hELFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRWxEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsSUFBOEI7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUNvbmZpcm1DbG9zZUV2ZW50QXJncyB9IGZyb20gJy4vY29uZmlybS1jbG9zZWQtZXZlbnQtYXJncyc7XG5cbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtSW5zdGFuY2Uge1xuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgYW4gYWN0aW9uIHRvIGNsb3NlIHRoZSBkaWFsb2cuIFRoaXMgZXZlbnRcbiAgICogcmV0dXJucyBhIGBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3NgIG9iamVjdCB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSBidXR0b24gdGhhdFxuICAgKiB1c2VycyBzZWxlY3QuIEl0IHJldHVybnMgdGhlIGAnY2FuY2VsJ2AgYWN0aW9uIHdoZW4gdXNlcnMgcHJlc3MgdGhlIDxrYmQ+RXNjYXBlPC9rYmQ+IGtleS5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2xvc2VkKCk6IE9ic2VydmFibGU8U2t5Q29uZmlybUNsb3NlRXZlbnRBcmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuI2Nsb3NlZE9icztcbiAgfVxuXG4gIHJlYWRvbmx5ICNjbG9zZWQgPSBuZXcgUmVwbGF5U3ViamVjdDxTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3M+KCk7XG4gIHJlYWRvbmx5ICNjbG9zZWRPYnMgPSB0aGlzLiNjbG9zZWQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgY29uZmlybSBpbnN0YW5jZS5cbiAgICogQHBhcmFtIGFyZ3MgU3BlY2lmaWVzIGFuIG9iamVjdCB0byBlbWl0IHRvIHN1YnNjcmliZXJzIG9mIHRoZSBgY2xvc2VkYCBldmVudFxuICAgKiBvZiB0aGUgY29uZmlybSBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBjbG9zZShhcmdzOiBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLiNjbG9zZWQubmV4dChhcmdzKTtcbiAgICB0aGlzLiNjbG9zZWQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19","export var SkyConfirmType;\n(function (SkyConfirmType) {\n /**\n * Allows you to define your own buttons using the `buttons` property of `SkyConfirmConfig`.\n */\n SkyConfirmType[SkyConfirmType[\"Custom\"] = 0] = \"Custom\";\n /**\n * Displays one button with an **OK** label and an `'ok'` action.\n */\n SkyConfirmType[SkyConfirmType[\"OK\"] = 1] = \"OK\";\n /**\n * Displays two buttons with **Yes** and **Cancel** labels.\n * @deprecated Use the `Custom` type to follow the guidance that labels\n * should clearly indicate the actions that occur when users select buttons.\n */\n SkyConfirmType[SkyConfirmType[\"YesCancel\"] = 2] = \"YesCancel\";\n /**\n * Displays three buttons with **Yes**, **No**, and **Cancel** labels.\n * @deprecated Use the `Custom` type to follow the guidance that labels\n * should clearly indicate the actions that occur when users select buttons.\n */\n SkyConfirmType[SkyConfirmType[\"YesNoCancel\"] = 3] = \"YesNoCancel\";\n})(SkyConfirmType || (SkyConfirmType = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvY29uZmlybS9jb25maXJtLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksY0FxQlg7QUFyQkQsV0FBWSxjQUFjO0lBQ3hCOztPQUVHO0lBQ0gsdURBQVUsQ0FBQTtJQUNWOztPQUVHO0lBQ0gsK0NBQU0sQ0FBQTtJQUNOOzs7O09BSUc7SUFDSCw2REFBYSxDQUFBO0lBQ2I7Ozs7T0FJRztJQUNILGlFQUFlLENBQUE7QUFDakIsQ0FBQyxFQXJCVyxjQUFjLEtBQWQsY0FBYyxRQXFCekIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTa3lDb25maXJtVHlwZSB7XG4gIC8qKlxuICAgKiBBbGxvd3MgeW91IHRvIGRlZmluZSB5b3VyIG93biBidXR0b25zIHVzaW5nIHRoZSBgYnV0dG9uc2AgcHJvcGVydHkgb2YgYFNreUNvbmZpcm1Db25maWdgLlxuICAgKi9cbiAgQ3VzdG9tID0gMCxcbiAgLyoqXG4gICAqIERpc3BsYXlzIG9uZSBidXR0b24gd2l0aCBhbiAqKk9LKiogbGFiZWwgYW5kIGFuIGAnb2snYCBhY3Rpb24uXG4gICAqL1xuICBPSyA9IDEsXG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0d28gYnV0dG9ucyB3aXRoICoqWWVzKiogYW5kICoqQ2FuY2VsKiogbGFiZWxzLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGBDdXN0b21gIHR5cGUgdG8gZm9sbG93IHRoZSBndWlkYW5jZSB0aGF0IGxhYmVsc1xuICAgKiBzaG91bGQgY2xlYXJseSBpbmRpY2F0ZSB0aGUgYWN0aW9ucyB0aGF0IG9jY3VyIHdoZW4gdXNlcnMgc2VsZWN0IGJ1dHRvbnMuXG4gICAqL1xuICBZZXNDYW5jZWwgPSAyLFxuICAvKipcbiAgICogRGlzcGxheXMgdGhyZWUgYnV0dG9ucyB3aXRoICoqWWVzKiosICoqTm8qKiwgYW5kICoqQ2FuY2VsKiogbGFiZWxzLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGBDdXN0b21gIHR5cGUgdG8gZm9sbG93IHRoZSBndWlkYW5jZSB0aGF0IGxhYmVsc1xuICAgKiBzaG91bGQgY2xlYXJseSBpbmRpY2F0ZSB0aGUgYWN0aW9ucyB0aGF0IG9jY3VyIHdoZW4gdXNlcnMgc2VsZWN0IGJ1dHRvbnMuXG4gICAqL1xuICBZZXNOb0NhbmNlbCA9IDMsXG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated The `SkyConfirmModule` is no longer needed and can be removed from your application.\n * @internal\n */\nexport class SkyConfirmModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpDOzs7R0FHRztBQUVILE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFFBQVE7bUJBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhlIGBTa3lDb25maXJtTW9kdWxlYCBpcyBubyBsb25nZXIgbmVlZGVkIGFuZCBjYW4gYmUgcmVtb3ZlZCBmcm9tIHlvdXIgYXBwbGljYXRpb24uXG4gKiBAaW50ZXJuYWxcbiAqL1xuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIFNreUNvbmZpcm1Nb2R1bGUge31cbiJdfQ==","import { InjectionToken } from '@angular/core';\n/**\n * @internal\n */\nexport const SKY_CONFIRM_CONFIG = new InjectionToken('SkyConfirmConfig');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1jb25maWctdG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0tY29uZmlnLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FDbEQsa0JBQWtCLENBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lDb25maXJtQ29uZmlnIH0gZnJvbSAnLi9jb25maXJtLWNvbmZpZyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBTS1lfQ09ORklSTV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48U2t5Q29uZmlybUNvbmZpZz4oXG4gICdTa3lDb25maXJtQ29uZmlnJyxcbik7XG4iXX0=","import { Component, ViewEncapsulation } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * Specifies content to display in the modal's body.\n */\nexport class SkyModalContentComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.0\", type: SkyModalContentComponent, isStandalone: true, selector: \"sky-modal-content\", hostDirectives: [{ directive: i1.SkyResponsiveHostDirective }], ngImport: i0, template: \"<ng-content />\\n\", styles: [\".sky-modal:not(.sky-theme-modern *){--sky-override-modal-content-padding: 0}sky-modal-content{display:block;min-height:100%;padding:var(--sky-override-modal-content-padding, var(--sky-comp-modal-content-space-inset-top) var(--sky-comp-modal-content-space-inset-right) var(--sky-comp-modal-content-space-inset-bottom) var(--sky-comp-modal-content-space-inset-left))}\\n\"], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalContentComponent, decorators: [{\n type: Component,\n args: [{ hostDirectives: [SkyResponsiveHostDirective], selector: 'sky-modal-content', encapsulation: ViewEncapsulation.None, template: \"<ng-content />\\n\", styles: [\".sky-modal:not(.sky-theme-modern *){--sky-override-modal-content-padding: 0}sky-modal-content{display:block;min-height:100%;padding:var(--sky-override-modal-content-padding, var(--sky-comp-modal-content-space-inset-top) var(--sky-comp-modal-content-space-inset-right) var(--sky-comp-modal-content-space-inset-bottom) var(--sky-comp-modal-content-space-inset-left))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUV6RDs7R0FFRztBQVFILE1BQU0sT0FBTyx3QkFBd0I7OEdBQXhCLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDZJQ2JyQyxrQkFDQTs7MkZEWWEsd0JBQXdCO2tCQVBwQyxTQUFTO3FDQUNRLENBQUMsMEJBQTBCLENBQUMsWUFDbEMsbUJBQW1CLGlCQUdkLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgY29udGVudCB0byBkaXNwbGF5IGluIHRoZSBtb2RhbCdzIGJvZHkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBob3N0RGlyZWN0aXZlczogW1NreVJlc3BvbnNpdmVIb3N0RGlyZWN0aXZlXSxcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtY29udGVudC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbENvbnRlbnRDb21wb25lbnQge31cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=","/**\n * Properties about the modal close action and a method to close the modal.\n */\nexport class SkyModalBeforeCloseHandler {\n constructor(closeModal, closeArgs) {\n this.closeArgs = closeArgs;\n this.closeModal = closeModal;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYmVmb3JlLWNsb3NlLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1iZWZvcmUtY2xvc2UtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTywwQkFBMEI7SUFjckMsWUFBWSxVQUFzQixFQUFFLFNBQTRCO1FBQzlELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreU1vZGFsQ2xvc2VBcmdzIH0gZnJvbSAnLi9tb2RhbC1jbG9zZS1hcmdzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGFib3V0IHRoZSBtb2RhbCBjbG9zZSBhY3Rpb24gYW5kIGEgbWV0aG9kIHRvIGNsb3NlIHRoZSBtb2RhbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreU1vZGFsQmVmb3JlQ2xvc2VIYW5kbGVyIHtcbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgdGhhdCB3b3VsZCBiZSBlbWl0dGVkIGJ5IGEgbW9kYWwncyBgY2xvc2VkYCBldmVudC4gVGhpcyBvYmplY3RcbiAgICogY2FuIGJlIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gcHJvbXB0IHRoZSB1c2VyIGZvciBjb25maXJtYXRpb24sIHN1Y2hcbiAgICogYXMgd2hlbiB0aGUgdXNlciBjbG9zZXMgYSBtb2RhbCBmb3JtIGFmdGVyIGVudGVyaW5nIGRhdGEuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvc2VBcmdzOiBTa3lNb2RhbENsb3NlQXJncztcblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gY2FsbCB0byBjbG9zZSB0aGUgbW9kYWwuIE5lZ2xlY3RpbmcgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uXG4gICAqIGVmZmVjdGl2ZWx5IGNhbmNlbHMgdGhlIGNsb3NlIG1vZGFsIGFjdGlvbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjbG9zZU1vZGFsOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKGNsb3NlTW9kYWw6ICgpID0+IHZvaWQsIGNsb3NlQXJnczogU2t5TW9kYWxDbG9zZUFyZ3MpIHtcbiAgICB0aGlzLmNsb3NlQXJncyA9IGNsb3NlQXJncztcbiAgICB0aGlzLmNsb3NlTW9kYWwgPSBjbG9zZU1vZGFsO1xuICB9XG59XG4iXX0=","/**\n * Contains an object with the data passed from users when\n * a modal is closed and the reason that the modal was closed.\n */\nexport class SkyModalCloseArgs {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY2xvc2UtYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNsb3NlLWFyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtDQVU3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udGFpbnMgYW4gb2JqZWN0IHdpdGggdGhlIGRhdGEgcGFzc2VkIGZyb20gdXNlcnMgd2hlblxuICogYSBtb2RhbCBpcyBjbG9zZWQgYW5kIHRoZSByZWFzb24gdGhhdCB0aGUgbW9kYWwgd2FzIGNsb3NlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreU1vZGFsQ2xvc2VBcmdzIHtcbiAgLyoqXG4gICAqIFRoZSByZWFzb24gdGhlIG1vZGFsIHdhcyBjbG9zZWQuXG4gICAqIE9wdGlvbnMgaW5jbHVkZSBgXCJjbG9zZVwiYCwgYFwic2F2ZVwiYCwgYW5kIGBcImNhbmNlbFwiYC5cbiAgICovXG4gIHB1YmxpYyByZWFzb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBkYXRhIHBhc3NlZCBmcm9tIHVzZXJzIHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZC5cbiAgICovXG4gIHB1YmxpYyBkYXRhOiBhbnk7XG59XG4iXX0=","import { Subject } from 'rxjs';\nimport { SkyModalBeforeCloseHandler } from './modal-before-close-handler';\nimport { SkyModalCloseArgs } from './modal-close-args';\nexport class SkyModalInstance {\n /**\n * An event that the modal instance emits when it is about to close.\n * It emits a `SkyModalBeforeCloseHandler` object with a `closeModal` method\n * that closes the modal. If a subscription exists for this event,\n * the modal does not close until the subscriber calls the `closeModal` method.\n */\n get beforeClose() {\n return this.#_beforeClose;\n }\n /**\n * An event that the modal instance emits when it closes.\n * It emits a `SkyModalCloseArgs` object with a `data` property that includes\n * data passed from users on close or save and a `reason` property that indicates\n * whether the modal was saved or closed without saving.\n * The `reason` property accepts any string value.\n * Common examples include `\"cancel\"`, `\"close\"`, and `\"save\"`.\n */\n get closed() {\n return this.#_closed;\n }\n /**\n * An event that the modal instance emits when users click\n * the help inline button.\n * If a `helpKey` parameter was specified, the `helpOpened` event broadcasts the `helpKey`.\n * @deprecated\n */\n get helpOpened() {\n return this.#_helpOpened;\n }\n /**\n * Sets the component adapter for the instance. This is used internally for actions such as scrolling the content.\n * @internal\n */\n set adapter(value) {\n this.#adapter = value;\n }\n /**\n * Sets the component ref for the instance. This is used to extract the component instance for the public API and the element ref for internal use.\n * @internal\n */\n set componentRef(value) {\n this.componentInstance = value.instance;\n this.#elementRef = value.location;\n }\n #_beforeClose = new Subject();\n #_closed = new Subject();\n /**\n * @deprecated\n */\n #_helpOpened = new Subject();\n #adapter;\n #elementRef;\n /**\n * Closes the modal instance.\n * @param result Specifies an object to emit to subscribers of the `closed` event of the\n * modal instance. The `SkyModalInstance` provider can be injected into a component's constructor\n * so that this `close` function can be called from a button in the `sky-modal-footer`.\n * @param reason Specifies the reason for the modal closing, with the default reason of `\"close\"`.\n * @param ignoreBeforeClose Indicates whether to ignore the modal instance's `beforeClose` event.\n */\n close(result, reason, ignoreBeforeClose) {\n if (reason === undefined) {\n reason = 'close';\n }\n this.#closeModal(reason, result, ignoreBeforeClose);\n }\n /**\n * Closes the modal instance with `reason=\"cancel\"`.\n * @param result Specifies an object to emit to subscribers of the `closed` event of the modal\n * instance. The `SkyModalInstance` provider can be injected into a component's constructor so\n * that this cancel function can be called from a button in the `sky-modal-footer`.\n */\n cancel(result) {\n this.#closeModal('cancel', result);\n }\n /**\n * Closes the modal instance with `reason=\"save\"`.\n * @param result Specifies an object to emit to subscribers of the `closed` event of the modal\n * instance. The `SkyModalInstance` provider can be injected into a component's constructor so\n * that this `save` function can be called from a button in `the sky-modal-footer`.\n */\n save(result) {\n this.#closeModal('save', result);\n }\n /**\n * Scrolls the modal content area to the top of its scrollable area.\n */\n scrollContentToTop() {\n if (this.#adapter && this.#elementRef) {\n this.#adapter.scrollContentToTop(this.#elementRef);\n }\n }\n /**\n * Triggers the `helpOpened` event that broadcasts a `helpKey` parameter to open\n * when users click the help inline button.\n * @param helpKey Specifies a string to emit to subscribers of\n * the modal instance's `helpOpened` event. Consumers can inject the `SkyModalInstance` provider\n * into a component's constructor to call the `openHelp` function in the modal template.\n * @deprecated\n */\n openHelp(helpKey) {\n this.#_helpOpened.next(helpKey);\n }\n #closeModal(type, result, ignoreBeforeClose = false) {\n const args = new SkyModalCloseArgs();\n args.reason = type;\n args.data = result;\n if (this.#_beforeClose.observers.length === 0 || ignoreBeforeClose) {\n this.#notifyClosed(args);\n }\n else {\n this.#_beforeClose.next(new SkyModalBeforeCloseHandler(() => {\n this.#notifyClosed(args);\n }, args));\n }\n }\n #notifyClosed(args) {\n this.#_closed.next(args);\n this.#_closed.complete();\n this.#_beforeClose.complete();\n this.#_helpOpened.complete();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7Ozs7O09BS0c7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQVFEOzs7T0FHRztJQUNILElBQVcsT0FBTyxDQUFDLEtBQTZCO1FBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLFlBQVksQ0FBQyxLQUF3QjtRQUM5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztJQUUxRCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7SUFFNUM7O09BRUc7SUFDSCxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUVyQyxRQUFRLENBQXFDO0lBQzdDLFdBQVcsQ0FBeUI7SUFFcEM7Ozs7Ozs7T0FPRztJQUNJLEtBQUssQ0FDVixNQUFZLEVBQ1osTUFBZSxFQUNmLGlCQUEyQjtRQUUzQixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN6QixNQUFNLEdBQUcsT0FBTyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsTUFBWTtRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxJQUFJLENBQUMsTUFBWTtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxrQkFBa0I7UUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxRQUFRLENBQUMsT0FBZTtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVksRUFBRSxNQUFZLEVBQUUsaUJBQWlCLEdBQUcsS0FBSztRQUMvRCxNQUFNLElBQUksR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFFckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7UUFFbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLDBCQUEwQixDQUFDLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQ1QsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQXVCO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreU1vZGFsQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vbW9kYWwtYmVmb3JlLWNsb3NlLWhhbmRsZXInO1xuaW1wb3J0IHsgU2t5TW9kYWxDbG9zZUFyZ3MgfSBmcm9tICcuL21vZGFsLWNsb3NlLWFyZ3MnO1xuXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxJbnN0YW5jZSB7XG4gIC8qKlxuICAgKiBBbiBldmVudCB0aGF0IHRoZSBtb2RhbCBpbnN0YW5jZSBlbWl0cyB3aGVuIGl0IGlzIGFib3V0IHRvIGNsb3NlLlxuICAgKiBJdCBlbWl0cyBhIGBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcmAgb2JqZWN0IHdpdGggYSBgY2xvc2VNb2RhbGAgbWV0aG9kXG4gICAqIHRoYXQgY2xvc2VzIHRoZSBtb2RhbC4gSWYgYSBzdWJzY3JpcHRpb24gZXhpc3RzIGZvciB0aGlzIGV2ZW50LFxuICAgKiB0aGUgbW9kYWwgZG9lcyBub3QgY2xvc2UgdW50aWwgdGhlIHN1YnNjcmliZXIgY2FsbHMgdGhlIGBjbG9zZU1vZGFsYCBtZXRob2QuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGJlZm9yZUNsb3NlKCk6IE9ic2VydmFibGU8U2t5TW9kYWxCZWZvcmVDbG9zZUhhbmRsZXI+IHtcbiAgICByZXR1cm4gdGhpcy4jX2JlZm9yZUNsb3NlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGV2ZW50IHRoYXQgdGhlIG1vZGFsIGluc3RhbmNlIGVtaXRzIHdoZW4gaXQgY2xvc2VzLlxuICAgKiBJdCBlbWl0cyBhIGBTa3lNb2RhbENsb3NlQXJnc2Agb2JqZWN0IHdpdGggYSBgZGF0YWAgcHJvcGVydHkgdGhhdCBpbmNsdWRlc1xuICAgKiBkYXRhIHBhc3NlZCBmcm9tIHVzZXJzIG9uIGNsb3NlIG9yIHNhdmUgYW5kIGEgYHJlYXNvbmAgcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXNcbiAgICogd2hldGhlciB0aGUgbW9kYWwgd2FzIHNhdmVkIG9yIGNsb3NlZCB3aXRob3V0IHNhdmluZy5cbiAgICogVGhlIGByZWFzb25gIHByb3BlcnR5IGFjY2VwdHMgYW55IHN0cmluZyB2YWx1ZS5cbiAgICogQ29tbW9uIGV4YW1wbGVzIGluY2x1ZGUgYFwiY2FuY2VsXCJgLCBgXCJjbG9zZVwiYCwgYW5kIGBcInNhdmVcImAuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNsb3NlZCgpOiBPYnNlcnZhYmxlPFNreU1vZGFsQ2xvc2VBcmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuI19jbG9zZWQ7XG4gIH1cblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgbW9kYWwgaW5zdGFuY2UgZW1pdHMgd2hlbiB1c2VycyBjbGlja1xuICAgKiB0aGUgaGVscCBpbmxpbmUgYnV0dG9uLlxuICAgKiBJZiBhIGBoZWxwS2V5YCBwYXJhbWV0ZXIgd2FzIHNwZWNpZmllZCwgdGhlIGBoZWxwT3BlbmVkYCBldmVudCBicm9hZGNhc3RzIHRoZSBgaGVscEtleWAuXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhlbHBPcGVuZWQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy4jX2hlbHBPcGVuZWQ7XG4gIH1cblxuICAvKipcbiAgICogQSBkaXJlY3QgcmVmZXJlbmNlIHRvIHRoZSBwcm92aWRlZCBjb21wb25lbnQncyBjbGFzcy5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBjb21wb25lbnRJbnN0YW5jZTogYW55O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb21wb25lbnQgYWRhcHRlciBmb3IgdGhlIGluc3RhbmNlLiBUaGlzIGlzIHVzZWQgaW50ZXJuYWxseSBmb3IgYWN0aW9ucyBzdWNoIGFzIHNjcm9sbGluZyB0aGUgY29udGVudC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2V0IGFkYXB0ZXIodmFsdWU6IFNreU1vZGFsQWRhcHRlclNlcnZpY2UpIHtcbiAgICB0aGlzLiNhZGFwdGVyID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29tcG9uZW50IHJlZiBmb3IgdGhlIGluc3RhbmNlLiBUaGlzIGlzIHVzZWQgdG8gZXh0cmFjdCB0aGUgY29tcG9uZW50IGluc3RhbmNlIGZvciB0aGUgcHVibGljIEFQSSBhbmQgdGhlIGVsZW1lbnQgcmVmIGZvciBpbnRlcm5hbCB1c2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNldCBjb21wb25lbnRSZWYodmFsdWU6IENvbXBvbmVudFJlZjxhbnk+KSB7XG4gICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZSA9IHZhbHVlLmluc3RhbmNlO1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSB2YWx1ZS5sb2NhdGlvbjtcbiAgfVxuXG4gICNfYmVmb3JlQ2xvc2UgPSBuZXcgU3ViamVjdDxTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcj4oKTtcblxuICAjX2Nsb3NlZCA9IG5ldyBTdWJqZWN0PFNreU1vZGFsQ2xvc2VBcmdzPigpO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgI19oZWxwT3BlbmVkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICNhZGFwdGVyOiBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHJlc3VsdCBTcGVjaWZpZXMgYW4gb2JqZWN0IHRvIGVtaXQgdG8gc3Vic2NyaWJlcnMgb2YgdGhlIGBjbG9zZWRgIGV2ZW50IG9mIHRoZVxuICAgKiBtb2RhbCBpbnN0YW5jZS4gVGhlIGBTa3lNb2RhbEluc3RhbmNlYCBwcm92aWRlciBjYW4gYmUgaW5qZWN0ZWQgaW50byBhIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yXG4gICAqIHNvIHRoYXQgdGhpcyBgY2xvc2VgIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZnJvbSBhIGJ1dHRvbiBpbiB0aGUgYHNreS1tb2RhbC1mb290ZXJgLlxuICAgKiBAcGFyYW0gcmVhc29uIFNwZWNpZmllcyB0aGUgcmVhc29uIGZvciB0aGUgbW9kYWwgY2xvc2luZywgd2l0aCB0aGUgZGVmYXVsdCByZWFzb24gb2YgYFwiY2xvc2VcImAuXG4gICAqIEBwYXJhbSBpZ25vcmVCZWZvcmVDbG9zZSBJbmRpY2F0ZXMgd2hldGhlciB0byBpZ25vcmUgdGhlIG1vZGFsIGluc3RhbmNlJ3MgYGJlZm9yZUNsb3NlYCBldmVudC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZShcbiAgICByZXN1bHQ/OiBhbnksXG4gICAgcmVhc29uPzogc3RyaW5nLFxuICAgIGlnbm9yZUJlZm9yZUNsb3NlPzogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKHJlYXNvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZWFzb24gPSAnY2xvc2UnO1xuICAgIH1cblxuICAgIHRoaXMuI2Nsb3NlTW9kYWwocmVhc29uLCByZXN1bHQsIGlnbm9yZUJlZm9yZUNsb3NlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG1vZGFsIGluc3RhbmNlIHdpdGggYHJlYXNvbj1cImNhbmNlbFwiYC5cbiAgICogQHBhcmFtIHJlc3VsdCBTcGVjaWZpZXMgYW4gb2JqZWN0IHRvIGVtaXQgdG8gc3Vic2NyaWJlcnMgb2YgdGhlIGBjbG9zZWRgIGV2ZW50IG9mIHRoZSBtb2RhbFxuICAgKiBpbnN0YW5jZS4gVGhlIGBTa3lNb2RhbEluc3RhbmNlYCBwcm92aWRlciBjYW4gYmUgaW5qZWN0ZWQgaW50byBhIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yIHNvXG4gICAqIHRoYXQgdGhpcyBjYW5jZWwgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBmcm9tIGEgYnV0dG9uIGluIHRoZSBgc2t5LW1vZGFsLWZvb3RlcmAuXG4gICAqL1xuICBwdWJsaWMgY2FuY2VsKHJlc3VsdD86IGFueSk6IHZvaWQge1xuICAgIHRoaXMuI2Nsb3NlTW9kYWwoJ2NhbmNlbCcsIHJlc3VsdCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCBpbnN0YW5jZSB3aXRoIGByZWFzb249XCJzYXZlXCJgLlxuICAgKiBAcGFyYW0gcmVzdWx0IFNwZWNpZmllcyBhbiBvYmplY3QgdG8gZW1pdCB0byBzdWJzY3JpYmVycyBvZiB0aGUgYGNsb3NlZGAgZXZlbnQgb2YgdGhlIG1vZGFsXG4gICAqIGluc3RhbmNlLiBUaGUgYFNreU1vZGFsSW5zdGFuY2VgIHByb3ZpZGVyIGNhbiBiZSBpbmplY3RlZCBpbnRvIGEgY29tcG9uZW50J3MgY29uc3RydWN0b3Igc29cbiAgICogdGhhdCB0aGlzIGBzYXZlYCBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIGZyb20gYSBidXR0b24gaW4gYHRoZSBza3ktbW9kYWwtZm9vdGVyYC5cbiAgICovXG4gIHB1YmxpYyBzYXZlKHJlc3VsdD86IGFueSk6IHZvaWQge1xuICAgIHRoaXMuI2Nsb3NlTW9kYWwoJ3NhdmUnLCByZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNjcm9sbHMgdGhlIG1vZGFsIGNvbnRlbnQgYXJlYSB0byB0aGUgdG9wIG9mIGl0cyBzY3JvbGxhYmxlIGFyZWEuXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsQ29udGVudFRvVG9wKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNhZGFwdGVyICYmIHRoaXMuI2VsZW1lbnRSZWYpIHtcbiAgICAgIHRoaXMuI2FkYXB0ZXIuc2Nyb2xsQ29udGVudFRvVG9wKHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgYGhlbHBPcGVuZWRgIGV2ZW50IHRoYXQgYnJvYWRjYXN0cyBhIGBoZWxwS2V5YCBwYXJhbWV0ZXIgdG8gb3BlblxuICAgKiB3aGVuIHVzZXJzIGNsaWNrIHRoZSBoZWxwIGlubGluZSBidXR0b24uXG4gICAqIEBwYXJhbSBoZWxwS2V5IFNwZWNpZmllcyBhIHN0cmluZyB0byBlbWl0IHRvIHN1YnNjcmliZXJzIG9mXG4gICAqIHRoZSBtb2RhbCBpbnN0YW5jZSdzIGBoZWxwT3BlbmVkYCBldmVudC4gQ29uc3VtZXJzIGNhbiBpbmplY3QgdGhlIGBTa3lNb2RhbEluc3RhbmNlYCBwcm92aWRlclxuICAgKiBpbnRvIGEgY29tcG9uZW50J3MgY29uc3RydWN0b3IgdG8gY2FsbCB0aGUgYG9wZW5IZWxwYCBmdW5jdGlvbiBpbiB0aGUgbW9kYWwgdGVtcGxhdGUuXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgb3BlbkhlbHAoaGVscEtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jX2hlbHBPcGVuZWQubmV4dChoZWxwS2V5KTtcbiAgfVxuXG4gICNjbG9zZU1vZGFsKHR5cGU6IHN0cmluZywgcmVzdWx0PzogYW55LCBpZ25vcmVCZWZvcmVDbG9zZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgY29uc3QgYXJncyA9IG5ldyBTa3lNb2RhbENsb3NlQXJncygpO1xuXG4gICAgYXJncy5yZWFzb24gPSB0eXBlO1xuICAgIGFyZ3MuZGF0YSA9IHJlc3VsdDtcblxuICAgIGlmICh0aGlzLiNfYmVmb3JlQ2xvc2Uub2JzZXJ2ZXJzLmxlbmd0aCA9PT0gMCB8fCBpZ25vcmVCZWZvcmVDbG9zZSkge1xuICAgICAgdGhpcy4jbm90aWZ5Q2xvc2VkKGFyZ3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNfYmVmb3JlQ2xvc2UubmV4dChcbiAgICAgICAgbmV3IFNreU1vZGFsQmVmb3JlQ2xvc2VIYW5kbGVyKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNub3RpZnlDbG9zZWQoYXJncyk7XG4gICAgICAgIH0sIGFyZ3MpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAjbm90aWZ5Q2xvc2VkKGFyZ3M6IFNreU1vZGFsQ2xvc2VBcmdzKTogdm9pZCB7XG4gICAgdGhpcy4jX2Nsb3NlZC5uZXh0KGFyZ3MpO1xuICAgIHRoaXMuI19jbG9zZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLiNfYmVmb3JlQ2xvc2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNfaGVscE9wZW5lZC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=","/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-modals' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';\nimport * as i0 from \"@angular/core\";\nconst RESOURCES = {\n 'EN-US': {\n skyux_confirm_dialog_default_ok_text: { message: 'OK' },\n skyux_confirm_dialog_default_yes_text: { message: 'Yes' },\n skyux_confirm_dialog_default_no_text: { message: 'No' },\n skyux_confirm_dialog_default_cancel_text: { message: 'Cancel' },\n skyux_modal_close: { message: 'Close modal' },\n skyux_modal_open_help: { message: 'Open Help' },\n skyux_modal_footer_cancel_button: { message: 'Cancel' },\n skyux_modal_footer_primary_button: { message: 'Save' },\n skyux_modal_dirty_default_message: {\n message: 'Are you sure you want to discard your changes?',\n },\n skyux_modal_dirty_default_discard_changes_text: {\n message: 'Discard changes',\n },\n skyux_modal_dirty_default_keep_working_text: { message: 'Keep working' },\n },\n 'FR-CA': {\n skyux_confirm_dialog_default_ok_text: { message: 'OK' },\n skyux_confirm_dialog_default_yes_text: { message: 'Oui' },\n skyux_confirm_dialog_default_no_text: { message: 'Non' },\n skyux_confirm_dialog_default_cancel_text: { message: 'Annuler' },\n skyux_modal_close: { message: 'Fermer le modal' },\n skyux_modal_open_help: { message: 'Ouvrir l’aide' },\n skyux_modal_footer_cancel_button: { message: 'Annuler' },\n skyux_modal_footer_primary_button: { message: 'Sauvegarder' },\n skyux_modal_dirty_default_message: {\n message: 'Êtes-vous certain de vouloir supprimer ces changements?',\n },\n skyux_modal_dirty_default_discard_changes_text: {\n message: 'Supprimer les changements',\n },\n skyux_modal_dirty_default_keep_working_text: {\n message: 'Continuer à travailler',\n },\n },\n};\nSkyLibResourcesService.addResources(RESOURCES);\n/**\n * Import into any component library module that needs to use resource strings.\n */\nexport class SkyModalsResourcesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalsResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalsResourcesModule, exports: [SkyI18nModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalsResourcesModule, imports: [SkyI18nModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalsResourcesModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [SkyI18nModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LW1vZGFscy1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1tb2RhbHMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1Asb0NBQW9DLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1FBQ3ZELHFDQUFxQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUN6RCxvQ0FBb0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7UUFDdkQsd0NBQXdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQy9ELGlCQUFpQixFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUM3QyxxQkFBcUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7UUFDL0MsZ0NBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQ3ZELGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRTtRQUN0RCxpQ0FBaUMsRUFBRTtZQUNqQyxPQUFPLEVBQUUsZ0RBQWdEO1NBQzFEO1FBQ0QsOENBQThDLEVBQUU7WUFDOUMsT0FBTyxFQUFFLGlCQUFpQjtTQUMzQjtRQUNELDJDQUEyQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRTtLQUN6RTtJQUNELE9BQU8sRUFBRTtRQUNQLG9DQUFvQyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtRQUN2RCxxQ0FBcUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7UUFDekQsb0NBQW9DLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1FBQ3hELHdDQUF3QyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUNoRSxpQkFBaUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRTtRQUNqRCxxQkFBcUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUU7UUFDbkQsZ0NBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQ3hELGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUM3RCxpQ0FBaUMsRUFBRTtZQUNqQyxPQUFPLEVBQUUseURBQXlEO1NBQ25FO1FBQ0QsOENBQThDLEVBQUU7WUFDOUMsT0FBTyxFQUFFLDJCQUEyQjtTQUNyQztRQUNELDJDQUEyQyxFQUFFO1lBQzNDLE9BQU8sRUFBRSx3QkFBd0I7U0FDbEM7S0FDRjtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sd0JBQXdCOzhHQUF4Qix3QkFBd0I7K0dBQXhCLHdCQUF3QixZQUZ6QixhQUFhOytHQUVaLHdCQUF3QixZQUZ6QixhQUFhOzsyRkFFWix3QkFBd0I7a0JBSHBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1tb2RhbHMnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IFJlY29yZDxzdHJpbmcsIFNreUxpYlJlc291cmNlcz4gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X29rX3RleHQ6IHsgbWVzc2FnZTogJ09LJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfeWVzX3RleHQ6IHsgbWVzc2FnZTogJ1llcycgfSxcbiAgICBza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X25vX3RleHQ6IHsgbWVzc2FnZTogJ05vJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfY2FuY2VsX3RleHQ6IHsgbWVzc2FnZTogJ0NhbmNlbCcgfSxcbiAgICBza3l1eF9tb2RhbF9jbG9zZTogeyBtZXNzYWdlOiAnQ2xvc2UgbW9kYWwnIH0sXG4gICAgc2t5dXhfbW9kYWxfb3Blbl9oZWxwOiB7IG1lc3NhZ2U6ICdPcGVuIEhlbHAnIH0sXG4gICAgc2t5dXhfbW9kYWxfZm9vdGVyX2NhbmNlbF9idXR0b246IHsgbWVzc2FnZTogJ0NhbmNlbCcgfSxcbiAgICBza3l1eF9tb2RhbF9mb290ZXJfcHJpbWFyeV9idXR0b246IHsgbWVzc2FnZTogJ1NhdmUnIH0sXG4gICAgc2t5dXhfbW9kYWxfZGlydHlfZGVmYXVsdF9tZXNzYWdlOiB7XG4gICAgICBtZXNzYWdlOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRpc2NhcmQgeW91ciBjaGFuZ2VzPycsXG4gICAgfSxcbiAgICBza3l1eF9tb2RhbF9kaXJ0eV9kZWZhdWx0X2Rpc2NhcmRfY2hhbmdlc190ZXh0OiB7XG4gICAgICBtZXNzYWdlOiAnRGlzY2FyZCBjaGFuZ2VzJyxcbiAgICB9LFxuICAgIHNreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfa2VlcF93b3JraW5nX3RleHQ6IHsgbWVzc2FnZTogJ0tlZXAgd29ya2luZycgfSxcbiAgfSxcbiAgJ0ZSLUNBJzoge1xuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfb2tfdGV4dDogeyBtZXNzYWdlOiAnT0snIH0sXG4gICAgc2t5dXhfY29uZmlybV9kaWFsb2dfZGVmYXVsdF95ZXNfdGV4dDogeyBtZXNzYWdlOiAnT3VpJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfbm9fdGV4dDogeyBtZXNzYWdlOiAnTm9uJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfY2FuY2VsX3RleHQ6IHsgbWVzc2FnZTogJ0FubnVsZXInIH0sXG4gICAgc2t5dXhfbW9kYWxfY2xvc2U6IHsgbWVzc2FnZTogJ0Zlcm1lciBsZSBtb2RhbCcgfSxcbiAgICBza3l1eF9tb2RhbF9vcGVuX2hlbHA6IHsgbWVzc2FnZTogJ091dnJpciBs4oCZYWlkZScgfSxcbiAgICBza3l1eF9tb2RhbF9mb290ZXJfY2FuY2VsX2J1dHRvbjogeyBtZXNzYWdlOiAnQW5udWxlcicgfSxcbiAgICBza3l1eF9tb2RhbF9mb290ZXJfcHJpbWFyeV9idXR0b246IHsgbWVzc2FnZTogJ1NhdXZlZ2FyZGVyJyB9LFxuICAgIHNreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfbWVzc2FnZToge1xuICAgICAgbWVzc2FnZTogJ8OKdGVzLXZvdXMgY2VydGFpbiBkZSB2b3Vsb2lyIHN1cHByaW1lciBjZXMgY2hhbmdlbWVudHM/JyxcbiAgICB9LFxuICAgIHNreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfZGlzY2FyZF9jaGFuZ2VzX3RleHQ6IHtcbiAgICAgIG1lc3NhZ2U6ICdTdXBwcmltZXIgbGVzIGNoYW5nZW1lbnRzJyxcbiAgICB9LFxuICAgIHNreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfa2VlcF93b3JraW5nX3RleHQ6IHtcbiAgICAgIG1lc3NhZ2U6ICdDb250aW51ZXIgw6AgdHJhdmFpbGxlcicsXG4gICAgfSxcbiAgfSxcbn07XG5cblNreUxpYlJlc291cmNlc1NlcnZpY2UuYWRkUmVzb3VyY2VzKFJFU09VUkNFUyk7XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsc1Jlc291cmNlc01vZHVsZSB7fVxuIl19","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @internal\n */\nexport class SkyModalComponentAdapterService {\n handleWindowChange(modalEl) {\n const boundedHeightEl = modalEl.nativeElement.querySelector('.sky-modal');\n const fullPageModalEl = modalEl.nativeElement.querySelector('.sky-modal-full-page');\n const modalStyle = getComputedStyle(boundedHeightEl);\n const marginTopBottom = parseInt(modalStyle.marginTop, 10) +\n parseInt(modalStyle.marginBottom, 10);\n /*\n Set modal height equal to max height of window (accounting for padding above and below modal)\n */\n const newHeight = window.innerHeight - marginTopBottom;\n boundedHeightEl.style.maxHeight = newHeight.toString() + 'px';\n boundedHeightEl.style.setProperty('--sky-modal-content-max-height', boundedHeightEl.style.maxHeight);\n if (fullPageModalEl) {\n this.#setFullPageHeight(fullPageModalEl);\n }\n }\n isFocusInFirstItem(event, list) {\n /* istanbul ignore next */\n /* sanity check */\n const eventTarget = event.target || event.srcElement;\n return list.length > 0 && eventTarget === list[0];\n }\n isFocusInLastItem(event, list) {\n /* istanbul ignore next */\n /* sanity check */\n const eventTarget = event.target || event.srcElement;\n return list.length > 0 && eventTarget === list[list.length - 1];\n }\n isModalFocused(event, modalEl) {\n /* istanbul ignore next */\n /* sanity check */\n const eventTarget = event.target || event.srcElement;\n return (modalEl &&\n eventTarget === modalEl.nativeElement.querySelector('.sky-modal-dialog'));\n }\n focusLastElement(list) {\n if (list.length > 0) {\n list[list.length - 1].focus();\n return true;\n }\n return false;\n }\n focusFirstElement(list) {\n if (list.length > 0) {\n list[0].focus();\n return true;\n }\n return false;\n }\n modalContentHasDirectChildViewkeeper(modalContentEl) {\n return !!modalContentEl.nativeElement.querySelector('sky-modal-content > .sky-viewkeeper-fixed');\n }\n #setFullPageHeight(fullPageModalEl) {\n const windowHeight = window.innerHeight;\n const fullPageModalStyle = getComputedStyle(fullPageModalEl);\n const marginTopBottom = parseInt(fullPageModalStyle.marginTop, 10) +\n parseInt(fullPageModalStyle.marginBottom, 10);\n const fullPageModalHeight = windowHeight - marginTopBottom + 'px';\n fullPageModalEl.style.height = fullPageModalHeight;\n fullPageModalEl.style.maxHeight = fullPageModalHeight;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalComponentAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalComponentAdapterService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalComponentAdapterService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29tcG9uZW50LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbXBvbmVudC1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sK0JBQStCO0lBQ25DLGtCQUFrQixDQUFDLE9BQW1CO1FBQzNDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFFLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUN6RCxzQkFBc0IsQ0FDdkIsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXJELE1BQU0sZUFBZSxHQUNuQixRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDbEMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFeEM7O1VBRUU7UUFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQztRQUV2RCxlQUFlLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzlELGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUMvQixnQ0FBZ0MsRUFDaEMsZUFBZSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQ2hDLENBQUM7UUFDRixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLGtCQUFrQixDQUN2QixLQUFvQixFQUNwQixJQUFtQjtRQUVuQiwwQkFBMEI7UUFDMUIsa0JBQWtCO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQW9CLEVBQUUsSUFBbUI7UUFDaEUsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxXQUFXLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFvQixFQUFFLE9BQW1CO1FBQzdELDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ3JELE9BQU8sQ0FDTCxPQUFPO1lBQ1AsV0FBVyxLQUFLLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQ3pFLENBQUM7SUFDSixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsSUFBbUI7UUFDekMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQW1CO1FBQzFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sb0NBQW9DLENBQ3pDLGNBQTBCO1FBRTFCLE9BQU8sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUNqRCwyQ0FBMkMsQ0FDNUMsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxlQUE0QjtRQUM3QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3hDLE1BQU0sa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFN0QsTUFBTSxlQUFlLEdBQ25CLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQzFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFaEQsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLEdBQUcsZUFBZSxHQUFHLElBQUksQ0FBQztRQUVsRSxlQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQztRQUNuRCxlQUFlLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztJQUN4RCxDQUFDOzhHQTFGVSwrQkFBK0I7a0hBQS9CLCtCQUErQjs7MkZBQS9CLCtCQUErQjtrQkFEM0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsQ29tcG9uZW50QWRhcHRlclNlcnZpY2Uge1xuICBwdWJsaWMgaGFuZGxlV2luZG93Q2hhbmdlKG1vZGFsRWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBib3VuZGVkSGVpZ2h0RWwgPSBtb2RhbEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1tb2RhbCcpO1xuICAgIGNvbnN0IGZ1bGxQYWdlTW9kYWxFbCA9IG1vZGFsRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5za3ktbW9kYWwtZnVsbC1wYWdlJyxcbiAgICApO1xuICAgIGNvbnN0IG1vZGFsU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGJvdW5kZWRIZWlnaHRFbCk7XG5cbiAgICBjb25zdCBtYXJnaW5Ub3BCb3R0b20gPVxuICAgICAgcGFyc2VJbnQobW9kYWxTdHlsZS5tYXJnaW5Ub3AsIDEwKSArXG4gICAgICBwYXJzZUludChtb2RhbFN0eWxlLm1hcmdpbkJvdHRvbSwgMTApO1xuXG4gICAgLypcbiAgICAgIFNldCBtb2RhbCBoZWlnaHQgZXF1YWwgdG8gbWF4IGhlaWdodCBvZiB3aW5kb3cgKGFjY291bnRpbmcgZm9yIHBhZGRpbmcgYWJvdmUgYW5kIGJlbG93IG1vZGFsKVxuICAgICovXG4gICAgY29uc3QgbmV3SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gbWFyZ2luVG9wQm90dG9tO1xuXG4gICAgYm91bmRlZEhlaWdodEVsLnN0eWxlLm1heEhlaWdodCA9IG5ld0hlaWdodC50b1N0cmluZygpICsgJ3B4JztcbiAgICBib3VuZGVkSGVpZ2h0RWwuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAnLS1za3ktbW9kYWwtY29udGVudC1tYXgtaGVpZ2h0JyxcbiAgICAgIGJvdW5kZWRIZWlnaHRFbC5zdHlsZS5tYXhIZWlnaHQsXG4gICAgKTtcbiAgICBpZiAoZnVsbFBhZ2VNb2RhbEVsKSB7XG4gICAgICB0aGlzLiNzZXRGdWxsUGFnZUhlaWdodChmdWxsUGFnZU1vZGFsRWwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0ZvY3VzSW5GaXJzdEl0ZW0oXG4gICAgZXZlbnQ6IEtleWJvYXJkRXZlbnQsXG4gICAgbGlzdDogSFRNTEVsZW1lbnRbXSxcbiAgKTogYm9vbGVhbiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LnRhcmdldCB8fCBldmVudC5zcmNFbGVtZW50O1xuICAgIHJldHVybiBsaXN0Lmxlbmd0aCA+IDAgJiYgZXZlbnRUYXJnZXQgPT09IGxpc3RbMF07XG4gIH1cblxuICBwdWJsaWMgaXNGb2N1c0luTGFzdEl0ZW0oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGxpc3Q6IEhUTUxFbGVtZW50W10pOiBib29sZWFuIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGNvbnN0IGV2ZW50VGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnNyY0VsZW1lbnQ7XG4gICAgcmV0dXJuIGxpc3QubGVuZ3RoID4gMCAmJiBldmVudFRhcmdldCA9PT0gbGlzdFtsaXN0Lmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgcHVibGljIGlzTW9kYWxGb2N1c2VkKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBtb2RhbEVsOiBFbGVtZW50UmVmKTogYm9vbGVhbiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LnRhcmdldCB8fCBldmVudC5zcmNFbGVtZW50O1xuICAgIHJldHVybiAoXG4gICAgICBtb2RhbEVsICYmXG4gICAgICBldmVudFRhcmdldCA9PT0gbW9kYWxFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktbW9kYWwtZGlhbG9nJylcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGZvY3VzTGFzdEVsZW1lbnQobGlzdDogSFRNTEVsZW1lbnRbXSk6IGJvb2xlYW4ge1xuICAgIGlmIChsaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGxpc3RbbGlzdC5sZW5ndGggLSAxXS5mb2N1cygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0ZpcnN0RWxlbWVudChsaXN0OiBIVE1MRWxlbWVudFtdKTogYm9vbGVhbiB7XG4gICAgaWYgKGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgbGlzdFswXS5mb2N1cygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBtb2RhbENvbnRlbnRIYXNEaXJlY3RDaGlsZFZpZXdrZWVwZXIoXG4gICAgbW9kYWxDb250ZW50RWw6IEVsZW1lbnRSZWYsXG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIW1vZGFsQ29udGVudEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICdza3ktbW9kYWwtY29udGVudCA+IC5za3ktdmlld2tlZXBlci1maXhlZCcsXG4gICAgKTtcbiAgfVxuXG4gICNzZXRGdWxsUGFnZUhlaWdodChmdWxsUGFnZU1vZGFsRWw6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIGNvbnN0IGZ1bGxQYWdlTW9kYWxTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZnVsbFBhZ2VNb2RhbEVsKTtcblxuICAgIGNvbnN0IG1hcmdpblRvcEJvdHRvbSA9XG4gICAgICBwYXJzZUludChmdWxsUGFnZU1vZGFsU3R5bGUubWFyZ2luVG9wLCAxMCkgK1xuICAgICAgcGFyc2VJbnQoZnVsbFBhZ2VNb2RhbFN0eWxlLm1hcmdpbkJvdHRvbSwgMTApO1xuXG4gICAgY29uc3QgZnVsbFBhZ2VNb2RhbEhlaWdodCA9IHdpbmRvd0hlaWdodCAtIG1hcmdpblRvcEJvdHRvbSArICdweCc7XG5cbiAgICBmdWxsUGFnZU1vZGFsRWwuc3R5bGUuaGVpZ2h0ID0gZnVsbFBhZ2VNb2RhbEhlaWdodDtcbiAgICBmdWxsUGFnZU1vZGFsRWwuc3R5bGUubWF4SGVpZ2h0ID0gZnVsbFBhZ2VNb2RhbEhlaWdodDtcbiAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @internal\n */\nexport class SkyModalConfiguration {\n constructor() {\n this.size = 'medium';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalConfiguration }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalConfiguration, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8scUJBQXFCO0lBc0JoQztRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7OEdBeEJVLHFCQUFxQjtrSEFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxDb25maWd1cmF0aW9uIHtcbiAgcHVibGljIGZ1bGxQYWdlPzogYm9vbGVhbjtcbiAgcHVibGljIHNpemU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgYXJpYUxhYmVsbGVkQnk/OiBzdHJpbmc7XG4gIHB1YmxpYyBhcmlhUm9sZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgdGlsZWRCb2R5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgaGVscEtleT86IHN0cmluZztcbiAgcHVibGljIHdyYXBwZXJDbGFzcz86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNpemUgPSAnbWVkaXVtJztcbiAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\n/**\n * @internal\n */\nexport class SkyModalErrorsService {\n #formErrors = new BehaviorSubject(undefined);\n constructor() {\n this.formErrors = this.#formErrors.asObservable();\n }\n updateErrors(value) {\n this.#formErrors.next(value);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalErrorsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalErrorsService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalErrorsService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZXJyb3JzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1lcnJvcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBSW5EOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQThCLFNBQVMsQ0FBQyxDQUFDO0lBRTFFO1FBQ0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTSxZQUFZLENBQUMsS0FBa0M7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs4R0FYVSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreU1vZGFsRXJyb3IgfSBmcm9tICcuL21vZGFsLWVycm9yJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsRXJyb3JzU2VydmljZSB7XG4gIHB1YmxpYyBmb3JtRXJyb3JzOiBPYnNlcnZhYmxlPFNreU1vZGFsRXJyb3JbXSB8IHVuZGVmaW5lZD47XG5cbiAgI2Zvcm1FcnJvcnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNreU1vZGFsRXJyb3JbXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmZvcm1FcnJvcnMgPSB0aGlzLiNmb3JtRXJyb3JzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUVycm9ycyh2YWx1ZTogU2t5TW9kYWxFcnJvcltdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy4jZm9ybUVycm9ycy5uZXh0KHZhbHVlKTtcbiAgfVxufVxuIl19","import { Component } from '@angular/core';\nimport { SkyTrimModule } from '@skyux/core';\nimport { SkyThemeModule } from '@skyux/theme';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * Specifies a header for the modal.\n */\nexport class SkyModalHeaderComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.0\", type: SkyModalHeaderComponent, isStandalone: true, selector: \"sky-modal-header\", ngImport: i0, template: \"<h2 class=\\\"sky-modal-heading\\\" skyTrim>\\n <ng-content />\\n</h2>\\n<span class=\\\"sky-control-help-container\\\" skyTrim\\n ><ng-content select=\\\".sky-control-help\\\"></ng-content\\n></span>\\n\", styles: [\".sky-modal-heading:not(.sky-theme-modern *){--sky-override-modal-h2-font-size: 16px;--sky-override-modal-h2-font-weight: 600;--sky-override-modal-h2-line-height: 1.2}h2.sky-modal-heading{display:inline;line-height:var(--sky-override-modal-h2-line-height, var(--sky-font-line_height-heading-2));font-size:var(--sky-override-modal-h2-font-size, var(--sky-font-size-heading-2));font-weight:var(--sky-override-modal-h2-font-weight, var(--sky-font-style-heading-2))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: SkyThemeModule }, { kind: \"ngmodule\", type: SkyTrimModule }, { kind: \"directive\", type: i1.λ4, selector: \"[skyTrim]\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHeaderComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-modal-header', imports: [SkyThemeModule, SkyTrimModule], template: \"<h2 class=\\\"sky-modal-heading\\\" skyTrim>\\n <ng-content />\\n</h2>\\n<span class=\\\"sky-control-help-container\\\" skyTrim\\n ><ng-content select=\\\".sky-control-help\\\"></ng-content\\n></span>\\n\", styles: [\".sky-modal-heading:not(.sky-theme-modern *){--sky-override-modal-h2-font-size: 16px;--sky-override-modal-h2-font-weight: 600;--sky-override-modal-h2-line-height: 1.2}h2.sky-modal-heading{display:inline;line-height:var(--sky-override-modal-h2-line-height, var(--sky-font-line_height-heading-2));font-size:var(--sky-override-modal-h2-font-size, var(--sky-font-size-heading-2));font-weight:var(--sky-override-modal-h2-font-weight, var(--sky-font-style-heading-2))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7OztBQUU5Qzs7R0FFRztBQU9ILE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDRFQ2JwQyw2TEFNQSx3Z0JES1ksY0FBYyw4QkFBRSxhQUFhOzsyRkFFNUIsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLGtCQUFrQixXQUduQixDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVRyaW1Nb2R1bGUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIGEgaGVhZGVyIGZvciB0aGUgbW9kYWwuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtTa3lUaGVtZU1vZHVsZSwgU2t5VHJpbU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSGVhZGVyQ29tcG9uZW50IHt9XG4iLCI8aDIgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGluZ1wiIHNreVRyaW0+XG4gIDxuZy1jb250ZW50IC8+XG48L2gyPlxuPHNwYW4gY2xhc3M9XCJza3ktY29udHJvbC1oZWxwLWNvbnRhaW5lclwiIHNreVRyaW1cbiAgPjxuZy1jb250ZW50IHNlbGVjdD1cIi5za3ktY29udHJvbC1oZWxwXCI+PC9uZy1jb250ZW50XG4+PC9zcGFuPlxuIl19","var _a;\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nconst BASE_Z_INDEX = 1040;\nconst modalHosts = [];\nconst backdropZIndex = new BehaviorSubject(0);\nconst backdropZIndexObs = backdropZIndex.asObservable();\nconst openModalCount = new BehaviorSubject(0);\nconst openModalCountObs = openModalCount.asObservable();\n/**\n * @internal\n */\nexport class SkyModalHostService {\n static get openModalCountChange() {\n return openModalCountObs;\n }\n static get backdropZIndexChange() {\n return backdropZIndexObs;\n }\n /**\n * @deprecated Subscribe to `openModalCountChange` instead.\n */\n static get openModalCount() {\n return modalHosts.length;\n }\n static get fullPageModalCount() {\n const fullPageModals = modalHosts.filter((modal) => modal.fullPage);\n return fullPageModals.length;\n }\n /**\n * @deprecated Subscribe to `backdropZIndexChange` instead.\n */\n static get backdropZIndex() {\n return BASE_Z_INDEX + modalHosts.length * 10;\n }\n static get topModal() {\n return modalHosts[modalHosts.length - 1];\n }\n constructor() {\n this.close = new Subject();\n this.fullPage = false;\n /**\n * @deprecated\n */\n this.openHelp = new Subject();\n this.zIndex = this.#calculateZIndex();\n modalHosts.push(this);\n this.#notifyBackdropZIndex();\n this.#notifyOpenModalCount();\n }\n getModalZIndex() {\n return this.zIndex;\n }\n onClose() {\n this.close.next();\n }\n /**\n * @deprecated\n */\n onOpenHelp(helpKey) {\n this.openHelp.next(helpKey);\n }\n destroy() {\n modalHosts.splice(modalHosts.indexOf(this), 1);\n this.#notifyBackdropZIndex();\n this.#notifyOpenModalCount();\n }\n #calculateZIndex() {\n const zIndexArray = modalHosts.map((hostService) => hostService.zIndex);\n if (zIndexArray.length === 0) {\n return BASE_Z_INDEX + 11;\n }\n else {\n const currentMaxZIndex = Math.max(...zIndexArray);\n return currentMaxZIndex + 10;\n }\n }\n #notifyOpenModalCount() {\n openModalCount.next(modalHosts.length);\n }\n #notifyBackdropZIndex() {\n backdropZIndex.next(_a.backdropZIndex);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostService, providedIn: 'root' }); }\n}\n_a = SkyModalHostService;\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUU1RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUM7QUFDMUIsTUFBTSxVQUFVLEdBQTBCLEVBQUUsQ0FBQztBQUU3QyxNQUFNLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztBQUN0RCxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUV4RCxNQUFNLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztBQUN0RCxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUV4RDs7R0FFRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsTUFBTSxLQUFLLG9CQUFvQjtRQUNwQyxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFTSxNQUFNLEtBQUssb0JBQW9CO1FBQ3BDLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLGNBQWM7UUFDOUIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFTSxNQUFNLEtBQUssa0JBQWtCO1FBQ2xDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRSxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLGNBQWM7UUFDOUIsT0FBTyxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVNLE1BQU0sS0FBSyxRQUFRO1FBQ3hCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQVVEO1FBUk8sVUFBSyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDNUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUN4Qjs7V0FFRztRQUNJLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBSXRDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVUsQ0FBQyxPQUFlO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxPQUFPO1FBQ1osVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEUsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDO1lBQ2xELE9BQU8sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELENBQUM7OEdBcEZVLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuY29uc3QgQkFTRV9aX0lOREVYID0gMTA0MDtcbmNvbnN0IG1vZGFsSG9zdHM6IFNreU1vZGFsSG9zdFNlcnZpY2VbXSA9IFtdO1xuXG5jb25zdCBiYWNrZHJvcFpJbmRleCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbmNvbnN0IGJhY2tkcm9wWkluZGV4T2JzID0gYmFja2Ryb3BaSW5kZXguYXNPYnNlcnZhYmxlKCk7XG5cbmNvbnN0IG9wZW5Nb2RhbENvdW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuY29uc3Qgb3Blbk1vZGFsQ291bnRPYnMgPSBvcGVuTW9kYWxDb3VudC5hc09ic2VydmFibGUoKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdFNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIGdldCBvcGVuTW9kYWxDb3VudENoYW5nZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiBvcGVuTW9kYWxDb3VudE9icztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGJhY2tkcm9wWkluZGV4Q2hhbmdlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIGJhY2tkcm9wWkluZGV4T2JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFN1YnNjcmliZSB0byBgb3Blbk1vZGFsQ291bnRDaGFuZ2VgIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCBvcGVuTW9kYWxDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiBtb2RhbEhvc3RzLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGZ1bGxQYWdlTW9kYWxDb3VudCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGZ1bGxQYWdlTW9kYWxzID0gbW9kYWxIb3N0cy5maWx0ZXIoKG1vZGFsKSA9PiBtb2RhbC5mdWxsUGFnZSk7XG4gICAgcmV0dXJuIGZ1bGxQYWdlTW9kYWxzLmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBTdWJzY3JpYmUgdG8gYGJhY2tkcm9wWkluZGV4Q2hhbmdlYCBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQgYmFja2Ryb3BaSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gQkFTRV9aX0lOREVYICsgbW9kYWxIb3N0cy5sZW5ndGggKiAxMDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IHRvcE1vZGFsKCk6IFNreU1vZGFsSG9zdFNlcnZpY2Uge1xuICAgIHJldHVybiBtb2RhbEhvc3RzW21vZGFsSG9zdHMubGVuZ3RoIC0gMV07XG4gIH1cblxuICBwdWJsaWMgY2xvc2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgZnVsbFBhZ2UgPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgb3BlbkhlbHAgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHB1YmxpYyB6SW5kZXg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnpJbmRleCA9IHRoaXMuI2NhbGN1bGF0ZVpJbmRleCgpO1xuICAgIG1vZGFsSG9zdHMucHVzaCh0aGlzKTtcbiAgICB0aGlzLiNub3RpZnlCYWNrZHJvcFpJbmRleCgpO1xuICAgIHRoaXMuI25vdGlmeU9wZW5Nb2RhbENvdW50KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kYWxaSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy56SW5kZXg7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIG9uT3BlbkhlbHAoaGVscEtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuSGVscC5uZXh0KGhlbHBLZXkpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgbW9kYWxIb3N0cy5zcGxpY2UobW9kYWxIb3N0cy5pbmRleE9mKHRoaXMpLCAxKTtcbiAgICB0aGlzLiNub3RpZnlCYWNrZHJvcFpJbmRleCgpO1xuICAgIHRoaXMuI25vdGlmeU9wZW5Nb2RhbENvdW50KCk7XG4gIH1cblxuICAjY2FsY3VsYXRlWkluZGV4KCk6IG51bWJlciB7XG4gICAgY29uc3QgekluZGV4QXJyYXkgPSBtb2RhbEhvc3RzLm1hcCgoaG9zdFNlcnZpY2UpID0+IGhvc3RTZXJ2aWNlLnpJbmRleCk7XG4gICAgaWYgKHpJbmRleEFycmF5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIEJBU0VfWl9JTkRFWCArIDExO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjdXJyZW50TWF4WkluZGV4ID0gTWF0aC5tYXgoLi4uekluZGV4QXJyYXkpO1xuICAgICAgcmV0dXJuIGN1cnJlbnRNYXhaSW5kZXggKyAxMDtcbiAgICB9XG4gIH1cblxuICAjbm90aWZ5T3Blbk1vZGFsQ291bnQoKTogdm9pZCB7XG4gICAgb3Blbk1vZGFsQ291bnQubmV4dChtb2RhbEhvc3RzLmxlbmd0aCk7XG4gIH1cblxuICAjbm90aWZ5QmFja2Ryb3BaSW5kZXgoKTogdm9pZCB7XG4gICAgYmFja2Ryb3BaSW5kZXgubmV4dChTa3lNb2RhbEhvc3RTZXJ2aWNlLmJhY2tkcm9wWkluZGV4KTtcbiAgfVxufVxuIl19","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, Input, ViewChild, inject, input, } from '@angular/core';\nimport { SkyCoreAdapterService, SkyDockLocation, SkyDockService, SkyIdModule, SkyLayoutHostDirective, SkyLiveAnnouncerService, SkyScrollShadowDirective, } from '@skyux/core';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyTheme, SkyThemeModule, SkyThemeService } from '@skyux/theme';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SkyModalsResourcesModule } from '../shared/sky-modals-resources.module';\nimport { SkyModalComponentAdapterService } from './modal-component-adapter.service';\nimport { SkyModalConfiguration } from './modal-configuration';\nimport { SkyModalErrorsService } from './modal-errors.service';\nimport { SkyModalHeaderComponent } from './modal-header.component';\nimport { SkyModalHostService } from './modal-host.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@skyux/help-inline\";\nimport * as i3 from \"@skyux/icon\";\nimport * as i4 from \"@skyux/core\";\nimport * as i5 from \"@skyux/theme\";\nimport * as i6 from \"@skyux/i18n\";\nconst ARIA_ROLE_DEFAULT = 'dialog';\n/**\n * Provides a common look-and-feel for modal content with options to display\n * a common modal header, specify body content, and display a common modal footer\n * and buttons.\n */\nexport class SkyModalComponent {\n /**\n * A list of form-level errors to display to the user.\n */\n set formErrors(value) {\n this.#errorsSvc.updateErrors(value);\n }\n /**\n * Used by the confirm component to set a different role for the modal.\n * @internal\n */\n set ariaRole(value) {\n this.ariaRoleOrDefault = value || ARIA_ROLE_DEFAULT;\n }\n /**\n * Used by the confirm component to set descriptive text without using a\n * modal header.\n * @internal\n */\n set ariaDescribedBy(id) {\n this.#_ariaDescribedBy = id;\n }\n get ariaDescribedBy() {\n return this.#_ariaDescribedBy;\n }\n /**\n * Used by the confirm component to set descriptive text without using a\n * modal header.\n * @internal\n */\n set ariaLabelledBy(id) {\n this.#_ariaLabelledBy = id;\n }\n get ariaLabelledBy() {\n return this.#_ariaLabelledBy;\n }\n #ngUnsubscribe;\n #_ariaDescribedBy;\n #_ariaLabelledBy;\n #changeDetector;\n #componentAdapter;\n #coreAdapter;\n #dockService;\n #elRef;\n #errorsSvc;\n #hostService;\n #liveAnnouncerSvc;\n /**\n * This provider is optional to account for situations where a modal component\n * is implemented without the modal service. For example, when a consumer tests\n * a component that uses the modal component but doesn't launch the modal from\n * the modal service before executing assertions.\n */\n #config;\n #themeSvc;\n constructor() {\n this.ariaRoleOrDefault = ARIA_ROLE_DEFAULT;\n this.layout = input('none', ...(ngDevMode ? [{ debugName: \"layout\" }] : []));\n this.ariaOwns = null;\n this.modalState = 'in';\n this.scrollShadow = {\n bottomShadow: 'none',\n topShadow: 'none',\n };\n this.scrollShadowEnabled = false;\n this.#ngUnsubscribe = new Subject();\n this.#changeDetector = inject(ChangeDetectorRef);\n this.#componentAdapter = inject(SkyModalComponentAdapterService);\n this.#coreAdapter = inject(SkyCoreAdapterService);\n this.#dockService = inject(SkyDockService, { host: true });\n this.#elRef = inject(ElementRef);\n this.#errorsSvc = inject(SkyModalErrorsService);\n this.#hostService = inject(SkyModalHostService);\n this.#liveAnnouncerSvc = inject(SkyLiveAnnouncerService);\n /**\n * This provider is optional to account for situations where a modal component\n * is implemented without the modal service. For example, when a consumer tests\n * a component that uses the modal component but doesn't launch the modal from\n * the modal service before executing assertions.\n */\n this.#config = inject(SkyModalConfiguration, { optional: true }) ??\n new SkyModalConfiguration();\n this.#themeSvc = inject(SkyThemeService, { optional: true });\n this.ariaDescribedBy = this.#config.ariaDescribedBy;\n this.ariaLabelledBy = this.#config.ariaLabelledBy;\n this.ariaRole = this.#config.ariaRole;\n this.legacyHelpKey = this.#config.helpKey;\n this.tiledBody = this.#config.tiledBody;\n this.wrapperClass = this.#config.wrapperClass;\n this.size = this.#config.fullPage\n ? 'full-page'\n : this.#config.size?.toLowerCase() || 'medium';\n this.modalZIndex = this.#hostService.zIndex;\n }\n onDocumentKeyUp(event) {\n /* istanbul ignore else */\n /* sanity check */\n if (SkyModalHostService.openModalCount > 0) {\n const topModal = SkyModalHostService.topModal;\n if (topModal && topModal === this.#hostService) {\n if (event.which === 27) {\n // Escape key up\n event.preventDefault();\n this.closeButtonClick();\n }\n }\n }\n }\n onDocumentKeyDown(event) {\n /* istanbul ignore else */\n /* sanity check */\n if (SkyModalHostService.openModalCount > 0) {\n const topModal = SkyModalHostService.topModal;\n if (topModal && topModal === this.#hostService) {\n if (event.which === 9) {\n // Tab pressed\n let focusChanged = false;\n const focusElementList = this.#coreAdapter.getFocusableChildren(this.#elRef.nativeElement);\n if (event.shiftKey &&\n (this.#componentAdapter.isFocusInFirstItem(event, focusElementList) ||\n this.#componentAdapter.isModalFocused(event, this.#elRef))) {\n focusChanged =\n this.#componentAdapter.focusLastElement(focusElementList);\n }\n else if (!event.shiftKey &&\n this.#componentAdapter.isFocusInLastItem(event, focusElementList)) {\n focusChanged =\n this.#componentAdapter.focusFirstElement(focusElementList);\n }\n if (focusChanged) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n }\n }\n ngOnInit() {\n this.#liveAnnouncerSvc.announcerElementChanged\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((element) => {\n if (element?.id) {\n this.ariaOwns = element.id;\n this.#changeDetector.markForCheck();\n }\n });\n if (this.#themeSvc) {\n this.#themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((themeSettings) => {\n this.scrollShadowEnabled =\n themeSettings.currentSettings.theme === SkyTheme.presets.modern;\n });\n }\n }\n ngAfterViewInit() {\n this.#componentAdapter.handleWindowChange(this.#elRef);\n this.#dockService.setDockOptions({\n location: SkyDockLocation.ElementBottom,\n referenceEl: this.modalContentWrapperElement.nativeElement,\n zIndex: 5,\n });\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n /**\n * @deprecated\n */\n helpButtonClick() {\n if (this.legacyHelpKey) {\n this.#hostService.onOpenHelp(this.legacyHelpKey);\n }\n }\n closeButtonClick() {\n this.#hostService.onClose();\n }\n windowResize() {\n this.#componentAdapter.handleWindowChange(this.#elRef);\n }\n scrollShadowChange(args) {\n this.scrollShadow = args;\n }\n viewkeeperEnabled() {\n return this.#componentAdapter.modalContentHasDirectChildViewkeeper(this.#elRef);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyModalComponent, isStandalone: true, selector: \"sky-modal\", inputs: { formErrors: { classPropertyName: \"formErrors\", publicName: \"formErrors\", isSignal: false, isRequired: false, transformFunction: null }, headingText: { classPropertyName: \"headingText\", publicName: \"headingText\", isSignal: false, isRequired: false, transformFunction: null }, helpKey: { classPropertyName: \"helpKey\", publicName: \"helpKey\", isSignal: false, isRequired: false, transformFunction: null }, helpPopoverContent: { classPropertyName: \"helpPopoverContent\", publicName: \"helpPopoverContent\", isSignal: false, isRequired: false, transformFunction: null }, helpPopoverTitle: { classPropertyName: \"helpPopoverTitle\", publicName: \"helpPopoverTitle\", isSignal: false, isRequired: false, transformFunction: null }, ariaRole: { classPropertyName: \"ariaRole\", publicName: \"ariaRole\", isSignal: false, isRequired: false, transformFunction: null }, tiledBody: { classPropertyName: \"tiledBody\", publicName: \"tiledBody\", isSignal: false, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: \"ariaDescribedBy\", publicName: \"ariaDescribedBy\", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: \"ariaLabelledBy\", publicName: \"ariaLabelledBy\", isSignal: false, isRequired: false, transformFunction: null }, layout: { classPropertyName: \"layout\", publicName: \"layout\", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { \"document:keyup\": \"onDocumentKeyUp($event)\", \"document:keydown\": \"onDocumentKeyDown($event)\" }, properties: { \"class\": \"this.wrapperClass\" } }, providers: [\n SkyModalComponentAdapterService,\n SkyModalErrorsService,\n SkyDockService,\n ], viewQueries: [{ propertyName: \"modalContentWrapperElement\", first: true, predicate: [\"modalContentWrapper\"], descendants: true, read: ElementRef }], ngImport: i0, template: \"<div\\n class=\\\"sky-modal-dialog\\\"\\n aria-modal=\\\"true\\\"\\n [attr.aria-describedby]=\\\"ariaDescribedBy || modalContentId.id\\\"\\n [attr.aria-labelledby]=\\\"ariaLabelledBy || headerId.id\\\"\\n [attr.aria-owns]=\\\"ariaOwns\\\"\\n [attr.role]=\\\"ariaRoleOrDefault\\\"\\n (window:resize)=\\\"windowResize()\\\"\\n>\\n <div\\n class=\\\"sky-modal sky-shadow sky-box sky-elevation-16 sky-modal-{{ size }}\\\"\\n tabindex=\\\"-1\\\"\\n [ngClass]=\\\"{\\n 'sky-modal-tiled': tiledBody,\\n 'sky-modal-viewkeeper': viewkeeperEnabled()\\n }\\\"\\n [ngStyle]=\\\"{\\n zIndex: modalZIndex\\n }\\\"\\n >\\n <div\\n class=\\\"sky-modal-header\\\"\\n [ngStyle]=\\\"{\\n 'box-shadow': scrollShadow?.topShadow\\n }\\\"\\n >\\n <div #headerId=\\\"skyId\\\" class=\\\"sky-modal-header-content\\\" skyId>\\n @if (headingText) {\\n <sky-modal-header>\\n {{ headingText }}\\n @if (helpKey || helpPopoverContent) {\\n <sky-help-inline\\n class=\\\"sky-control-help\\\"\\n [helpKey]=\\\"helpKey\\\"\\n [labelText]=\\\"headingText\\\"\\n [popoverContent]=\\\"helpPopoverContent\\\"\\n [popoverTitle]=\\\"helpPopoverTitle\\\"\\n />\\n }\\n </sky-modal-header>\\n } @else {\\n <ng-content select=\\\"sky-modal-header\\\" />\\n }\\n </div>\\n <div class=\\\"sky-modal-header-buttons\\\">\\n @if (legacyHelpKey) {\\n <button\\n class=\\\"sky-btn sky-modal-btn-help\\\"\\n name=\\\"help-button\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_modal_open_help' | skyLibResources\\\"\\n (click)=\\\"helpButtonClick()\\\"\\n >\\n <sky-icon iconName=\\\"question-circle\\\" />\\n </button>\\n }\\n\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn sky-modal-btn-close\\\"\\n [attr.aria-label]=\\\"'skyux_modal_close' | skyLibResources\\\"\\n (click)=\\\"closeButtonClick()\\\"\\n >\\n <sky-icon iconName=\\\"close\\\" />\\n </button>\\n </div>\\n </div>\\n <div\\n #modalContentId=\\\"skyId\\\"\\n #modalContentWrapper\\n class=\\\"sky-modal-content\\\"\\n role=\\\"region\\\"\\n tabindex=\\\"0\\\"\\n skyId\\n skyLayoutHost\\n [layout]=\\\"layout()\\\"\\n [attr.aria-labelledby]=\\\"headerId.id\\\"\\n [skyScrollShadowEnabled]=\\\"scrollShadowEnabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-padding-even-large': 'default'\\n }\\\"\\n (skyScrollShadow)=\\\"scrollShadowChange($event)\\\"\\n >\\n <ng-content select=\\\"sky-modal-content\\\" />\\n </div>\\n <div\\n class=\\\"sky-modal-footer\\\"\\n [ngStyle]=\\\"{\\n 'box-shadow': scrollShadow?.bottomShadow\\n }\\\"\\n >\\n <ng-content select=\\\"sky-modal-footer\\\" />\\n </div>\\n </div>\\n</div>\\n\", styles: [\".sky-modal:not(.sky-theme-modern *){--sky-override-modal-background-color: #fff;--sky-override-modal-border: 1px solid #cdcfd2;--sky-override-modal-dock-bottom: -15px;--sky-override-modal-dock-margin-left-right-bottom: -15px;--sky-override-modal-dock-padding-top: 15px;--sky-override-modal-dock-width: calc(100% + 30px) ;--sky-override-modal-full-page-margin-xs: 0;--sky-override-modal-full-page-margin: 0;--sky-override-modal-full-page-width: 100%;--sky-override-modal-header-bottom-border: 1px solid #e2e3e4;--sky-override-modal-header-padding: 9px 3px 9px 15px;--sky-override-modal-help-close-display: inline-block;--sky-override-modal-margin: 20px auto;--sky-override-modal-viewkept-toolbar-box-shadow: none;--sky-override-modal-viewkept-toolbar-padding-horizontal: 10px;--sky-override-modal-width-l: 900px;--sky-override-modal-width-m: 600px;--sky-override-modal-width-s: 300px;--sky-override-modal-xs-margin: 30px 10px 10px 10px}:host{--sky-viewport-top: 0;--sky-viewport-bottom: 0;--sky-viewport-left: 0;--sky-viewport-right: 0}.sky-modal{--sky-comp-override-list-header-background-color: initial;border:var(--sky-override-modal-border, var(--sky-border-width-container-base) solid var(--sky-color-border-container-base));position:fixed;width:auto;left:0;right:0;top:0;margin:var(--sky-override-modal-xs-margin, var(--sky-comp-modal-space-offset-xs-top) var(--sky-comp-modal-space-offset-xs-right) var(--sky-comp-modal-space-offset-xs-bottom) var(--sky-comp-modal-space-offset-xs-left));display:flex;flex-direction:column;overflow:hidden}.sky-modal:has(.sky-modal-content.sky-layout-host-fit){height:var(--sky-modal-content-max-height, 100%)}.sky-modal:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-header:has(.sky-modal-header-content:empty){display:none}.sky-modal-btn-help,.sky-modal-btn-close{display:var(--sky-override-modal-help-close-display, none)}.sky-modal-full-page{width:var(--sky-override-modal-full-page-width, calc(100% - (var(--sky-override-modal-full-page-margin-xs, var(--sky-comp-modal-fullscreen-space-offset-xs-right)) + var(--sky-override-modal-full-page-margin-xs, var(--sky-comp-modal-fullscreen-space-offset-xs-left)))));margin:var(--sky-override-modal-full-page-margin-xs, var(--sky-comp-modal-fullscreen-space-offset-xs-top) var(--sky-comp-modal-fullscreen-space-offset-xs-right) var(--sky-comp-modal-fullscreen-space-offset-xs-bottom) var(--sky-comp-modal-fullscreen-space-offset-xs-left))}@media (min-width: 768px){.sky-modal:not(.sky-modal-full-page){margin:var(--sky-override-modal-margin, var(--sky-comp-modal-space-offset-sm-top) auto var(--sky-comp-modal-space-offset-sm-bottom))}.sky-modal-small{width:var(--sky-override-modal-width-s, var(--sky-size-width-modal-s))}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:var(--sky-override-modal-width-s, var(--sky-size-width-modal-s))}.sky-modal-medium{width:var(--sky-override-modal-width-m, var(--sky-size-width-modal-m))}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:var(--sky-override-modal-width-m, var(--sky-size-width-modal-m))}.sky-modal-full-page{width:var(--sky-override-modal-full-page-width, calc(100% - (var(--sky-override-modal-full-page-margin, var(--sky-comp-modal-fullscreen-space-offset-sm-left)) + var(--sky-override-modal-full-page-margin, var(--sky-comp-modal-fullscreen-space-offset-sm-right)))));margin:var(--sky-override-modal-full-page-margin, var(--sky-comp-modal-fullscreen-space-offset-sm-top) var(--sky-comp-modal-fullscreen-space-offset-sm-right) var(--sky-comp-modal-fullscreen-space-offset-sm-bottom) var(--sky-comp-modal-fullscreen-space-offset-sm-left))}}@media (min-width: 920px){.sky-modal-large{width:var(--sky-override-modal-width-l, var(--sky-size-width-modal-l))}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:var(--sky-override-modal-width-l, var(--sky-size-width-modal-l))}}.sky-modal-content{background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-modal-background-color, var(--sky-color-background-container-base) )}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-content.sky-layout-host-fit{flex-grow:1;position:relative}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef;--sky-background-color-page-default: $sky-background-color-neutral-light}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:var(--sky-text-color-deemphasized);font-weight:300;font-size:19px}.sky-modal-header{padding:var(--sky-override-modal-header-padding, var(--sky-comp-modal-header-space-inset-top) var(--sky-comp-modal-header-space-inset-right) var(--sky-comp-modal-header-space-inset-bottom) var(--sky-comp-modal-header-space-inset-left));background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));border-bottom:var(--sky-override-modal-header-bottom-border);display:flex;align-items:baseline}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#686c73;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#383a3d;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-full-page .sky-modal-content{flex-grow:1}.sky-modal-content>::ng-deep sky-dock{bottom:var(--sky-override-modal-dock-bottom, 0);margin-left:var(--sky-override-modal-dock-margin-left-right-bottom, initial);margin-right:var(--sky-override-modal-dock-margin-left-right-bottom, initial);margin-bottom:var(--sky-override-modal-dock-margin-left-right-bottom, initial);padding-top:var(--sky-override-modal-dock-padding-top, initial);width:var(--sky-override-modal-dock-width, 100%)}.sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}.sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:var(--sky-override-modal-viewkept-toolbar-box-shadow, var(--sky-elevation-overflow))}.sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-modal-background-color, var(--sky-color-background-container-base) );padding-left:var(--sky-override-modal-viewkept-toolbar-padding-horizontal, var(--sky-comp-modal-header-space-inset-left));padding-right:var(--sky-override-modal-viewkept-toolbar-padding-horizontal, var(--sky-comp-modal-header-space-inset-right))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i1.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"ngmodule\", type: SkyHelpInlineModule }, { kind: \"component\", type: i2.λ1, selector: \"sky-help-inline\", inputs: [\"ariaControls\", \"ariaExpanded\", \"ariaLabel\", \"helpKey\", \"labelledBy\", \"labelText\", \"popoverContent\", \"popoverTitle\"], outputs: [\"actionClick\"] }, { kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i3.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"ngmodule\", type: SkyIdModule }, { kind: \"directive\", type: i4.λ2, selector: \"[skyId]\", exportAs: [\"skyId\"] }, { kind: \"directive\", type: SkyLayoutHostDirective, selector: \"[skyLayoutHost]\", inputs: [\"layout\"] }, { kind: \"component\", type: SkyModalHeaderComponent, selector: \"sky-modal-header\" }, { kind: \"ngmodule\", type: SkyModalsResourcesModule }, { kind: \"directive\", type: SkyScrollShadowDirective, selector: \"[skyScrollShadow]\", inputs: [\"skyScrollShadowEnabled\"], outputs: [\"skyScrollShadow\"] }, { kind: \"ngmodule\", type: SkyThemeModule }, { kind: \"directive\", type: i5.λ2, selector: \"[skyThemeClass]\", inputs: [\"class\", \"skyThemeClass\"] }, { kind: \"pipe\", type: i6.SkyLibResourcesPipe, name: \"skyLibResources\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-modal', providers: [\n SkyModalComponentAdapterService,\n SkyModalErrorsService,\n SkyDockService,\n ], imports: [\n CommonModule,\n SkyHelpInlineModule,\n SkyIconModule,\n SkyIdModule,\n SkyLayoutHostDirective,\n SkyModalHeaderComponent,\n SkyModalsResourcesModule,\n SkyScrollShadowDirective,\n SkyThemeModule,\n ], template: \"<div\\n class=\\\"sky-modal-dialog\\\"\\n aria-modal=\\\"true\\\"\\n [attr.aria-describedby]=\\\"ariaDescribedBy || modalContentId.id\\\"\\n [attr.aria-labelledby]=\\\"ariaLabelledBy || headerId.id\\\"\\n [attr.aria-owns]=\\\"ariaOwns\\\"\\n [attr.role]=\\\"ariaRoleOrDefault\\\"\\n (window:resize)=\\\"windowResize()\\\"\\n>\\n <div\\n class=\\\"sky-modal sky-shadow sky-box sky-elevation-16 sky-modal-{{ size }}\\\"\\n tabindex=\\\"-1\\\"\\n [ngClass]=\\\"{\\n 'sky-modal-tiled': tiledBody,\\n 'sky-modal-viewkeeper': viewkeeperEnabled()\\n }\\\"\\n [ngStyle]=\\\"{\\n zIndex: modalZIndex\\n }\\\"\\n >\\n <div\\n class=\\\"sky-modal-header\\\"\\n [ngStyle]=\\\"{\\n 'box-shadow': scrollShadow?.topShadow\\n }\\\"\\n >\\n <div #headerId=\\\"skyId\\\" class=\\\"sky-modal-header-content\\\" skyId>\\n @if (headingText) {\\n <sky-modal-header>\\n {{ headingText }}\\n @if (helpKey || helpPopoverContent) {\\n <sky-help-inline\\n class=\\\"sky-control-help\\\"\\n [helpKey]=\\\"helpKey\\\"\\n [labelText]=\\\"headingText\\\"\\n [popoverContent]=\\\"helpPopoverContent\\\"\\n [popoverTitle]=\\\"helpPopoverTitle\\\"\\n />\\n }\\n </sky-modal-header>\\n } @else {\\n <ng-content select=\\\"sky-modal-header\\\" />\\n }\\n </div>\\n <div class=\\\"sky-modal-header-buttons\\\">\\n @if (legacyHelpKey) {\\n <button\\n class=\\\"sky-btn sky-modal-btn-help\\\"\\n name=\\\"help-button\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_modal_open_help' | skyLibResources\\\"\\n (click)=\\\"helpButtonClick()\\\"\\n >\\n <sky-icon iconName=\\\"question-circle\\\" />\\n </button>\\n }\\n\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn sky-modal-btn-close\\\"\\n [attr.aria-label]=\\\"'skyux_modal_close' | skyLibResources\\\"\\n (click)=\\\"closeButtonClick()\\\"\\n >\\n <sky-icon iconName=\\\"close\\\" />\\n </button>\\n </div>\\n </div>\\n <div\\n #modalContentId=\\\"skyId\\\"\\n #modalContentWrapper\\n class=\\\"sky-modal-content\\\"\\n role=\\\"region\\\"\\n tabindex=\\\"0\\\"\\n skyId\\n skyLayoutHost\\n [layout]=\\\"layout()\\\"\\n [attr.aria-labelledby]=\\\"headerId.id\\\"\\n [skyScrollShadowEnabled]=\\\"scrollShadowEnabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-padding-even-large': 'default'\\n }\\\"\\n (skyScrollShadow)=\\\"scrollShadowChange($event)\\\"\\n >\\n <ng-content select=\\\"sky-modal-content\\\" />\\n </div>\\n <div\\n class=\\\"sky-modal-footer\\\"\\n [ngStyle]=\\\"{\\n 'box-shadow': scrollShadow?.bottomShadow\\n }\\\"\\n >\\n <ng-content select=\\\"sky-modal-footer\\\" />\\n </div>\\n </div>\\n</div>\\n\", styles: [\".sky-modal:not(.sky-theme-modern *){--sky-override-modal-background-color: #fff;--sky-override-modal-border: 1px solid #cdcfd2;--sky-override-modal-dock-bottom: -15px;--sky-override-modal-dock-margin-left-right-bottom: -15px;--sky-override-modal-dock-padding-top: 15px;--sky-override-modal-dock-width: calc(100% + 30px) ;--sky-override-modal-full-page-margin-xs: 0;--sky-override-modal-full-page-margin: 0;--sky-override-modal-full-page-width: 100%;--sky-override-modal-header-bottom-border: 1px solid #e2e3e4;--sky-override-modal-header-padding: 9px 3px 9px 15px;--sky-override-modal-help-close-display: inline-block;--sky-override-modal-margin: 20px auto;--sky-override-modal-viewkept-toolbar-box-shadow: none;--sky-override-modal-viewkept-toolbar-padding-horizontal: 10px;--sky-override-modal-width-l: 900px;--sky-override-modal-width-m: 600px;--sky-override-modal-width-s: 300px;--sky-override-modal-xs-margin: 30px 10px 10px 10px}:host{--sky-viewport-top: 0;--sky-viewport-bottom: 0;--sky-viewport-left: 0;--sky-viewport-right: 0}.sky-modal{--sky-comp-override-list-header-background-color: initial;border:var(--sky-override-modal-border, var(--sky-border-width-container-base) solid var(--sky-color-border-container-base));position:fixed;width:auto;left:0;right:0;top:0;margin:var(--sky-override-modal-xs-margin, var(--sky-comp-modal-space-offset-xs-top) var(--sky-comp-modal-space-offset-xs-right) var(--sky-comp-modal-space-offset-xs-bottom) var(--sky-comp-modal-space-offset-xs-left));display:flex;flex-direction:column;overflow:hidden}.sky-modal:has(.sky-modal-content.sky-layout-host-fit){height:var(--sky-modal-content-max-height, 100%)}.sky-modal:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-header:has(.sky-modal-header-content:empty){display:none}.sky-modal-btn-help,.sky-modal-btn-close{display:var(--sky-override-modal-help-close-display, none)}.sky-modal-full-page{width:var(--sky-override-modal-full-page-width, calc(100% - (var(--sky-override-modal-full-page-margin-xs, var(--sky-comp-modal-fullscreen-space-offset-xs-right)) + var(--sky-override-modal-full-page-margin-xs, var(--sky-comp-modal-fullscreen-space-offset-xs-left)))));margin:var(--sky-override-modal-full-page-margin-xs, var(--sky-comp-modal-fullscreen-space-offset-xs-top) var(--sky-comp-modal-fullscreen-space-offset-xs-right) var(--sky-comp-modal-fullscreen-space-offset-xs-bottom) var(--sky-comp-modal-fullscreen-space-offset-xs-left))}@media (min-width: 768px){.sky-modal:not(.sky-modal-full-page){margin:var(--sky-override-modal-margin, var(--sky-comp-modal-space-offset-sm-top) auto var(--sky-comp-modal-space-offset-sm-bottom))}.sky-modal-small{width:var(--sky-override-modal-width-s, var(--sky-size-width-modal-s))}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:var(--sky-override-modal-width-s, var(--sky-size-width-modal-s))}.sky-modal-medium{width:var(--sky-override-modal-width-m, var(--sky-size-width-modal-m))}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:var(--sky-override-modal-width-m, var(--sky-size-width-modal-m))}.sky-modal-full-page{width:var(--sky-override-modal-full-page-width, calc(100% - (var(--sky-override-modal-full-page-margin, var(--sky-comp-modal-fullscreen-space-offset-sm-left)) + var(--sky-override-modal-full-page-margin, var(--sky-comp-modal-fullscreen-space-offset-sm-right)))));margin:var(--sky-override-modal-full-page-margin, var(--sky-comp-modal-fullscreen-space-offset-sm-top) var(--sky-comp-modal-fullscreen-space-offset-sm-right) var(--sky-comp-modal-fullscreen-space-offset-sm-bottom) var(--sky-comp-modal-fullscreen-space-offset-sm-left))}}@media (min-width: 920px){.sky-modal-large{width:var(--sky-override-modal-width-l, var(--sky-size-width-modal-l))}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:var(--sky-override-modal-width-l, var(--sky-size-width-modal-l))}}.sky-modal-content{background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-modal-background-color, var(--sky-color-background-container-base) )}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-content.sky-layout-host-fit{flex-grow:1;position:relative}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef;--sky-background-color-page-default: $sky-background-color-neutral-light}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:var(--sky-text-color-deemphasized);font-weight:300;font-size:19px}.sky-modal-header{padding:var(--sky-override-modal-header-padding, var(--sky-comp-modal-header-space-inset-top) var(--sky-comp-modal-header-space-inset-right) var(--sky-comp-modal-header-space-inset-bottom) var(--sky-comp-modal-header-space-inset-left));background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));border-bottom:var(--sky-override-modal-header-bottom-border);display:flex;align-items:baseline}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#686c73;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#383a3d;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-full-page .sky-modal-content{flex-grow:1}.sky-modal-content>::ng-deep sky-dock{bottom:var(--sky-override-modal-dock-bottom, 0);margin-left:var(--sky-override-modal-dock-margin-left-right-bottom, initial);margin-right:var(--sky-override-modal-dock-margin-left-right-bottom, initial);margin-bottom:var(--sky-override-modal-dock-margin-left-right-bottom, initial);padding-top:var(--sky-override-modal-dock-padding-top, initial);width:var(--sky-override-modal-dock-width, 100%)}.sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}.sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:var(--sky-override-modal-viewkept-toolbar-box-shadow, var(--sky-elevation-overflow))}.sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-modal-background-color, var(--sky-color-background-container-base) );padding-left:var(--sky-override-modal-viewkept-toolbar-padding-horizontal, var(--sky-comp-modal-header-space-inset-left));padding-right:var(--sky-override-modal-viewkept-toolbar-padding-horizontal, var(--sky-comp-modal-header-space-inset-right))}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { wrapperClass: [{\n type: HostBinding,\n args: ['class']\n }], formErrors: [{\n type: Input\n }], headingText: [{\n type: Input\n }], helpKey: [{\n type: Input\n }], helpPopoverContent: [{\n type: Input\n }], helpPopoverTitle: [{\n type: Input\n }], ariaRole: [{\n type: Input\n }], tiledBody: [{\n type: Input\n }], ariaDescribedBy: [{\n type: Input\n }], ariaLabelledBy: [{\n type: Input\n }], modalContentWrapperElement: [{\n type: ViewChild,\n args: ['modalContentWrapper', { read: ElementRef }]\n }], onDocumentKeyUp: [{\n type: HostListener,\n args: ['document:keyup', ['$event']]\n }], onDocumentKeyDown: [{\n type: HostListener,\n args: ['document:keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFJTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixjQUFjLEVBQ2QsV0FBVyxFQUNYLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEdBRXpCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxxQkFBcUIsRUFB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c0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLGNBQWM7cUJBQ2Y7d0RBSU0sWUFBWTtzQkFEbEIsV0FBVzt1QkFBQyxPQUFPO2dCQU9ULFVBQVU7c0JBRHBCLEtBQUs7Z0JBU0MsV0FBVztzQkFEakIsS0FBSztnQkFRQyxPQUFPO3NCQURiLEtBQUs7Z0JBU0Msa0JBQWtCO3NCQUR4QixLQUFLO2dCQVFDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQVlDLFNBQVM7c0JBRGYsS0FBSztnQkFTSyxlQUFlO3NCQUR6QixLQUFLO2dCQWVLLGNBQWM7c0JBRHhCLEtBQUs7Z0JBOEJDLDBCQUEwQjtzQkFEaEMsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBOEMvQyxlQUFlO3NCQURyQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCbkMsaUJBQWlCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gIFNreURvY2tMb2NhdGlvbixcbiAgU2t5RG9ja1NlcnZpY2UsXG4gIFNreUlkTW9kdWxlLFxuICBTa3lMYXlvdXRIb3N0RGlyZWN0aXZlLFxuICBTa3lMaXZlQW5ub3VuY2VyU2VydmljZSxcbiAgU2t5U2Nyb2xsU2hhZG93RGlyZWN0aXZlLFxuICBTa3lTY3JvbGxTaGFkb3dFdmVudEFyZ3MsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVNb2R1bGUgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pY29uJztcbmltcG9ydCB7IFNreVRoZW1lLCBTa3lUaGVtZU1vZHVsZSwgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbHNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LW1vZGFscy1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vbW9kYWwtY29tcG9uZW50LWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21vZGFsLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgU2t5TW9kYWxFcnJvciB9IGZyb20gJy4vbW9kYWwtZXJyb3InO1xuaW1wb3J0IHsgU2t5TW9kYWxFcnJvcnNTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1lcnJvcnMuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1ob3N0LnNlcnZpY2UnO1xuXG5jb25zdCBBUklBX1JPTEVfREVGQVVMVCA9ICdkaWFsb2cnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgY29tbW9uIGxvb2stYW5kLWZlZWwgZm9yIG1vZGFsIGNvbnRlbnQgd2l0aCBvcHRpb25zIHRvIGRpc3BsYXlcbiAqIGEgY29tbW9uIG1vZGFsIGhlYWRlciwgc3BlY2lmeSBib2R5IGNvbnRlbnQsIGFuZCBkaXNwbGF5IGEgY29tbW9uIG1vZGFsIGZvb3RlclxuICogYW5kIGJ1dHRvbnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreU1vZGFsQ29tcG9uZW50QWRhcHRlclNlcnZpY2UsXG4gICAgU2t5TW9kYWxFcnJvcnNTZXJ2aWNlLFxuICAgIFNreURvY2tTZXJ2aWNlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNreUhlbHBJbmxpbmVNb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lJZE1vZHVsZSxcbiAgICBTa3lMYXlvdXRIb3N0RGlyZWN0aXZlLFxuICAgIFNreU1vZGFsSGVhZGVyQ29tcG9uZW50LFxuICAgIFNreU1vZGFsc1Jlc291cmNlc01vZHVsZSxcbiAgICBTa3lTY3JvbGxTaGFkb3dEaXJlY3RpdmUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHVibGljIHdyYXBwZXJDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgZm9ybS1sZXZlbCBlcnJvcnMgdG8gZGlzcGxheSB0byB0aGUgdXNlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZm9ybUVycm9ycyh2YWx1ZTogU2t5TW9kYWxFcnJvcltdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jZXJyb3JzU3ZjLnVwZGF0ZUVycm9ycyh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRleHQgdG8gZGlzcGxheSBhcyB0aGUgbW9kYWwncyBoZWFkaW5nLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlYWRpbmdUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEEgaGVscCBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSBnbG9iYWwgaGVscCBjb250ZW50IHRvIGRpc3BsYXkuIFdoZW4gc3BlY2lmaWVkIGFsb25nIHdpdGggYGhlYWRpbmdUZXh0YCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSkgYnV0dG9uIGlzXG4gICAqIGFkZGVkIHRvIHRoZSBtb2RhbCBoZWFkZXIuIENsaWNraW5nIHRoZSBidXR0b24gaW52b2tlcyBbZ2xvYmFsIGhlbHBdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vZGV2ZWxvcC9nbG9iYWwtaGVscCkgYXMgY29uZmlndXJlZCBieSB0aGUgYXBwbGljYXRpb24uIFRoaXMgcHJvcGVydHkgb25seSBhcHBsaWVzIHdoZW4gYGhlYWRpbmdUZXh0YCBpcyBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mIHRoZSBoZWxwIHBvcG92ZXIuIFdoZW4gc3BlY2lmaWVkIGFsb25nIHdpdGggYGhlYWRpbmdUZXh0YCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSlcbiAgICogYnV0dG9uIGlzIGFkZGVkIHRvIHRoZSBtb2RhbCBoZWFkZXIuIFRoZSBoZWxwIGlubGluZSBidXR0b24gZGlzcGxheXMgYSBbcG9wb3Zlcl0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3BvcG92ZXIpXG4gICAqIHdoZW4gY2xpY2tlZCB1c2luZyB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgYW5kIG9wdGlvbmFsIHRpdGxlLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBoZWFkaW5nVGV4dGAgaXMgYWxzbyBzcGVjaWZpZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVscFBvcG92ZXJDb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBoZWxwIHBvcG92ZXIuIFRoaXMgcHJvcGVydHkgb25seSBhcHBsaWVzIHdoZW4gYGhlbHBQb3BvdmVyQ29udGVudGAgaXNcbiAgICogYWxzbyBzcGVjaWZpZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVscFBvcG92ZXJUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IHRoZSBjb25maXJtIGNvbXBvbmVudCB0byBzZXQgYSBkaWZmZXJlbnQgcm9sZSBmb3IgdGhlIG1vZGFsLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXJpYVJvbGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuYXJpYVJvbGVPckRlZmF1bHQgPSB2YWx1ZSB8fCBBUklBX1JPTEVfREVGQVVMVDtcbiAgfVxuXG4gIHB1YmxpYyBhcmlhUm9sZU9yRGVmYXVsdCA9IEFSSUFfUk9MRV9ERUZBVUxUO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aWxlZEJvZHk6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgdGhlIGNvbmZpcm0gY29tcG9uZW50IHRvIHNldCBkZXNjcmlwdGl2ZSB0ZXh0IHdpdGhvdXQgdXNpbmcgYVxuICAgKiBtb2RhbCBoZWFkZXIuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcmlhRGVzY3JpYmVkQnkoaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19hcmlhRGVzY3JpYmVkQnkgPSBpZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXJpYURlc2NyaWJlZEJ5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19hcmlhRGVzY3JpYmVkQnk7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBieSB0aGUgY29uZmlybSBjb21wb25lbnQgdG8gc2V0IGRlc2NyaXB0aXZlIHRleHQgd2l0aG91dCB1c2luZyBhXG4gICAqIG1vZGFsIGhlYWRlci5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFyaWFMYWJlbGxlZEJ5KGlkOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfYXJpYUxhYmVsbGVkQnkgPSBpZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsbGVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2FyaWFMYWJlbGxlZEJ5O1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGxheW91dCA9IGlucHV0PCdub25lJyB8ICdmaXQnPignbm9uZScpO1xuXG4gIHB1YmxpYyBhcmlhT3duczogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgbGVnYWN5SGVscEtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBtb2RhbFN0YXRlID0gJ2luJztcblxuICBwdWJsaWMgbW9kYWxaSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgc2Nyb2xsU2hhZG93OiBTa3lTY3JvbGxTaGFkb3dFdmVudEFyZ3MgPSB7XG4gICAgYm90dG9tU2hhZG93OiAnbm9uZScsXG4gICAgdG9wU2hhZG93OiAnbm9uZScsXG4gIH07XG5cbiAgcHVibGljIHNpemU6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnRXcmFwcGVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHB1YmxpYyBtb2RhbENvbnRlbnRXcmFwcGVyRWxlbWVudDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgc2Nyb2xsU2hhZG93RW5hYmxlZCA9IGZhbHNlO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX2FyaWFEZXNjcmliZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAjX2FyaWFMYWJlbGxlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcmVhZG9ubHkgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcmVhZG9ubHkgI2NvbXBvbmVudEFkYXB0ZXIgPSBpbmplY3QoU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNjb3JlQWRhcHRlciA9IGluamVjdChTa3lDb3JlQWRhcHRlclNlcnZpY2UpO1xuICByZWFkb25seSAjZG9ja1NlcnZpY2UgPSBpbmplY3QoU2t5RG9ja1NlcnZpY2UsIHsgaG9zdDogdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgI2VsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICByZWFkb25seSAjZXJyb3JzU3ZjID0gaW5qZWN0KFNreU1vZGFsRXJyb3JzU2VydmljZSk7XG4gIHJlYWRvbmx5ICNob3N0U2VydmljZSA9IGluamVjdChTa3lNb2RhbEhvc3RTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2xpdmVBbm5vdW5jZXJTdmMgPSBpbmplY3QoU2t5TGl2ZUFubm91bmNlclNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBUaGlzIHByb3ZpZGVyIGlzIG9wdGlvbmFsIHRvIGFjY291bnQgZm9yIHNpdHVhdGlvbnMgd2hlcmUgYSBtb2RhbCBjb21wb25lbnRcbiAgICogaXMgaW1wbGVtZW50ZWQgd2l0aG91dCB0aGUgbW9kYWwgc2VydmljZS4gRm9yIGV4YW1wbGUsIHdoZW4gYSBjb25zdW1lciB0ZXN0c1xuICAgKiBhIGNvbXBvbmVudCB0aGF0IHVzZXMgdGhlIG1vZGFsIGNvbXBvbmVudCBidXQgZG9lc24ndCBsYXVuY2ggdGhlIG1vZGFsIGZyb21cbiAgICogdGhlIG1vZGFsIHNlcnZpY2UgYmVmb3JlIGV4ZWN1dGluZyBhc3NlcnRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgI2NvbmZpZyA9XG4gICAgaW5qZWN0KFNreU1vZGFsQ29uZmlndXJhdGlvbiwgeyBvcHRpb25hbDogdHJ1ZSB9KSA/P1xuICAgIG5ldyBTa3lNb2RhbENvbmZpZ3VyYXRpb24oKTtcbiAgcmVhZG9ubHkgI3RoZW1lU3ZjID0gaW5qZWN0KFNreVRoZW1lU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFyaWFEZXNjcmliZWRCeSA9IHRoaXMuI2NvbmZpZy5hcmlhRGVzY3JpYmVkQnk7XG4gICAgdGhpcy5hcmlhTGFiZWxsZWRCeSA9IHRoaXMuI2NvbmZpZy5hcmlhTGFiZWxsZWRCeTtcbiAgICB0aGlzLmFyaWFSb2xlID0gdGhpcy4jY29uZmlnLmFyaWFSb2xlO1xuICAgIHRoaXMubGVnYWN5SGVscEtleSA9IHRoaXMuI2NvbmZpZy5oZWxwS2V5O1xuICAgIHRoaXMudGlsZWRCb2R5ID0gdGhpcy4jY29uZmlnLnRpbGVkQm9keTtcbiAgICB0aGlzLndyYXBwZXJDbGFzcyA9IHRoaXMuI2NvbmZpZy53cmFwcGVyQ2xhc3M7XG5cbiAgICB0aGlzLnNpemUgPSB0aGlzLiNjb25maWcuZnVsbFBhZ2VcbiAgICAgID8gJ2Z1bGwtcGFnZSdcbiAgICAgIDogdGhpcy4jY29uZmlnLnNpemU/LnRvTG93ZXJDYXNlKCkgfHwgJ21lZGl1bSc7XG5cbiAgICB0aGlzLm1vZGFsWkluZGV4ID0gdGhpcy4jaG9zdFNlcnZpY2UuekluZGV4O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5dXAnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Eb2N1bWVudEtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDApIHtcbiAgICAgIGNvbnN0IHRvcE1vZGFsID0gU2t5TW9kYWxIb3N0U2VydmljZS50b3BNb2RhbDtcbiAgICAgIGlmICh0b3BNb2RhbCAmJiB0b3BNb2RhbCA9PT0gdGhpcy4jaG9zdFNlcnZpY2UpIHtcbiAgICAgICAgaWYgKGV2ZW50LndoaWNoID09PSAyNykge1xuICAgICAgICAgIC8vIEVzY2FwZSBrZXkgdXBcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMuY2xvc2VCdXR0b25DbGljaygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRvY3VtZW50S2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwKSB7XG4gICAgICBjb25zdCB0b3BNb2RhbCA9IFNreU1vZGFsSG9zdFNlcnZpY2UudG9wTW9kYWw7XG4gICAgICBpZiAodG9wTW9kYWwgJiYgdG9wTW9kYWwgPT09IHRoaXMuI2hvc3RTZXJ2aWNlKSB7XG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gOSkge1xuICAgICAgICAgIC8vIFRhYiBwcmVzc2VkXG4gICAgICAgICAgbGV0IGZvY3VzQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgZm9jdXNFbGVtZW50TGlzdCA9IHRoaXMuI2NvcmVBZGFwdGVyLmdldEZvY3VzYWJsZUNoaWxkcmVuKFxuICAgICAgICAgICAgdGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQuc2hpZnRLZXkgJiZcbiAgICAgICAgICAgICh0aGlzLiNjb21wb25lbnRBZGFwdGVyLmlzRm9jdXNJbkZpcnN0SXRlbShcbiAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgIGZvY3VzRWxlbWVudExpc3QsXG4gICAgICAgICAgICApIHx8XG4gICAgICAgICAgICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaXNNb2RhbEZvY3VzZWQoZXZlbnQsIHRoaXMuI2VsUmVmKSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGZvY3VzQ2hhbmdlZCA9XG4gICAgICAgICAgICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuZm9jdXNMYXN0RWxlbWVudChmb2N1c0VsZW1lbnRMaXN0KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgIWV2ZW50LnNoaWZ0S2V5ICYmXG4gICAgICAgICAgICB0aGlzLiNjb21wb25lbnRBZGFwdGVyLmlzRm9jdXNJbkxhc3RJdGVtKGV2ZW50LCBmb2N1c0VsZW1lbnRMaXN0KVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZm9jdXNDaGFuZ2VkID1cbiAgICAgICAgICAgICAgdGhpcy4jY29tcG9uZW50QWRhcHRlci5mb2N1c0ZpcnN0RWxlbWVudChmb2N1c0VsZW1lbnRMaXN0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZm9jdXNDaGFuZ2VkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2xpdmVBbm5vdW5jZXJTdmMuYW5ub3VuY2VyRWxlbWVudENoYW5nZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQ/LmlkKSB7XG4gICAgICAgICAgdGhpcy5hcmlhT3ducyA9IGVsZW1lbnQuaWQ7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuI3RoZW1lU3ZjKSB7XG4gICAgICB0aGlzLiN0aGVtZVN2Yy5zZXR0aW5nc0NoYW5nZVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRoZW1lU2V0dGluZ3MpID0+IHtcbiAgICAgICAgICB0aGlzLnNjcm9sbFNoYWRvd0VuYWJsZWQgPVxuICAgICAgICAgICAgdGhlbWVTZXR0aW5ncy5jdXJyZW50U2V0dGluZ3MudGhlbWUgPT09IFNreVRoZW1lLnByZXNldHMubW9kZXJuO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaGFuZGxlV2luZG93Q2hhbmdlKHRoaXMuI2VsUmVmKTtcblxuICAgIHRoaXMuI2RvY2tTZXJ2aWNlLnNldERvY2tPcHRpb25zKHtcbiAgICAgIGxvY2F0aW9uOiBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbSxcbiAgICAgIHJlZmVyZW5jZUVsOiB0aGlzLm1vZGFsQ29udGVudFdyYXBwZXJFbGVtZW50IS5uYXRpdmVFbGVtZW50LFxuICAgICAgekluZGV4OiA1LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIGhlbHBCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sZWdhY3lIZWxwS2V5KSB7XG4gICAgICB0aGlzLiNob3N0U2VydmljZS5vbk9wZW5IZWxwKHRoaXMubGVnYWN5SGVscEtleSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy4jaG9zdFNlcnZpY2Uub25DbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIHdpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNjb21wb25lbnRBZGFwdGVyLmhhbmRsZVdpbmRvd0NoYW5nZSh0aGlzLiNlbFJlZik7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsU2hhZG93Q2hhbmdlKGFyZ3M6IFNreVNjcm9sbFNoYWRvd0V2ZW50QXJncyk6IHZvaWQge1xuICAgIHRoaXMuc2Nyb2xsU2hhZG93ID0gYXJncztcbiAgfVxuXG4gIHB1YmxpYyB2aWV3a2VlcGVyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jY29tcG9uZW50QWRhcHRlci5tb2RhbENvbnRlbnRIYXNEaXJlY3RDaGlsZFZpZXdrZWVwZXIoXG4gICAgICB0aGlzLiNlbFJlZixcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LW1vZGFsLWRpYWxvZ1wiXG4gIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnkgfHwgbW9kYWxDb250ZW50SWQuaWRcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkgfHwgaGVhZGVySWQuaWRcIlxuICBbYXR0ci5hcmlhLW93bnNdPVwiYXJpYU93bnNcIlxuICBbYXR0ci5yb2xlXT1cImFyaWFSb2xlT3JEZWZhdWx0XCJcbiAgKHdpbmRvdzpyZXNpemUpPVwid2luZG93UmVzaXplKClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktbW9kYWwgc2t5LXNoYWRvdyBza3ktYm94IHNreS1lbGV2YXRpb24tMTYgc2t5LW1vZGFsLXt7IHNpemUgfX1cIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktbW9kYWwtdGlsZWQnOiB0aWxlZEJvZHksXG4gICAgICAnc2t5LW1vZGFsLXZpZXdrZWVwZXInOiB2aWV3a2VlcGVyRW5hYmxlZCgpXG4gICAgfVwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgekluZGV4OiBtb2RhbFpJbmRleFxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgJ2JveC1zaGFkb3cnOiBzY3JvbGxTaGFkb3c/LnRvcFNoYWRvd1xuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGRpdiAjaGVhZGVySWQ9XCJza3lJZFwiIGNsYXNzPVwic2t5LW1vZGFsLWhlYWRlci1jb250ZW50XCIgc2t5SWQ+XG4gICAgICAgIEBpZiAoaGVhZGluZ1RleHQpIHtcbiAgICAgICAgICA8c2t5LW1vZGFsLWhlYWRlcj5cbiAgICAgICAgICAgIHt7IGhlYWRpbmdUZXh0IH19XG4gICAgICAgICAgICBAaWYgKGhlbHBLZXkgfHwgaGVscFBvcG92ZXJDb250ZW50KSB7XG4gICAgICAgICAgICAgIDxza3ktaGVscC1pbmxpbmVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWhlbHBcIlxuICAgICAgICAgICAgICAgIFtoZWxwS2V5XT1cImhlbHBLZXlcIlxuICAgICAgICAgICAgICAgIFtsYWJlbFRleHRdPVwiaGVhZGluZ1RleHRcIlxuICAgICAgICAgICAgICAgIFtwb3BvdmVyQ29udGVudF09XCJoZWxwUG9wb3ZlckNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIFtwb3BvdmVyVGl0bGVdPVwiaGVscFBvcG92ZXJUaXRsZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9za3ktbW9kYWwtaGVhZGVyPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktbW9kYWwtaGVhZGVyXCIgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LW1vZGFsLWhlYWRlci1idXR0b25zXCI+XG4gICAgICAgIEBpZiAobGVnYWN5SGVscEtleSkge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktbW9kYWwtYnRuLWhlbHBcIlxuICAgICAgICAgICAgbmFtZT1cImhlbHAtYnV0dG9uXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfbW9kYWxfb3Blbl9oZWxwJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGVscEJ1dHRvbkNsaWNrKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxza3ktaWNvbiBpY29uTmFtZT1cInF1ZXN0aW9uLWNpcmNsZVwiIC8+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1tb2RhbC1idG4tY2xvc2VcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X21vZGFsX2Nsb3NlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgKGNsaWNrKT1cImNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb24gaWNvbk5hbWU9XCJjbG9zZVwiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgI21vZGFsQ29udGVudElkPVwic2t5SWRcIlxuICAgICAgI21vZGFsQ29udGVudFdyYXBwZXJcbiAgICAgIGNsYXNzPVwic2t5LW1vZGFsLWNvbnRlbnRcIlxuICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgc2t5SWRcbiAgICAgIHNreUxheW91dEhvc3RcbiAgICAgIFtsYXlvdXRdPVwibGF5b3V0KClcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImhlYWRlcklkLmlkXCJcbiAgICAgIFtza3lTY3JvbGxTaGFkb3dFbmFibGVkXT1cInNjcm9sbFNoYWRvd0VuYWJsZWRcIlxuICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LXBhZGRpbmctZXZlbi1sYXJnZSc6ICdkZWZhdWx0J1xuICAgICAgfVwiXG4gICAgICAoc2t5U2Nyb2xsU2hhZG93KT1cInNjcm9sbFNoYWRvd0NoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktbW9kYWwtY29udGVudFwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtZm9vdGVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgJ2JveC1zaGFkb3cnOiBzY3JvbGxTaGFkb3c/LmJvdHRvbVNoYWRvd1xuICAgICAgfVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LW1vZGFsLWZvb3RlclwiIC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { SkyIdModule, SkyIdService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyThemeModule } from '@skyux/theme';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SkyModalContentComponent } from '../modal/modal-content.component';\nimport { SkyModalInstance } from '../modal/modal-instance';\nimport { SkyModalComponent } from '../modal/modal.component';\nimport { SkyModalsResourcesModule } from '../shared/sky-modals-resources.module';\nimport { SKY_CONFIRM_CONFIG } from './confirm-config-token';\nimport { SkyConfirmInstance } from './confirm-instance';\nimport { SkyConfirmType } from './confirm-type';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@skyux/core\";\nimport * as i3 from \"@skyux/theme\";\n/**\n * @internal\n */\nexport class SkyConfirmComponent {\n #ngUnsubscribe;\n #config;\n #modalInstance;\n #confirmInstance;\n #resourcesSvc;\n #idSvc;\n constructor() {\n this.isOkType = false;\n this.preserveWhiteSpace = false;\n this.#ngUnsubscribe = new Subject();\n this.#config = inject(SKY_CONFIRM_CONFIG);\n this.#modalInstance = inject(SkyModalInstance);\n this.#confirmInstance = inject(SkyConfirmInstance);\n this.#resourcesSvc = inject(SkyLibResourcesService);\n this.#idSvc = inject(SkyIdService);\n this.#config.type ??= SkyConfirmType.OK;\n if (this.#config.type === SkyConfirmType.Custom &&\n this.#config.buttons &&\n this.#config.buttons.length > 0) {\n this.buttons = this.#getCustomButtons(this.#config.buttons);\n }\n else {\n this.#getPresetButtons()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((buttons) => {\n this.buttons = buttons;\n });\n }\n this.message = this.#config.message;\n this.body = this.#config.body;\n // Using the service here instead of the directive due to the confirm\n // component's \"body\" container being conditional and thus a template\n // variable being unavailable at an outer scope\n this.bodyId = this.#idSvc.generateId();\n this.preserveWhiteSpace = !!this.#config.preserveWhiteSpace;\n this.isOkType = this.#config.type === SkyConfirmType.OK;\n // Closes the modal when requested by the confirm instance.\n this.#confirmInstance.closed.subscribe((args) => {\n this.#modalInstance.close(args);\n });\n this.#modalInstance.closed.subscribe((args) => {\n // Close the confirm when the \"escape\" key is pressed (passes 'undefined')\n // since this behavior is handled by the underlying modal component.\n if (args.data === undefined) {\n this.#confirmInstance.close({\n action: 'cancel',\n });\n }\n });\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n close(button) {\n const result = {\n action: button.action,\n };\n this.#confirmInstance.close(result);\n }\n #getPresetButtons() {\n const emitter = new ReplaySubject(1);\n this.#resourcesSvc\n .getStrings({\n cancel: 'skyux_confirm_dialog_default_cancel_text',\n no: 'skyux_confirm_dialog_default_no_text',\n ok: 'skyux_confirm_dialog_default_ok_text',\n yes: 'skyux_confirm_dialog_default_yes_text',\n })\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((values) => {\n const confirmButtons = [];\n switch (this.#config.type) {\n case SkyConfirmType.YesNoCancel:\n case SkyConfirmType.YesCancel:\n confirmButtons.push({\n text: values.yes,\n autofocus: true,\n styleType: 'primary',\n action: 'yes',\n });\n if (this.#config.type === SkyConfirmType.YesNoCancel) {\n confirmButtons.push({\n text: values.no,\n styleType: 'default',\n action: 'no',\n });\n }\n confirmButtons.push({\n text: values.cancel,\n styleType: 'link',\n action: 'cancel',\n });\n break;\n default:\n confirmButtons.push({\n text: values.ok,\n autofocus: true,\n styleType: 'primary',\n action: 'ok',\n });\n }\n emitter.next(confirmButtons);\n });\n return emitter.asObservable();\n }\n #getCustomButtons(buttonConfig) {\n return buttonConfig.map((config) => ({\n text: config.text,\n action: config.action,\n styleType: config.styleType || 'default',\n autofocus: config.autofocus || false,\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyConfirmComponent, isStandalone: true, selector: \"sky-confirm\", ngImport: i0, template: \"<div class=\\\"sky-confirm\\\" [ngClass]=\\\"{ 'sky-confirm-type-ok': isOkType }\\\">\\n <sky-modal\\n ariaRole=\\\"alertdialog\\\"\\n [ariaLabelledBy]=\\\"confirmMessage.id\\\"\\n [ariaDescribedBy]=\\\"body ? bodyId : undefined\\\"\\n >\\n <sky-modal-content class=\\\"sky-confirm-content\\\">\\n <!--\\n The following \\\"magic comment\\\" keeps Prettier from adding line breaks\\n inside the div and causing leading and trailing whitespace when\\n `preserveWhiteSpace` is `true`.\\n https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting\\n -->\\n <!-- display: inline -->\\n <div\\n #confirmMessage=\\\"skyId\\\"\\n class=\\\"sky-confirm-message\\\"\\n skyId\\n [ngClass]=\\\"{\\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\\n }\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-font-display-4': 'default'\\n }\\\"\\n >{{ message }}</div\\n >\\n\\n @if (body) {\\n <!--\\n The following \\\"magic comment\\\" keeps Prettier from adding line breaks\\n inside the div and causing leading and trailing whitespace when\\n `preserveWhiteSpace` is `true`.\\n https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting\\n -->\\n <!-- display: inline -->\\n <div\\n class=\\\"sky-confirm-body\\\"\\n [id]=\\\"bodyId\\\"\\n [ngClass]=\\\"{\\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\\n }\\\"\\n >{{ body }}</div\\n >\\n }\\n\\n <div class=\\\"sky-confirm-buttons\\\">\\n @for (button of buttons; track button.text) {\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn\\\"\\n [ngClass]=\\\"'sky-btn-' + button.styleType\\\"\\n [attr.autofocus]=\\\"button.autofocus ? 'autofocus' : null\\\"\\n (click)=\\\"close(button)\\\"\\n >\\n {{ button.text }}\\n </button>\\n }\\n </div>\\n </sky-modal-content>\\n </sky-modal>\\n</div>\\n\", styles: [\".sky-confirm:not(.sky-theme-modern *){--sky-override-confirm-body-padding: 8px 0 0;--sky-override-confirm-btn-spacing: 5px;--sky-override-confirm-footer-padding: 20px 0 0;--sky-override-confirm-header-font-size: 16px;--sky-override-confirm-message-padding: 5px 0 0}.sky-confirm-content{padding:0}.sky-confirm-message{padding:var(--sky-override-confirm-message-padding, var(--sky-comp-modal-header-space-inset-top) var(--sky-comp-modal-header-space-inset-right) var(--sky-comp-modal-header-space-inset-bottom) var(--sky-comp-modal-header-space-inset-left));color:var(--sky-color-text-heading);font-size:var(--sky-override-confirm-header-font-size, var(--sky-font-size-heading-2))}.sky-confirm-body{padding:var(--sky-override-confirm-body-padding, var(--sky-comp-modal-content-space-inset-top) var(--sky-comp-modal-content-space-inset-right) var(--sky-comp-modal-content-space-inset-bottom) var(--sky-comp-modal-content-space-inset-left))}.sky-confirm-buttons{padding:var(--sky-override-confirm-footer-padding, var(--sky-comp-modal-footer-space-inset-top) var(--sky-comp-modal-footer-space-inset-right) var(--sky-comp-modal-footer-space-inset-bottom) var(--sky-comp-modal-footer-space-inset-left))}.sky-confirm-preserve-white-space{white-space:pre-wrap}.sky-confirm .sky-btn{margin-right:var(--sky-override-confirm-btn-spacing, var(--sky-space-gap-action_group-m))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"ngmodule\", type: SkyIdModule }, { kind: \"directive\", type: i2.λ2, selector: \"[skyId]\", exportAs: [\"skyId\"] }, { kind: \"component\", type: SkyModalComponent, selector: \"sky-modal\", inputs: [\"formErrors\", \"headingText\", \"helpKey\", \"helpPopoverContent\", \"helpPopoverTitle\", \"ariaRole\", \"tiledBody\", \"ariaDescribedBy\", \"ariaLabelledBy\", \"layout\"] }, { kind: \"component\", type: SkyModalContentComponent, selector: \"sky-modal-content\" }, { kind: \"ngmodule\", type: SkyModalsResourcesModule }, { kind: \"ngmodule\", type: SkyThemeModule }, { kind: \"directive\", type: i3.λ2, selector: \"[skyThemeClass]\", inputs: [\"class\", \"skyThemeClass\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-confirm', imports: [\n CommonModule,\n SkyIdModule,\n SkyModalComponent,\n SkyModalContentComponent,\n SkyModalsResourcesModule,\n SkyThemeModule,\n ], template: \"<div class=\\\"sky-confirm\\\" [ngClass]=\\\"{ 'sky-confirm-type-ok': isOkType }\\\">\\n <sky-modal\\n ariaRole=\\\"alertdialog\\\"\\n [ariaLabelledBy]=\\\"confirmMessage.id\\\"\\n [ariaDescribedBy]=\\\"body ? bodyId : undefined\\\"\\n >\\n <sky-modal-content class=\\\"sky-confirm-content\\\">\\n <!--\\n The following \\\"magic comment\\\" keeps Prettier from adding line breaks\\n inside the div and causing leading and trailing whitespace when\\n `preserveWhiteSpace` is `true`.\\n https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting\\n -->\\n <!-- display: inline -->\\n <div\\n #confirmMessage=\\\"skyId\\\"\\n class=\\\"sky-confirm-message\\\"\\n skyId\\n [ngClass]=\\\"{\\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\\n }\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-font-display-4': 'default'\\n }\\\"\\n >{{ message }}</div\\n >\\n\\n @if (body) {\\n <!--\\n The following \\\"magic comment\\\" keeps Prettier from adding line breaks\\n inside the div and causing leading and trailing whitespace when\\n `preserveWhiteSpace` is `true`.\\n https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting\\n -->\\n <!-- display: inline -->\\n <div\\n class=\\\"sky-confirm-body\\\"\\n [id]=\\\"bodyId\\\"\\n [ngClass]=\\\"{\\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\\n }\\\"\\n >{{ body }}</div\\n >\\n }\\n\\n <div class=\\\"sky-confirm-buttons\\\">\\n @for (button of buttons; track button.text) {\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn\\\"\\n [ngClass]=\\\"'sky-btn-' + button.styleType\\\"\\n [attr.autofocus]=\\\"button.autofocus ? 'autofocus' : null\\\"\\n (click)=\\\"close(button)\\\"\\n >\\n {{ button.text }}\\n </button>\\n }\\n </div>\\n </sky-modal-content>\\n </sky-modal>\\n</div>\\n\", styles: [\".sky-confirm:not(.sky-theme-modern *){--sky-override-confirm-body-padding: 8px 0 0;--sky-override-confirm-btn-spacing: 5px;--sky-override-confirm-footer-padding: 20px 0 0;--sky-override-confirm-header-font-size: 16px;--sky-override-confirm-message-padding: 5px 0 0}.sky-confirm-content{padding:0}.sky-confirm-message{padding:var(--sky-override-confirm-message-padding, var(--sky-comp-modal-header-space-inset-top) var(--sky-comp-modal-header-space-inset-right) var(--sky-comp-modal-header-space-inset-bottom) var(--sky-comp-modal-header-space-inset-left));color:var(--sky-color-text-heading);font-size:var(--sky-override-confirm-header-font-size, var(--sky-font-size-heading-2))}.sky-confirm-body{padding:var(--sky-override-confirm-body-padding, var(--sky-comp-modal-content-space-inset-top) var(--sky-comp-modal-content-space-inset-right) var(--sky-comp-modal-content-space-inset-bottom) var(--sky-comp-modal-content-space-inset-left))}.sky-confirm-buttons{padding:var(--sky-override-confirm-footer-padding, var(--sky-comp-modal-footer-space-inset-top) var(--sky-comp-modal-footer-space-inset-right) var(--sky-comp-modal-footer-space-inset-bottom) var(--sky-comp-modal-footer-space-inset-left))}.sky-confirm-preserve-white-space{white-space:pre-wrap}.sky-confirm .sky-btn{margin-right:var(--sky-override-confirm-btn-spacing, var(--sky-space-gap-action_group-m))}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvY29uZmlybS9jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFLakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFB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QUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4QixjQUFjO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUlkTW9kdWxlLCBTa3lJZFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU1vZGFsQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsL21vZGFsLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNreU1vZGFsSW5zdGFuY2UgfSBmcm9tICcuLi9tb2RhbC9tb2RhbC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lNb2RhbHNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LW1vZGFscy1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbiB9IGZyb20gJy4vY29uZmlybS1idXR0b24nO1xuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbkNvbmZpZyB9IGZyb20gJy4vY29uZmlybS1idXR0b24tY29uZmlnJztcbmltcG9ydCB7IFNreUNvbmZpcm1DbG9zZUV2ZW50QXJncyB9IGZyb20gJy4vY29uZmlybS1jbG9zZWQtZXZlbnQtYXJncyc7XG5pbXBvcnQgeyBTS1lfQ09ORklSTV9DT05GSUcgfSBmcm9tICcuL2NvbmZpcm0tY29uZmlnLXRva2VuJztcbmltcG9ydCB7IFNreUNvbmZpcm1JbnN0YW5jZSB9IGZyb20gJy4vY29uZmlybS1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lDb25maXJtVHlwZSB9IGZyb20gJy4vY29uZmlybS10eXBlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWNvbmZpcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lJZE1vZHVsZSxcbiAgICBTa3lNb2RhbENvbXBvbmVudCxcbiAgICBTa3lNb2RhbENvbnRlbnRDb21wb25lbnQsXG4gICAgU2t5TW9kYWxzUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIGJvZHk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJvdGVjdGVkIGJvZHlJZDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgYnV0dG9uczogU2t5Q29uZmlybUJ1dHRvbltdIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgaXNPa1R5cGUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIG1lc3NhZ2U6IHN0cmluZztcbiAgcHJvdGVjdGVkIHByZXNlcnZlV2hpdGVTcGFjZSA9IGZhbHNlO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICByZWFkb25seSAjY29uZmlnID0gaW5qZWN0KFNLWV9DT05GSVJNX0NPTkZJRyk7XG4gIHJlYWRvbmx5ICNtb2RhbEluc3RhbmNlID0gaW5qZWN0KFNreU1vZGFsSW5zdGFuY2UpO1xuICByZWFkb25seSAjY29uZmlybUluc3RhbmNlID0gaW5qZWN0KFNreUNvbmZpcm1JbnN0YW5jZSk7XG4gIHJlYWRvbmx5ICNyZXNvdXJjZXNTdmMgPSBpbmplY3QoU2t5TGliUmVzb3VyY2VzU2VydmljZSk7XG4gIHJlYWRvbmx5ICNpZFN2YyA9IGluamVjdChTa3lJZFNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuI2NvbmZpZy50eXBlID8/PSBTa3lDb25maXJtVHlwZS5PSztcblxuICAgIGlmIChcbiAgICAgIHRoaXMuI2NvbmZpZy50eXBlID09PSBTa3lDb25maXJtVHlwZS5DdXN0b20gJiZcbiAgICAgIHRoaXMuI2NvbmZpZy5idXR0b25zICYmXG4gICAgICB0aGlzLiNjb25maWcuYnV0dG9ucy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLmJ1dHRvbnMgPSB0aGlzLiNnZXRDdXN0b21CdXR0b25zKHRoaXMuI2NvbmZpZy5idXR0b25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jZ2V0UHJlc2V0QnV0dG9ucygpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoYnV0dG9ucykgPT4ge1xuICAgICAgICAgIHRoaXMuYnV0dG9ucyA9IGJ1dHRvbnM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuI2NvbmZpZy5tZXNzYWdlO1xuICAgIHRoaXMuYm9keSA9IHRoaXMuI2NvbmZpZy5ib2R5O1xuXG4gICAgLy8gVXNpbmcgdGhlIHNlcnZpY2UgaGVyZSBpbnN0ZWFkIG9mIHRoZSBkaXJlY3RpdmUgZHVlIHRvIHRoZSBjb25maXJtXG4gICAgLy8gY29tcG9uZW50J3MgXCJib2R5XCIgY29udGFpbmVyIGJlaW5nIGNvbmRpdGlvbmFsIGFuZCB0aHVzIGEgdGVtcGxhdGVcbiAgICAvLyB2YXJpYWJsZSBiZWluZyB1bmF2YWlsYWJsZSBhdCBhbiBvdXRlciBzY29wZVxuICAgIHRoaXMuYm9keUlkID0gdGhpcy4jaWRTdmMuZ2VuZXJhdGVJZCgpO1xuXG4gICAgdGhpcy5wcmVzZXJ2ZVdoaXRlU3BhY2UgPSAhIXRoaXMuI2NvbmZpZy5wcmVzZXJ2ZVdoaXRlU3BhY2U7XG4gICAgdGhpcy5pc09rVHlwZSA9IHRoaXMuI2NvbmZpZy50eXBlID09PSBTa3lDb25maXJtVHlwZS5PSztcblxuICAgIC8vIENsb3NlcyB0aGUgbW9kYWwgd2hlbiByZXF1ZXN0ZWQgYnkgdGhlIGNvbmZpcm0gaW5zdGFuY2UuXG4gICAgdGhpcy4jY29uZmlybUluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcbiAgICAgIHRoaXMuI21vZGFsSW5zdGFuY2UuY2xvc2UoYXJncyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNtb2RhbEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcbiAgICAgIC8vIENsb3NlIHRoZSBjb25maXJtIHdoZW4gdGhlIFwiZXNjYXBlXCIga2V5IGlzIHByZXNzZWQgKHBhc3NlcyAndW5kZWZpbmVkJylcbiAgICAgIC8vIHNpbmNlIHRoaXMgYmVoYXZpb3IgaXMgaGFuZGxlZCBieSB0aGUgdW5kZXJseWluZyBtb2RhbCBjb21wb25lbnQuXG4gICAgICBpZiAoYXJncy5kYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy4jY29uZmlybUluc3RhbmNlLmNsb3NlKHtcbiAgICAgICAgICBhY3Rpb246ICdjYW5jZWwnLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xvc2UoYnV0dG9uOiBTa3lDb25maXJtQnV0dG9uKTogdm9pZCB7XG4gICAgY29uc3QgcmVzdWx0OiBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MgPSB7XG4gICAgICBhY3Rpb246IGJ1dHRvbi5hY3Rpb24sXG4gICAgfTtcblxuICAgIHRoaXMuI2NvbmZpcm1JbnN0YW5jZS5jbG9zZShyZXN1bHQpO1xuICB9XG5cbiAgI2dldFByZXNldEJ1dHRvbnMoKTogT2JzZXJ2YWJsZTxTa3lDb25maXJtQnV0dG9uW10+IHtcbiAgICBjb25zdCBlbWl0dGVyID0gbmV3IFJlcGxheVN1YmplY3Q8U2t5Q29uZmlybUJ1dHRvbltdPigxKTtcblxuICAgIHRoaXMuI3Jlc291cmNlc1N2Y1xuICAgICAgLmdldFN0cmluZ3Moe1xuICAgICAgICBjYW5jZWw6ICdza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X2NhbmNlbF90ZXh0JyxcbiAgICAgICAgbm86ICdza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X25vX3RleHQnLFxuICAgICAgICBvazogJ3NreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfb2tfdGV4dCcsXG4gICAgICAgIHllczogJ3NreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfeWVzX3RleHQnLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgICBjb25zdCBjb25maXJtQnV0dG9uczogU2t5Q29uZmlybUJ1dHRvbltdID0gW107XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLiNjb25maWcudHlwZSkge1xuICAgICAgICAgIGNhc2UgU2t5Q29uZmlybVR5cGUuWWVzTm9DYW5jZWw6XG4gICAgICAgICAgY2FzZSBTa3lDb25maXJtVHlwZS5ZZXNDYW5jZWw6XG4gICAgICAgICAgICBjb25maXJtQnV0dG9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgdGV4dDogdmFsdWVzLnllcyxcbiAgICAgICAgICAgICAgYXV0b2ZvY3VzOiB0cnVlLFxuICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgYWN0aW9uOiAneWVzJyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy4jY29uZmlnLnR5cGUgPT09IFNreUNvbmZpcm1UeXBlLlllc05vQ2FuY2VsKSB7XG4gICAgICAgICAgICAgIGNvbmZpcm1CdXR0b25zLnB1c2goe1xuICAgICAgICAgICAgICAgIHRleHQ6IHZhbHVlcy5ubyxcbiAgICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBhY3Rpb246ICdubycsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25maXJtQnV0dG9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgdGV4dDogdmFsdWVzLmNhbmNlbCxcbiAgICAgICAgICAgICAgc3R5bGVUeXBlOiAnbGluaycsXG4gICAgICAgICAgICAgIGFjdGlvbjogJ2NhbmNlbCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjb25maXJtQnV0dG9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgdGV4dDogdmFsdWVzLm9rLFxuICAgICAgICAgICAgICBhdXRvZm9jdXM6IHRydWUsXG4gICAgICAgICAgICAgIHN0eWxlVHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICBhY3Rpb246ICdvaycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVtaXR0ZXIubmV4dChjb25maXJtQnV0dG9ucyk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBlbWl0dGVyLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgI2dldEN1c3RvbUJ1dHRvbnMoXG4gICAgYnV0dG9uQ29uZmlnOiBTa3lDb25maXJtQnV0dG9uQ29uZmlnW10sXG4gICk6IFNreUNvbmZpcm1CdXR0b25bXSB7XG4gICAgcmV0dXJuIGJ1dHRvbkNvbmZpZy5tYXAoXG4gICAgICAoY29uZmlnKSA9PlxuICAgICAgICAoe1xuICAgICAgICAgIHRleHQ6IGNvbmZpZy50ZXh0LFxuICAgICAgICAgIGFjdGlvbjogY29uZmlnLmFjdGlvbixcbiAgICAgICAgICBzdHlsZVR5cGU6IGNvbmZpZy5zdHlsZVR5cGUgfHwgJ2RlZmF1bHQnLFxuICAgICAgICAgIGF1dG9mb2N1czogY29uZmlnLmF1dG9mb2N1cyB8fCBmYWxzZSxcbiAgICAgICAgfSkgYXMgU2t5Q29uZmlybUJ1dHRvbixcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWNvbmZpcm1cIiBbbmdDbGFzc109XCJ7ICdza3ktY29uZmlybS10eXBlLW9rJzogaXNPa1R5cGUgfVwiPlxuICA8c2t5LW1vZGFsXG4gICAgYXJpYVJvbGU9XCJhbGVydGRpYWxvZ1wiXG4gICAgW2FyaWFMYWJlbGxlZEJ5XT1cImNvbmZpcm1NZXNzYWdlLmlkXCJcbiAgICBbYXJpYURlc2NyaWJlZEJ5XT1cImJvZHkgPyBib2R5SWQgOiB1bmRlZmluZWRcIlxuICA+XG4gICAgPHNreS1tb2RhbC1jb250ZW50IGNsYXNzPVwic2t5LWNvbmZpcm0tY29udGVudFwiPlxuICAgICAgPCEtLVxuICAgICAgICBUaGUgZm9sbG93aW5nIFwibWFnaWMgY29tbWVudFwiIGtlZXBzIFByZXR0aWVyIGZyb20gYWRkaW5nIGxpbmUgYnJlYWtzXG4gICAgICAgIGluc2lkZSB0aGUgZGl2IGFuZCBjYXVzaW5nIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2Ugd2hlblxuICAgICAgICBgcHJlc2VydmVXaGl0ZVNwYWNlYCBpcyBgdHJ1ZWAuXG4gICAgICAgIGh0dHBzOi8vcHJldHRpZXIuaW8vYmxvZy8yMDE4LzExLzA3LzEuMTUuMC5odG1sI3doaXRlc3BhY2Utc2Vuc2l0aXZlLWZvcm1hdHRpbmdcbiAgICAgIC0tPlxuICAgICAgPCEtLSBkaXNwbGF5OiBpbmxpbmUgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgICNjb25maXJtTWVzc2FnZT1cInNreUlkXCJcbiAgICAgICAgY2xhc3M9XCJza3ktY29uZmlybS1tZXNzYWdlXCJcbiAgICAgICAgc2t5SWRcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktY29uZmlybS1wcmVzZXJ2ZS13aGl0ZS1zcGFjZSc6IHByZXNlcnZlV2hpdGVTcGFjZVxuICAgICAgICB9XCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktZm9udC1kaXNwbGF5LTQnOiAnZGVmYXVsdCdcbiAgICAgICAgfVwiXG4gICAgICAgID57eyBtZXNzYWdlIH19PC9kaXZcbiAgICAgID5cblxuICAgICAgQGlmIChib2R5KSB7XG4gICAgICAgIDwhLS1cbiAgICAgICAgICBUaGUgZm9sbG93aW5nIFwibWFnaWMgY29tbWVudFwiIGtlZXBzIFByZXR0aWVyIGZyb20gYWRkaW5nIGxpbmUgYnJlYWtzXG4gICAgICAgICAgaW5zaWRlIHRoZSBkaXYgYW5kIGNhdXNpbmcgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSB3aGVuXG4gICAgICAgICAgYHByZXNlcnZlV2hpdGVTcGFjZWAgaXMgYHRydWVgLlxuICAgICAgICAgIGh0dHBzOi8vcHJldHRpZXIuaW8vYmxvZy8yMDE4LzExLzA3LzEuMTUuMC5odG1sI3doaXRlc3BhY2Utc2Vuc2l0aXZlLWZvcm1hdHRpbmdcbiAgICAgICAgLS0+XG4gICAgICAgIDwhLS0gZGlzcGxheTogaW5saW5lIC0tPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJza3ktY29uZmlybS1ib2R5XCJcbiAgICAgICAgICBbaWRdPVwiYm9keUlkXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnc2t5LWNvbmZpcm0tcHJlc2VydmUtd2hpdGUtc3BhY2UnOiBwcmVzZXJ2ZVdoaXRlU3BhY2VcbiAgICAgICAgICB9XCJcbiAgICAgICAgICA+e3sgYm9keSB9fTwvZGl2XG4gICAgICAgID5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cInNreS1jb25maXJtLWJ1dHRvbnNcIj5cbiAgICAgICAgQGZvciAoYnV0dG9uIG9mIGJ1dHRvbnM7IHRyYWNrIGJ1dHRvbi50ZXh0KSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1idG5cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiJ3NreS1idG4tJyArIGJ1dHRvbi5zdHlsZVR5cGVcIlxuICAgICAgICAgICAgW2F0dHIuYXV0b2ZvY3VzXT1cImJ1dHRvbi5hdXRvZm9jdXMgPyAnYXV0b2ZvY3VzJyA6IG51bGxcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKGJ1dHRvbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGJ1dHRvbi50ZXh0IH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvc2t5LW1vZGFsLWNvbnRlbnQ+XG4gIDwvc2t5LW1vZGFsPlxuPC9kaXY+XG4iXX0=","import { Inject, Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Provided by the modal service to give the modal host\n * component additional context and features.\n * @internal\n */\nexport class SkyModalHostContext {\n constructor(args) {\n this.args = args;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostContext, deps: [{ token: 'SkyModalHostContextArgs' }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostContext }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostContext, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: ['SkyModalHostContextArgs']\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUluRDs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUM0QyxJQUE2QjtRQUE3QixTQUFJLEdBQUosSUFBSSxDQUF5QjtJQUN0RSxDQUFDOzhHQUhPLG1CQUFtQixrQkFFcEIseUJBQXlCO2tIQUZ4QixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHRBcmdzIH0gZnJvbSAnLi9tb2RhbC1ob3N0LWNvbnRleHQtYXJncyc7XG5cbi8qKlxuICogUHJvdmlkZWQgYnkgdGhlIG1vZGFsIHNlcnZpY2UgdG8gZ2l2ZSB0aGUgbW9kYWwgaG9zdFxuICogY29tcG9uZW50IGFkZGl0aW9uYWwgY29udGV4dCBhbmQgZmVhdHVyZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdENvbnRleHQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdTa3lNb2RhbEhvc3RDb250ZXh0QXJncycpIHB1YmxpYyBhcmdzOiBTa3lNb2RhbEhvc3RDb250ZXh0QXJncyxcbiAgKSB7fVxufVxuIl19","import { Injectable, inject } from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * @internal\n */\nexport class SkyModalAdapterService {\n static { this.MODAL_BODY_FULL_CLASS = 'sky-modal-body-full-page'; }\n static { this.MODAL_BODY_CLASS = 'sky-modal-body-open'; }\n #docRef;\n #bodyEl;\n #coreAdapter = inject(SkyCoreAdapterService);\n #windowRef;\n #hostSiblingAriaHiddenCache = new Map();\n constructor(windowRef) {\n this.#windowRef = windowRef;\n this.#docRef = this.#windowRef.nativeWindow.document;\n this.#bodyEl = this.#windowRef.nativeWindow.document.body;\n }\n toggleFullPageModalClass(isAddFull) {\n if (isAddFull) {\n this.#addClassToBody(SkyModalAdapterService.MODAL_BODY_FULL_CLASS);\n }\n else {\n this.#removeClassFromBody(SkyModalAdapterService.MODAL_BODY_FULL_CLASS);\n }\n }\n setPageScroll(isAdd) {\n if (isAdd) {\n this.#addClassToBody(SkyModalAdapterService.MODAL_BODY_CLASS);\n }\n else {\n this.#removeClassFromBody(SkyModalAdapterService.MODAL_BODY_CLASS);\n }\n }\n getModalOpener() {\n return this.#docRef.activeElement;\n }\n #addClassToBody(className) {\n this.#bodyEl.classList.add(className);\n }\n #removeClassFromBody(className) {\n this.#bodyEl.classList.remove(className);\n }\n scrollContentToTop(element) {\n element.nativeElement.querySelector('.sky-modal-content').scrollTop = 0;\n }\n /**\n * Hides siblings of modal-host from screen readers\n * @param hostElRef reference to modal-host element\n */\n hideHostSiblingsFromScreenReaders(hostElRef) {\n const hostElement = hostElRef.nativeElement;\n const hostSiblings = hostElement.parentElement?.children;\n if (hostSiblings) {\n for (const element of hostSiblings) {\n if (element.contains(document.activeElement)) {\n document.body.focus();\n }\n if (element !== hostElement &&\n !element.hasAttribute('aria-live') &&\n element.nodeName.toLowerCase() !== 'script' &&\n element.nodeName.toLowerCase() !== 'style') {\n // preserve previous aria-hidden status of elements outside of modal host\n this.#hostSiblingAriaHiddenCache.set(element, element.getAttribute('aria-hidden'));\n element.setAttribute('aria-hidden', 'true');\n }\n }\n }\n }\n focusFirstElement(modalEl) {\n /* istanbul ignore else */\n /* handle the case where somehow there is a focused element already in the modal */\n if (!(document.activeElement &&\n modalEl.nativeElement.contains(document.activeElement))) {\n const currentScrollX = window.pageXOffset;\n const currentScrollY = window.pageYOffset;\n const inputWithAutofocus = modalEl.nativeElement.querySelector('[autofocus]');\n if (inputWithAutofocus) {\n inputWithAutofocus.focus();\n }\n else {\n this.#coreAdapter.getFocusableChildrenAndApplyFocus(modalEl, '.sky-modal-content', true);\n }\n window.scrollTo(currentScrollX, currentScrollY);\n }\n }\n /**\n * Restores modal-host siblings to screen reader status prior to modals being opened\n */\n unhideOrRestoreHostSiblingsFromScreenReaders() {\n this.#hostSiblingAriaHiddenCache.forEach((previousValue, element) => {\n // if element had aria-hidden status prior, restore status\n if (element.parentElement) {\n if (previousValue) {\n element.setAttribute('aria-hidden', previousValue);\n }\n else {\n element.removeAttribute('aria-hidden');\n }\n }\n });\n this.#hostSiblingAriaHiddenCache.clear();\n }\n hidePreviousModalFromScreenReaders(topModal) {\n if (topModal && topModal.nativeElement.previousElementSibling) {\n topModal.nativeElement.previousElementSibling.setAttribute('aria-hidden', 'true');\n }\n }\n unhidePreviousModalFromScreenReaders(topModal) {\n if (topModal && topModal.nativeElement.previousElementSibling) {\n topModal.nativeElement.previousElementSibling.removeAttribute('aria-hidden');\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalAdapterService, deps: [{ token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalAdapterService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalAdapterService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.SkyAppWindowRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUVyRTs7R0FFRztBQUVILE1BQU0sT0FBTyxzQkFBc0I7YUFDVCwwQkFBcUIsR0FBRywwQkFBMEIsQUFBN0IsQ0FBOEI7YUFDbkQscUJBQWdCLEdBQUcscUJBQXFCLEFBQXhCLENBQXlCO0lBRWpFLE9BQU8sQ0FBTTtJQUNiLE9BQU8sQ0FBYztJQUVyQixZQUFZLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDN0MsVUFBVSxDQUFrQjtJQUM1QiwyQkFBMkIsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztJQUVoRSxZQUFZLFNBQTBCO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUM1RCxDQUFDO0lBRU0sd0JBQXdCLENBQUMsU0FBa0I7UUFDaEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNyRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxxQkFB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bEQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLDRDQUE0QztRQUNqRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2xFLDBEQUEwRDtZQUMxRCxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxhQUFhLEVBQUUsQ0FBQztvQkFDbEIsT0FBTyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQ3JELENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN6QyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTSxrQ0FBa0MsQ0FBQyxRQUFvQjtRQUM1RCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUQsUUFBUSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQ3hELGFBQWEsRUFDYixNQUFNLENBQ1AsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU0sb0NBQW9DLENBQUMsUUFBb0I7UUFDOUQsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzlELFFBQVEsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsZUFBZSxDQUMzRCxhQUFhLENBQ2QsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDOzhHQTNJVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5QXBwV2luZG93UmVmLCBTa3lDb3JlQWRhcHRlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTU9EQUxfQk9EWV9GVUxMX0NMQVNTID0gJ3NreS1tb2RhbC1ib2R5LWZ1bGwtcGFnZSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1PREFMX0JPRFlfQ0xBU1MgPSAnc2t5LW1vZGFsLWJvZHktb3Blbic7XG5cbiAgI2RvY1JlZjogYW55O1xuICAjYm9keUVsOiBIVE1MRWxlbWVudDtcblxuICAjY29yZUFkYXB0ZXIgPSBpbmplY3QoU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlKTtcbiAgI3dpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmO1xuICAjaG9zdFNpYmxpbmdBcmlhSGlkZGVuQ2FjaGUgPSBuZXcgTWFwPEVsZW1lbnQsIHN0cmluZyB8IG51bGw+KCk7XG5cbiAgY29uc3RydWN0b3Iod2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYpIHtcbiAgICB0aGlzLiN3aW5kb3dSZWYgPSB3aW5kb3dSZWY7XG4gICAgdGhpcy4jZG9jUmVmID0gdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5kb2N1bWVudDtcbiAgICB0aGlzLiNib2R5RWwgPSB0aGlzLiN3aW5kb3dSZWYubmF0aXZlV2luZG93LmRvY3VtZW50LmJvZHk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlRnVsbFBhZ2VNb2RhbENsYXNzKGlzQWRkRnVsbDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChpc0FkZEZ1bGwpIHtcbiAgICAgIHRoaXMuI2FkZENsYXNzVG9Cb2R5KFNreU1vZGFsQWRhcHRlclNlcnZpY2UuTU9EQUxfQk9EWV9GVUxMX0NMQVNTKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jcmVtb3ZlQ2xhc3NGcm9tQm9keShTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlLk1PREFMX0JPRFlfRlVMTF9DTEFTUyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFBhZ2VTY3JvbGwoaXNBZGQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoaXNBZGQpIHtcbiAgICAgIHRoaXMuI2FkZENsYXNzVG9Cb2R5KFNreU1vZGFsQWRhcHRlclNlcnZpY2UuTU9EQUxfQk9EWV9DTEFTUyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3JlbW92ZUNsYXNzRnJvbUJvZHkoU2t5TW9kYWxBZGFwdGVyU2VydmljZS5NT0RBTF9CT0RZX0NMQVNTKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kYWxPcGVuZXIoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNkb2NSZWYuYWN0aXZlRWxlbWVudDtcbiAgfVxuXG4gICNhZGRDbGFzc1RvQm9keShjbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2JvZHlFbC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gIH1cblxuICAjcmVtb3ZlQ2xhc3NGcm9tQm9keShjbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2JvZHlFbC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsQ29udGVudFRvVG9wKGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1tb2RhbC1jb250ZW50Jykuc2Nyb2xsVG9wID0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBIaWRlcyBzaWJsaW5ncyBvZiBtb2RhbC1ob3N0IGZyb20gc2NyZWVuIHJlYWRlcnNcbiAgICogQHBhcmFtIGhvc3RFbFJlZiByZWZlcmVuY2UgdG8gbW9kYWwtaG9zdCBlbGVtZW50XG4gICAqL1xuICBwdWJsaWMgaGlkZUhvc3RTaWJsaW5nc0Zyb21TY3JlZW5SZWFkZXJzKGhvc3RFbFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gaG9zdEVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgaG9zdFNpYmxpbmdzID0gaG9zdEVsZW1lbnQucGFyZW50RWxlbWVudD8uY2hpbGRyZW47XG5cbiAgICBpZiAoaG9zdFNpYmxpbmdzKSB7XG4gICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgaG9zdFNpYmxpbmdzKSB7XG4gICAgICAgIGlmIChlbGVtZW50LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICBlbGVtZW50ICE9PSBob3N0RWxlbWVudCAmJlxuICAgICAgICAgICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnYXJpYS1saXZlJykgJiZcbiAgICAgICAgICBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdzY3JpcHQnICYmXG4gICAgICAgICAgZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAnc3R5bGUnXG4gICAgICAgICkge1xuICAgICAgICAgIC8vIHByZXNlcnZlIHByZXZpb3VzIGFyaWEtaGlkZGVuIHN0YXR1cyBvZiBlbGVtZW50cyBvdXRzaWRlIG9mIG1vZGFsIGhvc3RcbiAgICAgICAgICB0aGlzLiNob3N0U2libGluZ0FyaWFIaWRkZW5DYWNoZS5zZXQoXG4gICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJyksXG4gICAgICAgICAgKTtcbiAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvY3VzRmlyc3RFbGVtZW50KG1vZGFsRWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBzb21laG93IHRoZXJlIGlzIGEgZm9jdXNlZCBlbGVtZW50IGFscmVhZHkgaW4gdGhlIG1vZGFsICovXG4gICAgaWYgKFxuICAgICAgIShcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJlxuICAgICAgICBtb2RhbEVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudClcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTY3JvbGxYID0gd2luZG93LnBhZ2VYT2Zmc2V0O1xuICAgICAgY29uc3QgY3VycmVudFNjcm9sbFkgPSB3aW5kb3cucGFnZVlPZmZzZXQ7XG5cbiAgICAgIGNvbnN0IGlucHV0V2l0aEF1dG9mb2N1cyA9XG4gICAgICAgIG1vZGFsRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbYXV0b2ZvY3VzXScpO1xuXG4gICAgICBpZiAoaW5wdXRXaXRoQXV0b2ZvY3VzKSB7XG4gICAgICAgIGlucHV0V2l0aEF1dG9mb2N1cy5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jY29yZUFkYXB0ZXIuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW5BbmRBcHBseUZvY3VzKFxuICAgICAgICAgIG1vZGFsRWwsXG4gICAgICAgICAgJy5za3ktbW9kYWwtY29udGVudCcsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHdpbmRvdy5zY3JvbGxUbyhjdXJyZW50U2Nyb2xsWCwgY3VycmVudFNjcm9sbFkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlcyBtb2RhbC1ob3N0IHNpYmxpbmdzIHRvIHNjcmVlbiByZWFkZXIgc3RhdHVzIHByaW9yIHRvIG1vZGFscyBiZWluZyBvcGVuZWRcbiAgICovXG4gIHB1YmxpYyB1bmhpZGVPclJlc3RvcmVIb3N0U2libGluZ3NGcm9tU2NyZWVuUmVhZGVycygpOiB2b2lkIHtcbiAgICB0aGlzLiNob3N0U2libGluZ0FyaWFIaWRkZW5DYWNoZS5mb3JFYWNoKChwcmV2aW91c1ZhbHVlLCBlbGVtZW50KSA9PiB7XG4gICAgICAvLyBpZiBlbGVtZW50IGhhZCBhcmlhLWhpZGRlbiBzdGF0dXMgcHJpb3IsIHJlc3RvcmUgc3RhdHVzXG4gICAgICBpZiAoZWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgIGlmIChwcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgcHJldmlvdXNWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLiNob3N0U2libGluZ0FyaWFIaWRkZW5DYWNoZS5jbGVhcigpO1xuICB9XG5cbiAgcHVibGljIGhpZGVQcmV2aW91c01vZGFsRnJvbVNjcmVlblJlYWRlcnModG9wTW9kYWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBpZiAodG9wTW9kYWwgJiYgdG9wTW9kYWwubmF0aXZlRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSB7XG4gICAgICB0b3BNb2RhbC5uYXRpdmVFbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmcuc2V0QXR0cmlidXRlKFxuICAgICAgICAnYXJpYS1oaWRkZW4nLFxuICAgICAgICAndHJ1ZScsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1bmhpZGVQcmV2aW91c01vZGFsRnJvbVNjcmVlblJlYWRlcnModG9wTW9kYWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBpZiAodG9wTW9kYWwgJiYgdG9wTW9kYWwubmF0aXZlRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSB7XG4gICAgICB0b3BNb2RhbC5uYXRpdmVFbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmcucmVtb3ZlQXR0cmlidXRlKFxuICAgICAgICAnYXJpYS1oaWRkZW4nLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, ElementRef, EnvironmentInjector, ViewChild, ViewContainerRef, inject, } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { NavigationStart, Router, RouterModule } from '@angular/router';\nimport { SKY_STACKING_CONTEXT, SkyAppWindowRef, SkyDynamicComponentService, } from '@skyux/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { takeUntil, takeWhile } from 'rxjs/operators';\nimport { SkyModalsResourcesModule } from '../shared/sky-modals-resources.module';\nimport { SkyModalAdapterService } from './modal-adapter.service';\nimport { SkyModalConfiguration } from './modal-configuration';\nimport { SkyModalHostContext } from './modal-host-context';\nimport { SkyModalHostService } from './modal-host.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\n/**\n * @internal\n */\nexport class SkyModalHostComponent {\n constructor() {\n this.backdropZIndex = toSignal(SkyModalHostService.backdropZIndexChange);\n this.modalCount = toSignal(SkyModalHostService.openModalCountChange);\n this.#modalInstances = [];\n this.#adapter = inject(SkyModalAdapterService);\n this.#changeDetector = inject(ChangeDetectorRef);\n this.#dynamicComponentSvc = inject(SkyDynamicComponentService);\n this.#elRef = inject(ElementRef);\n this.#environmentInjector = inject(EnvironmentInjector);\n this.#modalHostContext = inject(SkyModalHostContext);\n this.#router = inject(Router, { optional: true });\n this.#windowRef = inject(SkyAppWindowRef);\n }\n #modalInstances;\n #adapter;\n #changeDetector;\n #dynamicComponentSvc;\n #elRef;\n #environmentInjector;\n #modalHostContext;\n #router;\n #windowRef;\n ngOnDestroy() {\n // Close all modal instances before disposing of the host container.\n this.#closeAllModalInstances();\n this.#modalHostContext.args.teardownCallback();\n }\n open(modalInstance, component, config, environmentInjector) {\n /* Ignore coverage as we specify the target element and so the view child should never be undefined unless\n * we were to call the `open` method in an early lifecycle hook. */\n /* istanbul ignore next */\n if (!this.target) {\n return;\n }\n const params = Object.assign({}, config);\n const hostService = new SkyModalHostService();\n hostService.fullPage = !!params.fullPage;\n const adapter = this.#adapter;\n const modalOpener = adapter.getModalOpener();\n let isOpen = true;\n params.providers ||= [];\n params.providers.push({\n provide: SkyModalHostService,\n useValue: hostService,\n }, {\n provide: SkyModalConfiguration,\n useValue: params,\n }, {\n provide: SKY_STACKING_CONTEXT,\n useValue: {\n zIndex: new BehaviorSubject(hostService.getModalZIndex())\n .asObservable()\n .pipe(takeUntil(modalInstance.closed)),\n },\n });\n adapter.setPageScroll(SkyModalHostService.openModalCount > 0);\n adapter.toggleFullPageModalClass(SkyModalHostService.fullPageModalCount > 0);\n environmentInjector ||= this.#environmentInjector;\n const modalComponentRef = this.#dynamicComponentSvc.createComponent(component, {\n environmentInjector: environmentInjector,\n providers: params.providers,\n viewContainerRef: this.target,\n });\n // modal element that was just opened\n const modalElement = modalComponentRef.location;\n modalInstance.adapter = this.#adapter;\n modalInstance.componentRef = modalComponentRef;\n this.#registerModalInstance(modalInstance);\n // Adding a timeout to avoid ExpressionChangedAfterItHasBeenCheckedError.\n // https://stackoverflow.com/questions/40562845\n this.#windowRef.nativeWindow.setTimeout(() => {\n this.#adapter.focusFirstElement(modalElement);\n // hiding all elements at the modal-host level from screen readers when the a modal is opened\n this.#adapter.hideHostSiblingsFromScreenReaders(this.#elRef);\n if (SkyModalHostService.openModalCount > 1 &&\n SkyModalHostService.topModal === hostService) {\n // hiding the lower modals when more than one modal is opened\n this.#adapter.hidePreviousModalFromScreenReaders(modalElement);\n }\n });\n const closeModal = () => {\n // unhide siblings if last modal is closing\n if (SkyModalHostService.openModalCount === 1) {\n this.#adapter.unhideOrRestoreHostSiblingsFromScreenReaders();\n }\n else if (SkyModalHostService.topModal === hostService) {\n // if there are more than 1 modal then unhide the one behind this one before closing it\n this.#adapter.unhidePreviousModalFromScreenReaders(modalElement);\n }\n hostService.destroy();\n adapter.setPageScroll(SkyModalHostService.openModalCount > 0);\n adapter.toggleFullPageModalClass(SkyModalHostService.fullPageModalCount > 0);\n /* istanbul ignore else */\n /* sanity check */\n if (modalOpener && modalOpener.focus) {\n modalOpener.focus();\n }\n modalComponentRef.destroy();\n };\n hostService.openHelp.subscribe((helpKey) => {\n modalInstance.openHelp(helpKey);\n });\n hostService.close.subscribe(() => {\n modalInstance.close();\n });\n this.#router?.events.pipe(takeWhile(() => isOpen)).subscribe((event) => {\n /* istanbul ignore else */\n if (event instanceof NavigationStart) {\n modalInstance.close();\n }\n });\n modalInstance.closed.subscribe(() => {\n isOpen = false;\n this.#unregisterModalInstance(modalInstance);\n closeModal();\n });\n // Necessary if the host was created via a consumer's lifecycle hook such as ngOnInit\n this.#changeDetector.detectChanges();\n }\n #registerModalInstance(instance) {\n this.#modalInstances.push(instance);\n }\n #unregisterModalInstance(instance) {\n this.#modalInstances.slice(this.#modalInstances.indexOf(instance), 1);\n }\n #closeAllModalInstances() {\n for (const instance of this.#modalInstances) {\n instance.close();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.0\", type: SkyModalHostComponent, isStandalone: true, selector: \"sky-modal-host\", viewQueries: [{ propertyName: \"target\", first: true, predicate: [\"target\"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: \"<div\\n class=\\\"sky-modal-host-backdrop\\\"\\n [hidden]=\\\"modalCount() === 0\\\"\\n [ngStyle]=\\\"{\\n zIndex: backdropZIndex()\\n }\\\"\\n></div>\\n<div #target></div>\\n\", styles: [\".sky-modal-host-backdrop:not(.sky-theme-modern *){--sky-override-modal-host-backdrop-color: rgba(0, 0, 0, .5)}.sky-modal-host-backdrop{background-color:var(--sky-override-modal-host-backdrop-color, var(--sky-color-background-scrim));position:fixed;inset:0}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: SkyModalsResourcesModule }], viewProviders: [SkyModalAdapterService] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalHostComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-modal-host', viewProviders: [SkyModalAdapterService], imports: [CommonModule, RouterModule, SkyModalsResourcesModule], template: \"<div\\n class=\\\"sky-modal-host-backdrop\\\"\\n [hidden]=\\\"modalCount() === 0\\\"\\n [ngStyle]=\\\"{\\n zIndex: backdropZIndex()\\n }\\\"\\n></div>\\n<div #target></div>\\n\", styles: [\".sky-modal-host-backdrop:not(.sky-theme-modern *){--sky-override-modal-host-backdrop-color: rgba(0, 0, 0, .5)}.sky-modal-host-backdrop{background-color:var(--sky-override-modal-host-backdrop-color, var(--sky-color-background-scrim));position:fixed;inset:0}\\n\"] }]\n }], propDecorators: { target: [{\n type: ViewChild,\n args: ['target', {\n read: ViewContainerRef,\n static: true,\n }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFHbkIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLDBCQUEwQixHQUMzQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFakYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxF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bnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEVudmlyb25tZW50SW5qZWN0b3IsXG4gIE9uRGVzdHJveSxcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIFNLWV9TVEFDS0lOR19DT05URVhULFxuICBTa3lBcHBXaW5kb3dSZWYsXG4gIFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU1vZGFsc1Jlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktbW9kYWxzLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9tb2RhbC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHQgfSBmcm9tICcuL21vZGFsLWhvc3QtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4vbW9kYWwtaW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtaG9zdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1ob3N0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtaG9zdC5jb21wb25lbnQuc2NzcyddLFxuICB2aWV3UHJvdmlkZXJzOiBbU2t5TW9kYWxBZGFwdGVyU2VydmljZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgU2t5TW9kYWxzUmVzb3VyY2VzTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxIb3N0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIGJhY2tkcm9wWkluZGV4ID0gdG9TaWduYWwoU2t5TW9kYWxIb3N0U2VydmljZS5iYWNrZHJvcFpJbmRleENoYW5nZSk7XG4gIHByb3RlY3RlZCBtb2RhbENvdW50ID0gdG9TaWduYWwoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudENoYW5nZSk7XG5cbiAgQFZpZXdDaGlsZCgndGFyZ2V0Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkO1xuXG4gICNtb2RhbEluc3RhbmNlczogU2t5TW9kYWxJbnN0YW5jZVtdID0gW107XG5cbiAgcmVhZG9ubHkgI2FkYXB0ZXIgPSBpbmplY3QoU2t5TW9kYWxBZGFwdGVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNkeW5hbWljQ29tcG9uZW50U3ZjID0gaW5qZWN0KFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2VsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICByZWFkb25seSAjZW52aXJvbm1lbnRJbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKTtcbiAgcmVhZG9ubHkgI21vZGFsSG9zdENvbnRleHQgPSBpbmplY3QoU2t5TW9kYWxIb3N0Q29udGV4dCk7XG4gIHJlYWRvbmx5ICNyb3V0ZXIgPSBpbmplY3QoUm91dGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICByZWFkb25seSAjd2luZG93UmVmID0gaW5qZWN0KFNreUFwcFdpbmRvd1JlZik7XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIENsb3NlIGFsbCBtb2RhbCBpbnN0YW5jZXMgYmVmb3JlIGRpc3Bvc2luZyBvZiB0aGUgaG9zdCBjb250YWluZXIuXG4gICAgdGhpcy4jY2xvc2VBbGxNb2RhbEluc3RhbmNlcygpO1xuICAgIHRoaXMuI21vZGFsSG9zdENvbnRleHQuYXJncy50ZWFyZG93bkNhbGxiYWNrKCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbjxUPihcbiAgICBtb2RhbEluc3RhbmNlOiBTa3lNb2RhbEluc3RhbmNlLFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc/OiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UsXG4gICAgZW52aXJvbm1lbnRJbmplY3Rvcj86IEVudmlyb25tZW50SW5qZWN0b3IsXG4gICk6IHZvaWQge1xuICAgIC8qIElnbm9yZSBjb3ZlcmFnZSBhcyB3ZSBzcGVjaWZ5IHRoZSB0YXJnZXQgZWxlbWVudCBhbmQgc28gdGhlIHZpZXcgY2hpbGQgc2hvdWxkIG5ldmVyIGJlIHVuZGVmaW5lZCB1bmxlc3NcbiAgICAgKiB3ZSB3ZXJlIHRvIGNhbGwgdGhlIGBvcGVuYCBtZXRob2QgaW4gYW4gZWFybHkgbGlmZWN5Y2xlIGhvb2suICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpO1xuXG4gICAgY29uc3QgaG9zdFNlcnZpY2UgPSBuZXcgU2t5TW9kYWxIb3N0U2VydmljZSgpO1xuICAgIGhvc3RTZXJ2aWNlLmZ1bGxQYWdlID0gISFwYXJhbXMuZnVsbFBhZ2U7XG5cbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy4jYWRhcHRlcjtcbiAgICBjb25zdCBtb2RhbE9wZW5lcjogSFRNTEVsZW1lbnQgPSBhZGFwdGVyLmdldE1vZGFsT3BlbmVyKCk7XG5cbiAgICBsZXQgaXNPcGVuID0gdHJ1ZTtcblxuICAgIHBhcmFtcy5wcm92aWRlcnMgfHw9IFtdO1xuICAgIHBhcmFtcy5wcm92aWRlcnMucHVzaChcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogU2t5TW9kYWxIb3N0U2VydmljZSxcbiAgICAgICAgdXNlVmFsdWU6IGhvc3RTZXJ2aWNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogU2t5TW9kYWxDb25maWd1cmF0aW9uLFxuICAgICAgICB1c2VWYWx1ZTogcGFyYW1zLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogU0tZX1NUQUNLSU5HX0NPTlRFWFQsXG4gICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgekluZGV4OiBuZXcgQmVoYXZpb3JTdWJqZWN0KGhvc3RTZXJ2aWNlLmdldE1vZGFsWkluZGV4KCkpXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbChtb2RhbEluc3RhbmNlLmNsb3NlZCkpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgYWRhcHRlci5zZXRQYWdlU2Nyb2xsKFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwKTtcbiAgICBhZGFwdGVyLnRvZ2dsZUZ1bGxQYWdlTW9kYWxDbGFzcyhcbiAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2UuZnVsbFBhZ2VNb2RhbENvdW50ID4gMCxcbiAgICApO1xuXG4gICAgZW52aXJvbm1lbnRJbmplY3RvciB8fD0gdGhpcy4jZW52aXJvbm1lbnRJbmplY3RvcjtcbiAgICBjb25zdCBtb2RhbENvbXBvbmVudFJlZiA9IHRoaXMuI2R5bmFtaWNDb21wb25lbnRTdmMuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgY29tcG9uZW50LFxuICAgICAge1xuICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yOiBlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICBwcm92aWRlcnM6IHBhcmFtcy5wcm92aWRlcnMsXG4gICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudGFyZ2V0LFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgLy8gbW9kYWwgZWxlbWVudCB0aGF0IHdhcyBqdXN0IG9wZW5lZFxuICAgIGNvbnN0IG1vZGFsRWxlbWVudCA9IG1vZGFsQ29tcG9uZW50UmVmLmxvY2F0aW9uO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5hZGFwdGVyID0gdGhpcy4jYWRhcHRlcjtcbiAgICBtb2RhbEluc3RhbmNlLmNvbXBvbmVudFJlZiA9IG1vZGFsQ29tcG9uZW50UmVmO1xuXG4gICAgdGhpcy4jcmVnaXN0ZXJNb2RhbEluc3RhbmNlKG1vZGFsSW5zdGFuY2UpO1xuXG4gICAgLy8gQWRkaW5nIGEgdGltZW91dCB0byBhdm9pZCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yLlxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQwNTYyODQ1XG4gICAgdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2FkYXB0ZXIuZm9jdXNGaXJzdEVsZW1lbnQobW9kYWxFbGVtZW50KTtcblxuICAgICAgLy8gaGlkaW5nIGFsbCBlbGVtZW50cyBhdCB0aGUgbW9kYWwtaG9zdCBsZXZlbCBmcm9tIHNjcmVlbiByZWFkZXJzIHdoZW4gdGhlIGEgbW9kYWwgaXMgb3BlbmVkXG4gICAgICB0aGlzLiNhZGFwdGVyLmhpZGVIb3N0U2libGluZ3NGcm9tU2NyZWVuUmVhZGVycyh0aGlzLiNlbFJlZik7XG4gICAgICBpZiAoXG4gICAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAxICYmXG4gICAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2UudG9wTW9kYWwgPT09IGhvc3RTZXJ2aWNlXG4gICAgICApIHtcbiAgICAgICAgLy8gaGlkaW5nIHRoZSBsb3dlciBtb2RhbHMgd2hlbiBtb3JlIHRoYW4gb25lIG1vZGFsIGlzIG9wZW5lZFxuICAgICAgICB0aGlzLiNhZGFwdGVyLmhpZGVQcmV2aW91c01vZGFsRnJvbVNjcmVlblJlYWRlcnMobW9kYWxFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGNsb3NlTW9kYWwgPSAoKTogdm9pZCA9PiB7XG4gICAgICAvLyB1bmhpZGUgc2libGluZ3MgaWYgbGFzdCBtb2RhbCBpcyBjbG9zaW5nXG4gICAgICBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA9PT0gMSkge1xuICAgICAgICB0aGlzLiNhZGFwdGVyLnVuaGlkZU9yUmVzdG9yZUhvc3RTaWJsaW5nc0Zyb21TY3JlZW5SZWFkZXJzKCk7XG4gICAgICB9IGVsc2UgaWYgKFNreU1vZGFsSG9zdFNlcnZpY2UudG9wTW9kYWwgPT09IGhvc3RTZXJ2aWNlKSB7XG4gICAgICAgIC8vIGlmIHRoZXJlIGFyZSBtb3JlIHRoYW4gMSBtb2RhbCB0aGVuIHVuaGlkZSB0aGUgb25lIGJlaGluZCB0aGlzIG9uZSBiZWZvcmUgY2xvc2luZyBpdFxuICAgICAgICB0aGlzLiNhZGFwdGVyLnVuaGlkZVByZXZpb3VzTW9kYWxGcm9tU2NyZWVuUmVhZGVycyhtb2RhbEVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBob3N0U2VydmljZS5kZXN0cm95KCk7XG4gICAgICBhZGFwdGVyLnNldFBhZ2VTY3JvbGwoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDApO1xuICAgICAgYWRhcHRlci50b2dnbGVGdWxsUGFnZU1vZGFsQ2xhc3MoXG4gICAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2UuZnVsbFBhZ2VNb2RhbENvdW50ID4gMCxcbiAgICAgICk7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICBpZiAobW9kYWxPcGVuZXIgJiYgbW9kYWxPcGVuZXIuZm9jdXMpIHtcbiAgICAgICAgbW9kYWxPcGVuZXIuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIG1vZGFsQ29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgaG9zdFNlcnZpY2Uub3BlbkhlbHAuc3Vic2NyaWJlKChoZWxwS2V5KSA9PiB7XG4gICAgICBtb2RhbEluc3RhbmNlLm9wZW5IZWxwKGhlbHBLZXkpO1xuICAgIH0pO1xuXG4gICAgaG9zdFNlcnZpY2UuY2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIG1vZGFsSW5zdGFuY2UuY2xvc2UoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuI3JvdXRlcj8uZXZlbnRzLnBpcGUodGFrZVdoaWxlKCgpID0+IGlzT3BlbikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlzT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy4jdW5yZWdpc3Rlck1vZGFsSW5zdGFuY2UobW9kYWxJbnN0YW5jZSk7XG4gICAgICBjbG9zZU1vZGFsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBOZWNlc3NhcnkgaWYgdGhlIGhvc3Qgd2FzIGNyZWF0ZWQgdmlhIGEgY29uc3VtZXIncyBsaWZlY3ljbGUgaG9vayBzdWNoIGFzIG5nT25Jbml0XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgI3JlZ2lzdGVyTW9kYWxJbnN0YW5jZShpbnN0YW5jZTogU2t5TW9kYWxJbnN0YW5jZSk6IHZvaWQge1xuICAgIHRoaXMuI21vZGFsSW5zdGFuY2VzLnB1c2goaW5zdGFuY2UpO1xuICB9XG5cbiAgI3VucmVnaXN0ZXJNb2RhbEluc3RhbmNlKGluc3RhbmNlOiBTa3lNb2RhbEluc3RhbmNlKTogdm9pZCB7XG4gICAgdGhpcy4jbW9kYWxJbnN0YW5jZXMuc2xpY2UodGhpcy4jbW9kYWxJbnN0YW5jZXMuaW5kZXhPZihpbnN0YW5jZSksIDEpO1xuICB9XG5cbiAgI2Nsb3NlQWxsTW9kYWxJbnN0YW5jZXMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpbnN0YW5jZSBvZiB0aGlzLiNtb2RhbEluc3RhbmNlcykge1xuICAgICAgaW5zdGFuY2UuY2xvc2UoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktbW9kYWwtaG9zdC1iYWNrZHJvcFwiXG4gIFtoaWRkZW5dPVwibW9kYWxDb3VudCgpID09PSAwXCJcbiAgW25nU3R5bGVdPVwie1xuICAgIHpJbmRleDogYmFja2Ryb3BaSW5kZXgoKVxuICB9XCJcbj48L2Rpdj5cbjxkaXYgI3RhcmdldD48L2Rpdj5cbiJdfQ==","import { EnvironmentInjector, Injectable, inject, } from '@angular/core';\nimport { SkyModalHostContext } from './modal-host-context';\nimport { SkyModalHostComponent } from './modal-host.component';\nimport { SkyModalInstance } from './modal-instance';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * A service that launches modals.\n */\nexport class SkyModalService {\n #dynamicComponentService;\n #environmentInjector = inject(EnvironmentInjector);\n constructor(dynamicComponentService) {\n this.#dynamicComponentService = dynamicComponentService;\n }\n /**\n * @internal\n * Removes the modal host from the DOM.\n */\n dispose() {\n if (SkyModalService.host) {\n this.#dynamicComponentService.removeComponent(SkyModalService.host);\n SkyModalService.host = undefined;\n }\n }\n /**\n * Opens a modal using the specified component.\n * @param component Determines the component to render.\n * @param {SkyModalConfigurationInterface} config Specifies configuration options for the modal.\n */\n open(component, config) {\n const modalInstance = new SkyModalInstance();\n if (!SkyModalService.host) {\n SkyModalService.host = this.#createHostComponent();\n }\n const params = this.#getConfigFromParameter(config);\n params.providers ||= [];\n params.providers.push({\n provide: SkyModalInstance,\n useValue: modalInstance,\n });\n if (SkyModalService.host) {\n SkyModalService.host.instance.open(modalInstance, component, params, this.#environmentInjector);\n }\n return modalInstance;\n }\n #getConfigFromParameter(providersOrConfig) {\n const defaultParams = {\n providers: [],\n fullPage: false,\n size: 'medium',\n tiledBody: false,\n };\n let params = {};\n let method = undefined;\n // Object Literal Lookup for backwards compatibility.\n method = {\n 'providers?': Object.assign({}, defaultParams, {\n providers: providersOrConfig,\n }),\n config: Object.assign({}, defaultParams, providersOrConfig),\n };\n if (Array.isArray(providersOrConfig) === true) {\n params = method['providers?'];\n }\n else {\n params = method['config'];\n }\n return params;\n }\n #createHostComponent() {\n const componentRef = this.#dynamicComponentService.createComponent(SkyModalHostComponent, {\n environmentInjector: this.#environmentInjector,\n providers: [\n {\n provide: SkyModalHostContext,\n useValue: new SkyModalHostContext({\n teardownCallback: () => {\n this.dispose();\n },\n }),\n },\n ],\n });\n return componentRef;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalService, deps: [{ token: i1.SkyDynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.SkyDynamicComponentService }] });\n/**\n * A service that launches modals.\n * @internal\n * @deprecated Use `SkyModalService` to open a standalone component instead.\n */\nexport class SkyModalLegacyService extends SkyModalService {\n /* istanbul ignore next */\n constructor(dynamicComponentSvc) {\n super(dynamicComponentSvc);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalLegacyService, deps: [{ token: i1.SkyDynamicComponentLegacyService }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalLegacyService, providedIn: 'any' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalLegacyService, decorators: [{\n type: Injectable,\n args: [{\n // Must be 'any' so that the modal component is created in the context of its module's injector.\n // If set to 'root', the component's dependency injections would only be derived from the root\n // injector and may lose context if the modal was opened from within a lazy-loaded module.\n providedIn: 'any',\n }]\n }], ctorParameters: () => [{ type: i1.SkyDynamicComponentLegacyService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixVQUFVLEVBQ1YsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFJcEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQUcxQix3QkFBd0IsQ0FBNkI7SUFDckQsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFbkQsWUFBWSx1QkFBbUQ7UUFDN0QsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHVCQUF1QixDQUFDO0lBQzFELENBQUM7SUFFRDs7O09BR0c7SUFDSSxPQUFPO1FBQ1osSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEUsZUFBZSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksSUFBSSxDQUNULFNBQWMsRUFDZCxNQUErQztRQUUvQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFFN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixlQUFlLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3JELENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFcEQsTUFBTSxDQUFDLFNBQVMsS0FBSyxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUUsYUFBYTtTQUN4QixDQUFDLENBQUM7UUFFSCxJQUFJLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hDLGFBQWEsRUFDYixTQUFTLEVBQ1QsTUFBTSxFQUNOLElBQUksQ0FBQyxvQkFBb0IsQ0FDMUIsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsdUJBQXVCLENBQ3JCLGlCQUFzQjtRQUV0QixNQUFNLGFBQWEsR0FBbUM7WUFDcEQsU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsS0FBSztZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztRQUNGLElBQUksTUFBTSxHQUFtQyxFQUFFLENBQUM7UUFDaEQsSUFBSSxNQUFNLEdBQVEsU0FBUyxDQUFDO1FBRTVCLHFEQUFxRDtRQUNyRCxNQUFNLEdBQUc7WUFDUCxZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFO2dCQUM3QyxTQUFTLEVBQUUsaUJBQWlCO2FBQzdCLENBQUM7WUFDRixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDO1NBQzVELENBQUM7UUFFRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM5QyxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxDQUNoRSxxQkFBcUIsRUFDckI7WUFDRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQzlDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixRQUFRLEVBQUUsSUFBSSxtQkFBbUIsQ0FBQzt3QkFDaEMsZ0JBQWdCLEVBQUUsR0FBUyxFQUFFOzRCQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQ2pCLENBQUM7cUJBQ0YsQ0FBQztpQkFDSDthQUNGO1NBQ0YsQ0FDRixDQUFDO1FBRUYsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs4R0F4R1UsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBNEdEOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQUN4RCwwQkFBMEI7SUFDMUIsWUFBWSxtQkFBcUQ7UUFDL0QsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDN0IsQ0FBQzs4R0FKVSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQUZwQixLQUFLOzsyRkFFTixxQkFBcUI7a0JBTmpDLFVBQVU7bUJBQUM7b0JBQ1YsZ0dBQWdHO29CQUNoRyw4RkFBOEY7b0JBQzlGLDBGQUEwRjtvQkFDMUYsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBJbmplY3RhYmxlLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5RHluYW1pY0NvbXBvbmVudExlZ2FjeVNlcnZpY2UsXG4gIFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHQgfSBmcm9tICcuL21vZGFsLWhvc3QtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLWhvc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNreU1vZGFsSW5zdGFuY2UgfSBmcm9tICcuL21vZGFsLWluc3RhbmNlJztcbmltcG9ydCB7IFNreU1vZGFsU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4vbW9kYWwtc2VydmljZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEEgc2VydmljZSB0aGF0IGxhdW5jaGVzIG1vZGFscy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsU2VydmljZSBpbXBsZW1lbnRzIFNreU1vZGFsU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgc3RhdGljIGhvc3Q6IENvbXBvbmVudFJlZjxTa3lNb2RhbEhvc3RDb21wb25lbnQ+IHwgdW5kZWZpbmVkOyAvLyA8LS0gaG93IGRvIHdlIGhhbmRsZSBvbmx5IGhhdmluZyBvbmUgb2YgdGhlc2U/XG5cbiAgI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZTtcbiAgI2Vudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG5cbiAgY29uc3RydWN0b3IoZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlKSB7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UgPSBkeW5hbWljQ29tcG9uZW50U2VydmljZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogUmVtb3ZlcyB0aGUgbW9kYWwgaG9zdCBmcm9tIHRoZSBET00uXG4gICAqL1xuICBwdWJsaWMgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICBpZiAoU2t5TW9kYWxTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIHRoaXMuI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLnJlbW92ZUNvbXBvbmVudChTa3lNb2RhbFNlcnZpY2UuaG9zdCk7XG4gICAgICBTa3lNb2RhbFNlcnZpY2UuaG9zdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgYSBtb2RhbCB1c2luZyB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCBEZXRlcm1pbmVzIHRoZSBjb21wb25lbnQgdG8gcmVuZGVyLlxuICAgKiBAcGFyYW0ge1NreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZX0gY29uZmlnIFNwZWNpZmllcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBtb2RhbC5cbiAgICovXG4gIHB1YmxpYyBvcGVuKFxuICAgIGNvbXBvbmVudDogYW55LFxuICAgIGNvbmZpZz86IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSB8IGFueVtdLFxuICApOiBTa3lNb2RhbEluc3RhbmNlIHtcbiAgICBjb25zdCBtb2RhbEluc3RhbmNlID0gbmV3IFNreU1vZGFsSW5zdGFuY2UoKTtcblxuICAgIGlmICghU2t5TW9kYWxTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIFNreU1vZGFsU2VydmljZS5ob3N0ID0gdGhpcy4jY3JlYXRlSG9zdENvbXBvbmVudCgpO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuI2dldENvbmZpZ0Zyb21QYXJhbWV0ZXIoY29uZmlnKTtcblxuICAgIHBhcmFtcy5wcm92aWRlcnMgfHw9IFtdO1xuICAgIHBhcmFtcy5wcm92aWRlcnMucHVzaCh7XG4gICAgICBwcm92aWRlOiBTa3lNb2RhbEluc3RhbmNlLFxuICAgICAgdXNlVmFsdWU6IG1vZGFsSW5zdGFuY2UsXG4gICAgfSk7XG5cbiAgICBpZiAoU2t5TW9kYWxTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIFNreU1vZGFsU2VydmljZS5ob3N0Lmluc3RhbmNlLm9wZW4oXG4gICAgICAgIG1vZGFsSW5zdGFuY2UsXG4gICAgICAgIGNvbXBvbmVudCxcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICB0aGlzLiNlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9kYWxJbnN0YW5jZTtcbiAgfVxuXG4gICNnZXRDb25maWdGcm9tUGFyYW1ldGVyKFxuICAgIHByb3ZpZGVyc09yQ29uZmlnOiBhbnksXG4gICk6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSB7XG4gICAgY29uc3QgZGVmYXVsdFBhcmFtczogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlID0ge1xuICAgICAgcHJvdmlkZXJzOiBbXSxcbiAgICAgIGZ1bGxQYWdlOiBmYWxzZSxcbiAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgdGlsZWRCb2R5OiBmYWxzZSxcbiAgICB9O1xuICAgIGxldCBwYXJhbXM6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSA9IHt9O1xuICAgIGxldCBtZXRob2Q6IGFueSA9IHVuZGVmaW5lZDtcblxuICAgIC8vIE9iamVjdCBMaXRlcmFsIExvb2t1cCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gICAgbWV0aG9kID0ge1xuICAgICAgJ3Byb3ZpZGVycz8nOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0UGFyYW1zLCB7XG4gICAgICAgIHByb3ZpZGVyczogcHJvdmlkZXJzT3JDb25maWcsXG4gICAgICB9KSxcbiAgICAgIGNvbmZpZzogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFBhcmFtcywgcHJvdmlkZXJzT3JDb25maWcpLFxuICAgIH07XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwcm92aWRlcnNPckNvbmZpZykgPT09IHRydWUpIHtcbiAgICAgIHBhcmFtcyA9IG1ldGhvZFsncHJvdmlkZXJzPyddO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbXMgPSBtZXRob2RbJ2NvbmZpZyddO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICAjY3JlYXRlSG9zdENvbXBvbmVudCgpOiBDb21wb25lbnRSZWY8U2t5TW9kYWxIb3N0Q29tcG9uZW50PiB7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgU2t5TW9kYWxIb3N0Q29tcG9uZW50LFxuICAgICAge1xuICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLiNlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBTa3lNb2RhbEhvc3RDb250ZXh0LFxuICAgICAgICAgICAgdXNlVmFsdWU6IG5ldyBTa3lNb2RhbEhvc3RDb250ZXh0KHtcbiAgICAgICAgICAgICAgdGVhcmRvd25DYWxsYmFjazogKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcG9zZSgpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cbn1cblxuLyoqXG4gKiBBIHNlcnZpY2UgdGhhdCBsYXVuY2hlcyBtb2RhbHMuXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkIFVzZSBgU2t5TW9kYWxTZXJ2aWNlYCB0byBvcGVuIGEgc3RhbmRhbG9uZSBjb21wb25lbnQgaW5zdGVhZC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAvLyBNdXN0IGJlICdhbnknIHNvIHRoYXQgdGhlIG1vZGFsIGNvbXBvbmVudCBpcyBjcmVhdGVkIGluIHRoZSBjb250ZXh0IG9mIGl0cyBtb2R1bGUncyBpbmplY3Rvci5cbiAgLy8gSWYgc2V0IHRvICdyb290JywgdGhlIGNvbXBvbmVudCdzIGRlcGVuZGVuY3kgaW5qZWN0aW9ucyB3b3VsZCBvbmx5IGJlIGRlcml2ZWQgZnJvbSB0aGUgcm9vdFxuICAvLyBpbmplY3RvciBhbmQgbWF5IGxvc2UgY29udGV4dCBpZiB0aGUgbW9kYWwgd2FzIG9wZW5lZCBmcm9tIHdpdGhpbiBhIGxhenktbG9hZGVkIG1vZHVsZS5cbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsTGVnYWN5U2VydmljZSBleHRlbmRzIFNreU1vZGFsU2VydmljZSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKGR5bmFtaWNDb21wb25lbnRTdmM6IFNreUR5bmFtaWNDb21wb25lbnRMZWdhY3lTZXJ2aWNlKSB7XG4gICAgc3VwZXIoZHluYW1pY0NvbXBvbmVudFN2Yyk7XG4gIH1cbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { SKY_CONFIRM_CONFIG } from './confirm-config-token';\nimport { SkyConfirmInstance } from './confirm-instance';\nimport { SkyConfirmComponent } from './confirm.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../modal/modal.service\";\n/**\n * Launches a dialog.\n */\nexport class SkyConfirmService {\n #modalService;\n constructor(modalService) {\n this.#modalService = modalService;\n }\n /**\n * Opens a dialog using the specified options.\n * @param config Specifies configuration options for the dialog.\n */\n open(config) {\n const confirmInstance = new SkyConfirmInstance();\n this.#modalService.open(SkyConfirmComponent, {\n providers: [\n {\n provide: SKY_CONFIRM_CONFIG,\n useValue: config,\n },\n {\n provide: SkyConfirmInstance,\n useValue: confirmInstance,\n },\n ],\n });\n return confirmInstance;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmService, deps: [{ token: i1.SkyModalService }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.SkyModalService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvY29uZmlybS9jb25maXJtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRTFEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixhQUFhLENBQWtCO0lBRS9CLFlBQVksWUFBNkI7UUFDdkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLElBQUksQ0FBQyxNQUF3QjtRQUNsQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDM0MsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixRQUFRLEVBQUUsZUFBZTtpQkFDMUI7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7OEdBNUJVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsU2VydmljZSB9IGZyb20gJy4uL21vZGFsL21vZGFsLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lDb25maXJtQ29uZmlnIH0gZnJvbSAnLi9jb25maXJtLWNvbmZpZyc7XG5pbXBvcnQgeyBTS1lfQ09ORklSTV9DT05GSUcgfSBmcm9tICcuL2NvbmZpcm0tY29uZmlnLXRva2VuJztcbmltcG9ydCB7IFNreUNvbmZpcm1JbnN0YW5jZSB9IGZyb20gJy4vY29uZmlybS1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lDb25maXJtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4vY29uZmlybS1zZXJ2aWNlLWludGVyZmFjZSc7XG5pbXBvcnQgeyBTa3lDb25maXJtQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maXJtLmNvbXBvbmVudCc7XG5cbi8qKlxuICogTGF1bmNoZXMgYSBkaWFsb2cuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtU2VydmljZSBpbXBsZW1lbnRzIFNreUNvbmZpcm1TZXJ2aWNlSW50ZXJmYWNlIHtcbiAgI21vZGFsU2VydmljZTogU2t5TW9kYWxTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKG1vZGFsU2VydmljZTogU2t5TW9kYWxTZXJ2aWNlKSB7XG4gICAgdGhpcy4jbW9kYWxTZXJ2aWNlID0gbW9kYWxTZXJ2aWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgZGlhbG9nIHVzaW5nIHRoZSBzcGVjaWZpZWQgb3B0aW9ucy5cbiAgICogQHBhcmFtIGNvbmZpZyBTcGVjaWZpZXMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgZGlhbG9nLlxuICAgKi9cbiAgcHVibGljIG9wZW4oY29uZmlnOiBTa3lDb25maXJtQ29uZmlnKTogU2t5Q29uZmlybUluc3RhbmNlIHtcbiAgICBjb25zdCBjb25maXJtSW5zdGFuY2UgPSBuZXcgU2t5Q29uZmlybUluc3RhbmNlKCk7XG5cbiAgICB0aGlzLiNtb2RhbFNlcnZpY2Uub3BlbihTa3lDb25maXJtQ29tcG9uZW50LCB7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFNLWV9DT05GSVJNX0NPTkZJRyxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU2t5Q29uZmlybUluc3RhbmNlLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maXJtSW5zdGFuY2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvbmZpcm1JbnN0YW5jZTtcbiAgfVxufVxuIl19","import { CommonModule } from '@angular/common';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\nimport { SkyModalErrorsService } from './modal-errors.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"@skyux/indicators\";\n/**\n * Specifies content to display in the modal's footer.\n */\nexport class SkyModalFooterComponent {\n constructor() {\n this.errorsSvc = inject(SkyModalErrorsService);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyModalFooterComponent, isStandalone: true, selector: \"sky-modal-footer\", hostDirectives: [{ directive: i1.SkyResponsiveHostDirective }], ngImport: i0, template: \"<div class=\\\"sky-modal-footer-container\\\">\\n <div aria-live=\\\"polite\\\">\\n @if (errorsSvc.formErrors | async; as formErrors) {\\n @if (formErrors.length > 0) {\\n <div\\n class=\\\"sky-modal-footer-errors sky-margin-stacked-lg sky-errors-overflow\\\"\\n tabindex=\\\"0\\\"\\n >\\n @for (formError of formErrors; track formError.message) {\\n <sky-status-indicator\\n descriptionType=\\\"error\\\"\\n indicatorType=\\\"danger\\\"\\n [ngClass]=\\\"{\\n 'sky-margin-stacked-sm':\\n formErrors.indexOf(formError) < formErrors.length - 1,\\n 'footer-error': true\\n }\\\"\\n >\\n {{ formError.message }}\\n </sky-status-indicator>\\n }\\n </div>\\n }\\n }\\n </div>\\n <ng-content />\\n</div>\\n\", styles: [\".sky-modal-footer-container:not(.sky-theme-modern *){--sky-override-modal-footer-border-top: 1px solid #e2e3e4;--sky-override-modal-footer-btn-btn-link-margin: -2px;--sky-override-modal-footer-btn-btn-margin: 10px;--sky-override-modal-footer-padding: 15px}sky-modal-footer{display:block}.sky-modal-footer-container{background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));border-top:var(--sky-override-modal-footer-border-top, none);padding:var(--sky-override-modal-footer-padding, var(--sky-comp-modal-footer-space-inset-top) var(--sky-comp-modal-footer-space-inset-right) var(--sky-comp-modal-footer-space-inset-bottom) var(--sky-comp-modal-footer-space-inset-left))}.sky-modal-footer-container .sky-btn+.sky-btn{margin-left:var(--sky-override-modal-footer-btn-btn-margin, var(--sky-space-gap-action_group-m))}.sky-modal-footer-container .sky-btn+.sky-btn-link{margin-left:var(--sky-override-modal-footer-btn-btn-link-margin, var(--sky-space-gap-action_group-m))}.sky-modal-footer-container .sky-modal-footer-errors .footer-error{display:block}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"ngmodule\", type: SkyStatusIndicatorModule }, { kind: \"component\", type: i3.λ10, selector: \"sky-status-indicator\", inputs: [\"indicatorType\", \"descriptionType\", \"customDescription\", \"helpPopoverContent\", \"helpPopoverTitle\", \"helpKey\"] }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalFooterComponent, decorators: [{\n type: Component,\n args: [{ hostDirectives: [SkyResponsiveHostDirective], selector: 'sky-modal-footer', encapsulation: ViewEncapsulation.None, imports: [CommonModule, SkyStatusIndicatorModule], template: \"<div class=\\\"sky-modal-footer-container\\\">\\n <div aria-live=\\\"polite\\\">\\n @if (errorsSvc.formErrors | async; as formErrors) {\\n @if (formErrors.length > 0) {\\n <div\\n class=\\\"sky-modal-footer-errors sky-margin-stacked-lg sky-errors-overflow\\\"\\n tabindex=\\\"0\\\"\\n >\\n @for (formError of formErrors; track formError.message) {\\n <sky-status-indicator\\n descriptionType=\\\"error\\\"\\n indicatorType=\\\"danger\\\"\\n [ngClass]=\\\"{\\n 'sky-margin-stacked-sm':\\n formErrors.indexOf(formError) < formErrors.length - 1,\\n 'footer-error': true\\n }\\\"\\n >\\n {{ formError.message }}\\n </sky-status-indicator>\\n }\\n </div>\\n }\\n }\\n </div>\\n <ng-content />\\n</div>\\n\", styles: [\".sky-modal-footer-container:not(.sky-theme-modern *){--sky-override-modal-footer-border-top: 1px solid #e2e3e4;--sky-override-modal-footer-btn-btn-link-margin: -2px;--sky-override-modal-footer-btn-btn-margin: 10px;--sky-override-modal-footer-padding: 15px}sky-modal-footer{display:block}.sky-modal-footer-container{background-color:var(--sky-override-modal-background-color, var(--sky-color-background-container-base));border-top:var(--sky-override-modal-footer-border-top, none);padding:var(--sky-override-modal-footer-padding, var(--sky-comp-modal-footer-space-inset-top) var(--sky-comp-modal-footer-space-inset-right) var(--sky-comp-modal-footer-space-inset-bottom) var(--sky-comp-modal-footer-space-inset-left))}.sky-modal-footer-container .sky-btn+.sky-btn{margin-left:var(--sky-override-modal-footer-btn-btn-margin, var(--sky-space-gap-action_group-m))}.sky-modal-footer-container .sky-btn+.sky-btn-link{margin-left:var(--sky-override-modal-footer-btn-btn-link-margin, var(--sky-space-gap-action_group-m))}.sky-modal-footer-container .sky-modal-footer-errors .footer-error{display:block}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFFL0Q7O0dBRUc7QUFTSCxNQUFNLE9BQU8sdUJBQXVCO0lBUnBDO1FBU3FCLGNBQVMsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztLQUM5RDs4R0FGWSx1QkFBdUI7a0dBQXZCLHVCQUF1Qiw0SUNsQnBDLG0yQkEyQkEsZ29DRFhZLFlBQVksNEhBQUUsd0JBQXdCOzsyRkFFckMsdUJBQXVCO2tCQVJuQyxTQUFTO3FDQUNRLENBQUMsMEJBQTBCLENBQUMsWUFDbEMsa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxZQUFZLEVBQUUsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreVN0YXR1c0luZGljYXRvck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcblxuaW1wb3J0IHsgU2t5TW9kYWxFcnJvcnNTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1lcnJvcnMuc2VydmljZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIGNvbnRlbnQgdG8gZGlzcGxheSBpbiB0aGUgbW9kYWwncyBmb290ZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBob3N0RGlyZWN0aXZlczogW1NreVJlc3BvbnNpdmVIb3N0RGlyZWN0aXZlXSxcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtZm9vdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWZvb3Rlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLWZvb3Rlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTa3lTdGF0dXNJbmRpY2F0b3JNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEZvb3RlckNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBlcnJvcnNTdmMgPSBpbmplY3QoU2t5TW9kYWxFcnJvcnNTZXJ2aWNlKTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktbW9kYWwtZm9vdGVyLWNvbnRhaW5lclwiPlxuICA8ZGl2IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgIEBpZiAoZXJyb3JzU3ZjLmZvcm1FcnJvcnMgfCBhc3luYzsgYXMgZm9ybUVycm9ycykge1xuICAgICAgQGlmIChmb3JtRXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwic2t5LW1vZGFsLWZvb3Rlci1lcnJvcnMgc2t5LW1hcmdpbi1zdGFja2VkLWxnIHNreS1lcnJvcnMtb3ZlcmZsb3dcIlxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgID5cbiAgICAgICAgICBAZm9yIChmb3JtRXJyb3Igb2YgZm9ybUVycm9yczsgdHJhY2sgZm9ybUVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIDxza3ktc3RhdHVzLWluZGljYXRvclxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblR5cGU9XCJlcnJvclwiXG4gICAgICAgICAgICAgIGluZGljYXRvclR5cGU9XCJkYW5nZXJcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ3NreS1tYXJnaW4tc3RhY2tlZC1zbSc6XG4gICAgICAgICAgICAgICAgICBmb3JtRXJyb3JzLmluZGV4T2YoZm9ybUVycm9yKSA8IGZvcm1FcnJvcnMubGVuZ3RoIC0gMSxcbiAgICAgICAgICAgICAgICAnZm9vdGVyLWVycm9yJzogdHJ1ZVxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgZm9ybUVycm9yLm1lc3NhZ2UgfX1cbiAgICAgICAgICAgIDwvc2t5LXN0YXR1cy1pbmRpY2F0b3I+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICB9XG4gIDwvZGl2PlxuICA8bmctY29udGVudCAvPlxuPC9kaXY+XG4iXX0=","import { Directive, HostBinding, Input, inject, } from '@angular/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SkyConfirmType } from '../confirm/confirm-type';\nimport { SkyConfirmService } from '../confirm/confirm.service';\nimport { SkyModalInstance } from './modal-instance';\nimport * as i0 from \"@angular/core\";\n/**\n * Provides a way to mark a modal as \"dirty\" and displays a confirmation\n * message when a user closes the modal without saving.\n */\nexport class SkyModalIsDirtyDirective {\n constructor() {\n /**\n * Whether the user edited an input on the modal.\n * @required\n */\n this.isDirty = false;\n this.#ngUnsubscribe = new Subject();\n this.#modalInstance = inject(SkyModalInstance);\n this.#confirmSvc = inject(SkyConfirmService);\n this.#resourcesSvc = inject(SkyLibResourcesService);\n }\n #ngUnsubscribe;\n #modalInstance;\n #confirmSvc;\n #resourcesSvc;\n ngOnInit() {\n this.#modalInstance.beforeClose\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((handler) => this.#promptIfDirty(handler));\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n #promptIfDirty(handler) {\n if (this.isDirty &&\n (handler.closeArgs.reason === 'close' ||\n handler.closeArgs.reason === 'cancel')) {\n this.#resourcesSvc\n .getStrings({\n message: 'skyux_modal_dirty_default_message',\n discardActionText: 'skyux_modal_dirty_default_discard_changes_text',\n keepActionText: 'skyux_modal_dirty_default_keep_working_text',\n })\n .subscribe((textValues) => {\n const discardAction = 'discard';\n const keepAction = 'keep';\n this.#confirmSvc\n .open({\n message: textValues.message,\n buttons: [\n {\n action: discardAction,\n text: textValues.discardActionText,\n styleType: 'primary',\n },\n {\n action: keepAction,\n text: textValues.keepActionText,\n styleType: 'link',\n },\n ],\n type: SkyConfirmType.Custom,\n })\n .closed.subscribe((args) => {\n if (args.action === discardAction) {\n handler.closeModal();\n }\n });\n });\n }\n else {\n handler.closeModal();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalIsDirtyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.0\", type: SkyModalIsDirtyDirective, isStandalone: true, selector: \"sky-modal[isDirty]\", inputs: { isDirty: \"isDirty\" }, host: { properties: { \"attr.data-sky-modal-is-dirty\": \"this.isDirty\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalIsDirtyDirective, decorators: [{\n type: Directive,\n args: [{\n // Since this is limited to sky-modal, it should be safe to\n // leave off the sky prefix.\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'sky-modal[isDirty]',\n }]\n }], propDecorators: { isDirty: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.data-sky-modal-is-dirty']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaXMtZGlydHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaXMtZGlydHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFcEQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHdCQUF3QjtJQU5yQztRQU9FOzs7V0FHRztRQUtJLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZCxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFckMsbUJBQWMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMxQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7S0F3RHpEO0lBNURVLGNBQWMsQ0FBdUI7SUFFckMsY0FBYyxDQUE0QjtJQUMxQyxXQUFXLENBQTZCO0lBQ3hDLGFBQWEsQ0FBa0M7SUFFakQsUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVzthQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFtQztRQUNoRCxJQUNFLElBQUksQ0FBQyxPQUFPO1lBQ1osQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxPQUFPO2dCQUNuQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsRUFDeEMsQ0FBQztZQUNELElBQUksQ0FBQyxhQUFhO2lCQUNmLFVBQVUsQ0FBQztnQkFDVixPQUFPLEVBQUUsbUNBQW1DO2dCQUM1QyxpQkFBaUIsRUFBRSxnREFBZ0Q7Z0JBQ25FLGNBQWMsRUFBRSw2Q0FBNkM7YUFDOUQsQ0FBQztpQkFDRCxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDeEIsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO2dCQUNoQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7Z0JBRTFCLElBQUksQ0FBQyxXQUFXO3FCQUNiLElBQUksQ0FBQztvQkFDSixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87b0JBQzNCLE9BQU8sRUFBRTt3QkFDUDs0QkFDRSxNQUFNLEVBQUUsYUFBYTs0QkFDckIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxpQkFBaUI7NEJBQ2xDLFNBQVMsRUFBRSxTQUFTO3lCQUNyQjt3QkFDRDs0QkFDRSxNQUFNLEVBQUUsVUFBVTs0QkFDbEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxjQUFjOzRCQUMvQixTQUFTLEVBQUUsTUFBTTt5QkFDbEI7cUJBQ0Y7b0JBQ0QsSUFBSSxFQUFFLGNBQWMsQ0FBQyxNQUFNO2lCQUM1QixDQUFDO3FCQUNELE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDekIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGFBQWEsRUFBRSxDQUFDO3dCQUNsQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ3ZCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDOzhHQXRFVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDVCwyREFBMkQ7b0JBQzNELDRCQUE0QjtvQkFDNUIsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjs4QkFVUSxPQUFPO3NCQUpiLEtBQUs7O3NCQUdMLFdBQVc7dUJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lDb25maXJtVHlwZSB9IGZyb20gJy4uL2NvbmZpcm0vY29uZmlybS10eXBlJztcbmltcG9ydCB7IFNreUNvbmZpcm1TZXJ2aWNlIH0gZnJvbSAnLi4vY29uZmlybS9jb25maXJtLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vbW9kYWwtYmVmb3JlLWNsb3NlLWhhbmRsZXInO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4vbW9kYWwtaW5zdGFuY2UnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgd2F5IHRvIG1hcmsgYSBtb2RhbCBhcyBcImRpcnR5XCIgYW5kIGRpc3BsYXlzIGEgY29uZmlybWF0aW9uXG4gKiBtZXNzYWdlIHdoZW4gYSB1c2VyIGNsb3NlcyB0aGUgbW9kYWwgd2l0aG91dCBzYXZpbmcuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAvLyBTaW5jZSB0aGlzIGlzIGxpbWl0ZWQgdG8gc2t5LW1vZGFsLCBpdCBzaG91bGQgYmUgc2FmZSB0b1xuICAvLyBsZWF2ZSBvZmYgdGhlIHNreSBwcmVmaXguXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnc2t5LW1vZGFsW2lzRGlydHldJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxJc0RpcnR5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgdXNlciBlZGl0ZWQgYW4gaW5wdXQgb24gdGhlIG1vZGFsLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIC8vIFRoaXMgYXR0cmlidXRlIGlzIGJlaW5nIGFwcGxpZWQgdG8gdGhlIGhvc3QgdG8gc3VwcG9ydFxuICAvLyB1bml0IHRlc3RpbmcgdGhpcyBmZWF0dXJlLlxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1za3ktbW9kYWwtaXMtZGlydHknKVxuICBwdWJsaWMgaXNEaXJ0eSA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5ICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICByZWFkb25seSAjbW9kYWxJbnN0YW5jZSA9IGluamVjdChTa3lNb2RhbEluc3RhbmNlKTtcbiAgcmVhZG9ubHkgI2NvbmZpcm1TdmMgPSBpbmplY3QoU2t5Q29uZmlybVNlcnZpY2UpO1xuICByZWFkb25seSAjcmVzb3VyY2VzU3ZjID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNtb2RhbEluc3RhbmNlLmJlZm9yZUNsb3NlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChoYW5kbGVyKSA9PiB0aGlzLiNwcm9tcHRJZkRpcnR5KGhhbmRsZXIpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAjcHJvbXB0SWZEaXJ0eShoYW5kbGVyOiBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcik6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuaXNEaXJ0eSAmJlxuICAgICAgKGhhbmRsZXIuY2xvc2VBcmdzLnJlYXNvbiA9PT0gJ2Nsb3NlJyB8fFxuICAgICAgICBoYW5kbGVyLmNsb3NlQXJncy5yZWFzb24gPT09ICdjYW5jZWwnKVxuICAgICkge1xuICAgICAgdGhpcy4jcmVzb3VyY2VzU3ZjXG4gICAgICAgIC5nZXRTdHJpbmdzKHtcbiAgICAgICAgICBtZXNzYWdlOiAnc2t5dXhfbW9kYWxfZGlydHlfZGVmYXVsdF9tZXNzYWdlJyxcbiAgICAgICAgICBkaXNjYXJkQWN0aW9uVGV4dDogJ3NreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfZGlzY2FyZF9jaGFuZ2VzX3RleHQnLFxuICAgICAgICAgIGtlZXBBY3Rpb25UZXh0OiAnc2t5dXhfbW9kYWxfZGlydHlfZGVmYXVsdF9rZWVwX3dvcmtpbmdfdGV4dCcsXG4gICAgICAgIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoKHRleHRWYWx1ZXMpID0+IHtcbiAgICAgICAgICBjb25zdCBkaXNjYXJkQWN0aW9uID0gJ2Rpc2NhcmQnO1xuICAgICAgICAgIGNvbnN0IGtlZXBBY3Rpb24gPSAna2VlcCc7XG5cbiAgICAgICAgICB0aGlzLiNjb25maXJtU3ZjXG4gICAgICAgICAgICAub3Blbih7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IHRleHRWYWx1ZXMubWVzc2FnZSxcbiAgICAgICAgICAgICAgYnV0dG9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGFjdGlvbjogZGlzY2FyZEFjdGlvbixcbiAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRWYWx1ZXMuZGlzY2FyZEFjdGlvblRleHQsXG4gICAgICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGFjdGlvbjoga2VlcEFjdGlvbixcbiAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRWYWx1ZXMua2VlcEFjdGlvblRleHQsXG4gICAgICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdsaW5rJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB0eXBlOiBTa3lDb25maXJtVHlwZS5DdXN0b20sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNsb3NlZC5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGFyZ3MuYWN0aW9uID09PSBkaXNjYXJkQWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlci5jbG9zZU1vZGFsKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGFuZGxlci5jbG9zZU1vZGFsKCk7XG4gICAgfVxuICB9XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { SkyModalContentComponent } from './modal-content.component';\nimport { SkyModalFooterComponent } from './modal-footer.component';\nimport { SkyModalHeaderComponent } from './modal-header.component';\nimport { SkyModalIsDirtyDirective } from './modal-is-dirty.directive';\nimport { SkyModalComponent } from './modal.component';\nimport * as i0 from \"@angular/core\";\nexport class SkyModalModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalModule, imports: [SkyModalComponent,\n SkyModalContentComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent,\n SkyModalIsDirtyDirective], exports: [SkyModalComponent,\n SkyModalContentComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent,\n SkyModalIsDirtyDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalModule, imports: [SkyModalComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n SkyModalComponent,\n SkyModalContentComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent,\n SkyModalIsDirtyDirective,\n ],\n exports: [\n SkyModalComponent,\n SkyModalContentComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent,\n SkyModalIsDirtyDirective,\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBa0J0RCxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsWUFkdkIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsdUJBQXVCO1lBQ3ZCLHdCQUF3QixhQUd4QixpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsd0JBQXdCOytHQUdmLGNBQWMsWUFkdkIsaUJBQWlCO1lBRWpCLHVCQUF1QjtZQUN2Qix1QkFBdUI7OzJGQVdkLGNBQWM7a0JBaEIxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TW9kYWxGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TW9kYWxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TW9kYWxJc0RpcnR5RGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC1pcy1kaXJ0eS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTa3lNb2RhbENvbXBvbmVudCxcbiAgICBTa3lNb2RhbENvbnRlbnRDb21wb25lbnQsXG4gICAgU2t5TW9kYWxGb290ZXJDb21wb25lbnQsXG4gICAgU2t5TW9kYWxIZWFkZXJDb21wb25lbnQsXG4gICAgU2t5TW9kYWxJc0RpcnR5RGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5TW9kYWxDb21wb25lbnQsXG4gICAgU2t5TW9kYWxDb250ZW50Q29tcG9uZW50LFxuICAgIFNreU1vZGFsRm9vdGVyQ29tcG9uZW50LFxuICAgIFNreU1vZGFsSGVhZGVyQ29tcG9uZW50LFxuICAgIFNreU1vZGFsSXNEaXJ0eURpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtbW9kYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvc2t5dXgtbW9kYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i4","i2","i3","i1.SkyModalService"],"mappings":"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"}
|