@skyux/modals 5.0.0-beta.5 → 5.0.2

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 (42) hide show
  1. package/bundles/skyux-modals-testing.umd.js +4 -6
  2. package/bundles/skyux-modals-testing.umd.js.map +1 -1
  3. package/bundles/skyux-modals.umd.js +207 -218
  4. package/bundles/skyux-modals.umd.js.map +1 -1
  5. package/documentation.json +468 -374
  6. package/esm2015/modules/confirm/confirm-button.js +1 -1
  7. package/esm2015/modules/confirm/confirm-config.js +1 -1
  8. package/esm2015/modules/confirm/confirm-instance.js +1 -1
  9. package/esm2015/modules/confirm/confirm-modal-context.js +1 -1
  10. package/esm2015/modules/confirm/confirm-type.js +1 -1
  11. package/esm2015/modules/confirm/confirm.component.js +20 -18
  12. package/esm2015/modules/confirm/confirm.module.js +10 -16
  13. package/esm2015/modules/confirm/confirm.service.js +11 -9
  14. package/esm2015/modules/modal/modal-adapter.service.js +4 -4
  15. package/esm2015/modules/modal/modal-before-close-handler.js +1 -1
  16. package/esm2015/modules/modal/modal-component-adapter.service.js +15 -43
  17. package/esm2015/modules/modal/modal-configuration.js +5 -5
  18. package/esm2015/modules/modal/modal-content.component.js +5 -5
  19. package/esm2015/modules/modal/modal-footer.component.js +5 -5
  20. package/esm2015/modules/modal/modal-header.component.js +5 -7
  21. package/esm2015/modules/modal/modal-host.component.js +11 -13
  22. package/esm2015/modules/modal/modal-host.service.js +8 -7
  23. package/esm2015/modules/modal/modal-instance.js +1 -1
  24. package/esm2015/modules/modal/modal-scroll-shadow-event-args.js +1 -1
  25. package/esm2015/modules/modal/modal-scroll-shadow.directive.js +11 -13
  26. package/esm2015/modules/modal/modal-state-animation.js +4 -9
  27. package/esm2015/modules/modal/modal.component.js +39 -23
  28. package/esm2015/modules/modal/modal.interface.js +1 -1
  29. package/esm2015/modules/modal/modal.module.js +10 -12
  30. package/esm2015/modules/modal/modal.service.js +14 -12
  31. package/esm2015/modules/shared/sky-modals-resources.module.js +25 -12
  32. package/esm2015/public-api.js +3 -1
  33. package/esm2015/testing/modal-fixture.js +3 -5
  34. package/fesm2015/skyux-modals-testing.js +2 -4
  35. package/fesm2015/skyux-modals-testing.js.map +1 -1
  36. package/fesm2015/skyux-modals.js +186 -198
  37. package/fesm2015/skyux-modals.js.map +1 -1
  38. package/modules/modal/modal-component-adapter.service.d.ts +3 -4
  39. package/modules/modal/modal-configuration.d.ts +1 -0
  40. package/modules/modal/modal.component.d.ts +8 -4
  41. package/modules/modal/modal.interface.d.ts +5 -0
  42. package/package.json +9 -9
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, NgModule, Component, ViewEncapsulation, Injectable, Injector, ViewContainerRef, ViewChild, Directive, Optional, Output, HostListener, Input } from '@angular/core';
2
+ import { EventEmitter, NgModule, Component, ViewEncapsulation, Injectable, Injector, ViewContainerRef, ViewChild, Directive, Optional, Output, HostListener, ElementRef, Host, HostBinding, Input } from '@angular/core';
3
3
  import * as i6 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@skyux/theme';
@@ -8,10 +8,11 @@ import * as i2 from '@angular/router';
8
8
  import { NavigationStart, RouterModule } from '@angular/router';
9
9
  import * as i5 from '@skyux/indicators';
10
10
  import { SkyIconModule } from '@skyux/indicators';
11
- import * as i3 from '@skyux/i18n';
11
+ import * as i3$1 from '@skyux/i18n';
12
12
  import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
13
13
  import { takeWhile, takeUntil } from 'rxjs/operators';
14
- import * as i1$1 from '@skyux/core';
14
+ import * as i3 from '@skyux/core';
15
+ import { SkyDockLocation, SkyDockService } from '@skyux/core';
15
16
  import { Subject, BehaviorSubject, zip } from 'rxjs';
16
17
  import { trigger, state, style, transition, animate } from '@angular/animations';
17
18
 
@@ -62,7 +63,16 @@ var SkyConfirmType;
62
63
  * To update this file, simply rerun the command.
63
64
  */
64
65
  const RESOURCES = {
65
- 'EN-US': { "skyux_confirm_dialog_default_ok_text": { "message": "OK" }, "skyux_confirm_dialog_default_yes_text": { "message": "Yes" }, "skyux_confirm_dialog_default_no_text": { "message": "No" }, "skyux_confirm_dialog_default_cancel_text": { "message": "Cancel" }, "skyux_modal_close": { "message": "Close modal" }, "skyux_modal_open_help": { "message": "Open Help" }, "skyux_modal_footer_cancel_button": { "message": "Cancel" }, "skyux_modal_footer_primary_button": { "message": "Save" } },
66
+ 'EN-US': {
67
+ skyux_confirm_dialog_default_ok_text: { message: 'OK' },
68
+ skyux_confirm_dialog_default_yes_text: { message: 'Yes' },
69
+ skyux_confirm_dialog_default_no_text: { message: 'No' },
70
+ skyux_confirm_dialog_default_cancel_text: { message: 'Cancel' },
71
+ skyux_modal_close: { message: 'Close modal' },
72
+ skyux_modal_open_help: { message: 'Open Help' },
73
+ skyux_modal_footer_cancel_button: { message: 'Cancel' },
74
+ skyux_modal_footer_primary_button: { message: 'Save' },
75
+ },
66
76
  };
67
77
  class SkyModalsResourcesProvider {
68
78
  getString(localeInfo, name) {
@@ -74,22 +84,26 @@ class SkyModalsResourcesProvider {
74
84
  */
75
85
  class SkyModalsResourcesModule {
76
86
  }
77
- SkyModalsResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalsResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
78
- SkyModalsResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalsResourcesModule, exports: [SkyI18nModule] });
79
- SkyModalsResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalsResourcesModule, providers: [{
87
+ SkyModalsResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalsResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
88
+ SkyModalsResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalsResourcesModule, exports: [SkyI18nModule] });
89
+ SkyModalsResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalsResourcesModule, providers: [
90
+ {
80
91
  provide: SKY_LIB_RESOURCES_PROVIDERS,
81
92
  useClass: SkyModalsResourcesProvider,
82
- multi: true
83
- }], imports: [SkyI18nModule] });
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalsResourcesModule, decorators: [{
93
+ multi: true,
94
+ },
95
+ ], imports: [SkyI18nModule] });
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalsResourcesModule, decorators: [{
85
97
  type: NgModule,
86
98
  args: [{
87
99
  exports: [SkyI18nModule],
88
- providers: [{
100
+ providers: [
101
+ {
89
102
  provide: SKY_LIB_RESOURCES_PROVIDERS,
90
103
  useClass: SkyModalsResourcesProvider,
91
- multi: true
92
- }]
104
+ multi: true,
105
+ },
106
+ ],
93
107
  }]
94
108
  }] });
95
109
 
@@ -98,15 +112,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
98
112
  */
99
113
  class SkyModalContentComponent {
100
114
  }
