@skyux/modals 8.6.0 → 9.0.0-alpha.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 +4 -4
- package/esm2022/lib/modules/confirm/confirm.component.mjs +112 -0
- package/{esm2020 → esm2022}/lib/modules/confirm/confirm.module.mjs +13 -13
- package/esm2022/lib/modules/confirm/confirm.service.mjs +54 -0
- package/esm2022/lib/modules/modal/modal-adapter.service.mjs +99 -0
- package/esm2022/lib/modules/modal/modal-component-adapter.service.mjs +101 -0
- package/{esm2020 → esm2022}/lib/modules/modal/modal-configuration.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/modal/modal-content.component.mjs +4 -4
- package/esm2022/lib/modules/modal/modal-errors.service.mjs +21 -0
- package/{esm2020 → esm2022}/lib/modules/modal/modal-footer.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/modal/modal-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/modal/modal-host-context.mjs +4 -4
- package/esm2022/lib/modules/modal/modal-host.component.mjs +163 -0
- package/esm2022/lib/modules/modal/modal-host.service.mjs +62 -0
- package/esm2022/lib/modules/modal/modal-instance.mjs +123 -0
- package/esm2022/lib/modules/modal/modal-is-dirty.directive.mjs +94 -0
- package/esm2022/lib/modules/modal/modal-scroll-shadow.directive.mjs +129 -0
- package/esm2022/lib/modules/modal/modal.component.mjs +229 -0
- package/{esm2020 → esm2022}/lib/modules/modal/modal.module.mjs +29 -29
- package/esm2022/lib/modules/modal/modal.service.mjs +97 -0
- package/esm2022/lib/modules/shared/sky-modals-resources.module.mjs +61 -0
- package/esm2022/testing/confirm/confirm-button-harness.mjs +46 -0
- package/esm2022/testing/confirm/confirm-harness.mjs +90 -0
- package/esm2022/testing/modal/modal-harness.mjs +75 -0
- package/esm2022/testing/modal-fixture.mjs +143 -0
- package/{fesm2020 → fesm2022}/skyux-modals-testing.mjs +60 -73
- package/{fesm2020 → fesm2022}/skyux-modals-testing.mjs.map +1 -1
- package/fesm2022/skyux-modals.mjs +1502 -0
- package/{fesm2015 → fesm2022}/skyux-modals.mjs.map +1 -1
- package/lib/modules/modal/modal-is-dirty.directive.d.ts +1 -1
- package/lib/modules/modal/modal.component.d.ts +1 -1
- package/package.json +16 -24
- package/esm2020/lib/modules/confirm/confirm.component.mjs +0 -114
- package/esm2020/lib/modules/confirm/confirm.service.mjs +0 -57
- package/esm2020/lib/modules/modal/modal-adapter.service.mjs +0 -101
- package/esm2020/lib/modules/modal/modal-component-adapter.service.mjs +0 -104
- package/esm2020/lib/modules/modal/modal-errors.service.mjs +0 -24
- package/esm2020/lib/modules/modal/modal-host.component.mjs +0 -164
- package/esm2020/lib/modules/modal/modal-host.service.mjs +0 -65
- package/esm2020/lib/modules/modal/modal-instance.mjs +0 -127
- package/esm2020/lib/modules/modal/modal-is-dirty.directive.mjs +0 -93
- package/esm2020/lib/modules/modal/modal-scroll-shadow.directive.mjs +0 -127
- package/esm2020/lib/modules/modal/modal.component.mjs +0 -228
- package/esm2020/lib/modules/modal/modal.service.mjs +0 -99
- package/esm2020/lib/modules/shared/sky-modals-resources.module.mjs +0 -61
- package/esm2020/testing/confirm/confirm-button-harness.mjs +0 -46
- package/esm2020/testing/confirm/confirm-harness.mjs +0 -97
- package/esm2020/testing/modal/modal-harness.mjs +0 -81
- package/esm2020/testing/modal-fixture.mjs +0 -145
- package/fesm2015/skyux-modals-testing.mjs +0 -409
- package/fesm2015/skyux-modals-testing.mjs.map +0 -1
- package/fesm2015/skyux-modals.mjs +0 -1522
- package/fesm2020/skyux-modals.mjs +0 -1510
- package/fesm2020/skyux-modals.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-button-action.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-button-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-button-style-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-button.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-closed-event-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-config-token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-instance.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/modal/modal-before-close-handler.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/modal/modal-close-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/modal/modal-error.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/modal/modal-host-context-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/modal/modal-scroll-shadow-event-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/modal/modal.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/skyux-modals.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/confirm/confirm-button-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/modal/modal-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/skyux-modals-testing.mjs +0 -0
package/documentation.json
CHANGED
|
@@ -4702,7 +4702,7 @@
|
|
|
4702
4702
|
{
|
|
4703
4703
|
"fileName": "modal-demo-modal.component.html",
|
|
4704
4704
|
"filePath": "/projects/modals/documentation/code-examples/inline-help/modal-demo-modal.component.html",
|
|
4705
|
-
"rawContents": "<form [formGroup]=\"demoForm\" (submit)=\"saveForm()\">\n <sky-modal>\n <sky-modal-header>\n Modal title\n <sky-help-inline\n class=\"sky-control-help\"\n (actionClick)=\"onActionClick()\"\n ></sky-help-inline>\n </sky-modal-header>\n <sky-modal-content>\n <sky-input-box
|
|
4705
|
+
"rawContents": "<form [formGroup]=\"demoForm\" (submit)=\"saveForm()\">\n <sky-modal>\n <sky-modal-header>\n Modal title\n <sky-help-inline\n class=\"sky-control-help\"\n (actionClick)=\"onActionClick()\"\n ></sky-help-inline>\n </sky-modal-header>\n <sky-modal-content>\n <sky-input-box labelText=\"An input inside a modal\">\n <input formControlName=\"value1\" type=\"text\" />\n </sky-input-box>\n </sky-modal-content>\n <sky-modal-footer>\n <button class=\"sky-btn sky-btn-primary\" type=\"submit\">Save</button>\n <button class=\"sky-btn sky-btn-link\" type=\"button\" (click)=\"cancelForm()\">\n Cancel\n </button>\n </sky-modal-footer>\n </sky-modal>\n</form>\n"
|
|
4706
4706
|
},
|
|
4707
4707
|
{
|
|
4708
4708
|
"fileName": "modal-demo-modal.component.ts",
|
|
@@ -4722,7 +4722,7 @@
|
|
|
4722
4722
|
{
|
|
4723
4723
|
"fileName": "modal-demo.module.ts",
|
|
4724
4724
|
"filePath": "/projects/modals/documentation/code-examples/inline-help/modal-demo.module.ts",
|
|
4725
|
-
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport {
|
|
4725
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyHelpInlineModule } from '@skyux/indicators';\nimport { SkyModalModule } from '@skyux/modals';\n\nimport { ModalDemoModalComponent } from './modal-demo-modal.component';\nimport { ModalDemoComponent } from './modal-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SkyInputBoxModule,\n SkyModalModule,\n SkyHelpInlineModule,\n ],\n declarations: [ModalDemoComponent, ModalDemoModalComponent],\n exports: [ModalDemoComponent],\n})\nexport class ModalDemoModule {}\n"
|
|
4726
4726
|
},
|
|
4727
4727
|
{
|
|
4728
4728
|
"fileName": "modal-demo-context.ts",
|
|
@@ -4742,7 +4742,7 @@
|
|
|
4742
4742
|
{
|
|
4743
4743
|
"fileName": "modal-demo-modal.component.html",
|
|
4744
4744
|
"filePath": "/projects/modals/documentation/code-examples/modal/modal-demo-modal.component.html",
|
|
4745
|
-
"rawContents": "<form [formGroup]=\"demoForm\" (submit)=\"saveForm()\">\n <sky-modal data-sky-id=\"modal-demo\" [isDirty]=\"demoForm.dirty\">\n <sky-modal-header> Modal title </sky-modal-header>\n <sky-modal-content>\n <sky-input-box
|
|
4745
|
+
"rawContents": "<form [formGroup]=\"demoForm\" (submit)=\"saveForm()\">\n <sky-modal data-sky-id=\"modal-demo\" [isDirty]=\"demoForm.dirty\">\n <sky-modal-header> Modal title </sky-modal-header>\n <sky-modal-content>\n <sky-input-box labelText=\"An input inside a modal\">\n <input formControlName=\"value1\" type=\"text\" />\n </sky-input-box>\n </sky-modal-content>\n <sky-modal-footer>\n <button class=\"sky-btn sky-btn-primary\" type=\"submit\">Save</button>\n <button class=\"sky-btn sky-btn-link\" type=\"button\" (click)=\"cancelForm()\">\n Cancel\n </button>\n </sky-modal-footer>\n </sky-modal>\n</form>\n"
|
|
4746
4746
|
},
|
|
4747
4747
|
{
|
|
4748
4748
|
"fileName": "modal-demo-modal.component.ts",
|
|
@@ -4767,7 +4767,7 @@
|
|
|
4767
4767
|
{
|
|
4768
4768
|
"fileName": "modal-demo.module.ts",
|
|
4769
4769
|
"filePath": "/projects/modals/documentation/code-examples/modal/modal-demo.module.ts",
|
|
4770
|
-
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport {
|
|
4770
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyModalModule } from '@skyux/modals';\n\nimport { ModalDemoModalComponent } from './modal-demo-modal.component';\nimport { ModalDemoComponent } from './modal-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SkyInputBoxModule,\n SkyModalModule,\n ],\n declarations: [ModalDemoComponent, ModalDemoModalComponent],\n exports: [ModalDemoComponent],\n})\nexport class ModalDemoModule {}\n"
|
|
4771
4771
|
}
|
|
4772
4772
|
]
|
|
4773
4773
|
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { ReplaySubject } from 'rxjs';
|
|
3
|
+
import { take } from 'rxjs/operators';
|
|
4
|
+
import { SKY_CONFIRM_CONFIG } from './confirm-config-token';
|
|
5
|
+
import { SkyConfirmType } from './confirm-type';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../modal/modal-instance";
|
|
8
|
+
import * as i2 from "@skyux/i18n";
|
|
9
|
+
import * as i3 from "@skyux/core";
|
|
10
|
+
import * as i4 from "@angular/common";
|
|
11
|
+
import * as i5 from "../modal/modal.component";
|
|
12
|
+
import * as i6 from "../modal/modal-content.component";
|
|
13
|
+
import * as i7 from "@skyux/theme";
|
|
14
|
+
export class SkyConfirmComponent {
|
|
15
|
+
#config;
|
|
16
|
+
#modal;
|
|
17
|
+
#resourcesService;
|
|
18
|
+
constructor(config, modal, resourcesService, idService) {
|
|
19
|
+
this.preserveWhiteSpace = false;
|
|
20
|
+
this.isOkType = false;
|
|
21
|
+
this.#config = config;
|
|
22
|
+
this.#modal = modal;
|
|
23
|
+
this.#resourcesService = resourcesService;
|
|
24
|
+
if (config.type === SkyConfirmType.Custom &&
|
|
25
|
+
config.buttons &&
|
|
26
|
+
config.buttons.length > 0) {
|
|
27
|
+
this.buttons = this.#getCustomButtons(config.buttons);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.#getPresetButtons()
|
|
31
|
+
.pipe(take(1))
|
|
32
|
+
.subscribe((buttons) => {
|
|
33
|
+
this.buttons = buttons;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
this.message = config.message;
|
|
37
|
+
this.body = config.body;
|
|
38
|
+
// Using the service here instead of the directive due to the confirm component's "body" container being conditional and thus a template variable being unavailable at an outer scope
|
|
39
|
+
this.bodyId = idService.generateId();
|
|
40
|
+
this.preserveWhiteSpace = !!config.preserveWhiteSpace;
|
|
41
|
+
this.isOkType = config.type === SkyConfirmType.OK;
|
|
42
|
+
}
|
|
43
|
+
close(button) {
|
|
44
|
+
const result = {
|
|
45
|
+
action: button.action,
|
|
46
|
+
};
|
|
47
|
+
this.#modal.close(result);
|
|
48
|
+
}
|
|
49
|
+
#getPresetButtons() {
|
|
50
|
+
const emitter = new ReplaySubject(1);
|
|
51
|
+
this.#resourcesService
|
|
52
|
+
.getStrings({
|
|
53
|
+
cancel: 'skyux_confirm_dialog_default_cancel_text',
|
|
54
|
+
no: 'skyux_confirm_dialog_default_no_text',
|
|
55
|
+
ok: 'skyux_confirm_dialog_default_ok_text',
|
|
56
|
+
yes: 'skyux_confirm_dialog_default_yes_text',
|
|
57
|
+
})
|
|
58
|
+
.subscribe((values) => {
|
|
59
|
+
const confirmButtons = [];
|
|
60
|
+
switch (this.#config.type) {
|
|
61
|
+
case SkyConfirmType.YesNoCancel:
|
|
62
|
+
case SkyConfirmType.YesCancel:
|
|
63
|
+
confirmButtons.push({
|
|
64
|
+
text: values.yes,
|
|
65
|
+
autofocus: true,
|
|
66
|
+
styleType: 'primary',
|
|
67
|
+
action: 'yes',
|
|
68
|
+
});
|
|
69
|
+
if (this.#config.type === SkyConfirmType.YesNoCancel) {
|
|
70
|
+
confirmButtons.push({
|
|
71
|
+
text: values.no,
|
|
72
|
+
styleType: 'default',
|
|
73
|
+
action: 'no',
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
confirmButtons.push({
|
|
77
|
+
text: values.cancel,
|
|
78
|
+
styleType: 'link',
|
|
79
|
+
action: 'cancel',
|
|
80
|
+
});
|
|
81
|
+
break;
|
|
82
|
+
default:
|
|
83
|
+
confirmButtons.push({
|
|
84
|
+
text: values.ok,
|
|
85
|
+
autofocus: true,
|
|
86
|
+
styleType: 'primary',
|
|
87
|
+
action: 'ok',
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
emitter.next(confirmButtons);
|
|
91
|
+
});
|
|
92
|
+
return emitter.asObservable();
|
|
93
|
+
}
|
|
94
|
+
#getCustomButtons(buttonConfig) {
|
|
95
|
+
return buttonConfig.map((config) => ({
|
|
96
|
+
text: config.text,
|
|
97
|
+
action: config.action,
|
|
98
|
+
styleType: config.styleType || 'default',
|
|
99
|
+
autofocus: config.autofocus || false,
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyConfirmComponent, deps: [{ token: SKY_CONFIRM_CONFIG }, { token: i1.SkyModalInstance }, { token: i2.SkyLibResourcesService }, { token: i3.SkyIdService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyConfirmComponent, selector: "sky-confirm", ngImport: i0, template: "<div class=\"sky-confirm\" [ngClass]=\"{ 'sky-confirm-type-ok': isOkType }\">\n <sky-modal\n ariaRole=\"alertdialog\"\n [ariaLabelledBy]=\"confirmMessage.id\"\n [ariaDescribedBy]=\"body ? bodyId : undefined\"\n >\n <sky-modal-content class=\"sky-confirm-content\">\n <!--\n The following \"magic comment\" keeps Prettier from adding line breaks\n inside the div and causing leading and trailing whitespace when\n `preserveWhiteSpace` is `true`.\n https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting\n -->\n <!-- display: inline -->\n <div\n class=\"sky-confirm-message\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n [skyThemeClass]=\"{\n 'sky-font-display-4': 'default',\n 'sky-font-heading-1 sky-font-display-3': 'modern'\n }\"\n skyId\n #confirmMessage=\"skyId\"\n >{{ message }}</div\n >\n\n <!--\n The following \"magic comment\" keeps Prettier from adding line breaks\n inside the div and causing leading and trailing whitespace when\n `preserveWhiteSpace` is `true`.\n https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting\n -->\n <!-- display: inline -->\n <div\n *ngIf=\"body\"\n class=\"sky-confirm-body\"\n [id]=\"bodyId\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n >{{ body }}</div\n >\n\n <div class=\"sky-confirm-buttons\">\n <button\n *ngFor=\"let button of buttons\"\n type=\"button\"\n class=\"sky-btn\"\n [ngClass]=\"'sky-btn-' + button.styleType\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern',\n 'sky-margin-inline-compact': 'default'\n }\"\n (click)=\"close(button)\"\n [attr.autofocus]=\"button.autofocus ? 'autofocus' : null\"\n >\n {{ button.text }}\n </button>\n </div>\n </sky-modal-content>\n </sky-modal>\n</div>\n", styles: [".sky-confirm{--sky-confirm-body-margin-top: var(--sky-margin-stacked-sm);--sky-confirm-buttons-margin-top: var(--sky-margin-stacked-xl);--sky-confirm-content-padding: 0;--sky-confirm-message-padding-bottom: 0}:host-context(.sky-theme-modern) .sky-confirm{--sky-confirm-body-margin-top: 0;--sky-confirm-buttons-margin-top: var(--sky-margin-stacked-lg);--sky-confirm-content-padding: var(--sky-margin-stacked-lg) var(--sky-margin-inline-xl);--sky-confirm-message-padding-bottom: var(--sky-margin-stacked-lg)}.sky-theme-modern .sky-confirm{--sky-confirm-body-margin-top: 0;--sky-confirm-buttons-margin-top: var(--sky-margin-stacked-lg);--sky-confirm-content-padding: var(--sky-margin-stacked-lg) var(--sky-margin-inline-xl);--sky-confirm-message-padding-bottom: var(--sky-margin-stacked-lg)}.sky-confirm-content{padding:var(--sky-confirm-content-padding)}.sky-confirm-message{margin-top:var(--sky-margin-stacked-xs);padding-bottom:var(--sky-confirm-message-padding-bottom)}.sky-confirm-body{margin-top:var(--sky-confirm-body-margin-top)}.sky-confirm-buttons{margin-top:var(--sky-confirm-buttons-margin-top)}.sky-confirm-preserve-white-space{white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i5.SkyModalComponent, selector: "sky-modal", inputs: ["formErrors", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i6.SkyModalContentComponent, selector: "sky-modal-content" }, { kind: "directive", type: i7.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }] }); }
|
|
104
|
+
}
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyConfirmComponent, decorators: [{
|
|
106
|
+
type: Component,
|
|
107
|
+
args: [{ selector: 'sky-confirm', template: "<div class=\"sky-confirm\" [ngClass]=\"{ 'sky-confirm-type-ok': isOkType }\">\n <sky-modal\n ariaRole=\"alertdialog\"\n [ariaLabelledBy]=\"confirmMessage.id\"\n [ariaDescribedBy]=\"body ? bodyId : undefined\"\n >\n <sky-modal-content class=\"sky-confirm-content\">\n <!--\n The following \"magic comment\" keeps Prettier from adding line breaks\n inside the div and causing leading and trailing whitespace when\n `preserveWhiteSpace` is `true`.\n https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting\n -->\n <!-- display: inline -->\n <div\n class=\"sky-confirm-message\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n [skyThemeClass]=\"{\n 'sky-font-display-4': 'default',\n 'sky-font-heading-1 sky-font-display-3': 'modern'\n }\"\n skyId\n #confirmMessage=\"skyId\"\n >{{ message }}</div\n >\n\n <!--\n The following \"magic comment\" keeps Prettier from adding line breaks\n inside the div and causing leading and trailing whitespace when\n `preserveWhiteSpace` is `true`.\n https://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting\n -->\n <!-- display: inline -->\n <div\n *ngIf=\"body\"\n class=\"sky-confirm-body\"\n [id]=\"bodyId\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n >{{ body }}</div\n >\n\n <div class=\"sky-confirm-buttons\">\n <button\n *ngFor=\"let button of buttons\"\n type=\"button\"\n class=\"sky-btn\"\n [ngClass]=\"'sky-btn-' + button.styleType\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern',\n 'sky-margin-inline-compact': 'default'\n }\"\n (click)=\"close(button)\"\n [attr.autofocus]=\"button.autofocus ? 'autofocus' : null\"\n >\n {{ button.text }}\n </button>\n </div>\n </sky-modal-content>\n </sky-modal>\n</div>\n", styles: [".sky-confirm{--sky-confirm-body-margin-top: var(--sky-margin-stacked-sm);--sky-confirm-buttons-margin-top: var(--sky-margin-stacked-xl);--sky-confirm-content-padding: 0;--sky-confirm-message-padding-bottom: 0}:host-context(.sky-theme-modern) .sky-confirm{--sky-confirm-body-margin-top: 0;--sky-confirm-buttons-margin-top: var(--sky-margin-stacked-lg);--sky-confirm-content-padding: var(--sky-margin-stacked-lg) var(--sky-margin-inline-xl);--sky-confirm-message-padding-bottom: var(--sky-margin-stacked-lg)}.sky-theme-modern .sky-confirm{--sky-confirm-body-margin-top: 0;--sky-confirm-buttons-margin-top: var(--sky-margin-stacked-lg);--sky-confirm-content-padding: var(--sky-margin-stacked-lg) var(--sky-margin-inline-xl);--sky-confirm-message-padding-bottom: var(--sky-margin-stacked-lg)}.sky-confirm-content{padding:var(--sky-confirm-content-padding)}.sky-confirm-message{margin-top:var(--sky-margin-stacked-xs);padding-bottom:var(--sky-confirm-message-padding-bottom)}.sky-confirm-body{margin-top:var(--sky-confirm-body-margin-top)}.sky-confirm-buttons{margin-top:var(--sky-confirm-buttons-margin-top)}.sky-confirm-preserve-white-space{white-space:pre-wrap}\n"] }]
|
|
108
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
109
|
+
type: Inject,
|
|
110
|
+
args: [SKY_CONFIRM_CONFIG]
|
|
111
|
+
}] }, { type: i1.SkyModalInstance }, { type: i2.SkyLibResourcesService }, { type: i3.SkyIdService }]; } });
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvY29uZmlybS9jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUXRDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBT2hELE1BQU0sT0FBTyxtQkFBbUI7SUFROUIsT0FBTyxDQUFtQjtJQUMxQixNQUFNLENBQW1CO0lBQ3pCLGlCQUFpQixDQUF5QjtJQUUxQyxZQUVFLE1BQXdCLEVBQ3hCLEtBQXVCLEVBQ3ZCLGdCQUF3QyxFQUN4QyxTQUF1QjtRQVpsQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQWF0QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFFMUMsSUFDRSxNQUFNLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxNQUFNO1lBQ3JDLE1BQU0sQ0FBQyxPQUFPO1lBQ2QsTUFBTSxDQUFDLE9BQU8sQ0FB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aUJBQWlCLENBQ2YsWUFBc0M7UUFFdEMsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUNyQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ1QsQ0FBQztZQUNDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLElBQUksU0FBUztZQUN4QyxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsSUFBSSxLQUFLO1NBQ2hCLENBQUEsQ0FDekIsQ0FBQztJQUNKLENBQUM7OEdBckhVLG1CQUFtQixrQkFhcEIsa0JBQWtCO2tHQWJqQixtQkFBbUIsbURDckJoQyw4bkVBZ0VBOzsyRkQzQ2EsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7OzBCQWlCcEIsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5SWRTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4uL21vZGFsL21vZGFsLWluc3RhbmNlJztcblxuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbiB9IGZyb20gJy4vY29uZmlybS1idXR0b24nO1xuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbkNvbmZpZyB9IGZyb20gJy4vY29uZmlybS1idXR0b24tY29uZmlnJztcbmltcG9ydCB7IFNreUNvbmZpcm1DbG9zZUV2ZW50QXJncyB9IGZyb20gJy4vY29uZmlybS1jbG9zZWQtZXZlbnQtYXJncyc7XG5pbXBvcnQgeyBTa3lDb25maXJtQ29uZmlnIH0gZnJvbSAnLi9jb25maXJtLWNvbmZpZyc7XG5pbXBvcnQgeyBTS1lfQ09ORklSTV9DT05GSUcgfSBmcm9tICcuL2NvbmZpcm0tY29uZmlnLXRva2VuJztcbmltcG9ydCB7IFNreUNvbmZpcm1UeXBlIH0gZnJvbSAnLi9jb25maXJtLXR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktY29uZmlybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtQ29tcG9uZW50IHtcbiAgcHVibGljIGJ1dHRvbnM6IFNreUNvbmZpcm1CdXR0b25bXSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcbiAgcHVibGljIGJvZHk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGJvZHlJZDogc3RyaW5nO1xuICBwdWJsaWMgcHJlc2VydmVXaGl0ZVNwYWNlID0gZmFsc2U7XG4gIHB1YmxpYyBpc09rVHlwZSA9IGZhbHNlO1xuXG4gICNjb25maWc6IFNreUNvbmZpcm1Db25maWc7XG4gICNtb2RhbDogU2t5TW9kYWxJbnN0YW5jZTtcbiAgI3Jlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChTS1lfQ09ORklSTV9DT05GSUcpXG4gICAgY29uZmlnOiBTa3lDb25maXJtQ29uZmlnLFxuICAgIG1vZGFsOiBTa3lNb2RhbEluc3RhbmNlLFxuICAgIHJlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gICAgaWRTZXJ2aWNlOiBTa3lJZFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuI21vZGFsID0gbW9kYWw7XG4gICAgdGhpcy4jcmVzb3VyY2VzU2VydmljZSA9IHJlc291cmNlc1NlcnZpY2U7XG5cbiAgICBpZiAoXG4gICAgICBjb25maWcudHlwZSA9PT0gU2t5Q29uZmlybVR5cGUuQ3VzdG9tICYmXG4gICAgICBjb25maWcuYnV0dG9ucyAmJlxuICAgICAgY29uZmlnLmJ1dHRvbnMubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgdGhpcy5idXR0b25zID0gdGhpcy4jZ2V0Q3VzdG9tQnV0dG9ucyhjb25maWcuYnV0dG9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2dldFByZXNldEJ1dHRvbnMoKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChidXR0b25zOiBTa3lDb25maXJtQnV0dG9uW10pID0+IHtcbiAgICAgICAgICB0aGlzLmJ1dHRvbnMgPSBidXR0b25zO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcbiAgICB0aGlzLmJvZHkgPSBjb25maWcuYm9keTtcbiAgICAvLyBVc2luZyB0aGUgc2VydmljZSBoZXJlIGluc3RlYWQgb2YgdGhlIGRpcmVjdGl2ZSBkdWUgdG8gdGhlIGNvbmZpcm0gY29tcG9uZW50J3MgXCJib2R5XCIgY29udGFpbmVyIGJlaW5nIGNvbmRpdGlvbmFsIGFuZCB0aHVzIGEgdGVtcGxhdGUgdmFyaWFibGUgYmVpbmcgdW5hdmFpbGFibGUgYXQgYW4gb3V0ZXIgc2NvcGVcbiAgICB0aGlzLmJvZHlJZCA9IGlkU2VydmljZS5nZW5lcmF0ZUlkKCk7XG4gICAgdGhpcy5wcmVzZXJ2ZVdoaXRlU3BhY2UgPSAhIWNvbmZpZy5wcmVzZXJ2ZVdoaXRlU3BhY2U7XG4gICAgdGhpcy5pc09rVHlwZSA9IGNvbmZpZy50eXBlID09PSBTa3lDb25maXJtVHlwZS5PSztcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZShidXR0b246IFNreUNvbmZpcm1CdXR0b24pOiB2b2lkIHtcbiAgICBjb25zdCByZXN1bHQ6IFNreUNvbmZpcm1DbG9zZUV2ZW50QXJncyA9IHtcbiAgICAgIGFjdGlvbjogYnV0dG9uLmFjdGlvbixcbiAgICB9O1xuXG4gICAgdGhpcy4jbW9kYWwuY2xvc2UocmVzdWx0KTtcbiAgfVxuXG4gICNnZXRQcmVzZXRCdXR0b25zKCk6IE9ic2VydmFibGU8U2t5Q29uZmlybUJ1dHRvbltdPiB7XG4gICAgY29uc3QgZW1pdHRlciA9IG5ldyBSZXBsYXlTdWJqZWN0PFNreUNvbmZpcm1CdXR0b25bXT4oMSk7XG5cbiAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlXG4gICAgICAuZ2V0U3RyaW5ncyh7XG4gICAgICAgIGNhbmNlbDogJ3NreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfY2FuY2VsX3RleHQnLFxuICAgICAgICBubzogJ3NreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfbm9fdGV4dCcsXG4gICAgICAgIG9rOiAnc2t5dXhfY29uZmlybV9kaWFsb2dfZGVmYXVsdF9va190ZXh0JyxcbiAgICAgICAgeWVzOiAnc2t5dXhfY29uZmlybV9kaWFsb2dfZGVmYXVsdF95ZXNfdGV4dCcsXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpcm1CdXR0b25zOiBTa3lDb25maXJtQnV0dG9uW10gPSBbXTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMuI2NvbmZpZy50eXBlKSB7XG4gICAgICAgICAgY2FzZSBTa3lDb25maXJtVHlwZS5ZZXNOb0NhbmNlbDpcbiAgICAgICAgICBjYXNlIFNreUNvbmZpcm1UeXBlLlllc0NhbmNlbDpcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25zLnB1c2goe1xuICAgICAgICAgICAgICB0ZXh0OiB2YWx1ZXMueWVzLFxuICAgICAgICAgICAgICBhdXRvZm9jdXM6IHRydWUsXG4gICAgICAgICAgICAgIHN0eWxlVHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICBhY3Rpb246ICd5ZXMnLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLiNjb25maWcudHlwZSA9PT0gU2t5Q29uZmlybVR5cGUuWWVzTm9DYW5jZWwpIHtcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgdGV4dDogdmFsdWVzLm5vLFxuICAgICAgICAgICAgICAgIHN0eWxlVHlwZTogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ25vJyxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25zLnB1c2goe1xuICAgICAgICAgICAgICB0ZXh0OiB2YWx1ZXMuY2FuY2VsLFxuICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdsaW5rJyxcbiAgICAgICAgICAgICAgYWN0aW9uOiAnY2FuY2VsJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25zLnB1c2goe1xuICAgICAgICAgICAgICB0ZXh0OiB2YWx1ZXMub2ssXG4gICAgICAgICAgICAgIGF1dG9mb2N1czogdHJ1ZSxcbiAgICAgICAgICAgICAgc3R5bGVUeXBlOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIGFjdGlvbjogJ29rJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgZW1pdHRlci5uZXh0KGNvbmZpcm1CdXR0b25zKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGVtaXR0ZXIuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAjZ2V0Q3VzdG9tQnV0dG9ucyhcbiAgICBidXR0b25Db25maWc6IFNreUNvbmZpcm1CdXR0b25Db25maWdbXVxuICApOiBTa3lDb25maXJtQnV0dG9uW10ge1xuICAgIHJldHVybiBidXR0b25Db25maWcubWFwKFxuICAgICAgKGNvbmZpZykgPT5cbiAgICAgICAgKHtcbiAgICAgICAgICB0ZXh0OiBjb25maWcudGV4dCxcbiAgICAgICAgICBhY3Rpb246IGNvbmZpZy5hY3Rpb24sXG4gICAgICAgICAgc3R5bGVUeXBlOiBjb25maWcuc3R5bGVUeXBlIHx8ICdkZWZhdWx0JyxcbiAgICAgICAgICBhdXRvZm9jdXM6IGNvbmZpZy5hdXRvZm9jdXMgfHwgZmFsc2UsXG4gICAgICAgIH0gYXMgU2t5Q29uZmlybUJ1dHRvbilcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWNvbmZpcm1cIiBbbmdDbGFzc109XCJ7ICdza3ktY29uZmlybS10eXBlLW9rJzogaXNPa1R5cGUgfVwiPlxuICA8c2t5LW1vZGFsXG4gICAgYXJpYVJvbGU9XCJhbGVydGRpYWxvZ1wiXG4gICAgW2FyaWFMYWJlbGxlZEJ5XT1cImNvbmZpcm1NZXNzYWdlLmlkXCJcbiAgICBbYXJpYURlc2NyaWJlZEJ5XT1cImJvZHkgPyBib2R5SWQgOiB1bmRlZmluZWRcIlxuICA+XG4gICAgPHNreS1tb2RhbC1jb250ZW50IGNsYXNzPVwic2t5LWNvbmZpcm0tY29udGVudFwiPlxuICAgICAgPCEtLVxuICAgICAgICBUaGUgZm9sbG93aW5nIFwibWFnaWMgY29tbWVudFwiIGtlZXBzIFByZXR0aWVyIGZyb20gYWRkaW5nIGxpbmUgYnJlYWtzXG4gICAgICAgIGluc2lkZSB0aGUgZGl2IGFuZCBjYXVzaW5nIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2Ugd2hlblxuICAgICAgICBgcHJlc2VydmVXaGl0ZVNwYWNlYCBpcyBgdHJ1ZWAuXG4gICAgICAgIGh0dHBzOi8vcHJldHRpZXIuaW8vYmxvZy8yMDE4LzExLzA3LzEuMTUuMC5odG1sI3doaXRlc3BhY2Utc2Vuc2l0aXZlLWZvcm1hdHRpbmdcbiAgICAgIC0tPlxuICAgICAgPCEtLSBkaXNwbGF5OiBpbmxpbmUgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2t5LWNvbmZpcm0tbWVzc2FnZVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWNvbmZpcm0tcHJlc2VydmUtd2hpdGUtc3BhY2UnOiBwcmVzZXJ2ZVdoaXRlU3BhY2VcbiAgICAgICAgfVwiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWZvbnQtZGlzcGxheS00JzogJ2RlZmF1bHQnLFxuICAgICAgICAgICdza3ktZm9udC1oZWFkaW5nLTEgc2t5LWZvbnQtZGlzcGxheS0zJzogJ21vZGVybidcbiAgICAgICAgfVwiXG4gICAgICAgIHNreUlkXG4gICAgICAgICNjb25maXJtTWVzc2FnZT1cInNreUlkXCJcbiAgICAgICAgPnt7IG1lc3NhZ2UgfX08L2RpdlxuICAgICAgPlxuXG4gICAgICA8IS0tXG4gICAgICAgIFRoZSBmb2xsb3dpbmcgXCJtYWdpYyBjb21tZW50XCIga2VlcHMgUHJldHRpZXIgZnJvbSBhZGRpbmcgbGluZSBicmVha3NcbiAgICAgICAgaW5zaWRlIHRoZSBkaXYgYW5kIGNhdXNpbmcgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSB3aGVuXG4gICAgICAgIGBwcmVzZXJ2ZVdoaXRlU3BhY2VgIGlzIGB0cnVlYC5cbiAgICAgICAgaHR0cHM6Ly9wcmV0dGllci5pby9ibG9nLzIwMTgvMTEvMDcvMS4xNS4wLmh0bWwjd2hpdGVzcGFjZS1zZW5zaXRpdmUtZm9ybWF0dGluZ1xuICAgICAgLS0+XG4gICAgICA8IS0tIGRpc3BsYXk6IGlubGluZSAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJib2R5XCJcbiAgICAgICAgY2xhc3M9XCJza3ktY29uZmlybS1ib2R5XCJcbiAgICAgICAgW2lkXT1cImJvZHlJZFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWNvbmZpcm0tcHJlc2VydmUtd2hpdGUtc3BhY2UnOiBwcmVzZXJ2ZVdoaXRlU3BhY2VcbiAgICAgICAgfVwiXG4gICAgICAgID57eyBib2R5IH19PC9kaXZcbiAgICAgID5cblxuICAgICAgPGRpdiBjbGFzcz1cInNreS1jb25maXJtLWJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2YgYnV0dG9uc1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuXCJcbiAgICAgICAgICBbbmdDbGFzc109XCInc2t5LWJ0bi0nICsgYnV0dG9uLnN0eWxlVHlwZVwiXG4gICAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ3NreS1tYXJnaW4taW5saW5lLXNtJzogJ21vZGVybicsXG4gICAgICAgICAgICAnc2t5LW1hcmdpbi1pbmxpbmUtY29tcGFjdCc6ICdkZWZhdWx0J1xuICAgICAgICAgIH1cIlxuICAgICAgICAgIChjbGljayk9XCJjbG9zZShidXR0b24pXCJcbiAgICAgICAgICBbYXR0ci5hdXRvZm9jdXNdPVwiYnV0dG9uLmF1dG9mb2N1cyA/ICdhdXRvZm9jdXMnIDogbnVsbFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBidXR0b24udGV4dCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2t5LW1vZGFsLWNvbnRlbnQ+XG4gIDwvc2t5LW1vZGFsPlxuPC9kaXY+XG4iXX0=
|
|
@@ -7,19 +7,19 @@ import { SkyModalsResourcesModule } from '../shared/sky-modals-resources.module'
|
|
|
7
7
|
import { SkyConfirmComponent } from './confirm.component';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class SkyConfirmModule {
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyConfirmModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyConfirmModule, declarations: [SkyConfirmComponent], imports: [CommonModule,
|
|
12
|
+
SkyIdModule,
|
|
13
|
+
SkyModalModule,
|
|
14
|
+
SkyModalsResourcesModule,
|
|
15
|
+
SkyThemeModule], exports: [SkyConfirmComponent] }); }
|
|
16
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyConfirmModule, imports: [CommonModule,
|
|
17
|
+
SkyIdModule,
|
|
18
|
+
SkyModalModule,
|
|
19
|
+
SkyModalsResourcesModule,
|
|
20
|
+
SkyThemeModule] }); }
|
|
10
21
|
}
|
|
11
|
-
|
|
12
|
-
SkyConfirmModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyConfirmModule, declarations: [SkyConfirmComponent], imports: [CommonModule,
|
|
13
|
-
SkyIdModule,
|
|
14
|
-
SkyModalModule,
|
|
15
|
-
SkyModalsResourcesModule,
|
|
16
|
-
SkyThemeModule], exports: [SkyConfirmComponent] });
|
|
17
|
-
SkyConfirmModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyConfirmModule, imports: [CommonModule,
|
|
18
|
-
SkyIdModule,
|
|
19
|
-
SkyModalModule,
|
|
20
|
-
SkyModalsResourcesModule,
|
|
21
|
-
SkyThemeModule] });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyConfirmModule, decorators: [{
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyConfirmModule, decorators: [{
|
|
23
23
|
type: NgModule,
|
|
24
24
|
args: [{
|
|
25
25
|
declarations: [SkyConfirmComponent],
|
|
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
33
33
|
exports: [SkyConfirmComponent],
|
|
34
34
|
}]
|
|
35
35
|
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBYTFELE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQVZaLG1CQUFtQixhQUVoQyxZQUFZO1lBQ1osV0FBVztZQUNYLGNBQWM7WUFDZCx3QkFBd0I7WUFDeEIsY0FBYyxhQUVOLG1CQUFtQjsrR0FFbEIsZ0JBQWdCLFlBUnpCLFlBQVk7WUFDWixXQUFXO1lBQ1gsY0FBYztZQUNkLHdCQUF3QjtZQUN4QixjQUFjOzsyRkFJTCxnQkFBZ0I7a0JBWDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJZE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5TW9kYWxNb2R1bGUgfSBmcm9tICcuLi9tb2RhbC9tb2RhbC5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5TW9kYWxzUmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1tb2RhbHMtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreUNvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbmZpcm0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5Q29uZmlybUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5SWRNb2R1bGUsXG4gICAgU2t5TW9kYWxNb2R1bGUsXG4gICAgU2t5TW9kYWxzUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2t5Q29uZmlybUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUNvbmZpcm1Nb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { SKY_CONFIRM_CONFIG } from './confirm-config-token';
|
|
3
|
+
import { SkyConfirmInstance } from './confirm-instance';
|
|
4
|
+
import { SkyConfirmComponent } from './confirm.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../modal/modal.service";
|
|
7
|
+
/**
|
|
8
|
+
* Launches a dialog.
|
|
9
|
+
*/
|
|
10
|
+
export class SkyConfirmService {
|
|
11
|
+
#modalService;
|
|
12
|
+
constructor(modalService) {
|
|
13
|
+
this.#modalService = modalService;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Opens a dialog using the specified options.
|
|
17
|
+
* @param config Specifies configuration options for the dialog.
|
|
18
|
+
*/
|
|
19
|
+
open(config) {
|
|
20
|
+
const modalInstance = this.#modalService.open(SkyConfirmComponent, {
|
|
21
|
+
providers: [
|
|
22
|
+
{
|
|
23
|
+
provide: SKY_CONFIRM_CONFIG,
|
|
24
|
+
useValue: config,
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
});
|
|
28
|
+
const confirmInstance = new SkyConfirmInstance();
|
|
29
|
+
modalInstance.closed.subscribe((args) => {
|
|
30
|
+
let result = args.data;
|
|
31
|
+
// The modal was closed using the ESC key.
|
|
32
|
+
if (result === undefined) {
|
|
33
|
+
result = {
|
|
34
|
+
action: 'cancel',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
confirmInstance.closed.emit(result);
|
|
38
|
+
confirmInstance.closed.complete();
|
|
39
|
+
});
|
|
40
|
+
return confirmInstance;
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyConfirmService, deps: [{ token: i1.SkyModalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
43
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyConfirmService, providedIn: 'any' }); }
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyConfirmService, decorators: [{
|
|
46
|
+
type: Injectable,
|
|
47
|
+
args: [{
|
|
48
|
+
// Must be 'any' so that the modal component is created in the context of its module's injector.
|
|
49
|
+
// If set to 'root', the component's dependency injections would only be derived from the root
|
|
50
|
+
// injector and may loose context if the modal was opened from within a lazy-loaded module.
|
|
51
|
+
providedIn: 'any',
|
|
52
|
+
}]
|
|
53
|
+
}], ctorParameters: function () { return [{ type: i1.SkyModalService }]; } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvY29uZmlybS9jb25maXJtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRTFEOztHQUVHO0FBT0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixhQUFhLENBQWtCO0lBRS9CLFlBQVksWUFBNkI7UUFDdkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLElBQUksQ0FBQyxNQUF3QjtRQUNsQyxNQUFNLGFBQWEsR0FBcUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQzdELG1CQUFtQixFQUNuQjtZQUNFLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixRQUFRLEVBQUUsTUFBTTtpQkFDakI7YUFDRjtTQUNGLENBQ0YsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUVqRCxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQXVCLEVBQUUsRUFBRTtZQUN6RCxJQUFJLE1BQU0sR0FBNkIsSUFBSSxDQUFDLElBQUksQ0FBQztZQUVqRCwwQ0FBMEM7WUFDMUMsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO2dCQUN4QixNQUFNLEdBQUc7b0JBQ1AsTUFBTSxFQUFFLFFBQVE7aUJBQ2pCLENBQUM7YUFDSDtZQUVELGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BDLGVBQWUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDOzhHQXpDVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixLQUFLOzsyRkFFTixpQkFBaUI7a0JBTjdCLFVBQVU7bUJBQUM7b0JBQ1YsZ0dBQWdHO29CQUNoRyw4RkFBOEY7b0JBQzlGLDJGQUEyRjtvQkFDM0YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbENsb3NlQXJncyB9IGZyb20gJy4uL21vZGFsL21vZGFsLWNsb3NlLWFyZ3MnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4uL21vZGFsL21vZGFsLWluc3RhbmNlJztcbmltcG9ydCB7IFNreU1vZGFsU2VydmljZSB9IGZyb20gJy4uL21vZGFsL21vZGFsLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MgfSBmcm9tICcuL2NvbmZpcm0tY2xvc2VkLWV2ZW50LWFyZ3MnO1xuaW1wb3J0IHsgU2t5Q29uZmlybUNvbmZpZyB9IGZyb20gJy4vY29uZmlybS1jb25maWcnO1xuaW1wb3J0IHsgU0tZX0NPTkZJUk1fQ09ORklHIH0gZnJvbSAnLi9jb25maXJtLWNvbmZpZy10b2tlbic7XG5pbXBvcnQgeyBTa3lDb25maXJtSW5zdGFuY2UgfSBmcm9tICcuL2NvbmZpcm0taW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5Q29uZmlybUNvbXBvbmVudCB9IGZyb20gJy4vY29uZmlybS5jb21wb25lbnQnO1xuXG4vKipcbiAqIExhdW5jaGVzIGEgZGlhbG9nLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIC8vIE11c3QgYmUgJ2FueScgc28gdGhhdCB0aGUgbW9kYWwgY29tcG9uZW50IGlzIGNyZWF0ZWQgaW4gdGhlIGNvbnRleHQgb2YgaXRzIG1vZHVsZSdzIGluamVjdG9yLlxuICAvLyBJZiBzZXQgdG8gJ3Jvb3QnLCB0aGUgY29tcG9uZW50J3MgZGVwZW5kZW5jeSBpbmplY3Rpb25zIHdvdWxkIG9ubHkgYmUgZGVyaXZlZCBmcm9tIHRoZSByb290XG4gIC8vIGluamVjdG9yIGFuZCBtYXkgbG9vc2UgY29udGV4dCBpZiB0aGUgbW9kYWwgd2FzIG9wZW5lZCBmcm9tIHdpdGhpbiBhIGxhenktbG9hZGVkIG1vZHVsZS5cbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUNvbmZpcm1TZXJ2aWNlIHtcbiAgI21vZGFsU2VydmljZTogU2t5TW9kYWxTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKG1vZGFsU2VydmljZTogU2t5TW9kYWxTZXJ2aWNlKSB7XG4gICAgdGhpcy4jbW9kYWxTZXJ2aWNlID0gbW9kYWxTZXJ2aWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgZGlhbG9nIHVzaW5nIHRoZSBzcGVjaWZpZWQgb3B0aW9ucy5cbiAgICogQHBhcmFtIGNvbmZpZyBTcGVjaWZpZXMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgZGlhbG9nLlxuICAgKi9cbiAgcHVibGljIG9wZW4oY29uZmlnOiBTa3lDb25maXJtQ29uZmlnKTogU2t5Q29uZmlybUluc3RhbmNlIHtcbiAgICBjb25zdCBtb2RhbEluc3RhbmNlOiBTa3lNb2RhbEluc3RhbmNlID0gdGhpcy4jbW9kYWxTZXJ2aWNlLm9wZW4oXG4gICAgICBTa3lDb25maXJtQ29tcG9uZW50LFxuICAgICAge1xuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBTS1lfQ09ORklSTV9DT05GSUcsXG4gICAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IGNvbmZpcm1JbnN0YW5jZSA9IG5ldyBTa3lDb25maXJtSW5zdGFuY2UoKTtcblxuICAgIG1vZGFsSW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgoYXJnczogU2t5TW9kYWxDbG9zZUFyZ3MpID0+IHtcbiAgICAgIGxldCByZXN1bHQ6IFNreUNvbmZpcm1DbG9zZUV2ZW50QXJncyA9IGFyZ3MuZGF0YTtcblxuICAgICAgLy8gVGhlIG1vZGFsIHdhcyBjbG9zZWQgdXNpbmcgdGhlIEVTQyBrZXkuXG4gICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgIGFjdGlvbjogJ2NhbmNlbCcsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGNvbmZpcm1JbnN0YW5jZS5jbG9zZWQuZW1pdChyZXN1bHQpO1xuICAgICAgY29uZmlybUluc3RhbmNlLmNsb3NlZC5jb21wbGV0ZSgpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvbmZpcm1JbnN0YW5jZTtcbiAgfVxufVxuIl19
|
|
@@ -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
|
-
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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
|