@skyux/flyout 5.0.0 → 5.0.4

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.
@@ -3,7 +3,6 @@ import { EventEmitter, NgModule, Injectable, Component, Input, Output, Reflectiv
3
3
  import { Subject, BehaviorSubject, fromEvent } from 'rxjs';
4
4
  import * as i7 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
6
- import * as i9 from '@angular/forms';
7
6
  import { FormsModule } from '@angular/forms';
8
7
  import * as i2$2 from '@angular/router';
9
8
  import { RouterModule, NavigationStart } from '@angular/router';
@@ -11,7 +10,7 @@ import * as i1$1 from '@skyux/indicators';
11
10
  import { SkyIconModule } from '@skyux/indicators';
12
11
  import * as i2$1 from '@skyux/i18n';
13
12
  import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
14
- import * as i10 from '@skyux/router';
13
+ import * as i9 from '@skyux/router';
15
14
  import { SkyHrefModule } from '@skyux/router';
16
15
  import * as i2 from '@skyux/theme';
17
16
  import { SkyThemeModule } from '@skyux/theme';
@@ -83,12 +82,12 @@ class SkyFlyoutInstance {
83
82
  this._iteratorNextButtonDisabled = newValue;
84
83
  if (newValue) {
85
84
  this.hostController.next({
86
- type: SkyFlyoutMessageType.DisableIteratorNextButton
85
+ type: SkyFlyoutMessageType.DisableIteratorNextButton,
87
86
  });
88
87
  }
89
88
  else {
90
89
  this.hostController.next({
91
- type: SkyFlyoutMessageType.EnableIteratorNextButton
90
+ type: SkyFlyoutMessageType.EnableIteratorNextButton,
92
91
  });
93
92
  }
94
93
  }
@@ -103,12 +102,12 @@ class SkyFlyoutInstance {
103
102
  this._iteratorPreviousButtonDisabled = newValue;
104
103
  if (newValue) {
105
104
  this.hostController.next({
106
- type: SkyFlyoutMessageType.DisableIteratorPreviousButton
105
+ type: SkyFlyoutMessageType.DisableIteratorPreviousButton,
107
106
  });
108
107
  }
109
108
  else {
110
109
  this.hostController.next({
111
- type: SkyFlyoutMessageType.EnableIteratorPreviousButton
110
+ type: SkyFlyoutMessageType.EnableIteratorPreviousButton,
112
111
  });
113
112
  }
114
113
  }
@@ -120,7 +119,7 @@ class SkyFlyoutInstance {
120
119
  */
121
120
  close() {
122
121
  this.hostController.next({
123
- type: SkyFlyoutMessageType.Close
122
+ type: SkyFlyoutMessageType.Close,
124
123
  });
125
124
  this._iteratorPreviousButtonClick.complete();
126
125
  this._iteratorNextButtonClick.complete();
@@ -131,11 +130,20 @@ class SkyFlyoutInstance {
131
130
  /**
132
131
  * NOTICE: DO NOT MODIFY THIS FILE!
133
132
  * The contents of this file were automatically generated by
134
- * the 'ng generate @skyux/i18n:lib-resources-module modules/shared/SkyFlyout' schematic.
133
+ * the 'ng generate @skyux/i18n:lib-resources-module modules/shared/sky-flyout' schematic.
135
134
  * To update this file, simply rerun the command.
136
135
  */
137
136
  const RESOURCES = {
138
- 'EN-US': { "skyux_flyout_close": { "message": "Close flyout" }, "skyux_flyout_iterator_previous_button": { "message": "Previous" }, "skyux_flyout_iterator_next_button": { "message": "Next" }, "skyux_flyout_permalink_button": { "message": "View record" }, "skyux_flyout_primary_action_button": { "message": "Create list" }, "skyux_flyout_resize_handle": { "message": "Resize the flyout window. Use left arrow key to expand the flyout window and right arrow key to shrink the flyout window." } },
137
+ 'EN-US': {
138
+ skyux_flyout_close: { message: 'Close flyout' },
139
+ skyux_flyout_iterator_previous_button: { message: 'Previous' },
140
+ skyux_flyout_iterator_next_button: { message: 'Next' },
141
+ skyux_flyout_permalink_button: { message: 'View record' },
142
+ skyux_flyout_primary_action_button: { message: 'Create list' },
143
+ skyux_flyout_resize_handle: {
144
+ message: 'Resize the flyout window. Press the enter or space key to activate, then use left arrow key to expand the flyout window and right arrow key to shrink the flyout window. Press the enter, space, or tab key to deactivate.',
145
+ },
146
+ },
139
147
  };
140
148
  class SkyFlyoutResourcesProvider {
141
149
  getString(localeInfo, name) {
@@ -147,22 +155,26 @@ class SkyFlyoutResourcesProvider {
147
155
  */
148
156
  class SkyFlyoutResourcesModule {
149
157
  }
150
- SkyFlyoutResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
151
- SkyFlyoutResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutResourcesModule, exports: [SkyI18nModule] });
152
- SkyFlyoutResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutResourcesModule, providers: [{
158
+ SkyFlyoutResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
159
+ SkyFlyoutResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutResourcesModule, exports: [SkyI18nModule] });
160
+ SkyFlyoutResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutResourcesModule, providers: [
161
+ {
153
162
  provide: SKY_LIB_RESOURCES_PROVIDERS,
154
163
  useClass: SkyFlyoutResourcesProvider,
155
- multi: true
156
- }], imports: [SkyI18nModule] });
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutResourcesModule, decorators: [{
164
+ multi: true,
165
+ },
166
+ ], imports: [SkyI18nModule] });
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutResourcesModule, decorators: [{
158
168
  type: NgModule,
159
169
  args: [{
160
170
  exports: [SkyI18nModule],
161
- providers: [{
171
+ providers: [
172
+ {
162
173
  provide: SKY_LIB_RESOURCES_PROVIDERS,
163
174
  useClass: SkyFlyoutResourcesProvider,
164
- multi: true
165
- }]
175
+ multi: true,
176
+ },
177
+ ],
166
178
  }]
167
179
  }] });