101
- SkyModalContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
102
- SkyModalContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", 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 });
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalContentComponent, decorators: [{
115
+ SkyModalContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
116
+ SkyModalContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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 });
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalContentComponent, decorators: [{
104
118
  type: Component,
105
119
  args: [{
106
120
  selector: 'sky-modal-content',
107
121
  templateUrl: './modal-content.component.html',
108
122
  styleUrls: ['./modal-content.component.scss'],
109
- encapsulation: ViewEncapsulation.None
123
+ encapsulation: ViewEncapsulation.None,
110
124
  }]
111
125
  }] });
112
126
 
@@ -115,14 +129,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
115
129
  */
116
130
  class SkyModalFooterComponent {
117
131
  }
118
- SkyModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
119
- SkyModalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: SkyModalFooterComponent, selector: "sky-modal-footer", ngImport: i0, template: "<div class=\"sky-modal-footer-container sky-padding-even-large\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-modal-footer-container{background-color:#fff;border-top:1px solid #e2e3e4}.sky-modal-footer-container ::ng-deep .sky-btn-link:first-child{margin-left:-12px}:host-context(.sky-theme-modern) .sky-modal-footer-container{border-top:none;padding:20px 30px}.sky-theme-modern .sky-modal-footer-container{border-top:none;padding:20px 30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-footer-container{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-modal-footer-container{background-color:transparent}\n"] });
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalFooterComponent, decorators: [{
132
+ SkyModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
133
+ SkyModalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyModalFooterComponent, selector: "sky-modal-footer", ngImport: i0, template: "<div class=\"sky-modal-footer-container sky-padding-even-large\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-modal-footer-container{background-color:#fff;border-top:1px solid #e2e3e4}.sky-modal-footer-container ::ng-deep .sky-btn-link:first-child{margin-left:-12px}:host-context(.sky-theme-modern) .sky-modal-footer-container{border-top:none;padding:20px 30px}.sky-theme-modern .sky-modal-footer-container{border-top:none;padding:20px 30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-footer-container{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-modal-footer-container{background-color:transparent}\n"] });
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalFooterComponent, decorators: [{
121
135
  type: Component,
122
136
  args: [{
123
137
  selector: 'sky-modal-footer',
124
138
  templateUrl: './modal-footer.component.html',
125
- styleUrls: ['./modal-footer.component.scss']
139
+ styleUrls: ['./modal-footer.component.scss'],
126
140
  }]
127
141
  }] });
128
142
 
@@ -131,16 +145,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
131
145
  */
132
146
  class SkyModalHeaderComponent {
133
147
  }
134
- SkyModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
135
- SkyModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: SkyModalHeaderComponent, selector: "sky-modal-header", ngImport: i0, template: "<h1\n class=\"sky-emphasized\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n>\n <ng-content></ng-content>\n</h1>\n", styles: ["h1{margin:0;line-height:1.2}:host-context(.sky-theme-modern.sky-theme-mode-dark) h1{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark h1{color:#fbfcfe}\n"], directives: [{ type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }] });
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalHeaderComponent, decorators: [{
148
+ SkyModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
149
+ SkyModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyModalHeaderComponent, selector: "sky-modal-header", ngImport: i0, template: "<h1\n class=\"sky-emphasized\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n>\n <ng-content></ng-content>\n</h1>\n", styles: ["h1{margin:0;line-height:1.2}:host-context(.sky-theme-modern.sky-theme-mode-dark) h1{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark h1{color:#fbfcfe}\n"], directives: [{ type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }] });
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalHeaderComponent, decorators: [{
137
151
  type: Component,
138
152
  args: [{
139
153
  selector: 'sky-modal-header',
140
154
  templateUrl: './modal-header.component.html',
141
- styleUrls: [
142
- './modal-header.component.scss'
143
- ]
155
+ styleUrls: ['./modal-header.component.scss'],
144
156
  }]
145
157
  }] });
146
158
 
@@ -181,11 +193,11 @@ class SkyModalAdapterService {
181
193
  }
182
194
  SkyModalAdapterService.MODAL_BODY_FULL_CLASS = 'sky-modal-body-full-page';
183
195
  SkyModalAdapterService.MODAL_BODY_CLASS = 'sky-modal-body-open';
184
- SkyModalAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalAdapterService, deps: [{ token: i1$1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
185
- SkyModalAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalAdapterService });
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalAdapterService, decorators: [{
196
+ SkyModalAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalAdapterService, deps: [{ token: i3.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
197
+ SkyModalAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalAdapterService });
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalAdapterService, decorators: [{
187
199
  type: Injectable
188
- }], ctorParameters: function () { return [{ type: i1$1.SkyAppWindowRef }]; } });
200
+ }], ctorParameters: function () { return [{ type: i3.SkyAppWindowRef }]; } });
189
201
 
190
202
  /**
191
203
  * @internal
@@ -202,14 +214,15 @@ class SkyModalHostService {
202
214
  return SkyModalHostService.modalHosts.length;
203
215
  }
204
216
  static get fullPageModalCount() {
205
- let fullPageModals = SkyModalHostService.modalHosts.filter(modal => modal.fullPage);
217
+ let fullPageModals = SkyModalHostService.modalHosts.filter((modal) => modal.fullPage);
206
218
  return fullPageModals.length;
207
219
  }
208
220
  static get BASE_Z_INDEX() {
209
221
  return 1040;
210
222
  }
211
223
  static get backdropZIndex() {
212
- return SkyModalHostService.BASE_Z_INDEX + SkyModalHostService.modalHosts.length * 10;
224
+ return (SkyModalHostService.BASE_Z_INDEX +
225
+ SkyModalHostService.modalHosts.length * 10);
213
226
  }
214
227
  static get topModal() {
215
228
  return SkyModalHostService.modalHosts[SkyModalHostService.modalHosts.length - 1];
@@ -230,12 +243,12 @@ class SkyModalHostService {
230
243
  }
231
244
  }
232
245
  SkyModalHostService.modalHosts = [];
233
- SkyModalHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalHostService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
234
- SkyModalHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalHostService, providedIn: 'root' });
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalHostService, decorators: [{
246
+ SkyModalHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalHostService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
247
+ SkyModalHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalHostService, providedIn: 'root' });
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalHostService, decorators: [{
236
249
  type: Injectable,
237
250
  args: [{
238
- providedIn: 'root'
251
+ providedIn: 'root',
239
252
  }]
240
253
  }], ctorParameters: function () { return []; } });
241
254
 
@@ -248,12 +261,12 @@ class SkyModalConfiguration {
248
261
  this.size = 'medium';
249
262
  }
250
263
  }
251
- SkyModalConfiguration.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
252
- SkyModalConfiguration.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalConfiguration, providedIn: 'any' });
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalConfiguration, decorators: [{
264
+ SkyModalConfiguration.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
265
+ SkyModalConfiguration.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalConfiguration, providedIn: 'any' });
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalConfiguration, decorators: [{
254
267
  type: Injectable,
255
268
  args: [{
256
- providedIn: 'any'
269
+ providedIn: 'any',
257
270
  }]
258
271
  }], ctorParameters: function () { return []; } });
259
272
 
@@ -284,18 +297,18 @@ class SkyModalHostComponent {
284
297
  let isOpen = true;
285
298
  params.providers.push({
286
299
  provide: SkyModalHostService,
287
- useValue: hostService
300
+ useValue: hostService,
288
301
  });
289
302
  params.providers.push({
290
303
  provide: SkyModalConfiguration,
291
- useValue: params
304
+ useValue: params,
292
305
  });
293
306
  adapter.setPageScroll(SkyModalHostService.openModalCount > 0);
294
307
  adapter.toggleFullPageModalClass(SkyModalHostService.fullPageModalCount > 0);
295
308
  let providers = params.providers || /* istanbul ignore next */ [];
296
309
  const injector = Injector.create({
297
310
  providers,
298
- parent: this.injector
311
+ parent: this.injector,
299
312
  });
