@skyux/modals 8.7.2 → 9.0.0-alpha.1

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.
Files changed (75) hide show
  1. package/documentation.json +56 -56
  2. package/esm2022/lib/modules/confirm/confirm.component.mjs +112 -0
  3. package/{esm2020 → esm2022}/lib/modules/confirm/confirm.module.mjs +13 -13
  4. package/esm2022/lib/modules/confirm/confirm.service.mjs +54 -0
  5. package/esm2022/lib/modules/modal/modal-adapter.service.mjs +99 -0
  6. package/esm2022/lib/modules/modal/modal-component-adapter.service.mjs +101 -0
  7. package/{esm2020 → esm2022}/lib/modules/modal/modal-configuration.mjs +4 -4
  8. package/{esm2020 → esm2022}/lib/modules/modal/modal-content.component.mjs +4 -4
  9. package/esm2022/lib/modules/modal/modal-errors.service.mjs +21 -0
  10. package/{esm2020 → esm2022}/lib/modules/modal/modal-footer.component.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/modules/modal/modal-header.component.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/modules/modal/modal-host-context.mjs +4 -4
  13. package/esm2022/lib/modules/modal/modal-host.component.mjs +163 -0
  14. package/esm2022/lib/modules/modal/modal-host.service.mjs +62 -0
  15. package/esm2022/lib/modules/modal/modal-instance.mjs +123 -0
  16. package/esm2022/lib/modules/modal/modal-is-dirty.directive.mjs +94 -0
  17. package/esm2022/lib/modules/modal/modal-scroll-shadow.directive.mjs +129 -0
  18. package/esm2022/lib/modules/modal/modal.component.mjs +229 -0
  19. package/{esm2020 → esm2022}/lib/modules/modal/modal.module.mjs +29 -29
  20. package/esm2022/lib/modules/modal/modal.service.mjs +97 -0
  21. package/esm2022/lib/modules/shared/sky-modals-resources.module.mjs +61 -0
  22. package/esm2022/testing/confirm/confirm-button-harness.mjs +46 -0
  23. package/esm2022/testing/confirm/confirm-harness.mjs +90 -0
  24. package/esm2022/testing/modal/modal-harness.mjs +75 -0
  25. package/esm2022/testing/modal-fixture.mjs +143 -0
  26. package/{fesm2020 → fesm2022}/skyux-modals-testing.mjs +60 -73
  27. package/{fesm2020 → fesm2022}/skyux-modals-testing.mjs.map +1 -1
  28. package/fesm2022/skyux-modals.mjs +1502 -0
  29. package/{fesm2015 → fesm2022}/skyux-modals.mjs.map +1 -1
  30. package/lib/modules/modal/modal-is-dirty.directive.d.ts +1 -1
  31. package/lib/modules/modal/modal.component.d.ts +1 -1
  32. package/package.json +16 -24
  33. package/esm2020/lib/modules/confirm/confirm.component.mjs +0 -114
  34. package/esm2020/lib/modules/confirm/confirm.service.mjs +0 -57
  35. package/esm2020/lib/modules/modal/modal-adapter.service.mjs +0 -101
  36. package/esm2020/lib/modules/modal/modal-component-adapter.service.mjs +0 -104
  37. package/esm2020/lib/modules/modal/modal-errors.service.mjs +0 -24
  38. package/esm2020/lib/modules/modal/modal-host.component.mjs +0 -164
  39. package/esm2020/lib/modules/modal/modal-host.service.mjs +0 -65
  40. package/esm2020/lib/modules/modal/modal-instance.mjs +0 -127
  41. package/esm2020/lib/modules/modal/modal-is-dirty.directive.mjs +0 -93
  42. package/esm2020/lib/modules/modal/modal-scroll-shadow.directive.mjs +0 -127
  43. package/esm2020/lib/modules/modal/modal.component.mjs +0 -228
  44. package/esm2020/lib/modules/modal/modal.service.mjs +0 -99
  45. package/esm2020/lib/modules/shared/sky-modals-resources.module.mjs +0 -61
  46. package/esm2020/testing/confirm/confirm-button-harness.mjs +0 -46
  47. package/esm2020/testing/confirm/confirm-harness.mjs +0 -97
  48. package/esm2020/testing/modal/modal-harness.mjs +0 -81
  49. package/esm2020/testing/modal-fixture.mjs +0 -145
  50. package/fesm2015/skyux-modals-testing.mjs +0 -409
  51. package/fesm2015/skyux-modals-testing.mjs.map +0 -1
  52. package/fesm2015/skyux-modals.mjs +0 -1522
  53. package/fesm2020/skyux-modals.mjs +0 -1510
  54. package/fesm2020/skyux-modals.mjs.map +0 -1
  55. /package/{esm2020 → esm2022}/index.mjs +0 -0
  56. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-button-action.mjs +0 -0
  57. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-button-config.mjs +0 -0
  58. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-button-style-type.mjs +0 -0
  59. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-button.mjs +0 -0
  60. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-closed-event-args.mjs +0 -0
  61. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-config-token.mjs +0 -0
  62. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-config.mjs +0 -0
  63. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-instance.mjs +0 -0
  64. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-type.mjs +0 -0
  65. /package/{esm2020 → esm2022}/lib/modules/modal/modal-before-close-handler.mjs +0 -0
  66. /package/{esm2020 → esm2022}/lib/modules/modal/modal-close-args.mjs +0 -0
  67. /package/{esm2020 → esm2022}/lib/modules/modal/modal-error.mjs +0 -0
  68. /package/{esm2020 → esm2022}/lib/modules/modal/modal-host-context-args.mjs +0 -0
  69. /package/{esm2020 → esm2022}/lib/modules/modal/modal-scroll-shadow-event-args.mjs +0 -0
  70. /package/{esm2020 → esm2022}/lib/modules/modal/modal.interface.mjs +0 -0
  71. /package/{esm2020 → esm2022}/skyux-modals.mjs +0 -0
  72. /package/{esm2020 → esm2022}/testing/confirm/confirm-button-harness-filters.mjs +0 -0
  73. /package/{esm2020 → esm2022}/testing/modal/modal-harness-filters.mjs +0 -0
  74. /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
  75. /package/{esm2020 → esm2022}/testing/skyux-modals-testing.mjs +0 -0