168
180
 
@@ -220,9 +232,9 @@ class SkyFlyoutAdapterService {
220
232
  }
221
233
  }
222
234
  }
223
- SkyFlyoutAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
224
- SkyFlyoutAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutAdapterService });
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutAdapterService, decorators: [{
235
+ SkyFlyoutAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
236
+ SkyFlyoutAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutAdapterService });
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutAdapterService, decorators: [{
226
238
  type: Injectable
227
239
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: i1.SkyAppWindowRef }]; } });
228
240
 
@@ -242,7 +254,7 @@ class SkyFlyoutMediaQueryService {
242
254
  return this.currentSubject.subscribe({
243
255
  next: (breakpoints) => {
244
256
  listener(breakpoints);
245
- }
257
+ },
246
258
  });
247
259
  }
248
260
  setBreakpointForWidth(width) {
@@ -271,16 +283,16 @@ class SkyFlyoutMediaQueryService {
271
283
  const lgBreakpointMinPixels = 1200;
272
284
  switch (breakpoint) {
273
285
  case SkyMediaBreakpoints.xs: {
274
- return (width <= xsBreakpointMaxPixels);
286
+ return width <= xsBreakpointMaxPixels;
275
287
  }
276
288
  case SkyMediaBreakpoints.sm: {
277
- return (width >= smBreakpointMinPixels && width <= smBreakpointMaxPixels);
289
+ return width >= smBreakpointMinPixels && width <= smBreakpointMaxPixels;
278
290
  }
279
291
  case SkyMediaBreakpoints.md: {
280
- return (width >= mdBreakpointMinPixels && width <= mdBreakpointMaxPixels);
292
+ return width >= mdBreakpointMinPixels && width <= mdBreakpointMaxPixels;
281
293
  }
282
294
  default: {
283
- return (width >= lgBreakpointMinPixels);
295
+ return width >= lgBreakpointMinPixels;
284
296
  }
285
297
  }
286
298
  }
@@ -288,9 +300,9 @@ class SkyFlyoutMediaQueryService {
288
300
  this.currentSubject.complete();
289
301
  }
290
302
  }