300
313
  let modalComponentRef = this.target.createComponent(factory, undefined, injector);
301
314
  modalInstance.componentInstance = modalComponentRef.instance;
@@ -316,9 +329,7 @@ class SkyModalHostComponent {
316
329
  hostService.close.subscribe(() => {
317
330
  modalInstance.close();
318
331
  });
319
- this.router.events
320
- .pipe(takeWhile(() => isOpen))
321
- .subscribe((event) => {
332
+ this.router.events.pipe(takeWhile(() => isOpen)).subscribe((event) => {
322
333
  /* istanbul ignore else */
323
334
  if (event instanceof NavigationStart) {
324
335
  modalInstance.close();
@@ -332,21 +343,21 @@ class SkyModalHostComponent {
332
343
  this.changeDetector.detectChanges();
333
344
  }
334
345
  }
335
- SkyModalHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalHostComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: SkyModalAdapterService }, { token: i0.Injector }, { token: i2.Router }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
336
- SkyModalHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", 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>\n</div>\n<div #target></div>\n", styles: [".sky-modal-host-backdrop{background-color:#00000080;position:fixed;top:0;left:0;bottom:0;right:0}\n"], directives: [{ type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], viewProviders: [SkyModalAdapterService] });
337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalHostComponent, decorators: [{
346
+ SkyModalHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalHostComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: SkyModalAdapterService }, { token: i0.Injector }, { token: i2.Router }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
347
+ SkyModalHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyModalHostComponent, selector: "sky-modal-host", viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-modal-host-backdrop\"\n [hidden]=\"!modalOpen\"\n [ngStyle]=\"{\n zIndex: backdropZIndex\n }\"\n></div>\n<div #target></div>\n", styles: [".sky-modal-host-backdrop{background-color:#00000080;position:fixed;top:0;left:0;bottom:0;right:0}\n"], directives: [{ type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], viewProviders: [SkyModalAdapterService] });
348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalHostComponent, decorators: [{
338
349
  type: Component,
339
350
  args: [{
340
351
  selector: 'sky-modal-host',
341
352
  templateUrl: './modal-host.component.html',
342
353
  styleUrls: ['./modal-host.component.scss'],
343
- viewProviders: [SkyModalAdapterService]
354
+ viewProviders: [SkyModalAdapterService],
344
355
  }]
345
356
  }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: SkyModalAdapterService }, { type: i0.Injector }, { type: i2.Router }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { target: [{
346
357
  type: ViewChild,
347
358
  args: ['target', {
348
359
  read: ViewContainerRef,
349
- static: true
360
+ static: true,
350
361
  }]
351
362
  }] } });
352
363
 
@@ -382,7 +393,7 @@ class SkyModalScrollShadowDirective {
382
393
  else {
383
394
  this.emitShadow({
384
395
  bottomShadow: 'none',
385
- topShadow: 'none'
396
+ topShadow: 'none',
386
397
  });
387
398
  this.destroyMutationObserver();
388
399
  }
@@ -408,7 +419,7 @@ class SkyModalScrollShadowDirective {
408
419
  attributes: true,
409
420
  characterData: true,
410
421
  childList: true,
411
- subtree: true
422
+ subtree: true,
412
423
  });
413
424
  });
414
425
  }
@@ -423,10 +434,10 @@ class SkyModalScrollShadowDirective {
423
434
  if (this.currentTheme === SkyTheme.presets.modern) {
424
435
  const el = this.elRef.nativeElement;
425
436
  const topShadow = this.buildShadowStyle(el.scrollTop);
426
- const bottomShadow = this.buildShadowStyle((el.scrollHeight - el.scrollTop) - el.clientHeight);
437
+ const bottomShadow = this.buildShadowStyle(el.scrollHeight - el.scrollTop - el.clientHeight);
427
438
  this.emitShadow({
428
439
  bottomShadow,
429
- topShadow
440
+ topShadow,
430
441
  });
431
442
  }
432
443
  }
@@ -434,9 +445,7 @@ class SkyModalScrollShadowDirective {
434
445
  // Progressively darken the shadow until the user scrolls 30 pixels from the top or bottom
435
446
  // of the scrollable element, with a max opacity of 0.3.
436
447
  const opacity = Math.min(pixelsFromEnd / 30, 1) * 0.3;
437
- return opacity > 0 ?
438
- `0px 1px 8px 0px rgba(0, 0, 0, ${opacity})` :
439
- 'none';
448
+ return opacity > 0 ? `0px 1px 8px 0px rgba(0, 0, 0, ${opacity})` : 'none';
440
449
  }
441
450
  emitShadow(shadow) {
442
451
  if (!this.currentShadow ||
@@ -447,16 +456,16 @@ class SkyModalScrollShadowDirective {
447
456
  }
448
457
  }
449
458
  }
450
- SkyModalScrollShadowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalScrollShadowDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyThemeService, optional: true }, { token: i1$1.MutationObserverService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
451
- SkyModalScrollShadowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: SkyModalScrollShadowDirective, selector: "[skyModalScrollShadow]", outputs: { skyModalScrollShadow: "skyModalScrollShadow" }, host: { listeners: { "window:resize": "windowResize()", "scroll": "scroll()" } }, ngImport: i0 });
452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalScrollShadowDirective, decorators: [{
459
+ SkyModalScrollShadowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalScrollShadowDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyThemeService, optional: true }, { token: i3.MutationObserverService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
460
+ SkyModalScrollShadowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: SkyModalScrollShadowDirective, selector: "[skyModalScrollShadow]", outputs: { skyModalScrollShadow: "skyModalScrollShadow" }, host: { listeners: { "window:resize": "windowResize()", "scroll": "scroll()" } }, ngImport: i0 });
461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalScrollShadowDirective, decorators: [{
453
462
  type: Directive,
454
463
  args: [{
455
- selector: '[skyModalScrollShadow]'
464
+ selector: '[skyModalScrollShadow]',
456
465
  }]
457
466
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SkyThemeService, decorators: [{
458
467
  type: Optional
459
- }] }, { type: i1$1.MutationObserverService }, { type: i0.NgZone }]; }, propDecorators: { skyModalScrollShadow: [{
468
+ }] }, { type: i3.MutationObserverService }, { type: i0.NgZone }]; }, propDecorators: { skyModalScrollShadow: [{
460
469
  type: Output
461
470
  }], windowResize: [{
462
471
  type: HostListener,
@@ -466,16 +475,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
466
475
  args: ['scroll']
467
476
  }] } });
468
477
 
469
- /* tslint:disable */
470
- let tabbableSelector = 'a[href], area[href], input:not([disabled]):not([tabindex=\'-1\']), ' +
471
- 'button:not([disabled]):not([tabindex=\'-1\']),select:not([disabled]):not([tabindex=\'-1\']), textarea:not([disabled]):not([tabindex=\'-1\']), ' +
472
- 'iframe, object, embed, *[tabindex]:not([tabindex=\'-1\']), *[contenteditable=true]';
473
- /* tslint:enable */
474
478
  /**
475
479
  * @internal
476
480
  */