@@ -0,0 +1,99 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@skyux/core";
4
+ /**
5
+ * @internal
6
+ */
7
+ export class SkyModalAdapterService {
8
+ static { this.MODAL_BODY_FULL_CLASS = 'sky-modal-body-full-page'; }
9
+ static { this.MODAL_BODY_CLASS = 'sky-modal-body-open'; }
10
+ #docRef;
11
+ #bodyEl;
12
+ #windowRef;
13
+ #hostSiblingAriaHiddenCache = new Map();
14
+ constructor(windowRef) {
15
+ this.#windowRef = windowRef;
16
+ this.#docRef = this.#windowRef.nativeWindow.document;
17
+ this.#bodyEl = this.#windowRef.nativeWindow.document.body;
18
+ }
19
+ toggleFullPageModalClass(isAddFull) {
20
+ if (isAddFull) {
21
+ this.#addClassToBody(SkyModalAdapterService.MODAL_BODY_FULL_CLASS);
22
+ }
23
+ else {
24
+ this.#removeClassFromBody(SkyModalAdapterService.MODAL_BODY_FULL_CLASS);
25
+ }
26
+ }
27
+ setPageScroll(isAdd) {
28
+ if (isAdd) {
29
+ this.#addClassToBody(SkyModalAdapterService.MODAL_BODY_CLASS);
30
+ }
31
+ else {
32
+ this.#removeClassFromBody(SkyModalAdapterService.MODAL_BODY_CLASS);
33
+ }
34
+ }
35
+ getModalOpener() {
36
+ return this.#docRef.activeElement;
37
+ }
38
+ #addClassToBody(className) {
39
+ this.#bodyEl.classList.add(className);
40
+ }
41
+ #removeClassFromBody(className) {
42
+ this.#bodyEl.classList.remove(className);
43
+ }
44
+ scrollContentToTop(element) {
45
+ element.nativeElement.querySelector('.sky-modal-content').scrollTop = 0;
46
+ }
47
+ /**
48
+ * Hides siblings of modal-host from screen readers
49
+ * @param hostElRef reference to modal-host element
50
+ */
51
+ hideHostSiblingsFromScreenReaders(hostElRef) {
52
+ const hostElement = hostElRef.nativeElement;
53
+ const hostSiblings = hostElement.parentElement.children;
54
+ for (let i = 0; i < hostSiblings.length; i++) {
55
+ const element = hostSiblings[i];
56
+ if (element !== hostElement &&
57
+ !element.hasAttribute('aria-live') &&
58
+ element.nodeName.toLowerCase() !== 'script' &&
59
+ element.nodeName.toLowerCase() !== 'style') {
60
+ // preserve previous aria-hidden status of elements outside of modal host
61
+ this.#hostSiblingAriaHiddenCache.set(element, element.getAttribute('aria-hidden'));
62
+ element.setAttribute('aria-hidden', 'true');
63
+ }
64
+ }
65
+ }
66
+ /**
67
+ * Restores modal-host siblings to screen reader status prior to modals being opened
68
+ */
69
+ unhideOrRestoreHostSiblingsFromScreenReaders() {
70
+ this.#hostSiblingAriaHiddenCache.forEach((previousValue, element) => {
71
+ // if element had aria-hidden status prior, restore status
72
+ if (element.parentElement) {
73
+ if (previousValue) {
74
+ element.setAttribute('aria-hidden', previousValue);
75
+ }
76
+ else {
77
+ element.removeAttribute('aria-hidden');
78
+ }
79
+ }
80
+ });
81
+ this.#hostSiblingAriaHiddenCache.clear();
82
+ }
83
+ hidePreviousModalFromScreenReaders(topModal) {
84
+ if (topModal && topModal.nativeElement.previousElementSibling) {
85
+ topModal.nativeElement.previousElementSibling.setAttribute('aria-hidden', 'true');
86
+ }
87
+ }
88
+ unhidePreviousModalFromScreenReaders(topModal) {
89
+ if (topModal && topModal.nativeElement.previousElementSibling) {
90
+ topModal.nativeElement.previousElementSibling.removeAttribute('aria-hidden');
91
+ }
92
+ }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalAdapterService, deps: [{ token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
94
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalAdapterService }); }
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalAdapterService, decorators: [{
97
+ type: Injectable
98
+ }], ctorParameters: function () { return [{ type: i1.SkyAppWindowRef }]; } });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUd2RDs7R0FFRztBQUVILE1BQU0sT0FBTyxzQkFBc0I7YUFDVCwwQkFBcUIsR0FBRywwQkFBMEIsQUFBN0IsQ0FBOEI7YUFDbkQscUJBQWdCLEdBQUcscUJBQXFCLEFBQXhCLENBQXlCO0lBRWpFLE9BQU8sQ0FBTTtJQUNiLE9BQU8sQ0FBYztJQUVyQixVQUFVLENBQWtCO0lBQzVCLDJCQUEyQixHQUFHLElBQUksR0FBRyxFQUEwQixDQUFDO0lBRWhFLFlBQVksU0FBMEI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzVELENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxTQUFrQjtRQUNoRCxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUNwRTthQUFNO1lBQ0wsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDekU7SUFDSCxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQWM7UUFDakMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLGdCQUFn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eyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTU9EQUxfQk9EWV9GVUxMX0NMQVNTID0gJ3NreS1tb2RhbC1ib2R5LWZ1bGwtcGFnZSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1PREFMX0JPRFlfQ0xBU1MgPSAnc2t5LW1vZGFsLWJvZHktb3Blbic7XG5cbiAgI2RvY1JlZjogYW55O1xuICAjYm9keUVsOiBIVE1MRWxlbWVudDtcblxuICAjd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWY7XG4gICNob3N0U2libGluZ0FyaWFIaWRkZW5DYWNoZSA9IG5ldyBNYXA8RWxlbWVudCwgc3RyaW5nIHwgbnVsbD4oKTtcblxuICBjb25zdHJ1Y3Rvcih3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZikge1xuICAgIHRoaXMuI3dpbmRvd1JlZiA9IHdpbmRvd1JlZjtcbiAgICB0aGlzLiNkb2NSZWYgPSB0aGlzLiN3aW5kb3dSZWYubmF0aXZlV2luZG93LmRvY3VtZW50O1xuICAgIHRoaXMuI2JvZHlFbCA9IHRoaXMuI3dpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVGdWxsUGFnZU1vZGFsQ2xhc3MoaXNBZGRGdWxsOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzQWRkRnVsbCkge1xuICAgICAgdGhpcy4jYWRkQ2xhc3NUb0JvZHkoU2t5TW9kYWxBZGFwdGVyU2VydmljZS5NT0RBTF9CT0RZX0ZVTExfQ0xBU1MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNyZW1vdmVDbGFzc0Zyb21Cb2R5KFNreU1vZGFsQWRhcHRlclNlcnZpY2UuTU9EQUxfQk9EWV9GVUxMX0NMQVNTKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0UGFnZVNjcm9sbChpc0FkZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChpc0FkZCkge1xuICAgICAgdGhpcy4jYWRkQ2xhc3NUb0JvZHkoU2t5TW9kYWxBZGFwdGVyU2VydmljZS5NT0RBTF9CT0RZX0NMQVNTKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jcmVtb3ZlQ2xhc3NGcm9tQm9keShTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlLk1PREFMX0JPRFlfQ0xBU1MpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRNb2RhbE9wZW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuI2RvY1JlZi5hY3RpdmVFbGVtZW50O1xuICB9XG5cbiAgI2FkZENsYXNzVG9Cb2R5KGNsYXNzTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jYm9keUVsLmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgfVxuXG4gICNyZW1vdmVDbGFzc0Zyb21Cb2R5KGNsYXNzTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jYm9keUVsLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxDb250ZW50VG9Ub3AoZWxlbWVudDogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LW1vZGFsLWNvbnRlbnQnKS5zY3JvbGxUb3AgPSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGVzIHNpYmxpbmdzIG9mIG1vZGFsLWhvc3QgZnJvbSBzY3JlZW4gcmVhZGVyc1xuICAgKiBAcGFyYW0gaG9zdEVsUmVmIHJlZmVyZW5jZSB0byBtb2RhbC1ob3N0IGVsZW1lbnRcbiAgICovXG4gIHB1YmxpYyBoaWRlSG9zdFNpYmxpbmdzRnJvbVNjcmVlblJlYWRlcnMoaG9zdEVsUmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgY29uc3QgaG9zdEVsZW1lbnQgPSBob3N0RWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBob3N0U2libGluZ3MgPSBob3N0RWxlbWVudC5wYXJlbnRFbGVtZW50LmNoaWxkcmVuO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBob3N0U2libGluZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBob3N0U2libGluZ3NbaV07XG4gICAgICBpZiAoXG4gICAgICAgIGVsZW1lbnQgIT09IGhvc3RFbGVtZW50ICYmXG4gICAgICAgICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnYXJpYS1saXZlJykgJiZcbiAgICAgICAgZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAnc2NyaXB0JyAmJlxuICAgICAgICBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdzdHlsZSdcbiAgICAgICkge1xuICAgICAgICAvLyBwcmVzZXJ2ZSBwcmV2aW91cyBhcmlhLWhpZGRlbiBzdGF0dXMgb2YgZWxlbWVudHMgb3V0c2lkZSBvZiBtb2RhbCBob3N0XG4gICAgICAgIHRoaXMuI2hvc3RTaWJsaW5nQXJpYUhpZGRlbkNhY2hlLnNldChcbiAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicpXG4gICAgICAgICk7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RvcmVzIG1vZGFsLWhvc3Qgc2libGluZ3MgdG8gc2NyZWVuIHJlYWRlciBzdGF0dXMgcHJpb3IgdG8gbW9kYWxzIGJlaW5nIG9wZW5lZFxuICAgKi9cbiAgcHVibGljIHVuaGlkZU9yUmVzdG9yZUhvc3RTaWJsaW5nc0Zyb21TY3JlZW5SZWFkZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuI2hvc3RTaWJsaW5nQXJpYUhpZGRlbkNhY2hlLmZvckVhY2goKHByZXZpb3VzVmFsdWUsIGVsZW1lbnQpID0+IHtcbiAgICAgIC8vIGlmIGVsZW1lbnQgaGFkIGFyaWEtaGlkZGVuIHN0YXR1cyBwcmlvciwgcmVzdG9yZSBzdGF0dXNcbiAgICAgIGlmIChlbGVtZW50LnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCBwcmV2aW91c1ZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuI2hvc3RTaWJsaW5nQXJpYUhpZGRlbkNhY2hlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgaGlkZVByZXZpb3VzTW9kYWxGcm9tU2NyZWVuUmVhZGVycyh0b3BNb2RhbDogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIGlmICh0b3BNb2RhbCAmJiB0b3BNb2RhbC5uYXRpdmVFbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmcpIHtcbiAgICAgIHRvcE1vZGFsLm5hdGl2ZUVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZy5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICdhcmlhLWhpZGRlbicsXG4gICAgICAgICd0cnVlJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdW5oaWRlUHJldmlvdXNNb2RhbEZyb21TY3JlZW5SZWFkZXJzKHRvcE1vZGFsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgaWYgKHRvcE1vZGFsICYmIHRvcE1vZGFsLm5hdGl2ZUVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZykge1xuICAgICAgdG9wTW9kYWwubmF0aXZlRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nLnJlbW92ZUF0dHJpYnV0ZShcbiAgICAgICAgJ2FyaWEtaGlkZGVuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,101 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@skyux/core";
4
+ /**
5
+ * @internal
6
+ */
7
+ export class SkyModalComponentAdapterService {
8
+ #coreAdapter;
9
+ constructor(coreAdapter) {
10
+ this.#coreAdapter = coreAdapter;
11
+ }
12
+ handleWindowChange(modalEl) {
13
+ const boundedHeightEl = modalEl.nativeElement.querySelector('.sky-modal');
14
+ const fullPageModalEl = modalEl.nativeElement.querySelector('.sky-modal-full-page');
15
+ /*
16
+ Set modal height equal to max height of window (accounting for padding above and below modal)
17
+ */
18
+ const newHeight = window.innerHeight - 40;
19
+ boundedHeightEl.style.maxHeight = newHeight.toString() + 'px';
20
+ if (fullPageModalEl) {
21
+ this.#setFullPageHeight(fullPageModalEl);
22
+ }
23
+ else {
24
+ /*
25
+ IE11 doesn't handle flex and max-height correctly so we have to explicitly add
26
+ max-height to the content that accounts for standard header and footer height.
27
+ */
28
+ const modalContentEl = modalEl.nativeElement.querySelector('.sky-modal-content');
29
+ const contentHeight = newHeight - 114;
30
+ modalContentEl.style.maxHeight = contentHeight.toString() + 'px';
31
+ }
32
+ }
33
+ isFocusInFirstItem(event, list) {
34
+ /* istanbul ignore next */
35
+ /* sanity check */
36
+ const eventTarget = event.target || event.srcElement;
37
+ return list.length > 0 && eventTarget === list[0];
38
+ }
39
+ isFocusInLastItem(event, list) {
40
+ /* istanbul ignore next */
41
+ /* sanity check */
42
+ const eventTarget = event.target || event.srcElement;
43
+ return list.length > 0 && eventTarget === list[list.length - 1];
44
+ }
45
+ isModalFocused(event, modalEl) {
46
+ /* istanbul ignore next */
47
+ /* sanity check */
48
+ const eventTarget = event.target || event.srcElement;
49
+ return (modalEl &&
50
+ eventTarget === modalEl.nativeElement.querySelector('.sky-modal-dialog'));
51
+ }
52
+ focusLastElement(list) {
53
+ if (list.length > 0) {
54
+ list[list.length - 1].focus();
55
+ return true;
56
+ }
57
+ return false;
58
+ }
59
+ focusFirstElement(list) {
60
+ if (list.length > 0) {
61
+ list[0].focus();
62
+ return true;
63
+ }
64
+ return false;
65
+ }
66
+ modalContentHasDirectChildViewkeeper(modalContentEl) {
67
+ return !!modalContentEl.nativeElement.querySelector('sky-modal-content > .sky-viewkeeper-fixed');
68
+ }
69
+ modalOpened(modalEl) {
70
+ /* istanbul ignore else */
71
+ /* handle the case where somehow there is a focused element already in the modal */
72
+ if (!(document.activeElement &&
73
+ modalEl.nativeElement.contains(document.activeElement))) {
74
+ const currentScrollX = window.pageXOffset;
75
+ const currentScrollY = window.pageYOffset;
76
+ const inputWithAutofocus = modalEl.nativeElement.querySelector('[autofocus]');
77
+ if (inputWithAutofocus) {
78
+ inputWithAutofocus.focus();
79
+ }
80
+ else {
81
+ this.#coreAdapter.getFocusableChildrenAndApplyFocus(modalEl, '.sky-modal-content', true);
82
+ }
83
+ window.scrollTo(currentScrollX, currentScrollY);
84
+ }
85
+ }
86
+ #setFullPageHeight(fullPageModalEl) {
87
+ const windowHeight = window.innerHeight;
88
+ const fullPageModalStyle = getComputedStyle(fullPageModalEl);
89
+ const marginTopBottom = parseInt(fullPageModalStyle.marginTop, 10) +
90
+ parseInt(fullPageModalStyle.marginBottom, 10);
91
+ const fullPageModalHeight = windowHeight - marginTopBottom + 'px';
92
+ fullPageModalEl.style.height = fullPageModalHeight;
93
+ fullPageModalEl.style.maxHeight = fullPageModalHeight;
94
+ }
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalComponentAdapterService, deps: [{ token: i1.SkyCoreAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
96
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalComponentAdapterService }); }
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalComponentAdapterService, decorators: [{
99
+ type: Injectable
100
+ }], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }]; } });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29tcG9uZW50LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbXBvbmVudC1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBR3ZEOztHQUVHO0FBRUgsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxZQUFZLENBQXdCO0lBRXBDLFlBQVksV0FBa0M7UUFDNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLE9BQW1CO1FBQzNDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFFLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUN6RCxzQkFBc0IsQ0FDdkIsQ0FBQztRQUNGOztVQUVFO1FBQ0YsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFFMUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUM5RCxJQUFJLGVBQWUsRUFBRTtZQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDMUM7YUFBTTtZQUNMOzs7Y0FHRTtZQUNGLE1BQU0sY0FBYyxHQUNsQixPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQzVELE1BQU0sYUFBYSxHQUFHLFNBQVMsR0FBRyxHQUFHLENBQUM7WUFDdEMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsYUFBYSxD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LGVBQWUsR0FDbkIsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDMUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVoRCxNQUFNLG1CQUFtQixHQUFHLFlBQVksR0FBRyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBRWxFLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLG1CQUFtQixDQUFDO1FBQ25ELGVBQWUsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDO0lBQ3hELENBQUM7OEdBOUhVLCtCQUErQjtrSEFBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSB7XG4gICNjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UpIHtcbiAgICB0aGlzLiNjb3JlQWRhcHRlciA9IGNvcmVBZGFwdGVyO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZVdpbmRvd0NoYW5nZShtb2RhbEVsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgY29uc3QgYm91bmRlZEhlaWdodEVsID0gbW9kYWxFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktbW9kYWwnKTtcbiAgICBjb25zdCBmdWxsUGFnZU1vZGFsRWwgPSBtb2RhbEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2t5LW1vZGFsLWZ1bGwtcGFnZSdcbiAgICApO1xuICAgIC8qXG4gICAgICBTZXQgbW9kYWwgaGVpZ2h0IGVxdWFsIHRvIG1heCBoZWlnaHQgb2Ygd2luZG93IChhY2NvdW50aW5nIGZvciBwYWRkaW5nIGFib3ZlIGFuZCBiZWxvdyBtb2RhbClcbiAgICAqL1xuICAgIGNvbnN0IG5ld0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAtIDQwO1xuXG4gICAgYm91bmRlZEhlaWdodEVsLnN0eWxlLm1heEhlaWdodCA9IG5ld0hlaWdodC50b1N0cmluZygpICsgJ3B4JztcbiAgICBpZiAoZnVsbFBhZ2VNb2RhbEVsKSB7XG4gICAgICB0aGlzLiNzZXRGdWxsUGFnZUhlaWdodChmdWxsUGFnZU1vZGFsRWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvKlxuICAgICAgICBJRTExIGRvZXNuJ3QgaGFuZGxlIGZsZXggYW5kIG1heC1oZWlnaHQgY29ycmVjdGx5IHNvIHdlIGhhdmUgdG8gZXhwbGljaXRseSBhZGRcbiAgICAgICAgbWF4LWhlaWdodCB0byB0aGUgY29udGVudCB0aGF0IGFjY291bnRzIGZvciBzdGFuZGFyZCBoZWFkZXIgYW5kIGZvb3RlciBoZWlnaHQuXG4gICAgICAqL1xuICAgICAgY29uc3QgbW9kYWxDb250ZW50RWwgPVxuICAgICAgICBtb2RhbEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1tb2RhbC1jb250ZW50Jyk7XG4gICAgICBjb25zdCBjb250ZW50SGVpZ2h0ID0gbmV3SGVpZ2h0IC0gMTE0O1xuICAgICAgbW9kYWxDb250ZW50RWwuc3R5bGUubWF4SGVpZ2h0ID0gY29udGVudEhlaWdodC50b1N0cmluZygpICsgJ3B4JztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNGb2N1c0luRmlyc3RJdGVtKFxuICAgIGV2ZW50OiBLZXlib2FyZEV2ZW50LFxuICAgIGxpc3Q6IEFycmF5PEhUTUxFbGVtZW50PlxuICApOiBib29sZWFuIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGNvbnN0IGV2ZW50VGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnNyY0VsZW1lbnQ7XG4gICAgcmV0dXJuIGxpc3QubGVuZ3RoID4gMCAmJiBldmVudFRhcmdldCA9PT0gbGlzdFswXTtcbiAgfVxuXG4gIHB1YmxpYyBpc0ZvY3VzSW5MYXN0SXRlbShcbiAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICBsaXN0OiBBcnJheTxIVE1MRWxlbWVudD5cbiAgKTogYm9vbGVhbiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LnRhcmdldCB8fCBldmVudC5zcmNFbGVtZW50O1xuICAgIHJldHVybiBsaXN0Lmxlbmd0aCA+IDAgJiYgZXZlbnRUYXJnZXQgPT09IGxpc3RbbGlzdC5sZW5ndGggLSAxXTtcbiAgfVxuXG4gIHB1YmxpYyBpc01vZGFsRm9jdXNlZChldmVudDogS2V5Ym9hcmRFdmVudCwgbW9kYWxFbDogRWxlbWVudFJlZik6IGJvb2xlYW4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC50YXJnZXQgfHwgZXZlbnQuc3JjRWxlbWVudDtcbiAgICByZXR1cm4gKFxuICAgICAgbW9kYWxFbCAmJlxuICAgICAgZXZlbnRUYXJnZXQgPT09IG1vZGFsRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LW1vZGFsLWRpYWxvZycpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0xhc3RFbGVtZW50KGxpc3Q6IEFycmF5PEhUTUxFbGVtZW50Pik6IGJvb2xlYW4ge1xuICAgIGlmIChsaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGxpc3RbbGlzdC5sZW5ndGggLSAxXS5mb2N1cygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0ZpcnN0RWxlbWVudChsaXN0OiBBcnJheTxIVE1MRWxlbWVudD4pOiBib29sZWFuIHtcbiAgICBpZiAobGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICBsaXN0WzBdLmZvY3VzKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG1vZGFsQ29udGVudEhhc0RpcmVjdENoaWxkVmlld2tlZXBlcihcbiAgICBtb2RhbENvbnRlbnRFbDogRWxlbWVudFJlZlxuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFtb2RhbENvbnRlbnRFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnc2t5LW1vZGFsLWNvbnRlbnQgPiAuc2t5LXZpZXdrZWVwZXItZml4ZWQnXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBtb2RhbE9wZW5lZChtb2RhbEVsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAvKiBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgc29tZWhvdyB0aGVyZSBpcyBhIGZvY3VzZWQgZWxlbWVudCBhbHJlYWR5IGluIHRoZSBtb2RhbCAqL1xuICAgIGlmIChcbiAgICAgICEoXG4gICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgbW9kYWxFbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zdCBjdXJyZW50U2Nyb2xsWCA9IHdpbmRvdy5wYWdlWE9mZnNldDtcbiAgICAgIGNvbnN0IGN1cnJlbnRTY3JvbGxZID0gd2luZG93LnBhZ2VZT2Zmc2V0O1xuXG4gICAgICBjb25zdCBpbnB1dFdpdGhBdXRvZm9jdXMgPVxuICAgICAgICBtb2RhbEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW2F1dG9mb2N1c10nKTtcblxuICAgICAgaWYgKGlucHV0V2l0aEF1dG9mb2N1cykge1xuICAgICAgICBpbnB1dFdpdGhBdXRvZm9jdXMuZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuI2NvcmVBZGFwdGVyLmdldEZvY3VzYWJsZUNoaWxkcmVuQW5kQXBwbHlGb2N1cyhcbiAgICAgICAgICBtb2RhbEVsLFxuICAgICAgICAgICcuc2t5LW1vZGFsLWNvbnRlbnQnLFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHdpbmRvdy5zY3JvbGxUbyhjdXJyZW50U2Nyb2xsWCwgY3VycmVudFNjcm9sbFkpO1xuICAgIH1cbiAgfVxuXG4gICNzZXRGdWxsUGFnZUhlaWdodChmdWxsUGFnZU1vZGFsRWw6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIGNvbnN0IGZ1bGxQYWdlTW9kYWxTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZnVsbFBhZ2VNb2RhbEVsKTtcblxuICAgIGNvbnN0IG1hcmdpblRvcEJvdHRvbSA9XG4gICAgICBwYXJzZUludChmdWxsUGFnZU1vZGFsU3R5bGUubWFyZ2luVG9wLCAxMCkgK1xuICAgICAgcGFyc2VJbnQoZnVsbFBhZ2VNb2RhbFN0eWxlLm1hcmdpbkJvdHRvbSwgMTApO1xuXG4gICAgY29uc3QgZnVsbFBhZ2VNb2RhbEhlaWdodCA9IHdpbmRvd0hlaWdodCAtIG1hcmdpblRvcEJvdHRvbSArICdweCc7XG5cbiAgICBmdWxsUGFnZU1vZGFsRWwuc3R5bGUuaGVpZ2h0ID0gZnVsbFBhZ2VNb2RhbEhlaWdodDtcbiAgICBmdWxsUGFnZU1vZGFsRWwuc3R5bGUubWF4SGVpZ2h0ID0gZnVsbFBhZ2VNb2RhbEhlaWdodDtcbiAgfVxufVxuIl19
@@ -7,13 +7,13 @@ export class SkyModalConfiguration {
7
7
  constructor() {
8
8
  this.size = 'medium';
9
9
  }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalConfiguration, providedIn: 'any' }); }