291
- SkyFlyoutMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutMediaQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
292
- SkyFlyoutMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutMediaQueryService });
293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutMediaQueryService, decorators: [{
303
+ SkyFlyoutMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutMediaQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
304
+ SkyFlyoutMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutMediaQueryService });
305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutMediaQueryService, decorators: [{
294
306
  type: Injectable
295
307
  }], ctorParameters: function () { return []; } });
296
308
 
@@ -328,14 +340,14 @@ class SkyFlyoutIteratorComponent {
328
340
  }
329
341
  }
330
342
  }
331
- SkyFlyoutIteratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutIteratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
332
- SkyFlyoutIteratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: { nextButtonDisabled: "nextButtonDisabled", previousButtonDisabled: "previousButtonDisabled" }, outputs: { previousButtonClick: "previousButtonClick", nextButtonClick: "nextButtonClick" }, ngImport: i0, template: "<div\n id=\"iterators\"\n class=\"sky-flyout-iterators\"\n>\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"'skyux_flyout_iterator_previous_button' | skyLibResources\"\n [disabled]=\"previousButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorPreviousClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"chevron-up\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"chevron-up\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"'skyux_flyout_iterator_next_button' | skyLibResources\"\n [disabled]=\"nextButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorNextClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"chevron-down\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [":host-context(.sky-theme-modern) .sky-flyout-iterators{display:inline}.sky-theme-modern .sky-flyout-iterators{display:inline}\n"], components: [{ type: i1$1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], pipes: { "skyLibResources": i2$1.SkyLibResourcesPipe } });
333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutIteratorComponent, decorators: [{
343
+ SkyFlyoutIteratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutIteratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
344
+ SkyFlyoutIteratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: { nextButtonDisabled: "nextButtonDisabled", previousButtonDisabled: "previousButtonDisabled" }, outputs: { previousButtonClick: "previousButtonClick", nextButtonClick: "nextButtonClick" }, ngImport: i0, template: "<div id=\"iterators\" class=\"sky-flyout-iterators\">\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"\n 'skyux_flyout_iterator_previous_button' | skyLibResources\n \"\n [disabled]=\"previousButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorPreviousClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-up\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-up\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n <button\n class=\"sky-btn\"\n [attr.aria-label]=\"'skyux_flyout_iterator_next_button' | skyLibResources\"\n [disabled]=\"nextButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default sky-margin-inline-compact': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-sm': 'modern'\n }\"\n (click)=\"onIteratorNextClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-down\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [":host-context(.sky-theme-modern) .sky-flyout-iterators{display:inline}.sky-theme-modern .sky-flyout-iterators{display:inline}\n"], components: [{ type: i1$1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], pipes: { "skyLibResources": i2$1.SkyLibResourcesPipe } });
345
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutIteratorComponent, decorators: [{
334
346
  type: Component,
335
347
  args: [{
336
348
  selector: 'sky-flyout-iterator',
337
349
  templateUrl: './flyout-iterator.component.html',
338
- styleUrls: ['./flyout-iterator.component.scss']
350
+ styleUrls: ['./flyout-iterator.component.scss'],
339
351
  }]
340
352
  }], propDecorators: { nextButtonDisabled: [{
341
353
  type: Input
@@ -370,6 +382,7 @@ class SkyFlyoutComponent {
370
382
  this.flyoutWidth = 0;
371
383
  this.isDragging = false;
372
384
  this.isFullscreen = false;
385
+ this.resizeKeyControlActive = false;
373
386
  this.xCoord = 0;
374
387
  this.windowBufferSize = 20;
375
388
  /**
@@ -442,12 +455,15 @@ class SkyFlyoutComponent {
442
455
  this.notifyClosed();
443
456
  }
444
457
  this.config = Object.assign({ providers: [] }, config);
445
- this.config.defaultWidth = this.config.defaultWidth || (window.innerWidth / 2);
458
+ this.config.defaultWidth =
459
+ this.config.defaultWidth || window.innerWidth / 2;
446
460
  this.config.minWidth = this.config.minWidth || 320;
447
461
  this.config.maxWidth = this.config.maxWidth || this.config.defaultWidth;
448
462
  this.config.showIterator = this.config.showIterator || false;
449
- this.config.iteratorNextButtonDisabled = this.config.iteratorNextButtonDisabled || false;
450
- this.config.iteratorPreviousButtonDisabled = this.config.iteratorPreviousButtonDisabled || false;
463
+ this.config.iteratorNextButtonDisabled =
464
+ this.config.iteratorNextButtonDisabled || false;
465
+ this.config.iteratorPreviousButtonDisabled =
466
+ this.config.iteratorPreviousButtonDisabled || false;
451
467
  const factory = this.resolver.resolveComponentFactory(component);
452
468
  /* tslint:disable:deprecation */
453
469
  /**
@@ -461,10 +477,11 @@ class SkyFlyoutComponent {
461
477
  this.flyoutInstance = this.createFlyoutInstance(componentRef.instance);
462
478
  // Open the flyout immediately.
463
479
  this.messageStream.next({
464
- type: SkyFlyoutMessageType.Open
480
+ type: SkyFlyoutMessageType.Open,
465
481
  });
466
482
  if (this.config.settingsKey) {
467
- this.uiConfigService.getConfig(this.config.settingsKey)
483
+ this.uiConfigService
484
+ .getConfig(this.config.settingsKey)
468
485
  .pipe(take(1))
469
486
  .subscribe((value) => {
470
487
  if (value && value.flyoutWidth) {
@@ -485,7 +502,7 @@ class SkyFlyoutComponent {
485
502
  }
486
503
  close() {
487
504
  this.messageStream.next({
488
- type: SkyFlyoutMessageType.Close
505
+ type: SkyFlyoutMessageType.Close,
489
506
  });
490
507
  }
491
508
  invokePrimaryAction() {
@@ -496,7 +513,7 @@ class SkyFlyoutComponent {
496
513
  return false;
497
514
  }
498
515
  getAnimationState() {
499
- return (this.isOpening) ? FLYOUT_OPEN_STATE : FLYOUT_CLOSED_STATE;
516
+ return this.isOpening ? FLYOUT_OPEN_STATE : FLYOUT_CLOSED_STATE;
500
517
  }
501
518
  animationDone(event) {
502
519
  if (event.toState === FLYOUT_OPEN_STATE) {
@@ -512,27 +529,10 @@ class SkyFlyoutComponent {
512
529
  this.onResizeHandleMouseDown(event);
513
530
  }
514
531
  onHeaderGrabHandleKeyDown(event) {
515
- /* istanbul ignore else */
516
- if (event.key) {
517
- const direction = event.key.toLowerCase().replace('arrow', '');
518
- switch (direction) {
519
- case 'left':
520
- /* istanbul ignore else */
521
- if (this.flyoutWidth < this.config.maxWidth) {
522
- this.flyoutWidth = Math.min(this.flyoutWidth + this.widthStep, this.config.maxWidth);
523
- }
524
- break;
525
- case 'right':
526
- /* istanbul ignore else */
527
- if (this.flyoutWidth > this.config.minWidth) {
528
- this.flyoutWidth = Math.max(this.flyoutWidth - this.widthStep, this.config.minWidth);
529
- }
530
- break;
531
- /* istanbul ignore next */
532
- default:
533
- break;
534
- }
535
- }
532
+ this.handleResizeKeyDown(event);
533
+ }
534
+ onResizeHandleKeyDown(event) {
535
+ this.handleResizeKeyDown(event);
536
536
  }
537
537
  onResizeHandleMouseDown(event) {
538
538
  event.preventDefault();
@@ -647,7 +647,7 @@ class SkyFlyoutComponent {
647
647
  this.adapter.setResponsiveClass(this.elementRef, newBreakpiont);
648
648
  }
649
649
  setFullscreen() {
650
- if ((window.innerWidth - this.windowBufferSize) < this.config.minWidth) {
650
+ if (window.innerWidth - this.windowBufferSize < this.config.minWidth) {
651
651
  this.isFullscreen = true;
652
652
  }
653
653
  else {
@@ -656,8 +656,9 @@ class SkyFlyoutComponent {
656
656
  }
657
657
  setUserData() {
658
658
  if (this.config.settingsKey) {
659
- this.uiConfigService.setConfig(this.config.settingsKey, {
660
- flyoutWidth: this.flyoutWidth
659
+ this.uiConfigService
660
+ .setConfig(this.config.settingsKey, {
661
+ flyoutWidth: this.flyoutWidth,
661
662
  })
662
663
  .pipe(take(1))
663
664
  .subscribe(() => { }, (err) => {
@@ -693,24 +694,60 @@ class SkyFlyoutComponent {
693
694
  // TODO: Need to implement the async `getString` method in a breaking change.
694
695
  return this.resourcesService.getStringForLocale({ locale: 'en-US' }, key);
695
696
  }
697
+ handleResizeKeyDown(event) {
698
+ /* istanbul ignore else */
699
+ if (event.key) {
700
+ const keyPressed = event.key.toLowerCase().replace('arrow', '');
701
+ switch (keyPressed) {
702
+ case 'enter':
703
+ case ' ':
704
+ this.resizeKeyControlActive = !this.resizeKeyControlActive;
705
+ break;
706
+ case 'tab':
707
+ /* istanbul ignore else */
708
+ if (this.resizeKeyControlActive) {
709
+ this.resizeKeyControlActive = false;
710
+ }
711
+ case 'left':
712
+ if (this.resizeKeyControlActive) {
713
+ /* istanbul ignore else */
714
+ if (this.flyoutWidth < this.config.maxWidth) {
715
+ this.flyoutWidth = Math.min(this.flyoutWidth + this.widthStep, this.config.maxWidth);
716
+ }
717
+ }
718
+ break;
719
+ case 'right':
720
+ if (this.resizeKeyControlActive) {
721
+ /* istanbul ignore else */
722
+ if (this.flyoutWidth > this.config.minWidth) {
723
+ this.flyoutWidth = Math.max(this.flyoutWidth - this.widthStep, this.config.minWidth);
724
+ }
725
+ }
726
+ break;
727
+ /* istanbul ignore next */
728
+ default:
729
+ break;
730
+ }
731
+ }
732
+ }
696
733
  }
697
- SkyFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutComponent, deps: [{ token: SkyFlyoutAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i2$1.SkyLibResourcesService }, { token: SkyFlyoutMediaQueryService }, { token: i0.ElementRef }, { token: i1.SkyUIConfigService }], target: i0.ɵɵFactoryTarget.Component });
698
- SkyFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyFlyoutComponent, selector: "sky-flyout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [
734
+ SkyFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutComponent, deps: [{ token: SkyFlyoutAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i2$1.SkyLibResourcesService }, { token: SkyFlyoutMediaQueryService }, { token: i0.ElementRef }, { token: i1.SkyUIConfigService }], target: i0.ɵɵFactoryTarget.Component });
735
+ SkyFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyFlyoutComponent, selector: "sky-flyout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [
699
736
  SkyFlyoutAdapterService,
700
737
  SkyFlyoutMediaQueryService,
701
- { provide: SkyMediaQueryService, useExisting: SkyFlyoutMediaQueryService }
702
- ], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config?.ariaRole\"\n [attr.aria-describedby]=\"config?.ariaDescribedBy\"\n [attr.aria-labelledby]=\"config?.ariaLabelledBy\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n (@flyoutState.done)=\"animationDone($event)\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n #flyoutRef\n>\n\n <input\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n [attr.step]=\"widthStep\"\n [max]=\"config.maxWidth\"\n [min]=\"config.minWidth\"\n [(ngModel)]=\"flyoutWidth\"\n (mousedown)=\"onResizeHandleMouseDown($event)\" />\n\n <div\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n #flyoutHeader\n >\n <div class=\"sky-flyout-header-content\">\n\n <button *skyThemeIf=\"'modern'\"\n class=\"sky-btn sky-btn-icon-borderless sky-margin-inline-sm sky-flyout-header-grab-handle\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon\n icon=\"tile-drag\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n\n <sky-flyout-iterator *ngIf=\"config.showIterator\"\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n >\n </sky-flyout-iterator>\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\">\n </ng-container>\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\">\n </ng-container>\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"close\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n</div>\n\n<ng-template #permalinkTemplate>\n <ng-template [ngIf]=\"permalink\">\n <ng-template [ngIf]=\"permalink.url\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n <ng-template [ngIf]=\"permalink.route\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n </ng-template>\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n <ng-template [ngIf]=\"primaryAction && primaryAction.callback\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-flyout-btn-primary-action sky-margin-inline-default\"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n </ng-template>\n</ng-template>\n", styles: [".sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:#fff;border-left:6px solid #0974a1;z-index:1001}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:auto;cursor:initial}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;left:-10px;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:1px solid #cdcfd2;width:100%;background:#eeeeef;height:50px;display:flex;align-items:flex-start}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-permalink:hover{text-decoration:none}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;height:calc(100% - 50px)}:host-context(.sky-theme-modern) .sky-flyout{border-left:0}:host-context(.sky-theme-modern) .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}:host-context(.sky-theme-modern) .sky-flyout-header-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab}.sky-theme-modern .sky-flyout{border-left:0}.sky-theme-modern .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}.sky-theme-modern .sky-flyout-header-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout{background:#000}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout-header{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout-header{background:#000}\n"], components: [{ type: i1$1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i9.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i10.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"] }, { type: i2$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "skyLibResources": i2$1.SkyLibResourcesPipe }, animations: [
738
+ { provide: SkyMediaQueryService, useExisting: SkyFlyoutMediaQueryService },
739
+ ], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config?.ariaRole\"\n [attr.aria-describedby]=\"config?.ariaDescribedBy\"\n [attr.aria-labelledby]=\"config?.ariaLabelledBy\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n (@flyoutState.done)=\"animationDone($event)\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n #flyoutRef\n>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n\n <div\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n #flyoutHeader\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"\n sky-btn\n sky-btn-icon-borderless\n sky-margin-inline-sm\n sky-flyout-header-grab-handle\n \"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon icon=\"tile-drag\" iconType=\"skyux\" size=\"lg\"> </sky-icon>\n </button>\n\n <sky-flyout-iterator\n *ngIf=\"config.showIterator\"\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n >\n </sky-flyout-iterator>\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\"> </ng-container>\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\"> </ng-container>\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"close\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n</div>\n\n<ng-template #permalinkTemplate>\n <ng-template [ngIf]=\"permalink\">\n <ng-template [ngIf]=\"permalink.url\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n <ng-template [ngIf]=\"permalink.route\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n </ng-template>\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n <ng-template [ngIf]=\"primaryAction && primaryAction.callback\">\n <button\n type=\"button\"\n class=\"\n sky-btn\n sky-btn-default\n sky-flyout-btn-primary-action\n sky-margin-inline-default\n \"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n </ng-template>\n</ng-template>\n", styles: [".sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:#fff;border-left:6px solid #0974a1;z-index:1001}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;left:-10px;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:1px solid #cdcfd2;width:100%;background:#eeeeef;height:50px;display:flex;align-items:flex-start}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-permalink:hover{text-decoration:none}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;height:calc(100% - 50px)}:host-context(.sky-theme-modern) .sky-flyout{border-left:0}:host-context(.sky-theme-modern) .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}:host-context(.sky-theme-modern) .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}.sky-theme-modern .sky-flyout{border-left:0}.sky-theme-modern .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}.sky-theme-modern .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout{background:#000}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout-header{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout-header{background:#000}\n"], components: [{ type: i1$1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"] }, { type: i2$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "skyLibResources": i2$1.SkyLibResourcesPipe }, animations: [
703
740
  trigger('flyoutState', [
704
741
  state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),
705
742
  state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),
706
743
  transition('void => *', [
707
744
  style({ transform: 'translateX(100%)' }),
708
- animate(250)
745
+ animate(250),
709
746
  ]),
710
- transition(`* <=> *`, animate('250ms ease-in'))
711
- ])
747
+ transition(`* <=> *`, animate('250ms ease-in')),
748
+ ]),
712
749
  ], changeDetection: i0.ChangeDetectionStrategy.Default });
713
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutComponent, decorators: [{
750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutComponent, decorators: [{
714
751
  type: Component,
715
752
  args: [{
716
753
  selector: 'sky-flyout',
@@ -719,7 +756,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
719
756
  providers: [
720
757
  SkyFlyoutAdapterService,
721
758
  SkyFlyoutMediaQueryService,
722
- { provide: SkyMediaQueryService, useExisting: SkyFlyoutMediaQueryService }
759
+ { provide: SkyMediaQueryService, useExisting: SkyFlyoutMediaQueryService },
723
760
  ],
724
761
  animations: [
725
762
  trigger('flyoutState', [
@@ -727,31 +764,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
727
764
  state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),
728
765
  transition('void => *', [
729
766
  style({ transform: 'translateX(100%)' }),
730
- animate(250)
767
+ animate(250),
731
768
  ]),
732
- transition(`* <=> *`, animate('250ms ease-in'))
733
- ])
769
+ transition(`* <=> *`, animate('250ms ease-in')),
770
+ ]),
734
771
  ],
735
772
  // Allow automatic change detection for child components.
736
- changeDetection: ChangeDetectionStrategy.Default
773
+ changeDetection: ChangeDetectionStrategy.Default,
737
774
  }]
738
775
  }], ctorParameters: function () { return [{ type: SkyFlyoutAdapterService }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i2$1.SkyLibResourcesService }, { type: SkyFlyoutMediaQueryService }, { type: i0.ElementRef }, { type: i1.SkyUIConfigService }]; }, propDecorators: { flyoutRef: [{
739
776
  type: ViewChild,
740
777
  args: ['flyoutRef', {
741
778
  read: ElementRef,
742
- static: true
779
+ static: true,
743
780
  }]
744
781
  }], target: [{
745
782
  type: ViewChild,
746
783
  args: ['target', {
747
784
  read: ViewContainerRef,
748
- static: true
785
+ static: true,
749
786
  }]
750
787
  }], flyoutHeader: [{
751
788
  type: ViewChild,
752
789
  args: ['flyoutHeader', {
753
790
  read: ElementRef,
754
- static: true
791
+ static: true,
755
792
  }]
756
793
  }], onWindowResize: [{
757
794
  type: HostListener,
@@ -760,9 +797,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
760
797
 
761
798
  class SkyFlyoutModule {
762
799
  }
763
- SkyFlyoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
764
- SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutModule, declarations: [SkyFlyoutComponent,
765
- SkyFlyoutIteratorComponent], imports: [CommonModule,
800
+ SkyFlyoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
801
+ SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutModule, declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent], imports: [CommonModule,
766
802
  FormsModule,
767
803
  RouterModule,
768
804
  SkyI18nModule,
@@ -770,7 +806,7 @@ SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
770
806
  SkyFlyoutResourcesModule,
771
807
  SkyThemeModule,
772
808
  SkyHrefModule], exports: [SkyFlyoutComponent] });
773
- SkyFlyoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutModule, imports: [[
809
+ SkyFlyoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutModule, imports: [[
774
810
  CommonModule,
775
811
  FormsModule,
776
812
  RouterModule,
@@ -778,15 +814,12 @@ SkyFlyoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
778
814
  SkyIconModule,
779
815
  SkyFlyoutResourcesModule,
780
816
  SkyThemeModule,
781
- SkyHrefModule
817
+ SkyHrefModule,
782
818
  ]] });
783
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutModule, decorators: [{
819
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutModule, decorators: [{
784
820
  type: NgModule,
785
821
  args: [{
786
- declarations: [
787
- SkyFlyoutComponent,
788
- SkyFlyoutIteratorComponent
789
- ],
822
+ declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent],
790
823
  imports: [
791
824
  CommonModule,
792
825
  FormsModule,
@@ -795,14 +828,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
795
828
  SkyIconModule,
796
829
  SkyFlyoutResourcesModule,
797
830
  SkyThemeModule,
798
- SkyHrefModule
799
- ],
800
- exports: [
801
- SkyFlyoutComponent
831
+ SkyHrefModule,
802
832
  ],
803
- entryComponents: [
804
- SkyFlyoutComponent
805
- ]
833
+ exports: [SkyFlyoutComponent],
834
+ entryComponents: [SkyFlyoutComponent],
806
835
  }]
807
836
  }] });