477
481
  class SkyModalComponentAdapterService {
478
- constructor() { }
482
+ constructor(coreAdapter) {
483
+ this.coreAdapter = coreAdapter;
484
+ }
479
485
  handleWindowChange(modalEl) {
480
486
  let boundedHeightEl = modalEl.nativeElement.querySelector('.sky-modal');
481
487
  let fullPageModalEl = modalEl.nativeElement.querySelector('.sky-modal-full-page');
@@ -497,9 +503,6 @@ class SkyModalComponentAdapterService {
497
503
  modalContentEl.style.maxHeight = contentHeight.toString() + 'px';
498
504
  }
499
505
  }
500
- loadFocusElementList(modalEl) {
501
- return this.loadFocusableChildren(modalEl.nativeElement);
502
- }
503
506
  isFocusInFirstItem(event, list) {
504
507
  /* istanbul ignore next */
505
508
  /* sanity check */
@@ -516,8 +519,8 @@ class SkyModalComponentAdapterService {
516
519
  /* istanbul ignore next */
517
520
  /* sanity check */
518
521
  let eventTarget = event.target || event.srcElement;
519
- return modalEl &&
520
- eventTarget === modalEl.nativeElement.querySelector('.sky-modal-dialog');
522
+ return (modalEl &&
523
+ eventTarget === modalEl.nativeElement.querySelector('.sky-modal-dialog'));
521
524
  }
522
525
  focusLastElement(list) {
523
526
  if (list.length > 0) {
@@ -536,7 +539,8 @@ class SkyModalComponentAdapterService {
536
539
  modalOpened(modalEl) {
537
540
  /* istanbul ignore else */
538
541
  /* handle the case where somehow there is a focused element already in the modal */
539
- if (!(document.activeElement && modalEl.nativeElement.contains(document.activeElement))) {
542
+ if (!(document.activeElement &&
543
+ modalEl.nativeElement.contains(document.activeElement))) {
540
544
  let currentScrollX = window.pageXOffset;
541
545
  let currentScrollY = window.pageYOffset;
542
546
  let inputWithAutofocus = modalEl.nativeElement.querySelector('[autofocus]');
@@ -544,61 +548,32 @@ class SkyModalComponentAdapterService {
544
548
  inputWithAutofocus.focus();
545
549
  }
546
550
  else {
547
- let focusEl = modalEl.nativeElement.querySelector('.sky-modal-content');
548
- let focusableChildren = this.loadFocusableChildren(focusEl);
549
- // Focus first focusable child if available. Otherwise focus content pane.
550
- if (!this.focusFirstElement(focusableChildren)) {
551
- focusEl.focus();
552
- }
551
+ this.coreAdapter.getFocusableChildrenAndApplyFocus(modalEl, '.sky-modal-content', true);
553
552
  }
554
553
  window.scrollTo(currentScrollX, currentScrollY);
555
554
  }
556
555
  }
557
- loadFocusableChildren(elem) {
558
- let elements = Array.prototype.slice.call(elem.querySelectorAll(tabbableSelector));
559
- return elements.filter((element) => {
560
- return this.isVisible(element);
561
- });
562
- }
563
- isVisible(element) {
564
- const style = window.getComputedStyle(element);
565
- const isHidden = style.display === 'none' || style.visibility === 'hidden';
566
- if (isHidden) {
567
- return false;
568
- }
569
- const hasBounds = !!(element.offsetWidth ||
570
- /* istanbul ignore next */
571
- element.offsetHeight ||
572
- /* istanbul ignore next */
573
- element.getClientRects().length);
574
- return hasBounds;
575
- }
576
556
  setFullPageHeight(fullPageModalEl) {
577
557
  const windowHeight = window.innerHeight;
578
558
  const fullPageModalStyle = getComputedStyle(fullPageModalEl);
579
559
  const marginTopBottom = parseInt(fullPageModalStyle.marginTop, 10) +
580
560
  parseInt(fullPageModalStyle.marginBottom, 10);
581
- const fullPageModalHeight = (windowHeight - marginTopBottom) + 'px';
561
+ const fullPageModalHeight = windowHeight - marginTopBottom + 'px';
582
562
  fullPageModalEl.style.height = fullPageModalHeight;
583
563
  fullPageModalEl.style.maxHeight = fullPageModalHeight;
584
564
  }
585
565
  }
586
- SkyModalComponentAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalComponentAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
587
- SkyModalComponentAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalComponentAdapterService });
588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalComponentAdapterService, decorators: [{
566
+ SkyModalComponentAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalComponentAdapterService, deps: [{ token: i3.SkyCoreAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
567
+ SkyModalComponentAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalComponentAdapterService });
568
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalComponentAdapterService, decorators: [{
589
569
  type: Injectable
590
- }], ctorParameters: function () { return []; } });
570
+ }], ctorParameters: function () { return [{ type: i3.SkyCoreAdapterService }]; } });
591
571
 
592
572
  const skyAnimationModalState = trigger('modalState', [
593
573
  state('in', style({ opacity: '1.0' })),
594
574
  state('out', style({ opacity: '0.0' })),
595
- transition('void => *', [
596
- style({ opacity: '0.0' }),
597
- animate(150)
598
- ]),
599
- transition('* => void', [
600
- animate(150, style({ opacity: '0.0' }))
601
- ])
575
+ transition('void => *', [style({ opacity: '0.0' }), animate(150)]),
576
+ transition('* => void', [animate(150, style({ opacity: '0.0' }))]),
602
577
  ]);
603
578
 
604
579
  let skyModalUniqueIdentifier = 0;