10
12
  }
11
- SkyModalConfiguration.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12
- SkyModalConfiguration.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalConfiguration, providedIn: 'any' });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalConfiguration, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalConfiguration, decorators: [{
14
14
  type: Injectable,
15
15
  args: [{
16
16
  providedIn: 'any',
17
17
  }]
18
18
  }], ctorParameters: function () { return []; } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBVWhDO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7a0hBWlUscUJBQXFCO3NIQUFyQixxQkFBcUIsY0FGcEIsS0FBSzsyRkFFTixxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbENvbmZpZ3VyYXRpb24ge1xuICBwdWJsaWMgZnVsbFBhZ2U/OiBib29sZWFuO1xuICBwdWJsaWMgc2l6ZT86IHN0cmluZztcbiAgcHVibGljIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZztcbiAgcHVibGljIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuICBwdWJsaWMgYXJpYVJvbGU/OiBzdHJpbmc7XG4gIHB1YmxpYyB0aWxlZEJvZHk/OiBib29sZWFuO1xuICBwdWJsaWMgaGVscEtleT86IHN0cmluZztcbiAgcHVibGljIHdyYXBwZXJDbGFzcz86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNpemUgPSAnbWVkaXVtJztcbiAgfVxufVxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBVWhDO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs4R0FaVSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQUZwQixLQUFLOzsyRkFFTixxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbENvbmZpZ3VyYXRpb24ge1xuICBwdWJsaWMgZnVsbFBhZ2U/OiBib29sZWFuO1xuICBwdWJsaWMgc2l6ZT86IHN0cmluZztcbiAgcHVibGljIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZztcbiAgcHVibGljIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuICBwdWJsaWMgYXJpYVJvbGU/OiBzdHJpbmc7XG4gIHB1YmxpYyB0aWxlZEJvZHk/OiBib29sZWFuO1xuICBwdWJsaWMgaGVscEtleT86IHN0cmluZztcbiAgcHVibGljIHdyYXBwZXJDbGFzcz86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNpemUgPSAnbWVkaXVtJztcbiAgfVxufVxuIl19
