@skyux/modals 5.6.2 → 6.0.0-beta.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/documentation.json +6 -6
- package/esm2020/index.mjs +26 -0
- package/esm2020/lib/modules/confirm/confirm-button-action.mjs +2 -0
- package/esm2020/lib/modules/confirm/confirm-button-config.mjs +2 -0
- package/esm2020/lib/modules/confirm/confirm-button.mjs +2 -0
- package/esm2020/lib/modules/confirm/confirm-closed-event-args.mjs +2 -0
- package/esm2020/lib/modules/confirm/confirm-config.mjs +2 -0
- package/esm2020/lib/modules/confirm/confirm-instance.mjs +12 -0
- package/esm2020/lib/modules/confirm/confirm-modal-context.mjs +4 -0
- package/esm2020/lib/modules/confirm/confirm-type.mjs +25 -0
- package/esm2020/lib/modules/confirm/confirm.component.mjs +123 -0
- package/esm2020/lib/modules/confirm/confirm.module.mjs +34 -0
- package/esm2020/lib/modules/confirm/confirm.service.mjs +55 -0
- package/esm2020/lib/modules/modal/modal-adapter.service.mjs +47 -0
- package/esm2020/lib/modules/modal/modal-before-close-handler.mjs +7 -0
- package/esm2020/lib/modules/modal/modal-close-args.mjs +3 -0
- package/esm2020/lib/modules/modal/modal-component-adapter.service.mjs +98 -0
- package/esm2020/lib/modules/modal/modal-configuration.mjs +19 -0
- package/esm2020/lib/modules/modal/modal-content.component.mjs +14 -0
- package/esm2020/lib/modules/modal/modal-footer.component.mjs +14 -0
- package/esm2020/lib/modules/modal/modal-header.component.mjs +15 -0
- package/esm2020/lib/modules/modal/modal-host.component.mjs +96 -0
- package/esm2020/lib/modules/modal/modal-host.service.mjs +55 -0
- package/esm2020/lib/modules/modal/modal-instance.mjs +105 -0
- package/esm2020/lib/modules/modal/modal-scroll-shadow-event-args.mjs +2 -0
- package/esm2020/lib/modules/modal/modal-scroll-shadow.directive.mjs +122 -0
- package/esm2020/lib/modules/modal/modal-state-animation.mjs +8 -0
- package/esm2020/lib/modules/modal/modal.component.mjs +178 -0
- package/esm2020/lib/modules/modal/modal.interface.mjs +4 -0
- package/esm2020/lib/modules/modal/modal.module.mjs +63 -0
- package/esm2020/lib/modules/modal/modal.service.mjs +85 -0
- package/esm2020/lib/modules/shared/sky-modals-resources.module.mjs +54 -0
- package/esm2020/skyux-modals.mjs +5 -0
- package/esm2020/testing/modal-fixture.mjs +168 -0
- package/esm2020/testing/public-api.mjs +2 -0
- package/esm2020/testing/skyux-modals-testing.mjs +5 -0
- package/fesm2015/{skyux-modals-testing.js → skyux-modals-testing.mjs} +1 -1
- package/fesm2015/skyux-modals-testing.mjs.map +1 -0
- package/fesm2015/skyux-modals.mjs +1159 -0
- package/fesm2015/skyux-modals.mjs.map +1 -0
- package/{esm2015/testing/modal-fixture.js → fesm2020/skyux-modals-testing.mjs} +8 -2
- package/fesm2020/skyux-modals-testing.mjs.map +1 -0
- package/{fesm2015/skyux-modals.js → fesm2020/skyux-modals.mjs} +60 -90
- package/fesm2020/skyux-modals.mjs.map +1 -0
- package/lib/modules/modal/modal-instance.d.ts +1 -1
- package/lib/modules/shared/sky-modals-resources.module.d.ts +1 -1
- package/package.json +35 -14
- package/testing/package.json +5 -5
- package/bundles/skyux-modals-testing.umd.js +0 -538
- package/bundles/skyux-modals.umd.js +0 -1356
- package/esm2015/index.js +0 -26
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/modules/confirm/confirm-button-action.js +0 -2
- package/esm2015/lib/modules/confirm/confirm-button-action.js.map +0 -1
- package/esm2015/lib/modules/confirm/confirm-button-config.js +0 -2
- package/esm2015/lib/modules/confirm/confirm-button-config.js.map +0 -1
- package/esm2015/lib/modules/confirm/confirm-button.js +0 -2
- package/esm2015/lib/modules/confirm/confirm-button.js.map +0 -1
- package/esm2015/lib/modules/confirm/confirm-closed-event-args.js +0 -2
- package/esm2015/lib/modules/confirm/confirm-closed-event-args.js.map +0 -1
- package/esm2015/lib/modules/confirm/confirm-config.js +0 -2
- package/esm2015/lib/modules/confirm/confirm-config.js.map +0 -1
- package/esm2015/lib/modules/confirm/confirm-instance.js +0 -12
- package/esm2015/lib/modules/confirm/confirm-instance.js.map +0 -1
- package/esm2015/lib/modules/confirm/confirm-modal-context.js +0 -4
- package/esm2015/lib/modules/confirm/confirm-modal-context.js.map +0 -1
- package/esm2015/lib/modules/confirm/confirm-type.js +0 -25
- package/esm2015/lib/modules/confirm/confirm-type.js.map +0 -1
- package/esm2015/lib/modules/confirm/confirm.component.js +0 -127
- package/esm2015/lib/modules/confirm/confirm.component.js.map +0 -1
- package/esm2015/lib/modules/confirm/confirm.module.js +0 -35
- package/esm2015/lib/modules/confirm/confirm.module.js.map +0 -1
- package/esm2015/lib/modules/confirm/confirm.service.js +0 -55
- package/esm2015/lib/modules/confirm/confirm.service.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-adapter.service.js +0 -47
- package/esm2015/lib/modules/modal/modal-adapter.service.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-before-close-handler.js +0 -7
- package/esm2015/lib/modules/modal/modal-before-close-handler.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-close-args.js +0 -3
- package/esm2015/lib/modules/modal/modal-close-args.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-component-adapter.service.js +0 -98
- package/esm2015/lib/modules/modal/modal-component-adapter.service.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-configuration.js +0 -19
- package/esm2015/lib/modules/modal/modal-configuration.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-content.component.js +0 -19
- package/esm2015/lib/modules/modal/modal-content.component.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-footer.component.js +0 -18
- package/esm2015/lib/modules/modal/modal-footer.component.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-header.component.js +0 -19
- package/esm2015/lib/modules/modal/modal-header.component.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-host.component.js +0 -101
- package/esm2015/lib/modules/modal/modal-host.component.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-host.service.js +0 -55
- package/esm2015/lib/modules/modal/modal-host.service.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-instance.js +0 -105
- package/esm2015/lib/modules/modal/modal-instance.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-scroll-shadow-event-args.js +0 -2
- package/esm2015/lib/modules/modal/modal-scroll-shadow-event-args.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-scroll-shadow.directive.js +0 -122
- package/esm2015/lib/modules/modal/modal-scroll-shadow.directive.js.map +0 -1
- package/esm2015/lib/modules/modal/modal-state-animation.js +0 -8
- package/esm2015/lib/modules/modal/modal-state-animation.js.map +0 -1
- package/esm2015/lib/modules/modal/modal.component.js +0 -184
- package/esm2015/lib/modules/modal/modal.component.js.map +0 -1
- package/esm2015/lib/modules/modal/modal.interface.js +0 -4
- package/esm2015/lib/modules/modal/modal.interface.js.map +0 -1
- package/esm2015/lib/modules/modal/modal.module.js +0 -64
- package/esm2015/lib/modules/modal/modal.module.js.map +0 -1
- package/esm2015/lib/modules/modal/modal.service.js +0 -85
- package/esm2015/lib/modules/modal/modal.service.js.map +0 -1
- package/esm2015/lib/modules/shared/sky-modals-resources.module.js +0 -54
- package/esm2015/lib/modules/shared/sky-modals-resources.module.js.map +0 -1
- package/esm2015/skyux-modals.js +0 -5
- package/esm2015/skyux-modals.js.map +0 -1
- package/esm2015/testing/modal-fixture.js.map +0 -1
- package/esm2015/testing/public-api.js +0 -2
- package/esm2015/testing/public-api.js.map +0 -1
- package/esm2015/testing/skyux-modals-testing.js +0 -5
- package/esm2015/testing/skyux-modals-testing.js.map +0 -1
- package/fesm2015/skyux-modals-testing.js.map +0 -1
- package/fesm2015/skyux-modals.js.map +0 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export class SkyModalConfiguration {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.size = 'medium';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
SkyModalConfiguration.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
+
SkyModalConfiguration.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalConfiguration, providedIn: 'any' });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalConfiguration, decorators: [{
|
|
14
|
+
type: Injectable,
|
|
15
|
+
args: [{
|
|
16
|
+
providedIn: 'any',
|
|
17
|
+
}]
|
|
18
|
+
}], ctorParameters: function () { return []; } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBVWhDO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7a0hBWlUscUJBQXFCO3NIQUFyQixxQkFBcUIsY0FGcEIsS0FBSzsyRkFFTixxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbENvbmZpZ3VyYXRpb24ge1xuICBwdWJsaWMgZnVsbFBhZ2U/OiBib29sZWFuO1xuICBwdWJsaWMgc2l6ZT86IHN0cmluZztcbiAgcHVibGljIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZztcbiAgcHVibGljIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuICBwdWJsaWMgYXJpYVJvbGU/OiBzdHJpbmc7XG4gIHB1YmxpYyB0aWxlZEJvZHk/OiBib29sZWFuO1xuICBwdWJsaWMgaGVscEtleT86IHN0cmluZztcbiAgcHVibGljIHdyYXBwZXJDbGFzcz86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNpemUgPSAnbWVkaXVtJztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Specifies content to display in the modal's body.
|
|
5
|
+
*/
|
|
6
|
+
export class SkyModalContentComponent {
|
|
7
|
+
}
|
|
8
|
+
SkyModalContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
SkyModalContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkyModalContentComponent, selector: "sky-modal-content", ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["sky-modal-content{display:block;min-height:100%}.sky-theme-modern sky-modal-content{padding:10px 30px 30px}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalContentComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'sky-modal-content', encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n", styles: ["sky-modal-content{display:block;min-height:100%}.sky-theme-modern sky-modal-content{padding:10px 30px 30px}\n"] }]
|
|
13
|
+
}] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFN0Q7O0dBRUc7QUFPSCxNQUFNLE9BQU8sd0JBQXdCOztxSEFBeEIsd0JBQXdCO3lHQUF4Qix3QkFBd0IseURDWHJDLDZCQUNBOzJGRFVhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxtQkFBbUIsaUJBR2QsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgY29udGVudCB0byBkaXNwbGF5IGluIHRoZSBtb2RhbCdzIGJvZHkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1jb250ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsQ29udGVudENvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Specifies content to display in the modal's footer.
|
|
5
|
+
*/
|
|
6
|
+
export class SkyModalFooterComponent {
|
|
7
|
+
}
|
|
8
|
+
SkyModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
SkyModalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkyModalFooterComponent, selector: "sky-modal-footer", ngImport: i0, template: "<div class=\"sky-modal-footer-container sky-padding-even-large\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-modal-footer-container{background-color:#fff;border-top:1px solid #e2e3e4}.sky-modal-footer-container ::ng-deep .sky-btn-link:first-child{margin-left:-12px}:host-context(.sky-theme-modern) .sky-modal-footer-container{border-top:none;padding:20px 30px}.sky-theme-modern .sky-modal-footer-container{border-top:none;padding:20px 30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-footer-container{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-modal-footer-container{background-color:transparent}\n"] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalFooterComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'sky-modal-footer', template: "<div class=\"sky-modal-footer-container sky-padding-even-large\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-modal-footer-container{background-color:#fff;border-top:1px solid #e2e3e4}.sky-modal-footer-container ::ng-deep .sky-btn-link:first-child{margin-left:-12px}:host-context(.sky-theme-modern) .sky-modal-footer-container{border-top:none;padding:20px 30px}.sky-theme-modern .sky-modal-footer-container{border-top:none;padding:20px 30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-footer-container{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-modal-footer-container{background-color:transparent}\n"] }]
|
|
13
|
+
}] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUM7O0dBRUc7QUFNSCxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3dHQUF2Qix1QkFBdUIsd0RDVnBDLDBHQUdBOzJGRE9hLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgY29udGVudCB0byBkaXNwbGF5IGluIHRoZSBtb2RhbCdzIGZvb3Rlci5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LW1vZGFsLWZvb3RlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1mb290ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxGb290ZXJDb21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJza3ktbW9kYWwtZm9vdGVyLWNvbnRhaW5lciBza3ktcGFkZGluZy1ldmVuLWxhcmdlXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@skyux/theme";
|
|
4
|
+
/**
|
|
5
|
+
* Specifies a header for the modal.
|
|
6
|
+
*/
|
|
7
|
+
export class SkyModalHeaderComponent {
|
|
8
|
+
}
|
|
9
|
+
SkyModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
SkyModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkyModalHeaderComponent, selector: "sky-modal-header", ngImport: i0, template: "<h1\n class=\"sky-emphasized\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n>\n <ng-content></ng-content>\n</h1>\n", styles: ["h1{margin:0;line-height:1.2}:host-context(.sky-theme-modern.sky-theme-mode-dark) h1{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark h1{color:#fbfcfe}\n"], directives: [{ type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalHeaderComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'sky-modal-header', template: "<h1\n class=\"sky-emphasized\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n>\n <ng-content></ng-content>\n</h1>\n", styles: ["h1{margin:0;line-height:1.2}:host-context(.sky-theme-modern.sky-theme-mode-dark) h1{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark h1{color:#fbfcfe}\n"] }]
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRTFDOztHQUVHO0FBTUgsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHdEQ1ZwQyw0SUFRQTsyRkRFYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIGEgaGVhZGVyIGZvciB0aGUgbW9kYWwuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSGVhZGVyQ29tcG9uZW50IHt9XG4iLCI8aDFcbiAgY2xhc3M9XCJza3ktZW1waGFzaXplZFwiXG4gIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAnc2t5LWZvbnQtZGlzcGxheS0zJzogJ21vZGVybidcbiAgfVwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvaDE+XG4iXX0=
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, ComponentFactoryResolver, Injector, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
import { NavigationStart, Router } from '@angular/router';
|
|
3
|
+
import { takeWhile } from 'rxjs/operators';
|
|
4
|
+
import { SkyModalAdapterService } from './modal-adapter.service';
|
|
5
|
+
import { SkyModalConfiguration } from './modal-configuration';
|
|
6
|
+
import { SkyModalHostService } from './modal-host.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./modal-adapter.service";
|
|
9
|
+
import * as i2 from "@angular/router";
|
|
10
|
+
import * as i3 from "@angular/common";
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export class SkyModalHostComponent {
|
|
15
|
+
constructor(resolver, adapter, injector, router, changeDetector) {
|
|
16
|
+
this.resolver = resolver;
|
|
17
|
+
this.adapter = adapter;
|
|
18
|
+
this.injector = injector;
|
|
19
|
+
this.router = router;
|
|
20
|
+
this.changeDetector = changeDetector;
|
|
21
|
+
}
|
|
22
|
+
get modalOpen() {
|
|
23
|
+
return SkyModalHostService.openModalCount > 0;
|
|
24
|
+
}
|
|
25
|
+
get backdropZIndex() {
|
|
26
|
+
return SkyModalHostService.backdropZIndex;
|
|
27
|
+
}
|
|
28
|
+
open(modalInstance, component, config) {
|
|
29
|
+
const params = Object.assign({}, config);
|
|
30
|
+
const factory = this.resolver.resolveComponentFactory(component);
|
|
31
|
+
const hostService = new SkyModalHostService();
|
|
32
|
+
hostService.fullPage = !!params.fullPage;
|
|
33
|
+
const adapter = this.adapter;
|
|
34
|
+
const modalOpener = adapter.getModalOpener();
|
|
35
|
+
let isOpen = true;
|
|
36
|
+
params.providers.push({
|
|
37
|
+
provide: SkyModalHostService,
|
|
38
|
+
useValue: hostService,
|
|
39
|
+
});
|
|
40
|
+
params.providers.push({
|
|
41
|
+
provide: SkyModalConfiguration,
|
|
42
|
+
useValue: params,
|
|
43
|
+
});
|
|
44
|
+
adapter.setPageScroll(SkyModalHostService.openModalCount > 0);
|
|
45
|
+
adapter.toggleFullPageModalClass(SkyModalHostService.fullPageModalCount > 0);
|
|
46
|
+
const providers = params.providers || /* istanbul ignore next */ [];
|
|
47
|
+
const injector = Injector.create({
|
|
48
|
+
providers,
|
|
49
|
+
parent: this.injector,
|
|
50
|
+
});
|
|
51
|
+
const modalComponentRef = this.target.createComponent(factory, undefined, injector);
|
|
52
|
+
modalInstance.componentInstance = modalComponentRef.instance;
|
|
53
|
+
function closeModal() {
|
|
54
|
+
hostService.destroy();
|
|
55
|
+
adapter.setPageScroll(SkyModalHostService.openModalCount > 0);
|
|
56
|
+
adapter.toggleFullPageModalClass(SkyModalHostService.fullPageModalCount > 0);
|
|
57
|
+
/* istanbul ignore else */
|
|
58
|
+
/* sanity check */
|
|
59
|
+
if (modalOpener && modalOpener.focus) {
|
|
60
|
+
modalOpener.focus();
|
|
61
|
+
}
|
|
62
|
+
modalComponentRef.destroy();
|
|
63
|
+
}
|
|
64
|
+
hostService.openHelp.subscribe((helpKey) => {
|
|
65
|
+
modalInstance.openHelp(helpKey);
|
|
66
|
+
});
|
|
67
|
+
hostService.close.subscribe(() => {
|
|
68
|
+
modalInstance.close();
|
|
69
|
+
});
|
|
70
|
+
this.router.events.pipe(takeWhile(() => isOpen)).subscribe((event) => {
|
|
71
|
+
/* istanbul ignore else */
|
|
72
|
+
if (event instanceof NavigationStart) {
|
|
73
|
+
modalInstance.close();
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
modalInstance.closed.subscribe(() => {
|
|
77
|
+
isOpen = false;
|
|
78
|
+
closeModal();
|
|
79
|
+
});
|
|
80
|
+
// Necessary if the host was created via a consumer's lifecycle hook such as ngOnInit
|
|
81
|
+
this.changeDetector.detectChanges();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
SkyModalHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalHostComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.SkyModalAdapterService }, { token: i0.Injector }, { token: i2.Router }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
85
|
+
SkyModalHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkyModalHostComponent, 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]=\"!modalOpen\"\n [ngStyle]=\"{\n zIndex: backdropZIndex\n }\"\n></div>\n<div #target></div>\n", styles: [".sky-modal-host-backdrop{background-color:#00000080;position:fixed;top:0;left:0;bottom:0;right:0}\n"], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], viewProviders: [SkyModalAdapterService] });
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalHostComponent, decorators: [{
|
|
87
|
+
type: Component,
|
|
88
|
+
args: [{ selector: 'sky-modal-host', viewProviders: [SkyModalAdapterService], template: "<div\n class=\"sky-modal-host-backdrop\"\n [hidden]=\"!modalOpen\"\n [ngStyle]=\"{\n zIndex: backdropZIndex\n }\"\n></div>\n<div #target></div>\n", styles: [".sky-modal-host-backdrop{background-color:#00000080;position:fixed;top:0;left:0;bottom:0;right:0}\n"] }]
|
|
89
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.SkyModalAdapterService }, { type: i0.Injector }, { type: i2.Router }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { target: [{
|
|
90
|
+
type: ViewChild,
|
|
91
|
+
args: ['target', {
|
|
92
|
+
read: ViewContainerRef,
|
|
93
|
+
static: true,
|
|
94
|
+
}]
|
|
95
|
+
}] } });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLFFBQVEsRUFDUixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQUkzRDs7R0FFRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUFxQmhDLFlBQ1UsUUFBa0MsRUFDbEMsT0FBK0IsRUFDL0IsUUFBa0IsRUFDbEIsTUFBYyxFQUNkLGNBQWlDO1FBSmpDLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtJQUN4QyxDQUFDO0lBMUJKLElBQVcsU0FBUztRQUNsQixPQUFPLG1CQUFtQixD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WUFBWSxlQUFlLEVBQUU7Z0JBQ3BDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDZixVQUFVLEVBQUUsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO1FBRUgscUZBQXFGO1FBQ3JGLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdEMsQ0FBQzs7a0hBN0dVLHFCQUFxQjtzR0FBckIscUJBQXFCLG1JQWdCeEIsZ0JBQWdCLDJDQzNDMUIsMEpBUUEsa05EaUJpQixDQUFDLHNCQUFzQixDQUFDOzJGQUU1QixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGlCQUdYLENBQUMsc0JBQXNCLENBQUM7Z09BcUJoQyxNQUFNO3NCQUpaLFNBQVM7dUJBQUMsUUFBUSxFQUFFO3dCQUNuQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsSUFBSTtxQkFDTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgSW5qZWN0b3IsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TW9kYWxBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vbW9kYWwtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreU1vZGFsQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vbW9kYWwtY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4vbW9kYWwtaW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtaG9zdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1ob3N0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtaG9zdC5jb21wb25lbnQuc2NzcyddLFxuICB2aWV3UHJvdmlkZXJzOiBbU2t5TW9kYWxBZGFwdGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdENvbXBvbmVudCB7XG4gIHB1YmxpYyBnZXQgbW9kYWxPcGVuKCkge1xuICAgIHJldHVybiBTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYmFja2Ryb3BaSW5kZXgoKSB7XG4gICAgcmV0dXJuIFNreU1vZGFsSG9zdFNlcnZpY2UuYmFja2Ryb3BaSW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogVXNlIGBhbnlgIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSB3aXRoIEFuZ3VsYXIgNC03LlxuICAgKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzMwNjU0XG4gICAqIFRPRE86IFJlbW92ZSB0aGUgYGFueWAgaW4gYSBicmVha2luZyBjaGFuZ2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQFZpZXdDaGlsZCgndGFyZ2V0Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9IGFzIGFueSlcbiAgcHVibGljIHRhcmdldDogVmlld0NvbnRhaW5lclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSBhZGFwdGVyOiBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIHB1YmxpYyBvcGVuKFxuICAgIG1vZGFsSW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UsXG4gICAgY29tcG9uZW50OiBhbnksXG4gICAgY29uZmlnPzogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlXG4gICkge1xuICAgIGNvbnN0IHBhcmFtczogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlID0gT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnKTtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xuXG4gICAgY29uc3QgaG9zdFNlcnZpY2UgPSBuZXcgU2t5TW9kYWxIb3N0U2VydmljZSgpO1xuICAgIGhvc3RTZXJ2aWNlLmZ1bGxQYWdlID0gISFwYXJhbXMuZnVsbFBhZ2U7XG5cbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy5hZGFwdGVyO1xuICAgIGNvbnN0IG1vZGFsT3BlbmVyOiBIVE1MRWxlbWVudCA9IGFkYXB0ZXIuZ2V0TW9kYWxPcGVuZXIoKTtcblxuICAgIGxldCBpc09wZW4gPSB0cnVlO1xuXG4gICAgcGFyYW1zLnByb3ZpZGVycy5wdXNoKHtcbiAgICAgIHByb3ZpZGU6IFNreU1vZGFsSG9zdFNlcnZpY2UsXG4gICAgICB1c2VWYWx1ZTogaG9zdFNlcnZpY2UsXG4gICAgfSk7XG4gICAgcGFyYW1zLnByb3ZpZGVycy5wdXNoKHtcbiAgICAgIHByb3ZpZGU6IFNreU1vZGFsQ29uZmlndXJhdGlvbixcbiAgICAgIHVzZVZhbHVlOiBwYXJhbXMsXG4gICAgfSk7XG5cbiAgICBhZGFwdGVyLnNldFBhZ2VTY3JvbGwoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDApO1xuICAgIGFkYXB0ZXIudG9nZ2xlRnVsbFBhZ2VNb2RhbENsYXNzKFxuICAgICAgU2t5TW9kYWxIb3N0U2VydmljZS5mdWxsUGFnZU1vZGFsQ291bnQgPiAwXG4gICAgKTtcblxuICAgIGNvbnN0IHByb3ZpZGVycyA9IHBhcmFtcy5wcm92aWRlcnMgfHwgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gW107XG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzLFxuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbW9kYWxDb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldC5jcmVhdGVDb21wb25lbnQoXG4gICAgICBmYWN0b3J5LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgaW5qZWN0b3JcbiAgICApO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jb21wb25lbnRJbnN0YW5jZSA9IG1vZGFsQ29tcG9uZW50UmVmLmluc3RhbmNlO1xuXG4gICAgZnVuY3Rpb24gY2xvc2VNb2RhbCgpIHtcbiAgICAgIGhvc3RTZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgICBhZGFwdGVyLnRvZ2dsZUZ1bGxQYWdlTW9kYWxDbGFzcyhcbiAgICAgICAgU2t5TW9kYWxIb3N0U2VydmljZS5mdWxsUGFnZU1vZGFsQ291bnQgPiAwXG4gICAgICApO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgaWYgKG1vZGFsT3BlbmVyICYmIG1vZGFsT3BlbmVyLmZvY3VzKSB7XG4gICAgICAgIG1vZGFsT3BlbmVyLmZvY3VzKCk7XG4gICAgICB9XG4gICAgICBtb2RhbENvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgaG9zdFNlcnZpY2Uub3BlbkhlbHAuc3Vic2NyaWJlKChoZWxwS2V5Pzogc3RyaW5nKSA9PiB7XG4gICAgICBtb2RhbEluc3RhbmNlLm9wZW5IZWxwKGhlbHBLZXkpO1xuICAgIH0pO1xuXG4gICAgaG9zdFNlcnZpY2UuY2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIG1vZGFsSW5zdGFuY2UuY2xvc2UoKTtcbiAgICB9KTtcblxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKHRha2VXaGlsZSgoKSA9PiBpc09wZW4pKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgIG1vZGFsSW5zdGFuY2UuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIG1vZGFsSW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpc09wZW4gPSBmYWxzZTtcbiAgICAgIGNsb3NlTW9kYWwoKTtcbiAgICB9KTtcblxuICAgIC8vIE5lY2Vzc2FyeSBpZiB0aGUgaG9zdCB3YXMgY3JlYXRlZCB2aWEgYSBjb25zdW1lcidzIGxpZmVjeWNsZSBob29rIHN1Y2ggYXMgbmdPbkluaXRcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1tb2RhbC1ob3N0LWJhY2tkcm9wXCJcbiAgW2hpZGRlbl09XCIhbW9kYWxPcGVuXCJcbiAgW25nU3R5bGVdPVwie1xuICAgIHpJbmRleDogYmFja2Ryb3BaSW5kZXhcbiAgfVwiXG4+PC9kaXY+XG48ZGl2ICN0YXJnZXQ+PC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
* @dynamic
|
|
6
|
+
*/
|
|
7
|
+
export class SkyModalHostService {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.close = new EventEmitter();
|
|
10
|
+
this.fullPage = false;
|
|
11
|
+
this.openHelp = new EventEmitter();
|
|
12
|
+
SkyModalHostService.modalHosts.push(this);
|
|
13
|
+
}
|
|
14
|
+
static get openModalCount() {
|
|
15
|
+
return SkyModalHostService.modalHosts.length;
|
|
16
|
+
}
|
|
17
|
+
static get fullPageModalCount() {
|
|
18
|
+
const fullPageModals = SkyModalHostService.modalHosts.filter((modal) => modal.fullPage);
|
|
19
|
+
return fullPageModals.length;
|
|
20
|
+
}
|
|
21
|
+
static get BASE_Z_INDEX() {
|
|
22
|
+
return 1040;
|
|
23
|
+
}
|
|
24
|
+
static get backdropZIndex() {
|
|
25
|
+
return (SkyModalHostService.BASE_Z_INDEX +
|
|
26
|
+
SkyModalHostService.modalHosts.length * 10);
|
|
27
|
+
}
|
|
28
|
+
static get topModal() {
|
|
29
|
+
return SkyModalHostService.modalHosts[SkyModalHostService.modalHosts.length - 1];
|
|
30
|
+
}
|
|
31
|
+
getModalZIndex() {
|
|
32
|
+
let zIndex = SkyModalHostService.BASE_Z_INDEX + 1;
|
|
33
|
+
zIndex += (SkyModalHostService.modalHosts.indexOf(this) + 1) * 10;
|
|
34
|
+
return zIndex;
|
|
35
|
+
}
|
|
36
|
+
onClose() {
|
|
37
|
+
this.close.emit();
|
|
38
|
+
}
|
|
39
|
+
onOpenHelp(helpKey) {
|
|
40
|
+
this.openHelp.emit(helpKey);
|
|
41
|
+
}
|
|
42
|
+
destroy() {
|
|
43
|
+
SkyModalHostService.modalHosts.splice(SkyModalHostService.modalHosts.indexOf(this), 1);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
SkyModalHostService.modalHosts = [];
|
|
47
|
+
SkyModalHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalHostService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
+
SkyModalHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalHostService, providedIn: 'root' });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalHostService, decorators: [{
|
|
50
|
+
type: Injectable,
|
|
51
|
+
args: [{
|
|
52
|
+
providedIn: 'root',
|
|
53
|
+
}]
|
|
54
|
+
}], ctorParameters: function () { return []; } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV6RDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBbUM5QjtRQUpPLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFHeEMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBcENNLE1BQU0sS0FBSyxjQUFjO1FBQzlCLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRU0sTUFBTSxLQUFLLGtCQUFrQjtRQUNsQyxNQUFNLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUMxRCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDMUIsQ0FBQztRQUNGLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRU8sTUFBTSxLQUFLLFlBQVk7UUFDN0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sTUFBTSxLQUFLLGNBQWM7UUFDOUIsT0FBTyxDQUNMLG1CQUFtQixDQUFDLFlBQVk7WUFDaEMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDeEIsT0FBTyxtQkFBbUIsQ0FBQyxVQUFVLENBQ25DLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUMxQyxDQUFDO0lBQ0osQ0FBQztJQVlNLGNBQWM7UUFDbkIsSUFBSSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUNsRCxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNsRSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxPQUFnQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sT0FBTztRQUNaLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQ25DLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQzVDLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7QUE3QmMsOEJBQVUsR0FBMEIsRUFBRyxDQUFBO2dIQTdCM0MsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZHluYW1pY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxIb3N0U2VydmljZSB7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0IG9wZW5Nb2RhbENvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIFNreU1vZGFsSG9zdFNlcnZpY2UubW9kYWxIb3N0cy5sZW5ndGg7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldCBmdWxsUGFnZU1vZGFsQ291bnQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBmdWxsUGFnZU1vZGFscyA9IFNreU1vZGFsSG9zdFNlcnZpY2UubW9kYWxIb3N0cy5maWx0ZXIoXG4gICAgICAobW9kYWwpID0+IG1vZGFsLmZ1bGxQYWdlXG4gICAgKTtcbiAgICByZXR1cm4gZnVsbFBhZ2VNb2RhbHMubGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0IEJBU0VfWl9JTkRFWCgpOiBudW1iZXIge1xuICAgIHJldHVybiAxMDQwO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgYmFja2Ryb3BaSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKFxuICAgICAgU2t5TW9kYWxIb3N0U2VydmljZS5CQVNFX1pfSU5ERVggK1xuICAgICAgU2t5TW9kYWxIb3N0U2VydmljZS5tb2RhbEhvc3RzLmxlbmd0aCAqIDEwXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IHRvcE1vZGFsKCk6IFNreU1vZGFsSG9zdFNlcnZpY2Uge1xuICAgIHJldHVybiBTa3lNb2RhbEhvc3RTZXJ2aWNlLm1vZGFsSG9zdHNbXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLm1vZGFsSG9zdHMubGVuZ3RoIC0gMVxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBtb2RhbEhvc3RzOiBTa3lNb2RhbEhvc3RTZXJ2aWNlW10gPSBbXTtcblxuICBwdWJsaWMgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHB1YmxpYyBmdWxsUGFnZSA9IGZhbHNlO1xuICBwdWJsaWMgb3BlbkhlbHAgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLm1vZGFsSG9zdHMucHVzaCh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb2RhbFpJbmRleCgpOiBudW1iZXIge1xuICAgIGxldCB6SW5kZXggPSBTa3lNb2RhbEhvc3RTZXJ2aWNlLkJBU0VfWl9JTkRFWCArIDE7XG4gICAgekluZGV4ICs9IChTa3lNb2RhbEhvc3RTZXJ2aWNlLm1vZGFsSG9zdHMuaW5kZXhPZih0aGlzKSArIDEpICogMTA7XG4gICAgcmV0dXJuIHpJbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIG9uT3BlbkhlbHAoaGVscEtleT86IHN0cmluZykge1xuICAgIHRoaXMub3BlbkhlbHAuZW1pdChoZWxwS2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIFNreU1vZGFsSG9zdFNlcnZpY2UubW9kYWxIb3N0cy5zcGxpY2UoXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLm1vZGFsSG9zdHMuaW5kZXhPZih0aGlzKSxcbiAgICAgIDFcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { SkyModalBeforeCloseHandler } from './modal-before-close-handler';
|
|
3
|
+
import { SkyModalCloseArgs } from './modal-close-args';
|
|
4
|
+
// TODO: this class won't show in the generated docs until this work is done:
|
|
5
|
+
// https://github.com/blackbaud/skyux-docs-tools/issues/30
|
|
6
|
+
/**
|
|
7
|
+
* Allows you to close the modal and return data from the launched modal.
|
|
8
|
+
*/
|
|
9
|
+
export class SkyModalInstance {
|
|
10
|
+
constructor() {
|
|
11
|
+
this._beforeClose = new Subject();
|
|
12
|
+
this._closed = new Subject();
|
|
13
|
+
this._helpOpened = new Subject();
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* An event that the modal instance emits when it is about to close.
|
|
17
|
+
* It emits a `SkyModalBeforeCloseHandler` object with a `closeModal` method
|
|
18
|
+
* that closes the modal. If a subscription exists for this event,
|
|
19
|
+
* the modal does not close until the subscriber calls the `closeModal` method.
|
|
20
|
+
*/
|
|
21
|
+
get beforeClose() {
|
|
22
|
+
return this._beforeClose;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* An event that the modal instance emits when it closes.
|
|
26
|
+
* It emits a `SkyModalCloseArgs` object with a `data` property that includes
|
|
27
|
+
* data passed from users on close or save and a `reason` property that indicates
|
|
28
|
+
* whether the modal was saved or closed without saving.
|
|
29
|
+
* The `reason` property accepts any string value.
|
|
30
|
+
* Common examples include `cancel`, `close`, and `save`.
|
|
31
|
+
*/
|
|
32
|
+
get closed() {
|
|
33
|
+
return this._closed;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* An event that the modal instance emits when users click
|
|
37
|
+
* the <i class="fa fa-question-circle" aria-hidden="true"></i> button.
|
|
38
|
+
* If a `helpKey` parameter was specified, the `helpOpened` event broadcasts the `helpKey`.
|
|
39
|
+
*/
|
|
40
|
+
get helpOpened() {
|
|
41
|
+
return this._helpOpened;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Closes the modal instance.
|
|
45
|
+
* @param result Specifies an object to emit to subscribers of the `closed` event of the
|
|
46
|
+
* modal instance. The `SkyModalInstance` provider can be injected into a component's constructor
|
|
47
|
+
* so that this `close` function can be called from a button in the `sky-modal-footer`.
|
|
48
|
+
* @param reason Specifies the reason for the modal closing, with the default reason of `close`.
|
|
49
|
+
* @param ignoreBeforeClose Indicates whether to ignore the modal instance's `beforeClose` event.
|
|
50
|
+
*/
|
|
51
|
+
close(result, reason, ignoreBeforeClose) {
|
|
52
|
+
if (reason === undefined) {
|
|
53
|
+
reason = 'close';
|
|
54
|
+
}
|
|
55
|
+
this.closeModal(reason, result, ignoreBeforeClose);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Closes the modal instance with `reason=cancel`.
|
|
59
|
+
* @param result Specifies an object to emit to subscribers of the `closed` event of the modal
|
|
60
|
+
* instance. The `SkyModalInstance` provider can be injected into a component's constructor so
|
|
61
|
+
* that this cancel function can be called from a button in the `sky-modal-footer`.
|
|
62
|
+
*/
|
|
63
|
+
cancel(result) {
|
|
64
|
+
this.closeModal('cancel', result);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Closes the modal instance with `reason=save`.
|
|
68
|
+
* @param result Specifies an object to emit to subscribers of the `closed` event of the modal
|
|
69
|
+
* instance. The `SkyModalInstance` provider can be injected into a component's constructor so
|
|
70
|
+
* that this `save` function can be called from a button in `the sky-modal-footer`.
|
|
71
|
+
*/
|
|
72
|
+
save(result) {
|
|
73
|
+
this.closeModal('save', result);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Triggers the `helpOpened` event that broadcasts a `helpKey` parameter to open
|
|
77
|
+
* when users click the <i class="fa fa-question-circle" aria-hidden="true"></i> button.
|
|
78
|
+
* @param helpKey Specifies a string to emit to subscribers of
|
|
79
|
+
* the modal instance's `helpOpened` event. Consumers can inject the `SkyModalInstance` provider
|
|
80
|
+
* into a component's constructor to call the `openHelp` function in the modal template.
|
|
81
|
+
*/
|
|
82
|
+
openHelp(helpKey) {
|
|
83
|
+
this._helpOpened.next(helpKey);
|
|
84
|
+
}
|
|
85
|
+
closeModal(type, result, ignoreBeforeClose = false) {
|
|
86
|
+
const args = new SkyModalCloseArgs();
|
|
87
|
+
args.reason = type;
|
|
88
|
+
args.data = result;
|
|
89
|
+
if (this._beforeClose.observers.length === 0 || ignoreBeforeClose) {
|
|
90
|
+
this.notifyClosed(args);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this._beforeClose.next(new SkyModalBeforeCloseHandler(() => {
|
|
94
|
+
this.notifyClosed(args);
|
|
95
|
+
}, args));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
notifyClosed(args) {
|
|
99
|
+
this._closed.next(args);
|
|
100
|
+
this._closed.complete();
|
|
101
|
+
this._beforeClose.complete();
|
|
102
|
+
this._helpOpened.complete();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZELDZFQUE2RTtBQUM3RSwwREFBMEQ7QUFFMUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQTdCO1FBcUNVLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQThCLENBQUM7UUFFekQsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO1FBRTNDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQWdGOUMsQ0FBQztJQXhIQzs7Ozs7T0FLRztJQUNILElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFhRDs7Ozs7OztPQU9HO0lBQ0ksS0FBSyxDQUNWLE1BQVksRUFDWixNQUFlLEVBQ2YsaUJBQTJCO1FBRTNCLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUN4QixNQUFNLEdBQUcsT0FBTyxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQVk7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksSUFBSSxDQUFDLE1BQVk7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFFBQVEsQ0FBQyxPQUFnQjtRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sVUFBVSxDQUNoQixJQUFZLEVBQ1osTUFBWSxFQUNaLGlCQUFpQixHQUFHLEtBQUs7UUFFekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBRXJDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBRW5CLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxpQkFBaUIsRUFBRTtZQUNqRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDcEIsSUFBSSwwQkFBMEIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUNULENBQUM7U0FDSDtJQUNILENBQUM7SUFFTyxZQUFZLENBQUMsSUFBdUI7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vbW9kYWwtYmVmb3JlLWNsb3NlLWhhbmRsZXInO1xuaW1wb3J0IHsgU2t5TW9kYWxDbG9zZUFyZ3MgfSBmcm9tICcuL21vZGFsLWNsb3NlLWFyZ3MnO1xuXG4vLyBUT0RPOiB0aGlzIGNsYXNzIHdvbid0IHNob3cgaW4gdGhlIGdlbmVyYXRlZCBkb2NzIHVudGlsIHRoaXMgd29yayBpcyBkb25lOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2JsYWNrYmF1ZC9za3l1eC1kb2NzLXRvb2xzL2lzc3Vlcy8zMFxuXG4vKipcbiAqIEFsbG93cyB5b3UgdG8gY2xvc2UgdGhlIG1vZGFsIGFuZCByZXR1cm4gZGF0YSBmcm9tIHRoZSBsYXVuY2hlZCBtb2RhbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreU1vZGFsSW5zdGFuY2Uge1xuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgbW9kYWwgaW5zdGFuY2UgZW1pdHMgd2hlbiBpdCBpcyBhYm91dCB0byBjbG9zZS5cbiAgICogSXQgZW1pdHMgYSBgU2t5TW9kYWxCZWZvcmVDbG9zZUhhbmRsZXJgIG9iamVjdCB3aXRoIGEgYGNsb3NlTW9kYWxgIG1ldGhvZFxuICAgKiB0aGF0IGNsb3NlcyB0aGUgbW9kYWwuIElmIGEgc3Vic2NyaXB0aW9uIGV4aXN0cyBmb3IgdGhpcyBldmVudCxcbiAgICogdGhlIG1vZGFsIGRvZXMgbm90IGNsb3NlIHVudGlsIHRoZSBzdWJzY3JpYmVyIGNhbGxzIHRoZSBgY2xvc2VNb2RhbGAgbWV0aG9kLlxuICAgKi9cbiAgcHVibGljIGdldCBiZWZvcmVDbG9zZSgpOiBPYnNlcnZhYmxlPFNreU1vZGFsQmVmb3JlQ2xvc2VIYW5kbGVyPiB7XG4gICAgcmV0dXJuIHRoaXMuX2JlZm9yZUNsb3NlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGV2ZW50IHRoYXQgdGhlIG1vZGFsIGluc3RhbmNlIGVtaXRzIHdoZW4gaXQgY2xvc2VzLlxuICAgKiBJdCBlbWl0cyBhIGBTa3lNb2RhbENsb3NlQXJnc2Agb2JqZWN0IHdpdGggYSBgZGF0YWAgcHJvcGVydHkgdGhhdCBpbmNsdWRlc1xuICAgKiBkYXRhIHBhc3NlZCBmcm9tIHVzZXJzIG9uIGNsb3NlIG9yIHNhdmUgYW5kIGEgYHJlYXNvbmAgcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXNcbiAgICogd2hldGhlciB0aGUgbW9kYWwgd2FzIHNhdmVkIG9yIGNsb3NlZCB3aXRob3V0IHNhdmluZy5cbiAgICogVGhlIGByZWFzb25gIHByb3BlcnR5IGFjY2VwdHMgYW55IHN0cmluZyB2YWx1ZS5cbiAgICogQ29tbW9uIGV4YW1wbGVzIGluY2x1ZGUgYGNhbmNlbGAsIGBjbG9zZWAsIGFuZCBgc2F2ZWAuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNsb3NlZCgpOiBPYnNlcnZhYmxlPFNreU1vZGFsQ2xvc2VBcmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Nsb3NlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBldmVudCB0aGF0IHRoZSBtb2RhbCBpbnN0YW5jZSBlbWl0cyB3aGVuIHVzZXJzIGNsaWNrXG4gICAqIHRoZSA8aSBjbGFzcz1cImZhIGZhLXF1ZXN0aW9uLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4gYnV0dG9uLlxuICAgKiBJZiBhIGBoZWxwS2V5YCBwYXJhbWV0ZXIgd2FzIHNwZWNpZmllZCwgdGhlIGBoZWxwT3BlbmVkYCBldmVudCBicm9hZGNhc3RzIHRoZSBgaGVscEtleWAuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhlbHBPcGVuZWQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5faGVscE9wZW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGRpcmVjdCByZWZlcmVuY2UgdG8gdGhlIHByb3ZpZGVkIGNvbXBvbmVudCdzIGNsYXNzLlxuICAgKi9cbiAgcHVibGljIGNvbXBvbmVudEluc3RhbmNlOiBhbnk7XG5cbiAgcHJpdmF0ZSBfYmVmb3JlQ2xvc2UgPSBuZXcgU3ViamVjdDxTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcj4oKTtcblxuICBwcml2YXRlIF9jbG9zZWQgPSBuZXcgU3ViamVjdDxTa3lNb2RhbENsb3NlQXJncz4oKTtcblxuICBwcml2YXRlIF9oZWxwT3BlbmVkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG1vZGFsIGluc3RhbmNlLlxuICAgKiBAcGFyYW0gcmVzdWx0IFNwZWNpZmllcyBhbiBvYmplY3QgdG8gZW1pdCB0byBzdWJzY3JpYmVycyBvZiB0aGUgYGNsb3NlZGAgZXZlbnQgb2YgdGhlXG4gICAqIG1vZGFsIGluc3RhbmNlLiBUaGUgYFNreU1vZGFsSW5zdGFuY2VgIHByb3ZpZGVyIGNhbiBiZSBpbmplY3RlZCBpbnRvIGEgY29tcG9uZW50J3MgY29uc3RydWN0b3JcbiAgICogc28gdGhhdCB0aGlzIGBjbG9zZWAgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBmcm9tIGEgYnV0dG9uIGluIHRoZSBgc2t5LW1vZGFsLWZvb3RlcmAuXG4gICAqIEBwYXJhbSByZWFzb24gU3BlY2lmaWVzIHRoZSByZWFzb24gZm9yIHRoZSBtb2RhbCBjbG9zaW5nLCB3aXRoIHRoZSBkZWZhdWx0IHJlYXNvbiBvZiBgY2xvc2VgLlxuICAgKiBAcGFyYW0gaWdub3JlQmVmb3JlQ2xvc2UgSW5kaWNhdGVzIHdoZXRoZXIgdG8gaWdub3JlIHRoZSBtb2RhbCBpbnN0YW5jZSdzIGBiZWZvcmVDbG9zZWAgZXZlbnQuXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoXG4gICAgcmVzdWx0PzogYW55LFxuICAgIHJlYXNvbj86IHN0cmluZyxcbiAgICBpZ25vcmVCZWZvcmVDbG9zZT86IGJvb2xlYW5cbiAgKTogdm9pZCB7XG4gICAgaWYgKHJlYXNvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZWFzb24gPSAnY2xvc2UnO1xuICAgIH1cblxuICAgIHRoaXMuY2xvc2VNb2RhbChyZWFzb24sIHJlc3VsdCwgaWdub3JlQmVmb3JlQ2xvc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbW9kYWwgaW5zdGFuY2Ugd2l0aCBgcmVhc29uPWNhbmNlbGAuXG4gICAqIEBwYXJhbSByZXN1bHQgU3BlY2lmaWVzIGFuIG9iamVjdCB0byBlbWl0IHRvIHN1YnNjcmliZXJzIG9mIHRoZSBgY2xvc2VkYCBldmVudCBvZiB0aGUgbW9kYWxcbiAgICogaW5zdGFuY2UuIFRoZSBgU2t5TW9kYWxJbnN0YW5jZWAgcHJvdmlkZXIgY2FuIGJlIGluamVjdGVkIGludG8gYSBjb21wb25lbnQncyBjb25zdHJ1Y3RvciBzb1xuICAgKiB0aGF0IHRoaXMgY2FuY2VsIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZnJvbSBhIGJ1dHRvbiBpbiB0aGUgYHNreS1tb2RhbC1mb290ZXJgLlxuICAgKi9cbiAgcHVibGljIGNhbmNlbChyZXN1bHQ/OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlTW9kYWwoJ2NhbmNlbCcsIHJlc3VsdCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCBpbnN0YW5jZSB3aXRoIGByZWFzb249c2F2ZWAuXG4gICAqIEBwYXJhbSByZXN1bHQgU3BlY2lmaWVzIGFuIG9iamVjdCB0byBlbWl0IHRvIHN1YnNjcmliZXJzIG9mIHRoZSBgY2xvc2VkYCBldmVudCBvZiB0aGUgbW9kYWxcbiAgICogaW5zdGFuY2UuIFRoZSBgU2t5TW9kYWxJbnN0YW5jZWAgcHJvdmlkZXIgY2FuIGJlIGluamVjdGVkIGludG8gYSBjb21wb25lbnQncyBjb25zdHJ1Y3RvciBzb1xuICAgKiB0aGF0IHRoaXMgYHNhdmVgIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZnJvbSBhIGJ1dHRvbiBpbiBgdGhlIHNreS1tb2RhbC1mb290ZXJgLlxuICAgKi9cbiAgcHVibGljIHNhdmUocmVzdWx0PzogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZU1vZGFsKCdzYXZlJywgcmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgYGhlbHBPcGVuZWRgIGV2ZW50IHRoYXQgYnJvYWRjYXN0cyBhIGBoZWxwS2V5YCBwYXJhbWV0ZXIgdG8gb3BlblxuICAgKiB3aGVuIHVzZXJzIGNsaWNrIHRoZSA8aSBjbGFzcz1cImZhIGZhLXF1ZXN0aW9uLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4gYnV0dG9uLlxuICAgKiBAcGFyYW0gaGVscEtleSBTcGVjaWZpZXMgYSBzdHJpbmcgdG8gZW1pdCB0byBzdWJzY3JpYmVycyBvZlxuICAgKiB0aGUgbW9kYWwgaW5zdGFuY2UncyBgaGVscE9wZW5lZGAgZXZlbnQuIENvbnN1bWVycyBjYW4gaW5qZWN0IHRoZSBgU2t5TW9kYWxJbnN0YW5jZWAgcHJvdmlkZXJcbiAgICogaW50byBhIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yIHRvIGNhbGwgdGhlIGBvcGVuSGVscGAgZnVuY3Rpb24gaW4gdGhlIG1vZGFsIHRlbXBsYXRlLlxuICAgKi9cbiAgcHVibGljIG9wZW5IZWxwKGhlbHBLZXk/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9oZWxwT3BlbmVkLm5leHQoaGVscEtleSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlTW9kYWwoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIHJlc3VsdD86IGFueSxcbiAgICBpZ25vcmVCZWZvcmVDbG9zZSA9IGZhbHNlXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGFyZ3MgPSBuZXcgU2t5TW9kYWxDbG9zZUFyZ3MoKTtcblxuICAgIGFyZ3MucmVhc29uID0gdHlwZTtcbiAgICBhcmdzLmRhdGEgPSByZXN1bHQ7XG5cbiAgICBpZiAodGhpcy5fYmVmb3JlQ2xvc2Uub2JzZXJ2ZXJzLmxlbmd0aCA9PT0gMCB8fCBpZ25vcmVCZWZvcmVDbG9zZSkge1xuICAgICAgdGhpcy5ub3RpZnlDbG9zZWQoYXJncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2JlZm9yZUNsb3NlLm5leHQoXG4gICAgICAgIG5ldyBTa3lNb2RhbEJlZm9yZUNsb3NlSGFuZGxlcigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5ub3RpZnlDbG9zZWQoYXJncyk7XG4gICAgICAgIH0sIGFyZ3MpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbm90aWZ5Q2xvc2VkKGFyZ3M6IFNreU1vZGFsQ2xvc2VBcmdzKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvc2VkLm5leHQoYXJncyk7XG4gICAgdGhpcy5fY2xvc2VkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fYmVmb3JlQ2xvc2UuY29tcGxldGUoKTtcbiAgICB0aGlzLl9oZWxwT3BlbmVkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc2Nyb2xsLXNoYWRvdy1ldmVudC1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtc2Nyb2xsLXNoYWRvdy1ldmVudC1hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreU1vZGFsU2Nyb2xsU2hhZG93RXZlbnRBcmdzIHtcbiAgYm90dG9tU2hhZG93OiBzdHJpbmc7XG5cbiAgdG9wU2hhZG93OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Directive, ElementRef, EventEmitter, HostListener, NgZone, Optional, Output, } from '@angular/core';
|
|
2
|
+
import { MutationObserverService } from '@skyux/core';
|
|
3
|
+
import { SkyTheme, SkyThemeService } from '@skyux/theme';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { takeUntil } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@skyux/theme";
|
|
8
|
+
import * as i2 from "@skyux/core";
|
|
9
|
+
/**
|
|
10
|
+
* Raises an event when the box shadow for the modal header or footer should be adjusted
|
|
11
|
+
* based on the scroll position of the host element.
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export class SkyModalScrollShadowDirective {
|
|
15
|
+
constructor(elRef, themeSvc, mutationObserverSvc, ngZone) {
|
|
16
|
+
this.elRef = elRef;
|
|
17
|
+
this.themeSvc = themeSvc;
|
|
18
|
+
this.mutationObserverSvc = mutationObserverSvc;
|
|
19
|
+
this.ngZone = ngZone;
|
|
20
|
+
this.skyModalScrollShadow = new EventEmitter();
|
|
21
|
+
this.ngUnsubscribe = new Subject();
|
|
22
|
+
}
|
|
23
|
+
windowResize() {
|
|
24
|
+
this.checkForShadow();
|
|
25
|
+
}
|
|
26
|
+
scroll() {
|
|
27
|
+
this.checkForShadow();
|
|
28
|
+
}
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
if (this.themeSvc) {
|
|
31
|
+
this.themeSvc.settingsChange
|
|
32
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
33
|
+
.subscribe((themeSettings) => {
|
|
34
|
+
this.currentTheme = themeSettings.currentSettings.theme;
|
|
35
|
+
if (this.currentTheme === SkyTheme.presets.modern) {
|
|
36
|
+
this.initMutationObserver();
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.emitShadow({
|
|
40
|
+
bottomShadow: 'none',
|
|
41
|
+
topShadow: 'none',
|
|
42
|
+
});
|
|
43
|
+
this.destroyMutationObserver();
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
ngOnDestroy() {
|
|
49
|
+
this.ngUnsubscribe.next();
|
|
50
|
+
this.ngUnsubscribe.complete();
|
|
51
|
+
this.destroyMutationObserver();
|
|
52
|
+
}
|
|
53
|
+
initMutationObserver() {
|
|
54
|
+
if (!this.mutationObserver) {
|
|
55
|
+
const el = this.elRef.nativeElement;
|
|
56
|
+
// MutationObserver is patched by Zone.js and therefore becomes part of the
|
|
57
|
+
// Angular change detection cycle, but this can lead to infinite loops in some
|
|
58
|
+
// secnarios. This will keep MutationObserver from triggering change detection.
|
|
59
|
+
this.ngZone.runOutsideAngular(() => {
|
|
60
|
+
this.mutationObserver = this.mutationObserverSvc.create(() => {
|
|
61
|
+
this.checkForShadow();
|
|
62
|
+
});
|
|
63
|
+
this.mutationObserver.observe(el, {
|
|
64
|
+
attributes: true,
|
|
65
|
+
characterData: true,
|
|
66
|
+
childList: true,
|
|
67
|
+
subtree: true,
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
destroyMutationObserver() {
|
|
73
|
+
if (this.mutationObserver) {
|
|
74
|
+
this.mutationObserver.disconnect();
|
|
75
|
+
this.mutationObserver = undefined;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
checkForShadow() {
|
|
79
|
+
if (this.currentTheme === SkyTheme.presets.modern) {
|
|
80
|
+
const el = this.elRef.nativeElement;
|
|
81
|
+
const topShadow = this.buildShadowStyle(el.scrollTop);
|
|
82
|
+
const bottomShadow = this.buildShadowStyle(el.scrollHeight - el.scrollTop - el.clientHeight);
|
|
83
|
+
this.emitShadow({
|
|
84
|
+
bottomShadow,
|
|
85
|
+
topShadow,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
buildShadowStyle(pixelsFromEnd) {
|
|
90
|
+
// Progressively darken the shadow until the user scrolls 30 pixels from the top or bottom
|
|
91
|
+
// of the scrollable element, with a max opacity of 0.3.
|
|
92
|
+
const opacity = Math.min(pixelsFromEnd / 30, 1) * 0.3;
|
|
93
|
+
return opacity > 0 ? `0px 1px 8px 0px rgba(0, 0, 0, ${opacity})` : 'none';
|
|
94
|
+
}
|
|
95
|
+
emitShadow(shadow) {
|
|
96
|
+
if (!this.currentShadow ||
|
|
97
|
+
this.currentShadow.bottomShadow !== shadow.bottomShadow ||
|
|
98
|
+
this.currentShadow.topShadow !== shadow.topShadow) {
|
|
99
|
+
this.skyModalScrollShadow.emit(shadow);
|
|
100
|
+
this.currentShadow = shadow;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
SkyModalScrollShadowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalScrollShadowDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyThemeService, optional: true }, { token: i2.MutationObserverService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
105
|
+
SkyModalScrollShadowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SkyModalScrollShadowDirective, selector: "[skyModalScrollShadow]", outputs: { skyModalScrollShadow: "skyModalScrollShadow" }, host: { listeners: { "window:resize": "windowResize()", "scroll": "scroll()" } }, ngImport: i0 });
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyModalScrollShadowDirective, decorators: [{
|
|
107
|
+
type: Directive,
|
|
108
|
+
args: [{
|
|
109
|
+
selector: '[skyModalScrollShadow]',
|
|
110
|
+
}]
|
|
111
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SkyThemeService, decorators: [{
|
|
112
|
+
type: Optional
|
|
113
|
+
}] }, { type: i2.MutationObserverService }, { type: i0.NgZone }]; }, propDecorators: { skyModalScrollShadow: [{
|
|
114
|
+
type: Output
|
|
115
|
+
}], windowResize: [{
|
|
116
|
+
type: HostListener,
|
|
117
|
+
args: ['window:resize']
|
|
118
|
+
}], scroll: [{
|
|
119
|
+
type: HostListener,
|
|
120
|
+
args: ['scroll']
|
|
121
|
+
}] } });
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc2Nyb2xsLXNoYWRvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1zY3JvbGwtc2hhZG93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFHTixRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUkzQzs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLDZCQUE2QjtJQVl4QyxZQUNVLEtBQWlCLEVBQ0wsUUFBeUIsRUFDckMsbUJBQTRDLEVBQzVDLE1BQWM7UUFIZCxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ0wsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDckMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF5QjtRQUM1QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBZGpCLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFpQyxDQUFDO1FBUXhFLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQU94QyxDQUFDO0lBR0csWUFBWTtRQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUdNLE1BQU07UUFDWCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLElB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QyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzVFLENBQUM7SUFFTyxVQUFVLENBQUMsTUFBcUM7UUFDdEQsSUFDRSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxLQUFLLE1BQU0sQ0FBQyxZQUFZO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQ2pEO1lBQ0EsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztTQUM3QjtJQUNILENBQUM7OzBIQXhIVSw2QkFBNkI7OEdBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DOzswQkFlSSxRQUFRO3VHQVpKLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFtQkEsWUFBWTtzQkFEbEIsWUFBWTt1QkFBQyxlQUFlO2dCQU10QixNQUFNO3NCQURaLFlBQVk7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lUaGVtZSwgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbFNjcm9sbFNoYWRvd0V2ZW50QXJncyB9IGZyb20gJy4vbW9kYWwtc2Nyb2xsLXNoYWRvdy1ldmVudC1hcmdzJztcblxuLyoqXG4gKiBSYWlzZXMgYW4gZXZlbnQgd2hlbiB0aGUgYm94IHNoYWRvdyBmb3IgdGhlIG1vZGFsIGhlYWRlciBvciBmb290ZXIgc2hvdWxkIGJlIGFkanVzdGVkXG4gKiBiYXNlZCBvbiB0aGUgc2Nyb2xsIHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreU1vZGFsU2Nyb2xsU2hhZG93XScsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsU2Nyb2xsU2hhZG93RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNreU1vZGFsU2Nyb2xsU2hhZG93ID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lNb2RhbFNjcm9sbFNoYWRvd0V2ZW50QXJncz4oKTtcblxuICBwcml2YXRlIGN1cnJlbnRTaGFkb3c6IFNreU1vZGFsU2Nyb2xsU2hhZG93RXZlbnRBcmdzO1xuXG4gIHByaXZhdGUgY3VycmVudFRoZW1lOiBTa3lUaGVtZTtcblxuICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSB0aGVtZVN2YzogU2t5VGhlbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbXV0YXRpb25PYnNlcnZlclN2YzogTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIHB1YmxpYyB3aW5kb3dSZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja0ZvclNoYWRvdygpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignc2Nyb2xsJylcbiAgcHVibGljIHNjcm9sbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrRm9yU2hhZG93KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGhlbWVTdmMpIHtcbiAgICAgIHRoaXMudGhlbWVTdmMuc2V0dGluZ3NDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRoZW1lU2V0dGluZ3MpID0+IHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUaGVtZSA9IHRoZW1lU2V0dGluZ3MuY3VycmVudFNldHRpbmdzLnRoZW1lO1xuXG4gICAgICAgICAgaWYgKHRoaXMuY3VycmVudFRoZW1lID09PSBTa3lUaGVtZS5wcmVzZXRzLm1vZGVybikge1xuICAgICAgICAgICAgdGhpcy5pbml0TXV0YXRpb25PYnNlcnZlcigpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVtaXRTaGFkb3coe1xuICAgICAgICAgICAgICBib3R0b21TaGFkb3c6ICdub25lJyxcbiAgICAgICAgICAgICAgdG9wU2hhZG93OiAnbm9uZScsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5kZXN0cm95TXV0YXRpb25PYnNlcnZlcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLmRlc3Ryb3lNdXRhdGlvbk9ic2VydmVyKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRNdXRhdGlvbk9ic2VydmVyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tdXRhdGlvbk9ic2VydmVyKSB7XG4gICAgICBjb25zdCBlbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgLy8gTXV0YXRpb25PYnNlcnZlciBpcyBwYXRjaGVkIGJ5IFpvbmUuanMgYW5kIHRoZXJlZm9yZSBiZWNvbWVzIHBhcnQgb2YgdGhlXG4gICAgICAvLyBBbmd1bGFyIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUsIGJ1dCB0aGlzIGNhbiBsZWFkIHRvIGluZmluaXRlIGxvb3BzIGluIHNvbWVcbiAgICAgIC8vIHNlY25hcmlvcy4gVGhpcyB3aWxsIGtlZXAgTXV0YXRpb25PYnNlcnZlciBmcm9tIHRyaWdnZXJpbmcgY2hhbmdlIGRldGVjdGlvbi5cbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyID0gdGhpcy5tdXRhdGlvbk9ic2VydmVyU3ZjLmNyZWF0ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jaGVja0ZvclNoYWRvdygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShlbCwge1xuICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lNdXRhdGlvbk9ic2VydmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm11dGF0aW9uT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0ZvclNoYWRvdygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50VGhlbWUgPT09IFNreVRoZW1lLnByZXNldHMubW9kZXJuKSB7XG4gICAgICBjb25zdCBlbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgY29uc3QgdG9wU2hhZG93ID0gdGhpcy5idWlsZFNoYWRvd1N0eWxlKGVsLnNjcm9sbFRvcCk7XG5cbiAgICAgIGNvbnN0IGJvdHRvbVNoYWRvdyA9IHRoaXMuYnVpbGRTaGFkb3dTdHlsZShcbiAgICAgICAgZWwuc2Nyb2xsSGVpZ2h0IC0gZWwuc2Nyb2xsVG9wIC0gZWwuY2xpZW50SGVpZ2h0XG4gICAgICApO1xuXG4gICAgICB0aGlzLmVtaXRTaGFkb3coe1xuICAgICAgICBib3R0b21TaGFkb3csXG4gICAgICAgIHRvcFNoYWRvdyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRTaGFkb3dTdHlsZShwaXhlbHNGcm9tRW5kOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIC8vIFByb2dyZXNzaXZlbHkgZGFya2VuIHRoZSBzaGFkb3cgdW50aWwgdGhlIHVzZXIgc2Nyb2xscyAzMCBwaXhlbHMgZnJvbSB0aGUgdG9wIG9yIGJvdHRvbVxuICAgIC8vIG9mIHRoZSBzY3JvbGxhYmxlIGVsZW1lbnQsIHdpdGggYSBtYXggb3BhY2l0eSBvZiAwLjMuXG4gICAgY29uc3Qgb3BhY2l0eSA9IE1hdGgubWluKHBpeGVsc0Zyb21FbmQgLyAzMCwgMSkgKiAwLjM7XG5cbiAgICByZXR1cm4gb3BhY2l0eSA+IDAgPyBgMHB4IDFweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgJHtvcGFjaXR5fSlgIDogJ25vbmUnO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0U2hhZG93KHNoYWRvdzogU2t5TW9kYWxTY3JvbGxTaGFkb3dFdmVudEFyZ3MpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5jdXJyZW50U2hhZG93IHx8XG4gICAgICB0aGlzLmN1cnJlbnRTaGFkb3cuYm90dG9tU2hhZG93ICE9PSBzaGFkb3cuYm90dG9tU2hhZG93IHx8XG4gICAgICB0aGlzLmN1cnJlbnRTaGFkb3cudG9wU2hhZG93ICE9PSBzaGFkb3cudG9wU2hhZG93XG4gICAgKSB7XG4gICAgICB0aGlzLnNreU1vZGFsU2Nyb2xsU2hhZG93LmVtaXQoc2hhZG93KTtcbiAgICAgIHRoaXMuY3VycmVudFNoYWRvdyA9IHNoYWRvdztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { animate, state, style, transition, trigger, } from '@angular/animations';
|
|
2
|
+
export const skyAnimationModalState = trigger('modalState', [
|
|
3
|
+
state('in', style({ opacity: '1.0' })),
|
|
4
|
+
state('out', style({ opacity: '0.0' })),
|
|
5
|
+
transition('void => *', [style({ opacity: '0.0' }), animate(150)]),
|
|
6
|
+
transition('* => void', [animate(150, style({ opacity: '0.0' }))]),
|
|
7
|
+
]);
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3RhdGUtYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtc3RhdGUtYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRTtJQUMxRCxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNuRSxDQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5leHBvcnQgY29uc3Qgc2t5QW5pbWF0aW9uTW9kYWxTdGF0ZSA9IHRyaWdnZXIoJ21vZGFsU3RhdGUnLCBbXG4gIHN0YXRlKCdpbicsIHN0eWxlKHsgb3BhY2l0eTogJzEuMCcgfSkpLFxuICBzdGF0ZSgnb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAnMC4wJyB9KSksXG4gIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtzdHlsZSh7IG9wYWNpdHk6ICcwLjAnIH0pLCBhbmltYXRlKDE1MCldKSxcbiAgdHJhbnNpdGlvbignKiA9PiB2b2lkJywgW2FuaW1hdGUoMTUwLCBzdHlsZSh7IG9wYWNpdHk6ICcwLjAnIH0pKV0pLFxuXSkgYXMgYW55O1xuIl19
|