@@ -609,16 +584,21 @@ let skyModalUniqueIdentifier = 0;
609
584
  * [write unit tests for modals](https://developer.blackbaud.com/skyux/learn/get-started/advanced/unit-test-modals).
610
585
  */
611
586
  class SkyModalComponent {
612
- constructor(hostService, config, elRef, windowRef, componentAdapter) {
587
+ constructor(hostService, config, elRef, windowRef, componentAdapter, coreAdapter, dockService) {
613
588
  this.hostService = hostService;
614
589
  this.config = config;
615
590
  this.elRef = elRef;
616
591
  this.windowRef = windowRef;
617
592
  this.componentAdapter = componentAdapter;
593
+ this.coreAdapter = coreAdapter;
594
+ this.dockService = dockService;
618
595
  this.modalState = 'in';
619
596
  this.modalContentId = 'sky-modal-content-id-' + skyModalUniqueIdentifier.toString();
620
597
  this.modalHeaderId = 'sky-modal-header-id-' + skyModalUniqueIdentifier.toString();
621
598
  }
599
+ get wrapperClass() {
600
+ return this.config.wrapperClass;
601
+ }
622
602
  /**
623
603
  * @internal
624
604
  */
@@ -667,7 +647,8 @@ class SkyModalComponent {
667
647
  if (SkyModalHostService.openModalCount > 0) {
668
648
  let topModal = SkyModalHostService.topModal;
669
649
  if (topModal && topModal === this.hostService) {
670
- if (event.which === 27) { // Escape key up
650
+ if (event.which === 27) {
651
+ // Escape key up
671
652
  event.preventDefault();
672
653
  this.closeButtonClick();
673
654
  }
@@ -680,16 +661,20 @@ class SkyModalComponent {
680
661
  if (SkyModalHostService.openModalCount > 0) {
681
662
  let topModal = SkyModalHostService.topModal;
682
663
  if (topModal && topModal === this.hostService) {
683
- if (event.which === 9) { // Tab pressed
664
+ if (event.which === 9) {
665
+ // Tab pressed
684
666
  let focusChanged = false;
685
- let focusElementList = this.componentAdapter.loadFocusElementList(this.elRef);
667
+ let focusElementList = this.coreAdapter.getFocusableChildren(this.elRef.nativeElement);
686
668
  if (event.shiftKey &&
687
669
  (this.componentAdapter.isFocusInFirstItem(event, focusElementList) ||
688
670
  this.componentAdapter.isModalFocused(event, this.elRef))) {
689
- focusChanged = this.componentAdapter.focusLastElement(focusElementList);
671
+ focusChanged =
672
+ this.componentAdapter.focusLastElement(focusElementList);
690
673
  }
691
- else if (!event.shiftKey && this.componentAdapter.isFocusInLastItem(event, focusElementList)) {
692
- focusChanged = this.componentAdapter.focusFirstElement(focusElementList);
674
+ else if (!event.shiftKey &&
675
+ this.componentAdapter.isFocusInLastItem(event, focusElementList)) {
676
+ focusChanged =
677
+ this.componentAdapter.focusFirstElement(focusElementList);
693
678
  }
694
679
  if (focusChanged) {
695
680
  event.preventDefault();
@@ -707,6 +692,11 @@ class SkyModalComponent {
707
692
  this.windowRef.nativeWindow.setTimeout(() => {
708
693
  this.componentAdapter.modalOpened(this.elRef);
709
694
  });
695
+ this.dockService.setDockOptions({
696
+ location: SkyDockLocation.ElementBottom,
697
+ referenceEl: this.modalContentWrapperElement.nativeElement,
698
+ zIndex: 5,
699
+ });
710
700
  }
711
701
  helpButtonClick() {
712
702
  this.hostService.onOpenHelp(this.helpKey);
@@ -724,29 +714,29 @@ class SkyModalComponent {
724
714
  return actualSize && actualSize.toLowerCase() === size;
725
715
  }
726
716
  }
727
- SkyModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalComponent, deps: [{ token: SkyModalHostService }, { token: SkyModalConfiguration }, { token: i0.ElementRef }, { token: i1$1.SkyAppWindowRef }, { token: SkyModalComponentAdapterService }], target: i0.ɵɵFactoryTarget.Component });
728
- SkyModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: SkyModalComponent, selector: "sky-modal", inputs: { ariaRole: "ariaRole", tiledBody: "tiledBody" }, host: { listeners: { "document:keyup": "onDocumentKeyUp($event)", "document:keydown": "onDocumentKeyDown($event)" } }, providers: [
729
- SkyModalComponentAdapterService
730
- ], ngImport: i0, template: "<!--\n Animations are broken in Chrome v52. Angular 2 RC5 will fix it.\n https://github.com/angular/angular/issues/10245\n-->\n<!--<div @modalState=\"modalState\">-->\n\n<div\n class=\"sky-modal-dialog\"\n aria-modal=\"true\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"ariaRole\"\n (window:resize)=\"windowResize()\"\n>\n <div\n class=\"sky-modal sky-shadow sky-box sky-elevation-16\"\n tabindex=\"-1\"\n [ngClass]=\"{\n 'sky-modal-full-page': modalFullPage,\n 'sky-modal-small' : isSmallSize,\n 'sky-modal-medium' : isMediumSize,\n 'sky-modal-large' : isLargeSize,\n 'sky-modal-tiled' : isTiledBody\n }\"\n [ngStyle]=\"{\n zIndex: modalZIndex\n }\">\n\n <div\n class=\"sky-modal-header\"\n [hidden]=\"!headerContent || !headerContent.children || headerContent.children.length &lt; 1\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.topShadow\n }\"\n >\n <div\n class=\"sky-modal-header-content\"\n [attr.id]=\"modalHeaderId\"\n [ngClass]=\"{\n 'sky-section-heading': modalFullPage\n }\"\n #headerContent\n >\n <ng-content select=\"sky-modal-header\"></ng-content>\n </div>\n <div class=\"sky-modal-header-buttons\">\n <button *ngIf=\"helpKey\"\n class=\"sky-btn sky-modal-btn-help\"\n name=\"help-button\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_modal_open_help' | skyLibResources\"\n (click)=\"helpButtonClick()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n\n <button type=\"button\" class=\"sky-btn sky-modal-btn-close\" [attr.aria-label]=\"'skyux_modal_close' | skyLibResources\" (click)=\"closeButtonClick()\">\n <sky-icon icon=\"close\"></sky-icon>\n </button>\n </div>\n\n </div>\n <div\n class=\"sky-modal-content sky-padding-even-large\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-labelledby]=\"modalHeaderId\"\n [attr.id]=\"modalContentId\"\n (skyModalScrollShadow)=\"scrollShadowChange($event)\"\n >\n <ng-content select=\"sky-modal-content\"></ng-content>\n </div>\n <div\n class=\"sky-modal-footer\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.bottomShadow\n }\"\n >\n <ng-content select=\"sky-modal-footer\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sky-modal{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;position:fixed;width:auto;left:0;right:0;top:20px;margin:10px;display:flex;flex-direction:column;overflow:hidden}.sky-modal:focus{outline:none}@media (min-width: 768px){.sky-modal:not(.sky-modal-large){margin:0 auto}.sky-modal-small{width:300px}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:300px}.sky-modal-medium{width:600px}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:600px}}@media (min-width: 920px){.sky-modal-large{margin:0 auto;width:900px}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:900px}}.sky-modal-content{background-color:#fff}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:\"BLKB Sans\",\"Helvetica Neue\",Arial,sans-serif;color:#686c73;font-weight:300;font-size:19px}.sky-modal-header{padding:9px 3px 9px 15px;background-color:#fff;display:flex;align-items:baseline;border-bottom:1px solid #e2e3e4}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#cdcfd2;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#979ba2;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-footer ::ng-deep sky-tabset-nav-button+sky-tabset-nav-button{margin-left:10px}.sky-modal-footer ::ng-deep sky-tabset-nav-button+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn-link{margin-left:-2px}.sky-modal-full-page{width:100%;top:0;margin:0}.sky-modal-full-page .sky-modal-header-buttons sky-icon[icon=close]{font-size:20px}.sky-modal-full-page .sky-modal-content{flex-grow:1}:host ::ng-deep .sky-sectioned-form{min-height:460px;margin:-15px}:host-context(.sky-theme-modern) .sky-modal-header{border:none;padding:20px 30px}:host-context(.sky-theme-modern) .sky-modal-btn-help,:host-context(.sky-theme-modern) .sky-modal-btn-close{display:none}:host-context(.sky-theme-modern) .sky-modal-content{padding:0}:host-context(.sky-theme-modern) .sky-modal-full-page{width:calc(100% - (60px));margin:30px}.sky-theme-modern .sky-modal-header{border:none;padding:20px 30px}.sky-theme-modern .sky-modal-btn-help,.sky-theme-modern .sky-modal-btn-close{display:none}.sky-theme-modern .sky-modal-content{padding:0}.sky-theme-modern .sky-modal-full-page{width:calc(100% - (60px));margin:30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal{border-color:#121212}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header{color:#fbfcfe}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-content{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-modal{border-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header,.sky-theme-modern.sky-theme-mode-dark .sky-modal-content{background-color:transparent}\n"], components: [{ type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SkyModalScrollShadowDirective, selector: "[skyModalScrollShadow]", outputs: ["skyModalScrollShadow"] }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe }, animations: [
731
- skyAnimationModalState
732
- ] });
733
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalComponent, decorators: [{
717
+ SkyModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalComponent, deps: [{ token: SkyModalHostService }, { token: SkyModalConfiguration }, { token: i0.ElementRef }, { token: i3.SkyAppWindowRef }, { token: SkyModalComponentAdapterService }, { token: i3.SkyCoreAdapterService }, { token: i3.SkyDockService, host: true }], target: i0.ɵɵFactoryTarget.Component });
718
+ SkyModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyModalComponent, selector: "sky-modal", inputs: { ariaRole: "ariaRole", tiledBody: "tiledBody" }, host: { listeners: { "document:keyup": "onDocumentKeyUp($event)", "document:keydown": "onDocumentKeyDown($event)" }, properties: { "class": "this.wrapperClass" } }, providers: [SkyModalComponentAdapterService, SkyDockService], viewQueries: [{ propertyName: "modalContentWrapperElement", first: true, predicate: ["modalContentWrapper"], descendants: true, read: ElementRef }], ngImport: i0, template: "<!--\n Animations are broken in Chrome v52. Angular 2 RC5 will fix it.\n https://github.com/angular/angular/issues/10245\n-->\n<!--<div @modalState=\"modalState\">-->\n\n<div\n class=\"sky-modal-dialog\"\n aria-modal=\"true\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"ariaRole\"\n (window:resize)=\"windowResize()\"\n>\n <div\n class=\"sky-modal sky-shadow sky-box sky-elevation-16\"\n tabindex=\"-1\"\n [ngClass]=\"{\n 'sky-modal-full-page': modalFullPage,\n 'sky-modal-small': isSmallSize,\n 'sky-modal-medium': isMediumSize,\n 'sky-modal-large': isLargeSize,\n 'sky-modal-tiled': isTiledBody\n }\"\n [ngStyle]=\"{\n zIndex: modalZIndex\n }\"\n >\n <div\n class=\"sky-modal-header\"\n [hidden]=\"!headerContent || !headerContent.children || headerContent.children.length &lt; 1\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.topShadow\n }\"\n >\n <div\n class=\"sky-modal-header-content\"\n [attr.id]=\"modalHeaderId\"\n [ngClass]=\"{\n 'sky-section-heading': modalFullPage\n }\"\n #headerContent\n >\n <ng-content select=\"sky-modal-header\"></ng-content>\n </div>\n <div class=\"sky-modal-header-buttons\">\n <button\n *ngIf=\"helpKey\"\n class=\"sky-btn sky-modal-btn-help\"\n name=\"help-button\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_modal_open_help' | skyLibResources\"\n (click)=\"helpButtonClick()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n\n <button\n type=\"button\"\n class=\"sky-btn sky-modal-btn-close\"\n [attr.aria-label]=\"'skyux_modal_close' | skyLibResources\"\n (click)=\"closeButtonClick()\"\n >\n <sky-icon icon=\"close\"></sky-icon>\n </button>\n </div>\n </div>\n <div\n class=\"sky-modal-content sky-padding-even-large\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-labelledby]=\"modalHeaderId\"\n [attr.id]=\"modalContentId\"\n (skyModalScrollShadow)=\"scrollShadowChange($event)\"\n #modalContentWrapper\n >\n <ng-content select=\"sky-modal-content\"></ng-content>\n </div>\n <div\n class=\"sky-modal-footer\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.bottomShadow\n }\"\n >\n <ng-content select=\"sky-modal-footer\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sky-modal{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;position:fixed;width:auto;left:0;right:0;top:20px;margin:10px;display:flex;flex-direction:column;overflow:hidden}.sky-modal:focus{outline:none}@media (min-width: 768px){.sky-modal:not(.sky-modal-large){margin:0 auto}.sky-modal-small{width:300px}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:300px}.sky-modal-medium{width:600px}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:600px}}@media (min-width: 920px){.sky-modal-large{margin:0 auto;width:900px}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:900px}}.sky-modal-content{background-color:#fff}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:\"BLKB Sans\",\"Helvetica Neue\",Arial,sans-serif;color:#686c73;font-weight:300;font-size:19px}.sky-modal-header{padding:9px 3px 9px 15px;background-color:#fff;display:flex;align-items:baseline;border-bottom:1px solid #e2e3e4}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#cdcfd2;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#979ba2;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-footer ::ng-deep sky-tabset-nav-button+sky-tabset-nav-button{margin-left:10px}.sky-modal-footer ::ng-deep sky-tabset-nav-button+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn-link{margin-left:-2px}.sky-modal-full-page{width:100%;top:0;margin:0}.sky-modal-full-page .sky-modal-header-buttons sky-icon[icon=close]{font-size:20px}.sky-modal-full-page .sky-modal-content{flex-grow:1}:host ::ng-deep .sky-sectioned-form{min-height:460px;margin:-15px}.sky-modal-content>::ng-deep sky-dock{bottom:-15px;margin-left:-15px;margin-bottom:-15px;padding-top:15px;width:calc(100% + 30px)}:host-context(.sky-theme-modern) .sky-modal-header{border:none;padding:20px 30px}:host-context(.sky-theme-modern) .sky-modal-btn-help,:host-context(.sky-theme-modern) .sky-modal-btn-close{display:none}:host-context(.sky-theme-modern) .sky-modal-content{padding:0}:host-context(.sky-theme-modern) .sky-modal-full-page{width:calc(100% - (60px));margin:30px}:host-context(.sky-theme-modern) .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}.sky-theme-modern .sky-modal-header{border:none;padding:20px 30px}.sky-theme-modern .sky-modal-btn-help,.sky-theme-modern .sky-modal-btn-close{display:none}.sky-theme-modern .sky-modal-content{padding:0}.sky-theme-modern .sky-modal-full-page{width:calc(100% - (60px));margin:30px}.sky-theme-modern .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal{border-color:#121212}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header{color:#fbfcfe}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-content{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-modal{border-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header,.sky-theme-modern.sky-theme-mode-dark .sky-modal-content{background-color:transparent}\n"], components: [{ type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SkyModalScrollShadowDirective, selector: "[skyModalScrollShadow]", outputs: ["skyModalScrollShadow"] }], pipes: { "skyLibResources": i3$1.SkyLibResourcesPipe }, animations: [skyAnimationModalState] });
719
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalComponent, decorators: [{
734
720
  type: Component,
735
721
  args: [{
736
722
  selector: 'sky-modal',
737
723
  templateUrl: './modal.component.html',
738
724
  styleUrls: ['./modal.component.scss'],
739
- animations: [
740
- skyAnimationModalState
741
- ],
742
- providers: [
743
- SkyModalComponentAdapterService
744
- ]
725
+ animations: [skyAnimationModalState],
726
+ providers: [SkyModalComponentAdapterService, SkyDockService],
745
727
  }]
746
- }], ctorParameters: function () { return [{ type: SkyModalHostService }, { type: SkyModalConfiguration }, { type: i0.ElementRef }, { type: i1$1.SkyAppWindowRef }, { type: SkyModalComponentAdapterService }]; }, propDecorators: { ariaRole: [{
728
+ }], ctorParameters: function () { return [{ type: SkyModalHostService }, { type: SkyModalConfiguration }, { type: i0.ElementRef }, { type: i3.SkyAppWindowRef }, { type: SkyModalComponentAdapterService }, { type: i3.SkyCoreAdapterService }, { type: i3.SkyDockService, decorators: [{
729
+ type: Host
730
+ }] }]; }, propDecorators: { wrapperClass: [{
731
+ type: HostBinding,
732
+ args: ['class']
733
+ }], ariaRole: [{
747
734
  type: Input
748
735
  }], tiledBody: [{
749
736
  type: Input
737
+ }], modalContentWrapperElement: [{
738
+ type: ViewChild,
739
+ args: ['modalContentWrapper', { read: ElementRef }]
750
740
  }], onDocumentKeyUp: [{
751
741
  type: HostListener,
752
742
  args: ['document:keyup', ['$event']]
@@ -757,8 +747,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
757
747
 
758
748
  class SkyModalModule {
759
749
  }
760
- SkyModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
761
- SkyModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalModule, declarations: [SkyModalComponent,
750
+ SkyModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
751
+ SkyModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalModule, declarations: [SkyModalComponent,
762
752
  SkyModalContentComponent,
763
753
  SkyModalFooterComponent,
764
754
  SkyModalHeaderComponent,
@@ -771,14 +761,14 @@ SkyModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
771
761
  SkyModalContentComponent,
772
762
  SkyModalFooterComponent,
773
763
  SkyModalHeaderComponent] });
774
- SkyModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalModule, imports: [[
764
+ SkyModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalModule, imports: [[
775
765
  CommonModule,
776
766
  RouterModule,
777
767
  SkyIconModule,
778
768
  SkyModalsResourcesModule,
779
- SkyThemeModule
769
+ SkyThemeModule,
780
770
  ]] });
781
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalModule, decorators: [{
771
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalModule, decorators: [{
782
772
  type: NgModule,
783
773
  args: [{
784
774
  declarations: [
@@ -787,24 +777,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
787
777
  SkyModalFooterComponent,
788
778
  SkyModalHeaderComponent,
789
779
  SkyModalHostComponent,
790
- SkyModalScrollShadowDirective
780
+ SkyModalScrollShadowDirective,
791
781
  ],
792
782
  imports: [
793
783
  CommonModule,
794
784
  RouterModule,
795
785
  SkyIconModule,
796
786
  SkyModalsResourcesModule,
797
- SkyThemeModule
787
+ SkyThemeModule,
798
788
  ],
799
789
  exports: [
800
790
  SkyModalComponent,
801
791
  SkyModalContentComponent,
802
792
  SkyModalFooterComponent,
803
- SkyModalHeaderComponent
793
+ SkyModalHeaderComponent,
804
794
  ],
805
- entryComponents: [
806
- SkyModalHostComponent
807
- ]
795
+ entryComponents: [SkyModalHostComponent],
808
796
  }]
809
797
  }] });
810
798
 
@@ -929,7 +917,8 @@ class SkyConfirmComponent {
929
917
  this.preserveWhiteSpace = false;
930
918
  }
931
919
  ngOnInit() {
932
- if (this.config.type === SkyConfirmType.Custom && this.config.buttons.length > 0) {
920
+ if (this.config.type === SkyConfirmType.Custom &&
921
+ this.config.buttons.length > 0) {
933
922
  this.buttons = this.getCustomButtons(this.config.buttons);
934
923
  }
935
924
  else {
@@ -943,7 +932,7 @@ class SkyConfirmComponent {
943
932
  }
944
933
  close(button) {
945
934
  const result = {
946
- action: button.action
935
+ action: button.action,
947
936
  };
948
937
  this.modal.close(result);
949
938
  }
@@ -952,15 +941,16 @@ class SkyConfirmComponent {
952
941
  switch (this.config.type) {
953
942
  default:
954
943
  case SkyConfirmType.OK:
955
- this.resourcesService.getString('skyux_confirm_dialog_default_ok_text')
944
+ this.resourcesService
945
+ .getString('skyux_confirm_dialog_default_ok_text')
956
946
  .subscribe((value) => {
957
947
  emitter.next([
958
948
  {
959
949
  text: value,
960
950
  autofocus: true,
961
951
  styleType: 'primary',
962
- action: 'ok'
963
- }
952
+ action: 'ok',
953
+ },
964
954
  ]);
965
955
  });
966
956
  break;
@@ -971,18 +961,18 @@ class SkyConfirmComponent {
971
961
  text: values[0],
972
962
  autofocus: true,
973
963
  styleType: 'primary',
974
- action: 'yes'
964
+ action: 'yes',
975
965
  },
976
966
  {
977
967
  text: values[1],
978
968
  styleType: 'default',
979
- action: 'no'
969
+ action: 'no',
980
970
  },
981
971
  {
982
972
  text: values[2],
983
973
  styleType: 'link',
984
- action: 'cancel'
985
- }
974
+ action: 'cancel',
975
+ },
986
976
  ]);
987
977
  });
988
978
  break;
@@ -993,13 +983,13 @@ class SkyConfirmComponent {
993
983
  text: values[0],
994
984
  autofocus: true,
995
985
  styleType: 'primary',
996
- action: 'yes'
986
+ action: 'yes',
997
987
  },
998
988
  {
999
989
  text: values[1],
1000
990
  styleType: 'link',
1001
- action: 'cancel'
1002
- }
991
+ action: 'cancel',
992
+ },
1003
993
  ]);
1004
994
  });
1005
995
  break;
@@ -1013,56 +1003,50 @@ class SkyConfirmComponent {
1013
1003
  text: config.text,
1014
1004
  action: config.action,
1015
1005
  styleType: config.styleType || 'default',
1016
- autofocus: config.autofocus || false
1006
+ autofocus: config.autofocus || false,
1017
1007
  });
1018
1008
  });