@@ -4,11 +4,11 @@ import * as i0 from "@angular/core";
4
4
  * Specifies content to display in the modal's body.
5
5
  */
6
6
  export class SkyModalContentComponent {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.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 }); }
7
9
  }
8
- SkyModalContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- SkyModalContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", 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: "15.2.9", ngImport: i0, type: SkyModalContentComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalContentComponent, decorators: [{
11
11
  type: Component,
12
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
13
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFN0Q7O0dBRUc7QUFPSCxNQUFNLE9BQU8sd0JBQXdCOztxSEFBeEIsd0JBQXdCO3lHQUF4Qix3QkFBd0IseURDWHJDLDZCQUNBOzJGRFVhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxtQkFBbUIsaUJBR2QsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgY29udGVudCB0byBkaXNwbGF5IGluIHRoZSBtb2RhbCdzIGJvZHkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1jb250ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsQ29udGVudENvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFN0Q7O0dBRUc7QUFPSCxNQUFNLE9BQU8sd0JBQXdCOzhHQUF4Qix3QkFBd0I7a0dBQXhCLHdCQUF3Qix5RENYckMsNkJBQ0E7OzJGRFVhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxtQkFBbUIsaUJBR2QsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgY29udGVudCB0byBkaXNwbGF5IGluIHRoZSBtb2RhbCdzIGJvZHkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1jb250ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsQ29udGVudENvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * @internal
6
+ */
7
+ export class SkyModalErrorsService {
8
+ #formErrors = new BehaviorSubject(undefined);
9
+ constructor() {
10
+ this.formErrors = this.#formErrors.asObservable();
11
+ }
12
+ updateErrors(value) {
13
+ this.#formErrors.next(value);
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalErrorsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalErrorsService }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalErrorsService, decorators: [{
19
+ type: Injectable
20
+ }], ctorParameters: function () { return []; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZXJyb3JzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1lcnJvcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBSW5EOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQThCLFNBQVMsQ0FBQyxDQUFDO0lBRTFFO1FBQ0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTSxZQUFZLENBQUMsS0FBa0M7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs4R0FYVSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreU1vZGFsRXJyb3IgfSBmcm9tICcuL21vZGFsLWVycm9yJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsRXJyb3JzU2VydmljZSB7XG4gIHB1YmxpYyBmb3JtRXJyb3JzOiBPYnNlcnZhYmxlPFNreU1vZGFsRXJyb3JbXSB8IHVuZGVmaW5lZD47XG5cbiAgI2Zvcm1FcnJvcnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNreU1vZGFsRXJyb3JbXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmZvcm1FcnJvcnMgPSB0aGlzLiNmb3JtRXJyb3JzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUVycm9ycyh2YWx1ZTogU2t5TW9kYWxFcnJvcltdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy4jZm9ybUVycm9ycy5uZXh0KHZhbHVlKTtcbiAgfVxufVxuIl19
@@ -10,11 +10,11 @@ export class SkyModalFooterComponent {
10
10
  constructor() {
11
11
  this.errorsSvc = inject(SkyModalErrorsService);
12
12
  }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyModalFooterComponent, selector: "sky-modal-footer", ngImport: i0, template: "<div class=\"sky-modal-footer-container sky-padding-even-large\">\n <div aria-live=\"polite\">\n <div\n *ngIf=\"errorsSvc.formErrors | async as formErrors\"\n class=\"sky-modal-footer-errors sky-margin-stacked-lg\"\n >\n <sky-status-indicator\n *ngFor=\"let formError of formErrors\"\n [ngClass]=\"{\n 'sky-margin-stacked-lg':\n formErrors.indexOf(formError) < formErrors.length - 1,\n 'footer-error': true\n }\"\n descriptionType=\"error\"\n indicatorType=\"danger\"\n >\n {{ formError.message }}\n </sky-status-indicator>\n </div>\n </div>\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 .sky-btn-link:first-child{margin-left:-12px}.sky-modal-footer-container .sky-btn+.sky-btn{margin-left:10px}.sky-modal-footer-container .sky-btn+.sky-btn-link{margin-left:-2px}.sky-modal-footer-container .sky-modal-footer-errors{max-height:100px;overflow-y:auto}.sky-modal-footer-container .sky-modal-footer-errors .footer-error{display:block}.sky-theme-modern .sky-modal-footer-container{border-top:none;padding:20px 30px}.sky-theme-modern .sky-modal-footer-container .sky-btn-link:first-child{margin-left:0}.sky-theme-modern .sky-modal-footer-container .sky-btn+.sky-btn-link{margin-left:var(--sky-compat-modal-footer-adjacent-btn-btn-link-margin, 10px)}.sky-theme-modern-dark .sky-modal-footer-container{background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
13
15
  }
14
- SkyModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- SkyModalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyModalFooterComponent, selector: "sky-modal-footer", ngImport: i0, template: "<div class=\"sky-modal-footer-container sky-padding-even-large\">\n <div aria-live=\"polite\">\n <div\n *ngIf=\"errorsSvc.formErrors | async as formErrors\"\n class=\"sky-modal-footer-errors sky-margin-stacked-lg\"\n >\n <sky-status-indicator\n *ngFor=\"let formError of formErrors\"\n [ngClass]=\"{\n 'sky-margin-stacked-lg':\n formErrors.indexOf(formError) < formErrors.length - 1,\n 'footer-error': true\n }\"\n descriptionType=\"error\"\n indicatorType=\"danger\"\n >\n {{ formError.message }}\n </sky-status-indicator>\n </div>\n </div>\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 .sky-btn-link:first-child{margin-left:-12px}.sky-modal-footer-container .sky-btn+.sky-btn{margin-left:10px}.sky-modal-footer-container .sky-btn+.sky-btn-link{margin-left:-2px}.sky-modal-footer-container .sky-modal-footer-errors{max-height:100px;overflow-y:auto}.sky-modal-footer-container .sky-modal-footer-errors .footer-error{display:block}.sky-theme-modern .sky-modal-footer-container{border-top:none;padding:20px 30px}.sky-theme-modern .sky-modal-footer-container .sky-btn-link:first-child{margin-left:0}.sky-theme-modern .sky-modal-footer-container .sky-btn+.sky-btn-link{margin-left:var(--sky-compat-modal-footer-adjacent-btn-btn-link-margin, 10px)}.sky-theme-modern-dark .sky-modal-footer-container{background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalFooterComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalFooterComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'sky-modal-footer', encapsulation: ViewEncapsulation.None, template: "<div class=\"sky-modal-footer-container sky-padding-even-large\">\n <div aria-live=\"polite\">\n <div\n *ngIf=\"errorsSvc.formErrors | async as formErrors\"\n class=\"sky-modal-footer-errors sky-margin-stacked-lg\"\n >\n <sky-status-indicator\n *ngFor=\"let formError of formErrors\"\n [ngClass]=\"{\n 'sky-margin-stacked-lg':\n formErrors.indexOf(formError) < formErrors.length - 1,\n 'footer-error': true\n }\"\n descriptionType=\"error\"\n indicatorType=\"danger\"\n >\n {{ formError.message }}\n </sky-status-indicator>\n </div>\n </div>\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 .sky-btn-link:first-child{margin-left:-12px}.sky-modal-footer-container .sky-btn+.sky-btn{margin-left:10px}.sky-modal-footer-container .sky-btn+.sky-btn-link{margin-left:-2px}.sky-modal-footer-container .sky-modal-footer-errors{max-height:100px;overflow-y:auto}.sky-modal-footer-container .sky-modal-footer-errors .footer-error{display:block}.sky-theme-modern .sky-modal-footer-container{border-top:none;padding:20px 30px}.sky-theme-modern .sky-modal-footer-container .sky-btn-link:first-child{margin-left:0}.sky-theme-modern .sky-modal-footer-container .sky-btn+.sky-btn-link{margin-left:var(--sky-compat-modal-footer-adjacent-btn-btn-link-margin, 10px)}.sky-theme-modern-dark .sky-modal-footer-container{background-color:transparent}\n"] }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFFL0Q7O0dBRUc7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBTnBDO1FBT1ksY0FBUyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBQ3JEOztvSEFGWSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix3RENicEMsaXJCQXNCQTsyRkRUYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0Usa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5TW9kYWxFcnJvcnNTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1lcnJvcnMuc2VydmljZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIGNvbnRlbnQgdG8gZGlzcGxheSBpbiB0aGUgbW9kYWwncyBmb290ZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1mb290ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtZm9vdGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsRm9vdGVyQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIGVycm9yc1N2YyA9IGluamVjdChTa3lNb2RhbEVycm9yc1NlcnZpY2UpO1xufVxuIiwiPGRpdiBjbGFzcz1cInNreS1tb2RhbC1mb290ZXItY29udGFpbmVyIHNreS1wYWRkaW5nLWV2ZW4tbGFyZ2VcIj5cbiAgPGRpdiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImVycm9yc1N2Yy5mb3JtRXJyb3JzIHwgYXN5bmMgYXMgZm9ybUVycm9yc1wiXG4gICAgICBjbGFzcz1cInNreS1tb2RhbC1mb290ZXItZXJyb3JzIHNreS1tYXJnaW4tc3RhY2tlZC1sZ1wiXG4gICAgPlxuICAgICAgPHNreS1zdGF0dXMtaW5kaWNhdG9yXG4gICAgICAgICpuZ0Zvcj1cImxldCBmb3JtRXJyb3Igb2YgZm9ybUVycm9yc1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LW1hcmdpbi1zdGFja2VkLWxnJzpcbiAgICAgICAgICAgIGZvcm1FcnJvcnMuaW5kZXhPZihmb3JtRXJyb3IpIDwgZm9ybUVycm9ycy5sZW5ndGggLSAxLFxuICAgICAgICAgICdmb290ZXItZXJyb3InOiB0cnVlXG4gICAgICAgIH1cIlxuICAgICAgICBkZXNjcmlwdGlvblR5cGU9XCJlcnJvclwiXG4gICAgICAgIGluZGljYXRvclR5cGU9XCJkYW5nZXJcIlxuICAgICAgPlxuICAgICAgICB7eyBmb3JtRXJyb3IubWVzc2FnZSB9fVxuICAgICAgPC9za3ktc3RhdHVzLWluZGljYXRvcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFFL0Q7O0dBRUc7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBTnBDO1FBT1ksY0FBUyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBQ3JEOzhHQUZZLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHdEQ2JwQyxpckJBc0JBOzsyRkRUYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0Usa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5TW9kYWxFcnJvcnNTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1lcnJvcnMuc2VydmljZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIGNvbnRlbnQgdG8gZGlzcGxheSBpbiB0aGUgbW9kYWwncyBmb290ZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1mb290ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtZm9vdGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsRm9vdGVyQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIGVycm9yc1N2YyA9IGluamVjdChTa3lNb2RhbEVycm9yc1NlcnZpY2UpO1xufVxuIiwiPGRpdiBjbGFzcz1cInNreS1tb2RhbC1mb290ZXItY29udGFpbmVyIHNreS1wYWRkaW5nLWV2ZW4tbGFyZ2VcIj5cbiAgPGRpdiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImVycm9yc1N2Yy5mb3JtRXJyb3JzIHwgYXN5bmMgYXMgZm9ybUVycm9yc1wiXG4gICAgICBjbGFzcz1cInNreS1tb2RhbC1mb290ZXItZXJyb3JzIHNreS1tYXJnaW4tc3RhY2tlZC1sZ1wiXG4gICAgPlxuICAgICAgPHNreS1zdGF0dXMtaW5kaWNhdG9yXG4gICAgICAgICpuZ0Zvcj1cImxldCBmb3JtRXJyb3Igb2YgZm9ybUVycm9yc1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LW1hcmdpbi1zdGFja2VkLWxnJzpcbiAgICAgICAgICAgIGZvcm1FcnJvcnMuaW5kZXhPZihmb3JtRXJyb3IpIDwgZm9ybUVycm9ycy5sZW5ndGggLSAxLFxuICAgICAgICAgICdmb290ZXItZXJyb3InOiB0cnVlXG4gICAgICAgIH1cIlxuICAgICAgICBkZXNjcmlwdGlvblR5cGU9XCJlcnJvclwiXG4gICAgICAgIGluZGljYXRvclR5cGU9XCJkYW5nZXJcIlxuICAgICAgPlxuICAgICAgICB7eyBmb3JtRXJyb3IubWVzc2FnZSB9fVxuICAgICAgPC9za3ktc3RhdHVzLWluZGljYXRvcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -6,11 +6,11 @@ import * as i2 from "@skyux/core";
6
6
  * Specifies a header for the modal.