808
837
 
@@ -834,16 +863,13 @@ class SkyFlyoutService {
834
863
  if (this.host && !this.isOpening) {
835
864
  this.removeAfterClosed = true;
836
865
  this.host.instance.messageStream.next({
837
- type: SkyFlyoutMessageType.Close
866
+ type: SkyFlyoutMessageType.Close,
838
867
  });
839
868
  }
840
869
  }
841
870
  /**
842
871
  * Opens a flyout and displays the specified component.
843
- * @param component Specifies the component to render. Since you generate the component dynamically instead of
844
- * with HTML selectors, you must register it with the `entryComponents` property in the
845
- * `app-extras.module.ts` file. For more information, see the
846
- * [entry components tutorial](https://developer.blackbaud.com/skyux/learn/get-started/advanced/entry-components).
872
+ * @param component Specifies the component to render.
847
873
  * @param config Specifies the flyout configuration passed to the specified component's constructor.
848
874
  */
849
875
  open(component, config) {
@@ -867,7 +893,8 @@ class SkyFlyoutService {
867
893
  return flyout;
868
894
  }
869
895
  createHostComponent() {
870
- this.host = this.dynamicComponentService.createComponent(SkyFlyoutComponent);
896
+ this.host =
897
+ this.dynamicComponentService.createComponent(SkyFlyoutComponent);
871
898
  return this.host;
872
899
  }
873
900
  removeHostComponent() {
@@ -898,7 +925,9 @@ class SkyFlyoutService {
898
925
  if (flyoutInstance.flyoutRef.nativeElement.contains(event.target)) {
899
926
  return;
900
927
  }
901
- const isAbove = event.target === document ? false : this.coreAdapter.isTargetAboveElement(event.target, flyoutInstance.flyoutRef.nativeElement);
928
+ const isAbove = event.target === document
929
+ ? false
930
+ : this.coreAdapter.isTargetAboveElement(event.target, flyoutInstance.flyoutRef.nativeElement);
902
931
  /* istanbul ignore else */
903
932
  if (!isAbove) {
904
933
  doClose = true;
@@ -940,12 +969,12 @@ class SkyFlyoutService {
940
969
  this.ngUnsubscribe = new Subject();
941
970
  }
942
971
  }
943
- SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
944
- SkyFlyoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutService, providedIn: 'root' });
945
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFlyoutService, decorators: [{
972
+ SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
973
+ SkyFlyoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, providedIn: 'any' });
974
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFlyoutService, decorators: [{
946
975
  type: Injectable,
947
976
  args: [{
948
- providedIn: 'root'
977
+ providedIn: 'any',
949
978
  }]
950
979
  }], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2$2.Router }]; } });
951
980