1019
1009
  return buttons;
1020
1010
  }
1021
1011
  }
1022
- SkyConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyConfirmComponent, deps: [{ token: SkyConfirmModalContext }, { token: SkyModalInstance }, { token: i3.SkyLibResourcesService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1023
- SkyConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: SkyConfirmComponent, selector: "sky-confirm", ngImport: i0, template: "<div class=\"sky-confirm\">\n <sky-modal\n ariaRole=\"alertdialog\">\n <sky-modal-content class=\"sky-confirm-content\">\n\n <div\n class=\"sky-confirm-message\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n [skyThemeClass]=\"{\n 'sky-emphasized': 'default',\n 'sky-font-heading-1 sky-font-display-3': 'modern'\n }\"\n >{{ message }}</div>\n\n <div *ngIf=\"body\"\n class=\"sky-confirm-body\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n >{{ body }}</div>\n\n <div class=\"sky-confirm-buttons\">\n <button\n *ngFor=\"let button of buttons\"\n type=\"button\"\n class=\"sky-btn\"\n [ngClass]=\"[\n 'sky-btn-' + button.styleType\n ]\"\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-message{margin-top:5px}.sky-confirm-body{margin-top:10px}.sky-confirm-buttons{margin-top:20px}.sky-confirm-preserve-white-space{white-space:pre-wrap}:host-context(.sky-theme-modern) .sky-confirm-content{padding:20px 30px}:host-context(.sky-theme-modern) .sky-confirm-message{padding-bottom:20px}:host-context(.sky-theme-modern) .sky-confirm-body{margin:0}.sky-theme-modern .sky-confirm-content{padding:20px 30px}.sky-theme-modern .sky-confirm-message{padding-bottom:20px}.sky-theme-modern .sky-confirm-body{margin:0}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-confirm-message{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-confirm-message{color:#fbfcfe}\n"], components: [{ type: SkyModalComponent, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { type: SkyModalContentComponent, selector: "sky-modal-content" }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1024
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyConfirmComponent, decorators: [{
1012
+ SkyConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyConfirmComponent, deps: [{ token: SkyConfirmModalContext }, { token: SkyModalInstance }, { token: i3$1.SkyLibResourcesService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1013
+ SkyConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyConfirmComponent, selector: "sky-confirm", ngImport: i0, template: "<div class=\"sky-confirm\">\n <sky-modal ariaRole=\"alertdialog\">\n <sky-modal-content class=\"sky-confirm-content\">\n <div\n class=\"sky-confirm-message\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n [skyThemeClass]=\"{\n 'sky-emphasized': 'default',\n 'sky-font-heading-1 sky-font-display-3': 'modern'\n }\"\n >\n {{ message }}\n </div>\n\n <div\n *ngIf=\"body\"\n class=\"sky-confirm-body\"\n [ngClass]=\"{\n 'sky-confirm-preserve-white-space': preserveWhiteSpace\n }\"\n >\n {{ body }}\n </div>\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-message{margin-top:5px}.sky-confirm-body{margin-top:10px}.sky-confirm-buttons{margin-top:20px}.sky-confirm-preserve-white-space{white-space:pre-wrap}:host-context(.sky-theme-modern) .sky-confirm-content{padding:20px 30px}:host-context(.sky-theme-modern) .sky-confirm-message{padding-bottom:20px}:host-context(.sky-theme-modern) .sky-confirm-body{margin:0}.sky-theme-modern .sky-confirm-content{padding:20px 30px}.sky-theme-modern .sky-confirm-message{padding-bottom:20px}.sky-theme-modern .sky-confirm-body{margin:0}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-confirm-message{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-confirm-message{color:#fbfcfe}\n"], components: [{ type: SkyModalComponent, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { type: SkyModalContentComponent, selector: "sky-modal-content" }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1014
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyConfirmComponent, decorators: [{
1025
1015
  type: Component,
1026
1016
  args: [{
1027
1017
  selector: 'sky-confirm',
1028
1018
  templateUrl: './confirm.component.html',
1029
- styleUrls: ['./confirm.component.scss']
1019
+ styleUrls: ['./confirm.component.scss'],
1030
1020
  }]
1031
- }], ctorParameters: function () { return [{ type: SkyConfirmModalContext }, { type: SkyModalInstance }, { type: i3.SkyLibResourcesService, decorators: [{
1021
+ }], ctorParameters: function () { return [{ type: SkyConfirmModalContext }, { type: SkyModalInstance }, { type: i3$1.SkyLibResourcesService, decorators: [{
1032
1022
  type: Optional
1033
1023
  }] }]; } });
1034
1024
 
1035
1025
  class SkyConfirmModule {
1036
1026
  }
1037
- SkyConfirmModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyConfirmModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1038
- SkyConfirmModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyConfirmModule, declarations: [SkyConfirmComponent], imports: [CommonModule,
1027
+ SkyConfirmModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyConfirmModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1028
+ SkyConfirmModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyConfirmModule, declarations: [SkyConfirmComponent], imports: [CommonModule,
1039
1029
  SkyModalModule,
1040
1030
  SkyModalsResourcesModule,
1041
1031
  SkyThemeModule], exports: [SkyConfirmComponent] });
1042
- SkyConfirmModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyConfirmModule, imports: [[
1032
+ SkyConfirmModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyConfirmModule, imports: [[
1043
1033
  CommonModule,
1044
1034
  SkyModalModule,
1045
1035
  SkyModalsResourcesModule,
1046
- SkyThemeModule
1036
+ SkyThemeModule,
1047
1037
  ]] });
1048
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyConfirmModule, decorators: [{
1038
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyConfirmModule, decorators: [{
1049
1039
  type: NgModule,
1050
1040
  args: [{
1051
- declarations: [
1052
- SkyConfirmComponent
1053
- ],
1041
+ declarations: [SkyConfirmComponent],
1054
1042
  imports: [
1055
1043
  CommonModule,
1056
1044
  SkyModalModule,
1057
1045
  SkyModalsResourcesModule,
1058
- SkyThemeModule
1046
+ SkyThemeModule,
1059
1047
  ],
1060
- exports: [
1061
- SkyConfirmComponent
1062
- ],
1063
- entryComponents: [
1064
- SkyConfirmComponent
1065
- ]
1048
+ exports: [SkyConfirmComponent],
1049
+ entryComponents: [SkyConfirmComponent],
1066
1050
  }]
1067
1051
  }] });
1068
1052
 
@@ -1102,24 +1086,26 @@ class SkyModalService {
1102
1086
  let params = this.getConfigFromParameter(config);
1103
1087
  params.providers.push({
1104
1088
  provide: SkyModalInstance,
1105
- useValue: modalInstance
1089
+ useValue: modalInstance,
1106
1090
  });
1107
1091
  SkyModalService.host.instance.open(modalInstance, component, params);
1108
1092
  return modalInstance;
1109
1093
  }
1110
1094
  getConfigFromParameter(providersOrConfig) {
1111
1095
  let defaultParams = {
1112
- 'providers': [],
1113
- 'fullPage': false,
1114
- 'size': 'medium',
1115
- 'tiledBody': false
1096
+ providers: [],
1097
+ fullPage: false,
1098
+ size: 'medium',
1099
+ tiledBody: false,
1116
1100
  };
1117
1101
  let params = undefined;
1118
1102
  let method = undefined;
1119
1103
  // Object Literal Lookup for backwards compatability.
1120
1104
  method = {
1121
- 'providers?': Object.assign({}, defaultParams, { 'providers': providersOrConfig }),
1122
- 'config': Object.assign({}, defaultParams, providersOrConfig)
1105
+ 'providers?': Object.assign({}, defaultParams, {
1106
+ providers: providersOrConfig,
1107
+ }),
1108
+ config: Object.assign({}, defaultParams, providersOrConfig),
1123
1109
  };
1124
1110
  if (Array.isArray(providersOrConfig) === true) {
1125
1111
  params = method['providers?'];
@@ -1135,17 +1121,17 @@ class SkyModalService {
1135
1121
  }
1136
1122
  }
1137
1123
  }
1138
- SkyModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalService, deps: [{ token: i1$1.SkyDynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable });
1139
- SkyModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalService, providedIn: 'any' });
1140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyModalService, decorators: [{
1124
+ SkyModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalService, deps: [{ token: i3.SkyDynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable });
1125
+ SkyModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalService, providedIn: 'any' });
1126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyModalService, decorators: [{
1141
1127
  type: Injectable,
1142
1128
  args: [{
1143
1129
  // Must be 'any' so that the modal component is created in the context of its module's injector.
1144
1130
  // If set to 'root', the component's dependency injections would only be derived from the root
1145
1131
  // injector and may loose context if the modal was opened from within a lazy-loaded module.
1146
- providedIn: 'any'
1132
+ providedIn: 'any',
1147
1133
  }]
1148
- }], ctorParameters: function () { return [{ type: i1$1.SkyDynamicComponentService }]; } });
1134
+ }], ctorParameters: function () { return [{ type: i3.SkyDynamicComponentService }]; } });
1149
1135
 