7
7
  */
8
8
  export class SkyModalHeaderComponent {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyModalHeaderComponent, selector: "sky-modal-header", ngImport: i0, template: "<h2\n class=\"sky-font-emphasized\"\n [skyThemeClass]=\"{\n 'sky-font-heading-4': 'default',\n 'sky-font-display-3': 'modern'\n }\"\n skyTrim\n>\n <ng-content></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: ["h2{margin:0;line-height:1.2;display:inline}:host-context(.sky-theme-modern.sky-theme-mode-dark) h2{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark h2{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i2.λ4, selector: "[skyTrim]" }] }); }
9
11
  }
10
- SkyModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- SkyModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyModalHeaderComponent, selector: "sky-modal-header", ngImport: i0, template: "<h2\n class=\"sky-font-emphasized\"\n [skyThemeClass]=\"{\n 'sky-font-heading-4': 'default',\n 'sky-font-display-3': 'modern'\n }\"\n skyTrim\n>\n <ng-content></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: ["h2{margin:0;line-height:1.2;display:inline}:host-context(.sky-theme-modern.sky-theme-mode-dark) h2{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark h2{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i2.λ4, selector: "[skyTrim]" }] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalHeaderComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalHeaderComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'sky-modal-header', template: "<h2\n class=\"sky-font-emphasized\"\n [skyThemeClass]=\"{\n 'sky-font-heading-4': 'default',\n 'sky-font-display-3': 'modern'\n }\"\n skyTrim\n>\n <ng-content></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: ["h2{margin:0;line-height:1.2;display:inline}:host-context(.sky-theme-modern.sky-theme-mode-dark) h2{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark h2{color:#fbfcfe}\n"] }]
15
15
  }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUxQzs7R0FFRztBQU1ILE1BQU0sT0FBTyx1QkFBdUI7O29IQUF2Qix1QkFBdUI7d0dBQXZCLHVCQUF1Qix3RENWcEMsMFRBYUE7MkZESGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFNwZWNpZmllcyBhIGhlYWRlciBmb3IgdGhlIG1vZGFsLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEhlYWRlckNvbXBvbmVudCB7fVxuIiwiPGgyXG4gIGNsYXNzPVwic2t5LWZvbnQtZW1waGFzaXplZFwiXG4gIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAnc2t5LWZvbnQtaGVhZGluZy00JzogJ2RlZmF1bHQnLFxuICAgICdza3ktZm9udC1kaXNwbGF5LTMnOiAnbW9kZXJuJ1xuICB9XCJcbiAgc2t5VHJpbVxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2gyPlxuPHNwYW4gY2xhc3M9XCJza3ktY29udHJvbC1oZWxwLWNvbnRhaW5lclwiIHNreVRyaW1cbiAgPjxuZy1jb250ZW50IHNlbGVjdD1cIi5za3ktY29udHJvbC1oZWxwXCI+PC9uZy1jb250ZW50XG4+PC9zcGFuPlxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUxQzs7R0FFRztBQU1ILE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHdEQ1ZwQywwVEFhQTs7MkZESGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFNwZWNpZmllcyBhIGhlYWRlciBmb3IgdGhlIG1vZGFsLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEhlYWRlckNvbXBvbmVudCB7fVxuIiwiPGgyXG4gIGNsYXNzPVwic2t5LWZvbnQtZW1waGFzaXplZFwiXG4gIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAnc2t5LWZvbnQtaGVhZGluZy00JzogJ2RlZmF1bHQnLFxuICAgICdza3ktZm9udC1kaXNwbGF5LTMnOiAnbW9kZXJuJ1xuICB9XCJcbiAgc2t5VHJpbVxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2gyPlxuPHNwYW4gY2xhc3M9XCJza3ktY29udHJvbC1oZWxwLWNvbnRhaW5lclwiIHNreVRyaW1cbiAgPjxuZy1jb250ZW50IHNlbGVjdD1cIi5za3ktY29udHJvbC1oZWxwXCI+PC9uZy1jb250ZW50XG4+PC9zcGFuPlxuIl19
@@ -9,13 +9,13 @@ export class SkyModalHostContext {
9
9
  constructor(args) {
10
10
  this.args = args;
11
11
  }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalHostContext, deps: [{ token: 'SkyModalHostContextArgs' }], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalHostContext }); }
12
14
  }
13
- SkyModalHostContext.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalHostContext, deps: [{ token: 'SkyModalHostContextArgs' }], target: i0.ɵɵFactoryTarget.Injectable });
14
- SkyModalHostContext.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalHostContext });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalHostContext, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalHostContext, decorators: [{
16
16
  type: Injectable
17
17
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
18
18
  type: Inject,
19
19
  args: ['SkyModalHostContextArgs']
20
20
  }] }]; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUluRDs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUM0QyxJQUE2QjtRQUE3QixTQUFJLEdBQUosSUFBSSxDQUF5QjtJQUN0RSxDQUFDOztnSEFITyxtQkFBbUIsa0JBRXBCLHlCQUF5QjtvSEFGeEIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHRBcmdzIH0gZnJvbSAnLi9tb2RhbC1ob3N0LWNvbnRleHQtYXJncyc7XG5cbi8qKlxuICogUHJvdmlkZWQgYnkgdGhlIG1vZGFsIHNlcnZpY2UgdG8gZ2l2ZSB0aGUgbW9kYWwgaG9zdFxuICogY29tcG9uZW50IGFkZGl0aW9uYWwgY29udGV4dCBhbmQgZmVhdHVyZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdENvbnRleHQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdTa3lNb2RhbEhvc3RDb250ZXh0QXJncycpIHB1YmxpYyBhcmdzOiBTa3lNb2RhbEhvc3RDb250ZXh0QXJnc1xuICApIHt9XG59XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUluRDs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUM0QyxJQUE2QjtRQUE3QixTQUFJLEdBQUosSUFBSSxDQUF5QjtJQUN0RSxDQUFDOzhHQUhPLG1CQUFtQixrQkFFcEIseUJBQXlCO2tIQUZ4QixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHRBcmdzIH0gZnJvbSAnLi9tb2RhbC1ob3N0LWNvbnRleHQtYXJncyc7XG5cbi8qKlxuICogUHJvdmlkZWQgYnkgdGhlIG1vZGFsIHNlcnZpY2UgdG8gZ2l2ZSB0aGUgbW9kYWwgaG9zdFxuICogY29tcG9uZW50IGFkZGl0aW9uYWwgY29udGV4dCBhbmQgZmVhdHVyZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdENvbnRleHQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdTa3lNb2RhbEhvc3RDb250ZXh0QXJncycpIHB1YmxpYyBhcmdzOiBTa3lNb2RhbEhvc3RDb250ZXh0QXJnc1xuICApIHt9XG59XG4iXX0=