1150
1136
  /**
1151
1137
  * The `SkyConfirmService` provider launches the confirmation dialog.
@@ -1161,10 +1147,12 @@ class SkyConfirmService {
1161
1147
  */
1162
1148
  open(config) {
1163
1149
  const modalInstance = this.modalService.open(SkyConfirmComponent, {
1164
- providers: [{
1150
+ providers: [
1151
+ {
1165
1152
  provide: SkyConfirmModalContext,
1166
- useValue: config
1167
- }]
1153
+ useValue: config,
1154
+ },
1155
+ ],
1168
1156
  });
1169
1157
  const confirmInstance = new SkyConfirmInstance();
1170
1158
  modalInstance.closed.subscribe((args) => {
@@ -1172,7 +1160,7 @@ class SkyConfirmService {
1172
1160
  // The modal was closed using the ESC key.
1173
1161
  if (result === undefined) {
1174
1162
  result = {
1175
- action: 'cancel'
1163
+ action: 'cancel',
1176
1164
  };
1177
1165
  }
1178
1166
  confirmInstance.closed.emit(result);
@@ -1181,12 +1169,12 @@ class SkyConfirmService {
1181
1169
  return confirmInstance;
1182
1170
  }
1183
1171
  }
1184
- SkyConfirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyConfirmService, deps: [{ token: SkyModalService }], target: i0.ɵɵFactoryTarget.Injectable });
1185
- SkyConfirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyConfirmService, providedIn: 'root' });
1186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SkyConfirmService, decorators: [{
1172
+ SkyConfirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyConfirmService, deps: [{ token: SkyModalService }], target: i0.ɵɵFactoryTarget.Injectable });
1173
+ SkyConfirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyConfirmService, providedIn: 'root' });
1174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyConfirmService, decorators: [{
1187
1175
  type: Injectable,
1188
1176
  args: [{
1189
- providedIn: 'root'
1177
+ providedIn: 'root',
1190
1178
  }]
1191
1179
  }], ctorParameters: function () { return [{ type: SkyModalService }]; } });
1192
1180