@@ -0,0 +1,163 @@
1
+ import { Component, Injector, Optional, ViewChild, ViewContainerRef, } from '@angular/core';
2
+ import { NavigationStart } from '@angular/router';
3
+ import { SKY_STACKING_CONTEXT, SkyMediaQueryService, SkyResizeObserverMediaQueryService, } from '@skyux/core';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import { takeUntil, takeWhile } from 'rxjs/operators';
6
+ import { SkyModalAdapterService } from './modal-adapter.service';
7
+ import { SkyModalConfiguration } from './modal-configuration';
8
+ import { SkyModalHostService } from './modal-host.service';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./modal-adapter.service";
11
+ import * as i2 from "./modal-host-context";
12
+ import * as i3 from "@angular/router";
13
+ import * as i4 from "@angular/common";
14
+ /**
15
+ * @internal
16
+ */
17
+ export class SkyModalHostComponent {
18
+ get modalOpen() {
19
+ return SkyModalHostService.openModalCount > 0;
20
+ }
21
+ get backdropZIndex() {
22
+ return SkyModalHostService.backdropZIndex;
23
+ }
24
+ #resolver;
25
+ #adapter;
26
+ #injector;
27
+ #router;
28
+ #changeDetector;
29
+ #modalHostContext;
30
+ #elRef;
31
+ #modalInstances = [];
32
+ constructor(resolver, adapter, injector, changeDetector, modalHostContext, elRef, router) {
33
+ this.#resolver = resolver;
34
+ this.#adapter = adapter;
35
+ this.#injector = injector;
36
+ this.#router = router;
37
+ this.#changeDetector = changeDetector;
38
+ this.#modalHostContext = modalHostContext;
39
+ this.#elRef = elRef;
40
+ }
41
+ ngOnDestroy() {
42
+ // Close all modal instances before disposing of the host container.
43
+ this.#closeAllModalInstances();
44
+ this.#modalHostContext.args.teardownCallback();
45
+ }
46
+ open(modalInstance, component, config) {
47
+ /* Ignore coverage as we specify the target element and so the view child should never be undefined unless
48
+ * we were to call the `open` method in an early lifecycle hook. */
49
+ /* istanbul ignore next */
50
+ if (!this.target) {
51
+ return;
52
+ }
53
+ const params = Object.assign({}, config);
54
+ const factory = this.#resolver.resolveComponentFactory(component);
55
+ const hostService = new SkyModalHostService();
56
+ hostService.fullPage = !!params.fullPage;
57
+ const adapter = this.#adapter;
58
+ const modalOpener = adapter.getModalOpener();
59
+ let isOpen = true;
60
+ params.providers ||= [];
61
+ params.providers.push({
62
+ provide: SkyModalHostService,
63
+ useValue: hostService,
64
+ }, {
65
+ provide: SkyModalConfiguration,
66
+ useValue: params,
67
+ }, {
68
+ provide: SkyMediaQueryService,
69
+ useExisting: SkyResizeObserverMediaQueryService,
70
+ }, {
71
+ provide: SKY_STACKING_CONTEXT,
72
+ useValue: {
73
+ zIndex: new BehaviorSubject(hostService.getModalZIndex())
74
+ .asObservable()
75
+ .pipe(takeUntil(modalInstance.closed)),
76
+ },
77
+ });
78
+ adapter.setPageScroll(SkyModalHostService.openModalCount > 0);
79
+ adapter.toggleFullPageModalClass(SkyModalHostService.fullPageModalCount > 0);
80
+ const providers = params.providers || /* istanbul ignore next */ [];
81
+ const injector = Injector.create({
82
+ providers,
83
+ parent: this.#injector,
84
+ });
85
+ const modalComponentRef = this.target.createComponent(factory, undefined, injector);
86
+ // modal element that was just opened
87
+ const modalElement = modalComponentRef.location;
88
+ modalInstance.adapter = this.#adapter;
89
+ modalInstance.componentRef = modalComponentRef;
90
+ this.#registerModalInstance(modalInstance);
91
+ // hiding all elements at the modal-host level from screen readers when the a modal is opened
92
+ this.#adapter.hideHostSiblingsFromScreenReaders(this.#elRef);
93
+ if (SkyModalHostService.openModalCount > 1 &&
94
+ SkyModalHostService.topModal === hostService) {
95
+ // hiding the lower modals when more than one modal is opened
96
+ this.#adapter.hidePreviousModalFromScreenReaders(modalElement);
97
+ }
98
+ const closeModal = () => {
99
+ // unhide siblings if last modal is closing
100
+ if (SkyModalHostService.openModalCount === 1) {
101
+ this.#adapter.unhideOrRestoreHostSiblingsFromScreenReaders();
102
+ }
103
+ else if (SkyModalHostService.topModal === hostService) {
104
+ // if there are more than 1 modal then unhide the one behind this one before closing it
105
+ this.#adapter.unhidePreviousModalFromScreenReaders(modalElement);
106
+ }
107
+ hostService.destroy();
108
+ adapter.setPageScroll(SkyModalHostService.openModalCount > 0);
109
+ adapter.toggleFullPageModalClass(SkyModalHostService.fullPageModalCount > 0);
110
+ /* istanbul ignore else */
111
+ /* sanity check */
112
+ if (modalOpener && modalOpener.focus) {
113
+ modalOpener.focus();
114
+ }
115
+ modalComponentRef.destroy();
116
+ };
117
+ hostService.openHelp.subscribe((helpKey) => {
118
+ modalInstance.openHelp(helpKey);
119
+ });
120
+ hostService.close.subscribe(() => {
121
+ modalInstance.close();
122
+ });
123
+ this.#router?.events.pipe(takeWhile(() => isOpen)).subscribe((event) => {
124
+ /* istanbul ignore else */
125
+ if (event instanceof NavigationStart) {
126
+ modalInstance.close();
127
+ }
128
+ });
129
+ modalInstance.closed.subscribe(() => {
130
+ isOpen = false;
131
+ this.#unregisterModalInstance(modalInstance);
132
+ closeModal();
133
+ });
134
+ // Necessary if the host was created via a consumer's lifecycle hook such as ngOnInit
135
+ this.#changeDetector.detectChanges();
136
+ }
137
+ #registerModalInstance(instance) {
138
+ this.#modalInstances.push(instance);
139
+ }
140
+ #unregisterModalInstance(instance) {
141
+ this.#modalInstances.slice(this.#modalInstances.indexOf(instance), 1);
142
+ }
143
+ #closeAllModalInstances() {
144
+ for (const instance of this.#modalInstances) {
145
+ instance.close();
146
+ }
147
+ }
148
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalHostComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.SkyModalAdapterService }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i2.SkyModalHostContext }, { token: i0.ElementRef }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.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;inset:0}\n"], dependencies: [{ kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], viewProviders: [SkyModalAdapterService] }); }
150
+ }
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalHostComponent, decorators: [{
152
+ type: Component,
153
+ 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;inset:0}\n"] }]
154
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.SkyModalAdapterService }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i2.SkyModalHostContext }, { type: i0.ElementRef }, { type: i3.Router, decorators: [{
155
+ type: Optional
156
+ }] }]; }, propDecorators: { target: [{
157
+ type: ViewChild,
158
+ args: ['target', {
159
+ read: ViewContainerRef,
160
+ static: true,
161
+ }]
162
+ }] } });
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxRQUFRLEVBRVIsUUFBUSxFQUNSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLGtDQUFrQyxHQUNuQyxNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUkzRDs7R0FFRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sbUJBQW1CLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sbUJBQW1CLENBQUMsY0FBYyxDQUFDO0lBQzVDLENBQUM7SUFjRCxTQUFTLENBQTJCO0lB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Q0FBQyxRQUEwQjtRQUNqRCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUMzQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDOzhHQXBNVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixtSUFnQnhCLGdCQUFnQiwyQ0NyRDFCLDBKQVFBLGlORDJCaUIsQ0FBQyxzQkFBc0IsQ0FBQzs7MkZBRTVCLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxnQkFBZ0IsaUJBR1gsQ0FBQyxzQkFBc0IsQ0FBQzs7MEJBd0NwQyxRQUFROzRDQW5CSixNQUFNO3NCQUpaLFNBQVM7dUJBQUMsUUFBUSxFQUFFO3dCQUNuQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsSUFBSTtxQkFDTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBTS1lfU1RBQ0tJTkdfQ09OVEVYVCxcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TW9kYWxBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vbW9kYWwtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreU1vZGFsQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vbW9kYWwtY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RDb250ZXh0IH0gZnJvbSAnLi9tb2RhbC1ob3N0LWNvbnRleHQnO1xuaW1wb3J0IHsgU2t5TW9kYWxIb3N0U2VydmljZSB9IGZyb20gJy4vbW9kYWwtaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7IFNreU1vZGFsSW5zdGFuY2UgfSBmcm9tICcuL21vZGFsLWluc3RhbmNlJztcbmltcG9ydCB7IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSB9IGZyb20gJy4vbW9kYWwuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LW1vZGFsLWhvc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtaG9zdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLWhvc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgdmlld1Byb3ZpZGVyczogW1NreU1vZGFsQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEhvc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgZ2V0IG1vZGFsT3BlbigpIHtcbiAgICByZXR1cm4gU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJhY2tkcm9wWkluZGV4KCkge1xuICAgIHJldHVybiBTa3lNb2RhbEhvc3RTZXJ2aWNlLmJhY2tkcm9wWkluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSBgYW55YCBmb3IgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkgd2l0aCBBbmd1bGFyIDQtNy5cbiAgICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8zMDY1NFxuICAgKiBUT0RPOiBSZW1vdmUgdGhlIGBhbnlgIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSBhcyBhbnkpXG4gIHB1YmxpYyB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI3Jlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XG4gICNhZGFwdGVyOiBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlO1xuICAjaW5qZWN0b3I6IEluamVjdG9yO1xuICAjcm91dGVyOiBSb3V0ZXIgfCB1bmRlZmluZWQ7XG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNtb2RhbEhvc3RDb250ZXh0OiBTa3lNb2RhbEhvc3RDb250ZXh0O1xuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG5cbiAgI21vZGFsSW5zdGFuY2VzOiBTa3lNb2RhbEluc3RhbmNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIGFkYXB0ZXI6IFNreU1vZGFsQWRhcHRlclNlcnZpY2UsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBtb2RhbEhvc3RDb250ZXh0OiBTa3lNb2RhbEhvc3RDb250ZXh0LFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIEBPcHRpb25hbCgpIHJvdXRlcj86IFJvdXRlclxuICApIHtcbiAgICB0aGlzLiNyZXNvbHZlciA9IHJlc29sdmVyO1xuICAgIHRoaXMuI2FkYXB0ZXIgPSBhZGFwdGVyO1xuICAgIHRoaXMuI2luamVjdG9yID0gaW5qZWN0b3I7XG4gICAgdGhpcy4jcm91dGVyID0gcm91dGVyO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jbW9kYWxIb3N0Q29udGV4dCA9IG1vZGFsSG9zdENvbnRleHQ7XG4gICAgdGhpcy4jZWxSZWYgPSBlbFJlZjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvLyBDbG9zZSBhbGwgbW9kYWwgaW5zdGFuY2VzIGJlZm9yZSBkaXNwb3Npbmcgb2YgdGhlIGhvc3QgY29udGFpbmVyLlxuICAgIHRoaXMuI2Nsb3NlQWxsTW9kYWxJbnN0YW5jZXMoKTtcbiAgICB0aGlzLiNtb2RhbEhvc3RDb250ZXh0LmFyZ3MudGVhcmRvd25DYWxsYmFjaygpO1xuICB9XG5cbiAgcHVibGljIG9wZW4oXG4gICAgbW9kYWxJbnN0YW5jZTogU2t5TW9kYWxJbnN0YW5jZSxcbiAgICBjb21wb25lbnQ6IGFueSxcbiAgICBjb25maWc/OiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2VcbiAgKTogdm9pZCB7XG4gICAgLyogSWdub3JlIGNvdmVyYWdlIGFzIHdlIHNwZWNpZnkgdGhlIHRhcmdldCBlbGVtZW50IGFuZCBzbyB0aGUgdmlldyBjaGlsZCBzaG91bGQgbmV2ZXIgYmUgdW5kZWZpbmVkIHVubGVzc1xuICAgICAqIHdlIHdlcmUgdG8gY2FsbCB0aGUgYG9wZW5gIG1ldGhvZCBpbiBhbiBlYXJseSBsaWZlY3ljbGUgaG9vay4gKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmICghdGhpcy50YXJnZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXM6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSA9IE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZyk7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuI3Jlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XG5cbiAgICBjb25zdCBob3N0U2VydmljZSA9IG5ldyBTa3lNb2RhbEhvc3RTZXJ2aWNlKCk7XG4gICAgaG9zdFNlcnZpY2UuZnVsbFBhZ2UgPSAhIXBhcmFtcy5mdWxsUGFnZTtcblxuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLiNhZGFwdGVyO1xuICAgIGNvbnN0IG1vZGFsT3BlbmVyOiBIVE1MRWxlbWVudCA9IGFkYXB0ZXIuZ2V0TW9kYWxPcGVuZXIoKTtcblxuICAgIGxldCBpc09wZW4gPSB0cnVlO1xuXG4gICAgcGFyYW1zLnByb3ZpZGVycyB8fD0gW107XG4gICAgcGFyYW1zLnByb3ZpZGVycy5wdXNoKFxuICAgICAge1xuICAgICAgICBwcm92aWRlOiBTa3lNb2RhbEhvc3RTZXJ2aWNlLFxuICAgICAgICB1c2VWYWx1ZTogaG9zdFNlcnZpY2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwcm92aWRlOiBTa3lNb2RhbENvbmZpZ3VyYXRpb24sXG4gICAgICAgIHVzZVZhbHVlOiBwYXJhbXMsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwcm92aWRlOiBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICAgICAgdXNlRXhpc3Rpbmc6IFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwcm92aWRlOiBTS1lfU1RBQ0tJTkdfQ09OVEVYVCxcbiAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICB6SW5kZXg6IG5ldyBCZWhhdmlvclN1YmplY3QoaG9zdFNlcnZpY2UuZ2V0TW9kYWxaSW5kZXgoKSlcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKG1vZGFsSW5zdGFuY2UuY2xvc2VkKSksXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgKTtcblxuICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgYWRhcHRlci50b2dnbGVGdWxsUGFnZU1vZGFsQ2xhc3MoXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLmZ1bGxQYWdlTW9kYWxDb3VudCA+IDBcbiAgICApO1xuXG4gICAgY29uc3QgcHJvdmlkZXJzID0gcGFyYW1zLnByb3ZpZGVycyB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBbXTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbW9kYWxDb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldC5jcmVhdGVDb21wb25lbnQoXG4gICAgICBmYWN0b3J5LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgaW5qZWN0b3JcbiAgICApO1xuXG4gICAgLy8gbW9kYWwgZWxlbWVudCB0aGF0IHdhcyBqdXN0IG9wZW5lZFxuICAgIGNvbnN0IG1vZGFsRWxlbWVudCA9IG1vZGFsQ29tcG9uZW50UmVmLmxvY2F0aW9uO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5hZGFwdGVyID0gdGhpcy4jYWRhcHRlcjtcbiAgICBtb2RhbEluc3RhbmNlLmNvbXBvbmVudFJlZiA9IG1vZGFsQ29tcG9uZW50UmVmO1xuXG4gICAgdGhpcy4jcmVnaXN0ZXJNb2RhbEluc3RhbmNlKG1vZGFsSW5zdGFuY2UpO1xuXG4gICAgLy8gaGlkaW5nIGFsbCBlbGVtZW50cyBhdCB0aGUgbW9kYWwtaG9zdCBsZXZlbCBmcm9tIHNjcmVlbiByZWFkZXJzIHdoZW4gdGhlIGEgbW9kYWwgaXMgb3BlbmVkXG4gICAgdGhpcy4jYWRhcHRlci5oaWRlSG9zdFNpYmxpbmdzRnJvbVNjcmVlblJlYWRlcnModGhpcy4jZWxSZWYpO1xuICAgIGlmIChcbiAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAxICYmXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsID09PSBob3N0U2VydmljZVxuICAgICkge1xuICAgICAgLy8gaGlkaW5nIHRoZSBsb3dlciBtb2RhbHMgd2hlbiBtb3JlIHRoYW4gb25lIG1vZGFsIGlzIG9wZW5lZFxuICAgICAgdGhpcy4jYWRhcHRlci5oaWRlUHJldmlvdXNNb2RhbEZyb21TY3JlZW5SZWFkZXJzKG1vZGFsRWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2xvc2VNb2RhbCA9ICgpID0+IHtcbiAgICAgIC8vIHVuaGlkZSBzaWJsaW5ncyBpZiBsYXN0IG1vZGFsIGlzIGNsb3NpbmdcbiAgICAgIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID09PSAxKSB7XG4gICAgICAgIHRoaXMuI2FkYXB0ZXIudW5oaWRlT3JSZXN0b3JlSG9zdFNpYmxpbmdzRnJvbVNjcmVlblJlYWRlcnMoKTtcbiAgICAgIH0gZWxzZSBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS50b3BNb2RhbCA9PT0gaG9zdFNlcnZpY2UpIHtcbiAgICAgICAgLy8gaWYgdGhlcmUgYXJlIG1vcmUgdGhhbiAxIG1vZGFsIHRoZW4gdW5oaWRlIHRoZSBvbmUgYmVoaW5kIHRoaXMgb25lIGJlZm9yZSBjbG9zaW5nIGl0XG4gICAgICAgIHRoaXMuI2FkYXB0ZXIudW5oaWRlUHJldmlvdXNNb2RhbEZyb21TY3JlZW5SZWFkZXJzKG1vZGFsRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGhvc3RTZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgICBhZGFwdGVyLnRvZ2dsZUZ1bGxQYWdlTW9kYWxDbGFzcyhcbiAgICAgICAgU2t5TW9kYWxIb3N0U2VydmljZS5mdWxsUGFnZU1vZGFsQ291bnQgPiAwXG4gICAgICApO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgaWYgKG1vZGFsT3BlbmVyICYmIG1vZGFsT3BlbmVyLmZvY3VzKSB7XG4gICAgICAgIG1vZGFsT3BlbmVyLmZvY3VzKCk7XG4gICAgICB9XG4gICAgICBtb2RhbENvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfTtcblxuICAgIGhvc3RTZXJ2aWNlLm9wZW5IZWxwLnN1YnNjcmliZSgoaGVscEtleSkgPT4ge1xuICAgICAgbW9kYWxJbnN0YW5jZS5vcGVuSGVscChoZWxwS2V5KTtcbiAgICB9KTtcblxuICAgIGhvc3RTZXJ2aWNlLmNsb3NlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBtb2RhbEluc3RhbmNlLmNsb3NlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNyb3V0ZXI/LmV2ZW50cy5waXBlKHRha2VXaGlsZSgoKSA9PiBpc09wZW4pKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgIG1vZGFsSW5zdGFuY2UuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIG1vZGFsSW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpc09wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuI3VucmVnaXN0ZXJNb2RhbEluc3RhbmNlKG1vZGFsSW5zdGFuY2UpO1xuICAgICAgY2xvc2VNb2RhbCgpO1xuICAgIH0pO1xuXG4gICAgLy8gTmVjZXNzYXJ5IGlmIHRoZSBob3N0IHdhcyBjcmVhdGVkIHZpYSBhIGNvbnN1bWVyJ3MgbGlmZWN5Y2xlIGhvb2sgc3VjaCBhcyBuZ09uSW5pdFxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gICNyZWdpc3Rlck1vZGFsSW5zdGFuY2UoaW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UpOiB2b2lkIHtcbiAgICB0aGlzLiNtb2RhbEluc3RhbmNlcy5wdXNoKGluc3RhbmNlKTtcbiAgfVxuXG4gICN1bnJlZ2lzdGVyTW9kYWxJbnN0YW5jZShpbnN0YW5jZTogU2t5TW9kYWxJbnN0YW5jZSk6IHZvaWQge1xuICAgIHRoaXMuI21vZGFsSW5zdGFuY2VzLnNsaWNlKHRoaXMuI21vZGFsSW5zdGFuY2VzLmluZGV4T2YoaW5zdGFuY2UpLCAxKTtcbiAgfVxuXG4gICNjbG9zZUFsbE1vZGFsSW5zdGFuY2VzKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgaW5zdGFuY2Ugb2YgdGhpcy4jbW9kYWxJbnN0YW5jZXMpIHtcbiAgICAgIGluc3RhbmNlLmNsb3NlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LW1vZGFsLWhvc3QtYmFja2Ryb3BcIlxuICBbaGlkZGVuXT1cIiFtb2RhbE9wZW5cIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgekluZGV4OiBiYWNrZHJvcFpJbmRleFxuICB9XCJcbj48L2Rpdj5cbjxkaXYgI3RhcmdldD48L2Rpdj5cbiJdfQ==