@skyux/flyout 8.10.6 → 8.10.8

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.
@@ -178,16 +178,16 @@ class SkyFlyoutResourcesProvider {
178
178
  */
179
179
  class SkyFlyoutResourcesModule {
180
180
  }
181
- SkyFlyoutResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
182
- SkyFlyoutResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutResourcesModule, exports: [SkyI18nModule] });
183
- SkyFlyoutResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutResourcesModule, providers: [
181
+ SkyFlyoutResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
182
+ SkyFlyoutResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutResourcesModule, exports: [SkyI18nModule] });
183
+ SkyFlyoutResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutResourcesModule, providers: [
184
184
  {
185
185
  provide: SKY_LIB_RESOURCES_PROVIDERS,
186
186
  useClass: SkyFlyoutResourcesProvider,
187
187
  multi: true,
188
188
  },
189
189
  ], imports: [SkyI18nModule] });
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutResourcesModule, decorators: [{
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutResourcesModule, decorators: [{
191
191
  type: NgModule,
192
192
  args: [{
193
193
  exports: [SkyI18nModule],
@@ -235,9 +235,9 @@ class SkyFlyoutIteratorComponent {
235
235
  }
236
236
  }
237
237
  _SkyFlyoutIteratorComponent_ngUnsubscribe = new WeakMap(), _SkyFlyoutIteratorComponent__nextButtonClick = new WeakMap(), _SkyFlyoutIteratorComponent__previousButtonClick = new WeakMap();
238
- SkyFlyoutIteratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutIteratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
239
- SkyFlyoutIteratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", 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"], dependencies: [{ kind: "component", type: i1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i2$1.SkyLibResourcesPipe, name: "skyLibResources" }] });
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutIteratorComponent, decorators: [{
238
+ SkyFlyoutIteratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutIteratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
239
+ SkyFlyoutIteratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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"], dependencies: [{ kind: "component", type: i1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i2$1.SkyLibResourcesPipe, name: "skyLibResources" }] });
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutIteratorComponent, decorators: [{
241
241
  type: Component,
242
242
  args: [{ selector: 'sky-flyout-iterator', 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"] }]
243
243
  }], propDecorators: { nextButtonDisabled: [{
@@ -311,9 +311,9 @@ class SkyFlyoutAdapterService {
311
311
  }
312
312
  }
313
313
  _SkyFlyoutAdapterService_renderer = new WeakMap(), _SkyFlyoutAdapterService_windowRef = new WeakMap();
314
- SkyFlyoutAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1$1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
315
- SkyFlyoutAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutAdapterService });
316
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutAdapterService, decorators: [{
314
+ SkyFlyoutAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1$1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
315
+ SkyFlyoutAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutAdapterService });
316
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutAdapterService, decorators: [{
317
317
  type: Injectable
318
318
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: i1$1.SkyAppWindowRef }]; } });
319
319
 
@@ -377,9 +377,9 @@ class SkyFlyoutMediaQueryService {
377
377
  }
378
378
  }
379
379
  _SkyFlyoutMediaQueryService_currentSubject = new WeakMap();
380
- SkyFlyoutMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutMediaQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
381
- SkyFlyoutMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutMediaQueryService });
382
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutMediaQueryService, decorators: [{
380
+ SkyFlyoutMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutMediaQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
381
+ SkyFlyoutMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutMediaQueryService });
382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutMediaQueryService, decorators: [{
383
383
  type: Injectable
384
384
  }], ctorParameters: function () { return []; } });
385
385
 
@@ -829,8 +829,8 @@ _SkyFlyoutComponent_xCoord = new WeakMap(), _SkyFlyoutComponent_windowBufferSize
829
829
  this.enableTrapFocus = true;
830
830
  });
831
831
  };
832
- SkyFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", 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$1.SkyUIConfigService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
833
- SkyFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyFlyoutComponent, selector: "sky-flyout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [
832
+ SkyFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", 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$1.SkyUIConfigService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
833
+ SkyFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SkyFlyoutComponent, selector: "sky-flyout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [
834
834
  SkyFlyoutAdapterService,
835
835
  SkyFlyoutMediaQueryService,
836
836
  { provide: SkyMediaQueryService, useExisting: SkyFlyoutMediaQueryService },
@@ -845,7 +845,7 @@ SkyFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
845
845
  transition(`* <=> *`, animate('250ms ease-in')),
846
846
  ]),
847
847
  ], changeDetection: i0.ChangeDetectionStrategy.Default });
848
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutComponent, decorators: [{
848
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutComponent, decorators: [{
849
849
  type: Component,
850
850
  args: [{ selector: 'sky-flyout', providers: [
851
851
  SkyFlyoutAdapterService,
@@ -887,8 +887,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
887
887
 
888
888
  class SkyFlyoutModule {
889
889
  }
890
- SkyFlyoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
891
- SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutModule, declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent], imports: [A11yModule,
890
+ SkyFlyoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
891
+ SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutModule, declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent], imports: [A11yModule,
892
892
  CommonModule,
893
893
  FormsModule,
894
894
  RouterModule,
@@ -897,7 +897,7 @@ SkyFlyoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
897
897
  SkyFlyoutResourcesModule,
898
898
  SkyThemeModule,
899
899
  SkyHrefModule], exports: [SkyFlyoutComponent] });
900
- SkyFlyoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutModule, imports: [A11yModule,
900
+ SkyFlyoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutModule, imports: [A11yModule,
901
901
  CommonModule,
902
902
  FormsModule,
903
903
  RouterModule,
@@ -906,7 +906,7 @@ SkyFlyoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
906
906
  SkyFlyoutResourcesModule,
907
907
  SkyThemeModule,
908
908
  SkyHrefModule] });
909
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutModule, decorators: [{
909
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutModule, decorators: [{
910
910
  type: NgModule,
911
911
  args: [{
912
912
  declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent],
@@ -1074,9 +1074,9 @@ _SkyFlyoutService_host = new WeakMap(), _SkyFlyoutService_removeAfterClosed = ne
1074
1074
  __classPrivateFieldGet(this, _SkyFlyoutService_ngUnsubscribe, "f").unsubscribe();
1075
1075
  __classPrivateFieldSet(this, _SkyFlyoutService_ngUnsubscribe, new Subject(), "f");
1076
1076
  };
1077
- SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1$1.SkyCoreAdapterService }, { token: i1$1.SkyAppWindowRef }, { token: i1$1.SkyDynamicComponentService }, { token: i2$2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1078
- SkyFlyoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutService, providedIn: 'any' });
1079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyFlyoutService, decorators: [{
1077
+ SkyFlyoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1$1.SkyCoreAdapterService }, { token: i1$1.SkyAppWindowRef }, { token: i1$1.SkyDynamicComponentService }, { token: i2$2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1078
+ SkyFlyoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutService, providedIn: 'any' });
1079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyFlyoutService, decorators: [{
1080
1080
  type: Injectable,
1081
1081
  args: [{
1082
1082
  providedIn: 'any',
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-flyout.mjs","sources":["../../../../../libs/components/flyout/src/lib/modules/flyout/types/flyout-message-type.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-instance.ts","../../../../../libs/components/flyout/src/lib/modules/shared/sky-flyout-resources.module.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-iterator.component.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-iterator.component.html","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-adapter.service.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-media-query.service.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/types/flyout-before-close-handler.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout.component.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout.component.html","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout.module.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout.service.ts","../../../../../libs/components/flyout/src/skyux-flyout.ts"],"sourcesContent":["/**\n * @internal\n */\nexport enum SkyFlyoutMessageType {\n Open = 0,\n Close,\n EnableIteratorNextButton,\n EnableIteratorPreviousButton,\n DisableIteratorNextButton,\n DisableIteratorPreviousButton,\n}\n","import { EventEmitter } from '@angular/core';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { SkyFlyoutBeforeCloseHandler } from './types/flyout-before-close-handler';\nimport { SkyFlyoutCloseArgs } from './types/flyout-close-args';\nimport { SkyFlyoutMessage } from './types/flyout-message';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\n\n/**\n * Represents a single displayed flyout.\n */\nexport class SkyFlyoutInstance<T> {\n /**\n * An event that the modal instance emits when it is about to close.\n * If a subscription exists for this event,\n * the modal does not close until the subscriber calls the handler's `closeModal` method.\n */\n public get beforeClose(): Observable<SkyFlyoutBeforeCloseHandler> {\n return this.#_beforeClose;\n }\n\n /**\n * An event that the flyout instance emits when it closes.\n */\n public closed = new EventEmitter<void>();\n\n /**\n * The instance of the component to display in the flyout.\n */\n public componentInstance!: T;\n\n /**\n * Used to communicate with the host component.\n * @internal\n */\n public get hostController(): Subject<SkyFlyoutMessage> {\n return this.#_hostController;\n }\n\n /**\n * A `boolean` value that returns `true` if the flyout is open.\n * @default true\n */\n public isOpen = true;\n\n /**\n * An event that the flyout instance emits when users click the next iterator button.\n */\n public get iteratorNextButtonClick(): EventEmitter<void> {\n return this.#_iteratorNextButtonClick;\n }\n\n /**\n * An event that the flyout instance emits when users click the previous iterator button.\n */\n public get iteratorPreviousButtonClick(): EventEmitter<void> {\n return this.#_iteratorPreviousButtonClick;\n }\n\n /**\n * Disables the next iterator button.\n * @default false\n */\n public set iteratorNextButtonDisabled(newValue: boolean) {\n this.#_iteratorNextButtonDisabled = newValue;\n if (newValue) {\n this.hostController.next({\n type: SkyFlyoutMessageType.DisableIteratorNextButton,\n });\n } else {\n this.hostController.next({\n type: SkyFlyoutMessageType.EnableIteratorNextButton,\n });\n }\n }\n\n public get iteratorNextButtonDisabled(): boolean {\n return this.#_iteratorNextButtonDisabled;\n }\n\n /**\n * Disables the previous iterator button.\n * @default false\n */\n public set iteratorPreviousButtonDisabled(newValue: boolean) {\n this.#_iteratorPreviousButtonDisabled = newValue;\n if (newValue) {\n this.hostController.next({\n type: SkyFlyoutMessageType.DisableIteratorPreviousButton,\n });\n } else {\n this.hostController.next({\n type: SkyFlyoutMessageType.EnableIteratorPreviousButton,\n });\n }\n }\n\n public get iteratorPreviousButtonDisabled(): boolean {\n return this.#_iteratorPreviousButtonDisabled;\n }\n\n #_beforeClose = new Subject<SkyFlyoutBeforeCloseHandler>();\n\n #_iteratorNextButtonClick = new EventEmitter<void>();\n\n #_iteratorPreviousButtonClick = new EventEmitter<void>();\n\n #_iteratorNextButtonDisabled = false;\n\n #_iteratorPreviousButtonDisabled = false;\n\n #_hostController = new Subject<SkyFlyoutMessage>();\n\n // TODO: Remove this being optional in a future breaking change.\n constructor(componentInstance?: T) {\n if (!componentInstance) {\n console.warn(\n `The SkyFlyoutInstance was created without a reference to the flyout's child component instance.\n The instance will not have a reference ot this child component.\n Support for creating an instance without this reference will be removed in a future breaking change.`\n );\n }\n\n this.componentInstance = componentInstance!;\n this.closed.subscribe(() => {\n this.isOpen = false;\n });\n }\n\n /**\n * Closes the flyout instance and emits its `closed` event.\n * @param args Arguments used when closing the flyout.\n */\n public close(args?: SkyFlyoutCloseArgs): void {\n this.hostController.next({\n type: SkyFlyoutMessageType.Close,\n data: { ignoreBeforeClose: args ? args.ignoreBeforeClose : false },\n });\n\n this.#_iteratorPreviousButtonClick.complete();\n this.#_iteratorNextButtonClick.complete();\n\n this.hostController.complete();\n }\n}\n","/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-flyout' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_flyout_close: { message: 'Close flyout' },\n skyux_flyout_iterator_previous_button: { message: 'Previous' },\n skyux_flyout_iterator_next_button: { message: 'Next' },\n skyux_flyout_permalink_button: { message: 'View record' },\n skyux_flyout_primary_action_button: { message: 'Create list' },\n skyux_flyout_resize_handle: {\n message:\n '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.',\n },\n },\n};\n\nexport class SkyFlyoutResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyFlyoutResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyFlyoutResourcesModule {}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-flyout-iterator',\n templateUrl: './flyout-iterator.component.html',\n styleUrls: ['./flyout-iterator.component.scss'],\n})\nexport class SkyFlyoutIteratorComponent implements OnDestroy {\n @Input()\n public nextButtonDisabled: boolean | undefined;\n\n @Input()\n public previousButtonDisabled: boolean | undefined;\n\n @Output()\n public get previousButtonClick(): EventEmitter<void> {\n return this.#_previousButtonClick;\n }\n\n @Output()\n public get nextButtonClick(): EventEmitter<void> {\n return this.#_nextButtonClick;\n }\n\n #ngUnsubscribe = new Subject<void>();\n\n #_nextButtonClick = new EventEmitter<void>();\n\n #_previousButtonClick = new EventEmitter<void>();\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onIteratorPreviousClick(): void {\n /* istanbul ignore else */\n if (!this.previousButtonDisabled) {\n this.#_previousButtonClick.emit();\n }\n }\n\n public onIteratorNextClick(): void {\n /* istanbul ignore else */\n if (!this.nextButtonDisabled) {\n this.#_nextButtonClick.emit();\n }\n }\n}\n","<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","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyMediaBreakpoints } from '@skyux/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyFlyoutAdapterService {\n #renderer: Renderer2;\n\n #windowRef: SkyAppWindowRef;\n\n constructor(rendererFactory: RendererFactory2, windowRef: SkyAppWindowRef) {\n this.#windowRef = windowRef;\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public adjustHeaderForHelp(header: ElementRef): void {\n const windowObj = this.#windowRef.nativeWindow;\n const helpWidget = windowObj.document.getElementById('bb-help-invoker');\n\n if (helpWidget) {\n this.#renderer.addClass(header.nativeElement, 'sky-flyout-help-shim');\n }\n }\n\n public setResponsiveClass(\n element: ElementRef,\n breakpoint?: SkyMediaBreakpoints\n ): void {\n /* istanbul ignore if */\n if (!breakpoint) {\n return;\n }\n const nativeEl: HTMLElement = element.nativeElement;\n\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-xs');\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-sm');\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-md');\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-lg');\n\n let newClass: string;\n\n switch (breakpoint) {\n case SkyMediaBreakpoints.xs: {\n newClass = 'sky-responsive-container-xs';\n break;\n }\n case SkyMediaBreakpoints.sm: {\n newClass = 'sky-responsive-container-sm';\n break;\n }\n case SkyMediaBreakpoints.md: {\n newClass = 'sky-responsive-container-md';\n break;\n }\n default: {\n newClass = 'sky-responsive-container-lg';\n break;\n }\n }\n\n this.#renderer.addClass(nativeEl, newClass);\n }\n\n public toggleIframePointerEvents(enable: boolean): void {\n // When iframes are present on the page, they may interfere with dragging\n // temporarily disable pointer events in iframes when dragging starts.\n // When re-enabling we set to the empty string as it will remove the element styling\n // and fall back to any css originally given to iframe\n const iframes = document.querySelectorAll('iframe');\n for (let i = 0; i < iframes.length; i++) {\n iframes[i].style.pointerEvents = enable ? '' : 'none';\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SkyMediaBreakpoints, SkyMediaQueryListener } from '@skyux/core';\n\nimport { ReplaySubject, Subscription } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyFlyoutMediaQueryService {\n public current: SkyMediaBreakpoints | undefined;\n\n #currentSubject: ReplaySubject<SkyMediaBreakpoints>;\n\n constructor() {\n this.#currentSubject = new ReplaySubject<SkyMediaBreakpoints>(1);\n }\n\n public subscribe(listener: SkyMediaQueryListener): Subscription {\n return this.#currentSubject.subscribe({\n next: (breakpoints: SkyMediaBreakpoints) => {\n listener(breakpoints);\n },\n });\n }\n\n public setBreakpointForWidth(width: number): void {\n let breakpoint: SkyMediaBreakpoints;\n\n if (this.isWidthWithinBreakpoint(width, SkyMediaBreakpoints.xs)) {\n breakpoint = SkyMediaBreakpoints.xs;\n } else if (this.isWidthWithinBreakpoint(width, SkyMediaBreakpoints.sm)) {\n breakpoint = SkyMediaBreakpoints.sm;\n } else if (this.isWidthWithinBreakpoint(width, SkyMediaBreakpoints.md)) {\n breakpoint = SkyMediaBreakpoints.md;\n } else {\n breakpoint = SkyMediaBreakpoints.lg;\n }\n\n this.current = breakpoint;\n this.#currentSubject.next(this.current);\n }\n\n public isWidthWithinBreakpoint(\n width: number,\n breakpoint: SkyMediaBreakpoints\n ): boolean {\n const xsBreakpointMaxPixels = 767;\n const smBreakpointMinPixels = 768;\n const smBreakpointMaxPixels = 991;\n const mdBreakpointMinPixels = 992;\n const mdBreakpointMaxPixels = 1199;\n const lgBreakpointMinPixels = 1200;\n\n switch (breakpoint) {\n case SkyMediaBreakpoints.xs: {\n return width <= xsBreakpointMaxPixels;\n }\n case SkyMediaBreakpoints.sm: {\n return width >= smBreakpointMinPixels && width <= smBreakpointMaxPixels;\n }\n case SkyMediaBreakpoints.md: {\n return width >= mdBreakpointMinPixels && width <= mdBreakpointMaxPixels;\n }\n default: {\n return width >= lgBreakpointMinPixels;\n }\n }\n }\n\n public destroy(): void {\n this.#currentSubject.complete();\n }\n}\n","/**\n * Handler for notifying the flyout when it is appropriate to close the flyout. This will be returned from the flyout instance's `beforeClose` observable.\n */\nexport class SkyFlyoutBeforeCloseHandler {\n /**\n * Function which should be called to close the flyout. This should be called once any intervening actions have completed.\n */\n public readonly closeFlyout: Function;\n\n constructor(closeFlyoutFunction: Function) {\n this.closeFlyout = closeFlyoutFunction;\n }\n}\n","import {\n AnimationEvent,\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ElementRef,\n HostListener,\n Injector,\n NgZone,\n OnDestroy,\n OnInit,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n SKY_STACKING_CONTEXT,\n SkyMediaBreakpoints,\n SkyMediaQueryService,\n SkyUIConfigService,\n} from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { BehaviorSubject, Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\n\nimport { SkyFlyoutAdapterService } from './flyout-adapter.service';\nimport { SkyFlyoutInstance } from './flyout-instance';\nimport { SkyFlyoutMediaQueryService } from './flyout-media-query.service';\nimport { SkyFlyoutAction } from './types/flyout-action';\nimport { SkyFlyoutBeforeCloseHandler } from './types/flyout-before-close-handler';\nimport { SkyFlyoutConfig } from './types/flyout-config';\nimport { SkyFlyoutConfigInternal } from './types/flyout-config-internal';\nimport { SkyFlyoutMessage } from './types/flyout-message';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\nimport { SkyFlyoutPermalink } from './types/flyout-permalink';\n\nconst FLYOUT_OPEN_STATE = 'flyoutOpen';\nconst FLYOUT_CLOSED_STATE = 'flyoutClosed';\n\nlet nextId = 0;\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-flyout',\n templateUrl: './flyout.component.html',\n styleUrls: ['./flyout.component.scss'],\n providers: [\n SkyFlyoutAdapterService,\n SkyFlyoutMediaQueryService,\n { provide: SkyMediaQueryService, useExisting: SkyFlyoutMediaQueryService },\n ],\n animations: [\n trigger('flyoutState', [\n state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),\n state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),\n transition('void => *', [\n style({ transform: 'translateX(100%)' }),\n animate(250),\n ]),\n transition(`* <=> *`, animate('250ms ease-in')),\n ]),\n ],\n // Allow automatic change detection for child components.\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SkyFlyoutComponent implements OnDestroy, OnInit {\n public config: SkyFlyoutConfigInternal = {\n defaultWidth: window.innerWidth / 2,\n minWidth: 320,\n maxWidth: window.innerWidth / 2,\n providers: [],\n };\n public enableTrapFocus = false;\n public enableTrapFocusAutoCapture = false;\n public flyoutId = `sky-flyout-${++nextId}`;\n public flyoutState = FLYOUT_CLOSED_STATE;\n public isOpen = false;\n public isOpening = false;\n\n public flyoutWidth = 0;\n public instanceReady = false;\n public isDragging = false;\n public isFullscreen = false;\n public resizeKeyControlActive = false;\n\n #xCoord = 0;\n #windowBufferSize = 20;\n\n public get messageStream(): Subject<SkyFlyoutMessage> {\n return this.#_messageStream;\n }\n\n public permalink: SkyFlyoutPermalink = {};\n\n public permalinkLabel = '';\n\n public primaryAction: SkyFlyoutAction = {};\n\n public primaryActionLabel = '';\n\n /**\n * @internal\n */\n public widthStep = 10;\n\n /**\n * @internal\n */\n @ViewChild('flyoutRef', {\n read: ElementRef,\n static: true,\n })\n public flyoutRef: ElementRef | undefined;\n\n @ViewChild('target', {\n read: ViewContainerRef,\n static: true,\n })\n public target: ViewContainerRef | undefined;\n\n @ViewChild('flyoutHeader', {\n read: ElementRef,\n static: true,\n })\n public flyoutHeader: ElementRef | undefined;\n\n protected zIndex$ = new BehaviorSubject(1001);\n\n #flyoutInstance: SkyFlyoutInstance<any> | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n\n #_messageStream = new Subject<SkyFlyoutMessage>();\n\n #adapter: SkyFlyoutAdapterService;\n #changeDetector: ChangeDetectorRef;\n #injector: Injector;\n #resolver: ComponentFactoryResolver;\n #resourcesService: SkyLibResourcesService;\n #flyoutMediaQueryService: SkyFlyoutMediaQueryService;\n #elementRef: ElementRef;\n #uiConfigService: SkyUIConfigService;\n #ngZone: NgZone;\n\n constructor(\n adapter: SkyFlyoutAdapterService,\n changeDetector: ChangeDetectorRef,\n injector: Injector,\n resolver: ComponentFactoryResolver,\n resourcesService: SkyLibResourcesService,\n flyoutMediaQueryService: SkyFlyoutMediaQueryService,\n elementRef: ElementRef,\n uiConfigService: SkyUIConfigService,\n ngZone: NgZone\n ) {\n this.#adapter = adapter;\n this.#changeDetector = changeDetector;\n this.#injector = injector;\n this.#resolver = resolver;\n this.#resourcesService = resourcesService;\n this.#flyoutMediaQueryService = flyoutMediaQueryService;\n this.#elementRef = elementRef;\n this.#uiConfigService = uiConfigService;\n this.#ngZone = ngZone;\n\n // All commands flow through the message stream.\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyFlyoutMessage) => {\n this.#handleIncomingMessages(message);\n });\n }\n\n public ngOnInit(): void {\n /* istanbul ignore else */\n if (this.flyoutHeader) {\n this.#adapter.adjustHeaderForHelp(this.flyoutHeader);\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n @HostListener('window:resize', ['$event'])\n public onWindowResize(event: any): void {\n if (\n this.#flyoutMediaQueryService.isWidthWithinBreakpoint(\n event.target.innerWidth,\n SkyMediaBreakpoints.xs\n )\n ) {\n this.#updateBreakpointAndResponsiveClass(event.target.innerWidth);\n } else {\n this.#updateBreakpointAndResponsiveClass(this.flyoutWidth);\n }\n\n this.#setFullscreen();\n\n if (event.target.innerWidth - this.flyoutWidth < this.#windowBufferSize) {\n this.flyoutWidth = event.target.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n this.#setUserData();\n }\n }\n\n public attach<T>(\n component: Type<T>,\n config?: SkyFlyoutConfig\n ): SkyFlyoutInstance<T> {\n this.#cleanTemplate();\n\n // Emit the closed event on any previously opened flyout instance\n if (this.#flyoutInstance) {\n this.#notifyClosed();\n }\n\n this.config = Object.assign(\n {\n defaultWidth: window.innerWidth / 2,\n minWidth: 320,\n maxWidth: window.innerWidth / 2,\n providers: [\n {\n provide: SKY_STACKING_CONTEXT,\n useValue: {\n zIndex: this.zIndex$\n .asObservable()\n .pipe(takeUntil(this.#ngUnsubscribe)),\n },\n },\n ],\n },\n config\n );\n if (config?.defaultWidth && !config?.maxWidth) {\n this.config.maxWidth = config?.defaultWidth;\n }\n\n this.config.showIterator = this.config.showIterator || false;\n this.config.iteratorNextButtonDisabled =\n this.config.iteratorNextButtonDisabled || false;\n this.config.iteratorPreviousButtonDisabled =\n this.config.iteratorPreviousButtonDisabled || false;\n\n this.permalink = this.config.permalink ?? {};\n this.permalinkLabel =\n this.config.permalink && this.config.permalink.label\n ? this.config.permalink.label\n : this.#getString('skyux_flyout_permalink_button');\n\n this.primaryAction = this.config.primaryAction ?? {};\n this.primaryActionLabel =\n this.config.primaryAction && this.config.primaryAction.label\n ? this.config.primaryAction.label\n : this.#getString('skyux_flyout_primary_action_button');\n\n const factory = this.#resolver.resolveComponentFactory(component);\n\n const injector = Injector.create({\n parent: this.#injector,\n providers: this.config.providers,\n });\n\n const componentRef = this.target?.createComponent(\n factory,\n undefined,\n injector\n );\n\n /* safety check */\n /* istanbul ignore if */\n if (!componentRef) {\n throw new Error(\"Flyout's internal component could not be created\");\n }\n\n this.#flyoutInstance = this.#createFlyoutInstance<T>(componentRef.instance);\n\n // This is used to ensure we do not render the flyout until we have attached the component.\n // This allows the aria-labelledby to function correctly.\n this.instanceReady = true;\n this.#changeDetector.markForCheck();\n\n // Open the flyout immediately.\n this.messageStream.next({\n type: SkyFlyoutMessageType.Open,\n });\n\n if (this.config.settingsKey) {\n this.#uiConfigService\n .getConfig(this.config.settingsKey)\n .pipe(take(1))\n .subscribe((value: any) => {\n if (value && value.flyoutWidth) {\n this.flyoutWidth = value.flyoutWidth;\n } else {\n // Bad data, or config is the default config.\n this.flyoutWidth = this.config.defaultWidth;\n }\n this.#checkInitialSize();\n });\n } else {\n this.flyoutWidth = this.config.defaultWidth;\n this.#checkInitialSize();\n }\n\n return this.#flyoutInstance;\n }\n\n public close(): void {\n this.messageStream.next({\n type: SkyFlyoutMessageType.Close,\n });\n }\n\n public invokePrimaryAction(): boolean {\n if (this.primaryAction.callback) {\n this.primaryAction.callback();\n\n if (this.primaryAction.closeAfterInvoking) {\n this.close();\n }\n\n return false;\n }\n /* istanbul ignore next */\n return true;\n }\n\n public getAnimationState(): string {\n return this.instanceReady && this.isOpening\n ? FLYOUT_OPEN_STATE\n : FLYOUT_CLOSED_STATE;\n }\n\n public animationDone(event: AnimationEvent): void {\n if (event.toState === FLYOUT_OPEN_STATE) {\n this.isOpen = true;\n }\n\n if (event.toState === FLYOUT_CLOSED_STATE) {\n this.isOpen = false;\n this.#notifyClosed();\n this.#cleanTemplate();\n }\n }\n\n public onHeaderGrabHandleMouseDown(event: MouseEvent): void {\n this.onResizeHandleMouseDown(event);\n }\n\n public onHeaderGrabHandleKeyDown(event: KeyboardEvent): void {\n this.#handleResizeKeyDown(event);\n }\n\n public onResizeHandleKeyDown(event: KeyboardEvent): void {\n this.#handleResizeKeyDown(event);\n }\n\n public onResizeHandleMouseDown(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.isFullscreen) {\n return;\n }\n\n this.isDragging = true;\n this.#xCoord = event.clientX;\n\n this.#adapter.toggleIframePointerEvents(false);\n\n fromEvent(document, 'mousemove')\n .pipe(\n takeWhile(() => {\n return this.isDragging;\n })\n )\n .subscribe((moveEvent: any) => {\n this.onMouseMove(moveEvent);\n });\n\n fromEvent(document, 'mouseup')\n .pipe(\n takeWhile(() => {\n return this.isDragging;\n })\n )\n .subscribe((mouseUpEvent: any) => {\n this.onHandleRelease(mouseUpEvent);\n });\n }\n\n public onMouseMove(event: MouseEvent): void {\n /* Sanity check */\n /* istanbul ignore if */\n if (!this.isDragging) {\n return;\n }\n\n const offsetX = event.clientX - this.#xCoord;\n let width = this.flyoutWidth;\n\n width -= offsetX;\n\n if (width < this.config.minWidth || width > this.config.maxWidth) {\n return;\n }\n\n if (window.innerWidth - width < this.#windowBufferSize) {\n width = window.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n } else {\n this.#xCoord = event.clientX;\n }\n\n this.flyoutWidth = width;\n\n this.#updateBreakpointAndResponsiveClass(this.flyoutWidth);\n\n this.#changeDetector.markForCheck();\n }\n\n public onHandleRelease(event: MouseEvent): void {\n fromEvent(document, 'click')\n .pipe(take(1))\n .subscribe(() => {\n this.isDragging = false;\n this.#adapter.toggleIframePointerEvents(true);\n this.#setUserData();\n });\n }\n\n public onIteratorPreviousButtonClick(): void {\n /* istanbul ignore else */\n if (this.#flyoutInstance) {\n this.#flyoutInstance.iteratorPreviousButtonClick.emit();\n }\n }\n\n public onIteratorNextButtonClick(): void {\n /* istanbul ignore else */\n if (this.#flyoutInstance) {\n this.#flyoutInstance.iteratorNextButtonClick.emit();\n }\n }\n\n #createFlyoutInstance<T>(component: T): SkyFlyoutInstance<T> {\n const instance = new SkyFlyoutInstance<T>(component);\n\n instance.hostController\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyFlyoutMessage) => {\n this.messageStream.next(message);\n });\n\n return instance;\n }\n\n #handleIncomingMessages(message: SkyFlyoutMessage): void {\n switch (message.type) {\n case SkyFlyoutMessageType.Open:\n if (!this.isOpen) {\n this.isOpen = false;\n this.isOpening = true;\n }\n this.#initFocusTrap();\n break;\n\n case SkyFlyoutMessageType.Close:\n if (\n (this.#flyoutInstance?.beforeClose as Subject<any>)?.observers\n .length === 0 ||\n message.data?.ignoreBeforeClose\n ) {\n this.isOpen = true;\n this.isOpening = false;\n } else {\n (this.#flyoutInstance?.beforeClose as Subject<any>)?.next(\n new SkyFlyoutBeforeCloseHandler(() => {\n this.isOpen = true;\n this.isOpening = false;\n })\n );\n }\n break;\n\n case SkyFlyoutMessageType.EnableIteratorNextButton:\n this.config.iteratorNextButtonDisabled = false;\n break;\n\n case SkyFlyoutMessageType.EnableIteratorPreviousButton:\n this.config.iteratorPreviousButtonDisabled = false;\n break;\n\n case SkyFlyoutMessageType.DisableIteratorNextButton:\n this.config.iteratorNextButtonDisabled = true;\n break;\n\n case SkyFlyoutMessageType.DisableIteratorPreviousButton:\n this.config.iteratorPreviousButtonDisabled = true;\n break;\n }\n\n this.#changeDetector.markForCheck();\n }\n\n #notifyClosed(): void {\n this.#flyoutInstance?.closed.emit();\n this.#flyoutInstance?.closed.complete();\n }\n\n #cleanTemplate(): void {\n this.target?.clear();\n }\n\n #updateBreakpointAndResponsiveClass(width: number): void {\n this.#flyoutMediaQueryService.setBreakpointForWidth(width);\n\n const newBreakpoint = this.#flyoutMediaQueryService.current;\n\n this.#adapter.setResponsiveClass(this.#elementRef, newBreakpoint);\n }\n\n #setFullscreen(): void {\n if (window.innerWidth - this.#windowBufferSize < this.config.minWidth) {\n this.isFullscreen = true;\n } else {\n this.isFullscreen = false;\n }\n }\n\n #setUserData(): void {\n if (this.config.settingsKey) {\n this.#uiConfigService\n .setConfig(this.config.settingsKey, {\n flyoutWidth: this.flyoutWidth,\n })\n .pipe(take(1))\n .subscribe(\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {},\n (err) => {\n console.warn('Could not save flyout data.');\n console.warn(err);\n }\n );\n }\n }\n\n #checkInitialSize(): void {\n if (this.flyoutWidth < this.config.minWidth) {\n this.flyoutWidth = this.config.minWidth;\n this.#setUserData();\n } else if (this.flyoutWidth > this.config.maxWidth) {\n this.flyoutWidth = this.config.maxWidth;\n this.#setUserData();\n }\n\n // Ensure flyout does not load larger than the window and its buffer\n if (window.innerWidth - this.flyoutWidth < this.#windowBufferSize) {\n this.flyoutWidth = window.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n this.#setUserData();\n }\n\n if (\n this.#flyoutMediaQueryService.isWidthWithinBreakpoint(\n window.innerWidth,\n SkyMediaBreakpoints.xs\n )\n ) {\n this.#updateBreakpointAndResponsiveClass(window.innerWidth);\n } else {\n this.#updateBreakpointAndResponsiveClass(this.flyoutWidth);\n }\n\n this.#setFullscreen();\n }\n\n #getString(key: string): string {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesService.getStringForLocale({ locale: 'en-US' }, key);\n }\n\n #handleResizeKeyDown(event: KeyboardEvent): void {\n /* istanbul ignore else */\n if (event.key) {\n const keyPressed = event.key.toLowerCase().replace('arrow', '');\n switch (keyPressed) {\n case 'enter':\n case ' ':\n this.resizeKeyControlActive = !this.resizeKeyControlActive;\n break;\n case 'tab':\n /* istanbul ignore else */\n if (this.resizeKeyControlActive) {\n this.resizeKeyControlActive = false;\n }\n break;\n case 'left':\n if (this.resizeKeyControlActive) {\n /* istanbul ignore else */\n if (this.flyoutWidth < this.config.maxWidth) {\n this.flyoutWidth = Math.min(\n this.flyoutWidth + this.widthStep,\n this.config.maxWidth\n );\n }\n }\n break;\n\n case 'right':\n if (this.resizeKeyControlActive) {\n /* istanbul ignore else */\n if (this.flyoutWidth > this.config.minWidth) {\n this.flyoutWidth = Math.max(\n this.flyoutWidth - this.widthStep,\n this.config.minWidth\n );\n }\n }\n break;\n\n /* istanbul ignore next */\n default:\n break;\n }\n }\n }\n\n /** Executes a function when the zone is stable. */\n #executeOnStable(fn: () => any): void {\n if (this.#ngZone.isStable) {\n fn();\n } else {\n this.#ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n\n #initFocusTrap(): void {\n this.enableTrapFocusAutoCapture = false;\n this.enableTrapFocus = false;\n // Waiting for zone to be stable will avoid ExpressionChangeAfterCheckedError.\n this.#executeOnStable(() => {\n this.enableTrapFocusAutoCapture = true;\n this.enableTrapFocus = true;\n });\n }\n}\n","<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config.ariaDescribedBy\"\n [attr.aria-label]=\"config.ariaLabel\"\n [attr.aria-labelledby]=\"config.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [style.z-index]=\"zIndex$ | async\"\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 [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n>\n <div\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n [style.z-index]=\"zIndex$ | async\"\n #flyoutHeader\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *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 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 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</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","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyHrefModule } from '@skyux/router';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyFlyoutResourcesModule } from '../shared/sky-flyout-resources.module';\n\nimport { SkyFlyoutIteratorComponent } from './flyout-iterator.component';\nimport { SkyFlyoutComponent } from './flyout.component';\n\n@NgModule({\n declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent],\n imports: [\n A11yModule,\n CommonModule,\n FormsModule,\n RouterModule,\n SkyI18nModule,\n SkyIconModule,\n SkyFlyoutResourcesModule,\n SkyThemeModule,\n SkyHrefModule,\n ],\n exports: [SkyFlyoutComponent],\n})\nexport class SkyFlyoutModule {}\n","import {\n ComponentRef,\n Injectable,\n NgZone,\n OnDestroy,\n Type,\n} from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport {\n SkyAppWindowRef,\n SkyCoreAdapterService,\n SkyDynamicComponentService,\n} from '@skyux/core';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\n\nimport { SkyFlyoutInstance } from './flyout-instance';\nimport { SkyFlyoutComponent } from './flyout.component';\nimport { SkyFlyoutCloseArgs } from './types/flyout-close-args';\nimport { SkyFlyoutConfig } from './types/flyout-config';\nimport { SkyFlyoutMessage } from './types/flyout-message';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\n\n/**\n * Launches flyouts and provides a common look and feel.\n * This service dynamically generates the flyout component and appends it directly to the\n * document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.\n */\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyFlyoutService implements OnDestroy {\n #host: ComponentRef<SkyFlyoutComponent> | undefined;\n #removeAfterClosed = false;\n #isOpening = false;\n #ngUnsubscribe = new Subject<boolean>();\n\n #coreAdapter: SkyCoreAdapterService;\n #windowRef: SkyAppWindowRef;\n #dynamicComponentService: SkyDynamicComponentService;\n #router: Router;\n #ngZone: NgZone;\n\n constructor(\n coreAdapter: SkyCoreAdapterService,\n windowRef: SkyAppWindowRef,\n dynamicComponentService: SkyDynamicComponentService,\n router: Router,\n ngZone: NgZone\n ) {\n this.#coreAdapter = coreAdapter;\n this.#windowRef = windowRef;\n this.#dynamicComponentService = dynamicComponentService;\n this.#router = router;\n this.#ngZone = ngZone;\n }\n\n public ngOnDestroy(): void {\n this.#removeListeners();\n if (this.#host) {\n this.#removeHostComponent();\n }\n }\n\n /**\n * Closes the flyout. This method also removes the flyout's HTML elements from the DOM.\n * @param args Arguments used when closing the flyout.\n */\n public close(args?: SkyFlyoutCloseArgs): void {\n if (this.#host && !this.#isOpening) {\n this.#host.instance.messageStream.next({\n type: SkyFlyoutMessageType.Close,\n data: {\n ignoreBeforeClose: args ? args.ignoreBeforeClose : false,\n },\n });\n }\n }\n\n /**\n * Opens a flyout and displays the specified component.\n * @param component Specifies the component to render.\n * @param config Specifies the flyout configuration passed to the specified component's constructor.\n */\n public open<T>(\n component: Type<T>,\n config?: SkyFlyoutConfig\n ): SkyFlyoutInstance<T> {\n // isOpening flag will prevent close() from firing when open() is also fired.\n this.#isOpening = true;\n this.#windowRef.nativeWindow.setTimeout(() => {\n this.#isOpening = false;\n });\n\n if (!this.#host) {\n this.#host = this.#createHostComponent();\n\n this.#router.events\n .pipe(takeWhile(() => this.#host !== undefined))\n .subscribe((event) => {\n if (event instanceof NavigationStart) {\n this.close();\n\n // Sanity check - if the host still exists after animations should have completed - remove host\n this.#ngZone.onStable.pipe(take(1)).subscribe(() => {\n if (this.#host) {\n this.#removeHostComponent();\n }\n });\n }\n });\n }\n\n const flyout = this.#host.instance.attach(component, config);\n\n this.#addListeners(flyout);\n\n return flyout;\n }\n\n #createHostComponent(): ComponentRef<SkyFlyoutComponent> {\n this.#host =\n this.#dynamicComponentService.createComponent(SkyFlyoutComponent);\n return this.#host;\n }\n\n #removeHostComponent(): void {\n if (this.#host) {\n this.#dynamicComponentService.removeComponent(this.#host);\n this.#host = undefined;\n }\n }\n\n #addListeners<T>(flyout: SkyFlyoutInstance<T>): void {\n /* istanbul ignore else */\n if (this.#host) {\n const flyoutInstance = this.#host.instance;\n\n let doClose = false;\n\n /**\n * Handles when to close a flyout.\n * Note: We're using `mouseup` in order to capture the parent of certain targets that will be\n * deleted immediately after being clicked. If we use `click`, the event is fired after the\n * element is removed from the DOM making it impossible to check the parent's z-index\n * relative to the flyout's container.\n */\n fromEvent(document, 'mouseup')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((event: Event) => {\n doClose = false;\n\n if (this.#host?.instance.isDragging) {\n return;\n }\n\n if (flyoutInstance.flyoutRef?.nativeElement.contains(event.target)) {\n return;\n }\n\n const isAbove =\n event.target === document || !event.target\n ? false\n : this.#coreAdapter.isTargetAboveElement(\n event.target,\n flyoutInstance.flyoutRef?.nativeElement\n );\n\n /* istanbul ignore else */\n if (!isAbove) {\n doClose = true;\n }\n });\n\n /**\n * Check if we should close the flyout specifically on a `click` event so that we can keep\n * it open when consumers fire another `click` event on a trigger button. Since the consumer\n * will likely use a `click` event to open the flyout, we want to wait for that event to fire\n * before determining if the flyout should be closed.\n */\n fromEvent(document, 'click')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n if (doClose) {\n this.close();\n }\n });\n\n this.#removeAfterClosed = false;\n flyoutInstance.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyFlyoutMessage) => {\n if (message.type === SkyFlyoutMessageType.Close) {\n this.#removeAfterClosed = true;\n this.#isOpening = false;\n }\n });\n\n flyout.closed.pipe(take(1)).subscribe(() => {\n this.#removeListeners();\n if (this.#removeAfterClosed) {\n this.#removeHostComponent();\n }\n });\n }\n }\n\n #removeListeners(): void {\n this.#ngUnsubscribe.next(true);\n this.#ngUnsubscribe.unsubscribe();\n this.#ngUnsubscribe = new Subject<boolean>();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1","i1.SkyFlyoutAdapterService","i2","i3.SkyFlyoutMediaQueryService","i4","i7","i8","i9","i11.SkyFlyoutIteratorComponent"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-flyout.mjs","sources":["../../../../../libs/components/flyout/src/lib/modules/flyout/types/flyout-message-type.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-instance.ts","../../../../../libs/components/flyout/src/lib/modules/shared/sky-flyout-resources.module.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-iterator.component.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-iterator.component.html","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-adapter.service.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-media-query.service.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/types/flyout-before-close-handler.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout.component.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout.component.html","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout.module.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout.service.ts","../../../../../libs/components/flyout/src/skyux-flyout.ts"],"sourcesContent":["/**\n * @internal\n */\nexport enum SkyFlyoutMessageType {\n Open = 0,\n Close,\n EnableIteratorNextButton,\n EnableIteratorPreviousButton,\n DisableIteratorNextButton,\n DisableIteratorPreviousButton,\n}\n","import { EventEmitter } from '@angular/core';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { SkyFlyoutBeforeCloseHandler } from './types/flyout-before-close-handler';\nimport { SkyFlyoutCloseArgs } from './types/flyout-close-args';\nimport { SkyFlyoutMessage } from './types/flyout-message';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\n\n/**\n * Represents a single displayed flyout.\n */\nexport class SkyFlyoutInstance<T> {\n /**\n * An event that the modal instance emits when it is about to close.\n * If a subscription exists for this event,\n * the modal does not close until the subscriber calls the handler's `closeModal` method.\n */\n public get beforeClose(): Observable<SkyFlyoutBeforeCloseHandler> {\n return this.#_beforeClose;\n }\n\n /**\n * An event that the flyout instance emits when it closes.\n */\n public closed = new EventEmitter<void>();\n\n /**\n * The instance of the component to display in the flyout.\n */\n public componentInstance!: T;\n\n /**\n * Used to communicate with the host component.\n * @internal\n */\n public get hostController(): Subject<SkyFlyoutMessage> {\n return this.#_hostController;\n }\n\n /**\n * A `boolean` value that returns `true` if the flyout is open.\n * @default true\n */\n public isOpen = true;\n\n /**\n * An event that the flyout instance emits when users click the next iterator button.\n */\n public get iteratorNextButtonClick(): EventEmitter<void> {\n return this.#_iteratorNextButtonClick;\n }\n\n /**\n * An event that the flyout instance emits when users click the previous iterator button.\n */\n public get iteratorPreviousButtonClick(): EventEmitter<void> {\n return this.#_iteratorPreviousButtonClick;\n }\n\n /**\n * Disables the next iterator button.\n * @default false\n */\n public set iteratorNextButtonDisabled(newValue: boolean) {\n this.#_iteratorNextButtonDisabled = newValue;\n if (newValue) {\n this.hostController.next({\n type: SkyFlyoutMessageType.DisableIteratorNextButton,\n });\n } else {\n this.hostController.next({\n type: SkyFlyoutMessageType.EnableIteratorNextButton,\n });\n }\n }\n\n public get iteratorNextButtonDisabled(): boolean {\n return this.#_iteratorNextButtonDisabled;\n }\n\n /**\n * Disables the previous iterator button.\n * @default false\n */\n public set iteratorPreviousButtonDisabled(newValue: boolean) {\n this.#_iteratorPreviousButtonDisabled = newValue;\n if (newValue) {\n this.hostController.next({\n type: SkyFlyoutMessageType.DisableIteratorPreviousButton,\n });\n } else {\n this.hostController.next({\n type: SkyFlyoutMessageType.EnableIteratorPreviousButton,\n });\n }\n }\n\n public get iteratorPreviousButtonDisabled(): boolean {\n return this.#_iteratorPreviousButtonDisabled;\n }\n\n #_beforeClose = new Subject<SkyFlyoutBeforeCloseHandler>();\n\n #_iteratorNextButtonClick = new EventEmitter<void>();\n\n #_iteratorPreviousButtonClick = new EventEmitter<void>();\n\n #_iteratorNextButtonDisabled = false;\n\n #_iteratorPreviousButtonDisabled = false;\n\n #_hostController = new Subject<SkyFlyoutMessage>();\n\n // TODO: Remove this being optional in a future breaking change.\n constructor(componentInstance?: T) {\n if (!componentInstance) {\n console.warn(\n `The SkyFlyoutInstance was created without a reference to the flyout's child component instance.\n The instance will not have a reference ot this child component.\n Support for creating an instance without this reference will be removed in a future breaking change.`\n );\n }\n\n this.componentInstance = componentInstance!;\n this.closed.subscribe(() => {\n this.isOpen = false;\n });\n }\n\n /**\n * Closes the flyout instance and emits its `closed` event.\n * @param args Arguments used when closing the flyout.\n */\n public close(args?: SkyFlyoutCloseArgs): void {\n this.hostController.next({\n type: SkyFlyoutMessageType.Close,\n data: { ignoreBeforeClose: args ? args.ignoreBeforeClose : false },\n });\n\n this.#_iteratorPreviousButtonClick.complete();\n this.#_iteratorNextButtonClick.complete();\n\n this.hostController.complete();\n }\n}\n","/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-flyout' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_flyout_close: { message: 'Close flyout' },\n skyux_flyout_iterator_previous_button: { message: 'Previous' },\n skyux_flyout_iterator_next_button: { message: 'Next' },\n skyux_flyout_permalink_button: { message: 'View record' },\n skyux_flyout_primary_action_button: { message: 'Create list' },\n skyux_flyout_resize_handle: {\n message:\n '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.',\n },\n },\n};\n\nexport class SkyFlyoutResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyFlyoutResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyFlyoutResourcesModule {}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-flyout-iterator',\n templateUrl: './flyout-iterator.component.html',\n styleUrls: ['./flyout-iterator.component.scss'],\n})\nexport class SkyFlyoutIteratorComponent implements OnDestroy {\n @Input()\n public nextButtonDisabled: boolean | undefined;\n\n @Input()\n public previousButtonDisabled: boolean | undefined;\n\n @Output()\n public get previousButtonClick(): EventEmitter<void> {\n return this.#_previousButtonClick;\n }\n\n @Output()\n public get nextButtonClick(): EventEmitter<void> {\n return this.#_nextButtonClick;\n }\n\n #ngUnsubscribe = new Subject<void>();\n\n #_nextButtonClick = new EventEmitter<void>();\n\n #_previousButtonClick = new EventEmitter<void>();\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onIteratorPreviousClick(): void {\n /* istanbul ignore else */\n if (!this.previousButtonDisabled) {\n this.#_previousButtonClick.emit();\n }\n }\n\n public onIteratorNextClick(): void {\n /* istanbul ignore else */\n if (!this.nextButtonDisabled) {\n this.#_nextButtonClick.emit();\n }\n }\n}\n","<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","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyMediaBreakpoints } from '@skyux/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyFlyoutAdapterService {\n #renderer: Renderer2;\n\n #windowRef: SkyAppWindowRef;\n\n constructor(rendererFactory: RendererFactory2, windowRef: SkyAppWindowRef) {\n this.#windowRef = windowRef;\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public adjustHeaderForHelp(header: ElementRef): void {\n const windowObj = this.#windowRef.nativeWindow;\n const helpWidget = windowObj.document.getElementById('bb-help-invoker');\n\n if (helpWidget) {\n this.#renderer.addClass(header.nativeElement, 'sky-flyout-help-shim');\n }\n }\n\n public setResponsiveClass(\n element: ElementRef,\n breakpoint?: SkyMediaBreakpoints\n ): void {\n /* istanbul ignore if */\n if (!breakpoint) {\n return;\n }\n const nativeEl: HTMLElement = element.nativeElement;\n\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-xs');\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-sm');\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-md');\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-lg');\n\n let newClass: string;\n\n switch (breakpoint) {\n case SkyMediaBreakpoints.xs: {\n newClass = 'sky-responsive-container-xs';\n break;\n }\n case SkyMediaBreakpoints.sm: {\n newClass = 'sky-responsive-container-sm';\n break;\n }\n case SkyMediaBreakpoints.md: {\n newClass = 'sky-responsive-container-md';\n break;\n }\n default: {\n newClass = 'sky-responsive-container-lg';\n break;\n }\n }\n\n this.#renderer.addClass(nativeEl, newClass);\n }\n\n public toggleIframePointerEvents(enable: boolean): void {\n // When iframes are present on the page, they may interfere with dragging\n // temporarily disable pointer events in iframes when dragging starts.\n // When re-enabling we set to the empty string as it will remove the element styling\n // and fall back to any css originally given to iframe\n const iframes = document.querySelectorAll('iframe');\n for (let i = 0; i < iframes.length; i++) {\n iframes[i].style.pointerEvents = enable ? '' : 'none';\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SkyMediaBreakpoints, SkyMediaQueryListener } from '@skyux/core';\n\nimport { ReplaySubject, Subscription } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyFlyoutMediaQueryService {\n public current: SkyMediaBreakpoints | undefined;\n\n #currentSubject: ReplaySubject<SkyMediaBreakpoints>;\n\n constructor() {\n this.#currentSubject = new ReplaySubject<SkyMediaBreakpoints>(1);\n }\n\n public subscribe(listener: SkyMediaQueryListener): Subscription {\n return this.#currentSubject.subscribe({\n next: (breakpoints: SkyMediaBreakpoints) => {\n listener(breakpoints);\n },\n });\n }\n\n public setBreakpointForWidth(width: number): void {\n let breakpoint: SkyMediaBreakpoints;\n\n if (this.isWidthWithinBreakpoint(width, SkyMediaBreakpoints.xs)) {\n breakpoint = SkyMediaBreakpoints.xs;\n } else if (this.isWidthWithinBreakpoint(width, SkyMediaBreakpoints.sm)) {\n breakpoint = SkyMediaBreakpoints.sm;\n } else if (this.isWidthWithinBreakpoint(width, SkyMediaBreakpoints.md)) {\n breakpoint = SkyMediaBreakpoints.md;\n } else {\n breakpoint = SkyMediaBreakpoints.lg;\n }\n\n this.current = breakpoint;\n this.#currentSubject.next(this.current);\n }\n\n public isWidthWithinBreakpoint(\n width: number,\n breakpoint: SkyMediaBreakpoints\n ): boolean {\n const xsBreakpointMaxPixels = 767;\n const smBreakpointMinPixels = 768;\n const smBreakpointMaxPixels = 991;\n const mdBreakpointMinPixels = 992;\n const mdBreakpointMaxPixels = 1199;\n const lgBreakpointMinPixels = 1200;\n\n switch (breakpoint) {\n case SkyMediaBreakpoints.xs: {\n return width <= xsBreakpointMaxPixels;\n }\n case SkyMediaBreakpoints.sm: {\n return width >= smBreakpointMinPixels && width <= smBreakpointMaxPixels;\n }\n case SkyMediaBreakpoints.md: {\n return width >= mdBreakpointMinPixels && width <= mdBreakpointMaxPixels;\n }\n default: {\n return width >= lgBreakpointMinPixels;\n }\n }\n }\n\n public destroy(): void {\n this.#currentSubject.complete();\n }\n}\n","/**\n * Handler for notifying the flyout when it is appropriate to close the flyout. This will be returned from the flyout instance's `beforeClose` observable.\n */\nexport class SkyFlyoutBeforeCloseHandler {\n /**\n * Function which should be called to close the flyout. This should be called once any intervening actions have completed.\n */\n public readonly closeFlyout: Function;\n\n constructor(closeFlyoutFunction: Function) {\n this.closeFlyout = closeFlyoutFunction;\n }\n}\n","import {\n AnimationEvent,\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ElementRef,\n HostListener,\n Injector,\n NgZone,\n OnDestroy,\n OnInit,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n SKY_STACKING_CONTEXT,\n SkyMediaBreakpoints,\n SkyMediaQueryService,\n SkyUIConfigService,\n} from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { BehaviorSubject, Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\n\nimport { SkyFlyoutAdapterService } from './flyout-adapter.service';\nimport { SkyFlyoutInstance } from './flyout-instance';\nimport { SkyFlyoutMediaQueryService } from './flyout-media-query.service';\nimport { SkyFlyoutAction } from './types/flyout-action';\nimport { SkyFlyoutBeforeCloseHandler } from './types/flyout-before-close-handler';\nimport { SkyFlyoutConfig } from './types/flyout-config';\nimport { SkyFlyoutConfigInternal } from './types/flyout-config-internal';\nimport { SkyFlyoutMessage } from './types/flyout-message';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\nimport { SkyFlyoutPermalink } from './types/flyout-permalink';\n\nconst FLYOUT_OPEN_STATE = 'flyoutOpen';\nconst FLYOUT_CLOSED_STATE = 'flyoutClosed';\n\nlet nextId = 0;\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-flyout',\n templateUrl: './flyout.component.html',\n styleUrls: ['./flyout.component.scss'],\n providers: [\n SkyFlyoutAdapterService,\n SkyFlyoutMediaQueryService,\n { provide: SkyMediaQueryService, useExisting: SkyFlyoutMediaQueryService },\n ],\n animations: [\n trigger('flyoutState', [\n state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),\n state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),\n transition('void => *', [\n style({ transform: 'translateX(100%)' }),\n animate(250),\n ]),\n transition(`* <=> *`, animate('250ms ease-in')),\n ]),\n ],\n // Allow automatic change detection for child components.\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SkyFlyoutComponent implements OnDestroy, OnInit {\n public config: SkyFlyoutConfigInternal = {\n defaultWidth: window.innerWidth / 2,\n minWidth: 320,\n maxWidth: window.innerWidth / 2,\n providers: [],\n };\n public enableTrapFocus = false;\n public enableTrapFocusAutoCapture = false;\n public flyoutId = `sky-flyout-${++nextId}`;\n public flyoutState = FLYOUT_CLOSED_STATE;\n public isOpen = false;\n public isOpening = false;\n\n public flyoutWidth = 0;\n public instanceReady = false;\n public isDragging = false;\n public isFullscreen = false;\n public resizeKeyControlActive = false;\n\n #xCoord = 0;\n #windowBufferSize = 20;\n\n public get messageStream(): Subject<SkyFlyoutMessage> {\n return this.#_messageStream;\n }\n\n public permalink: SkyFlyoutPermalink = {};\n\n public permalinkLabel = '';\n\n public primaryAction: SkyFlyoutAction = {};\n\n public primaryActionLabel = '';\n\n /**\n * @internal\n */\n public widthStep = 10;\n\n /**\n * @internal\n */\n @ViewChild('flyoutRef', {\n read: ElementRef,\n static: true,\n })\n public flyoutRef: ElementRef | undefined;\n\n @ViewChild('target', {\n read: ViewContainerRef,\n static: true,\n })\n public target: ViewContainerRef | undefined;\n\n @ViewChild('flyoutHeader', {\n read: ElementRef,\n static: true,\n })\n public flyoutHeader: ElementRef | undefined;\n\n protected zIndex$ = new BehaviorSubject(1001);\n\n #flyoutInstance: SkyFlyoutInstance<any> | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n\n #_messageStream = new Subject<SkyFlyoutMessage>();\n\n #adapter: SkyFlyoutAdapterService;\n #changeDetector: ChangeDetectorRef;\n #injector: Injector;\n #resolver: ComponentFactoryResolver;\n #resourcesService: SkyLibResourcesService;\n #flyoutMediaQueryService: SkyFlyoutMediaQueryService;\n #elementRef: ElementRef;\n #uiConfigService: SkyUIConfigService;\n #ngZone: NgZone;\n\n constructor(\n adapter: SkyFlyoutAdapterService,\n changeDetector: ChangeDetectorRef,\n injector: Injector,\n resolver: ComponentFactoryResolver,\n resourcesService: SkyLibResourcesService,\n flyoutMediaQueryService: SkyFlyoutMediaQueryService,\n elementRef: ElementRef,\n uiConfigService: SkyUIConfigService,\n ngZone: NgZone\n ) {\n this.#adapter = adapter;\n this.#changeDetector = changeDetector;\n this.#injector = injector;\n this.#resolver = resolver;\n this.#resourcesService = resourcesService;\n this.#flyoutMediaQueryService = flyoutMediaQueryService;\n this.#elementRef = elementRef;\n this.#uiConfigService = uiConfigService;\n this.#ngZone = ngZone;\n\n // All commands flow through the message stream.\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyFlyoutMessage) => {\n this.#handleIncomingMessages(message);\n });\n }\n\n public ngOnInit(): void {\n /* istanbul ignore else */\n if (this.flyoutHeader) {\n this.#adapter.adjustHeaderForHelp(this.flyoutHeader);\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n @HostListener('window:resize', ['$event'])\n public onWindowResize(event: any): void {\n if (\n this.#flyoutMediaQueryService.isWidthWithinBreakpoint(\n event.target.innerWidth,\n SkyMediaBreakpoints.xs\n )\n ) {\n this.#updateBreakpointAndResponsiveClass(event.target.innerWidth);\n } else {\n this.#updateBreakpointAndResponsiveClass(this.flyoutWidth);\n }\n\n this.#setFullscreen();\n\n if (event.target.innerWidth - this.flyoutWidth < this.#windowBufferSize) {\n this.flyoutWidth = event.target.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n this.#setUserData();\n }\n }\n\n public attach<T>(\n component: Type<T>,\n config?: SkyFlyoutConfig\n ): SkyFlyoutInstance<T> {\n this.#cleanTemplate();\n\n // Emit the closed event on any previously opened flyout instance\n if (this.#flyoutInstance) {\n this.#notifyClosed();\n }\n\n this.config = Object.assign(\n {\n defaultWidth: window.innerWidth / 2,\n minWidth: 320,\n maxWidth: window.innerWidth / 2,\n providers: [\n {\n provide: SKY_STACKING_CONTEXT,\n useValue: {\n zIndex: this.zIndex$\n .asObservable()\n .pipe(takeUntil(this.#ngUnsubscribe)),\n },\n },\n ],\n },\n config\n );\n if (config?.defaultWidth && !config?.maxWidth) {\n this.config.maxWidth = config?.defaultWidth;\n }\n\n this.config.showIterator = this.config.showIterator || false;\n this.config.iteratorNextButtonDisabled =\n this.config.iteratorNextButtonDisabled || false;\n this.config.iteratorPreviousButtonDisabled =\n this.config.iteratorPreviousButtonDisabled || false;\n\n this.permalink = this.config.permalink ?? {};\n this.permalinkLabel =\n this.config.permalink && this.config.permalink.label\n ? this.config.permalink.label\n : this.#getString('skyux_flyout_permalink_button');\n\n this.primaryAction = this.config.primaryAction ?? {};\n this.primaryActionLabel =\n this.config.primaryAction && this.config.primaryAction.label\n ? this.config.primaryAction.label\n : this.#getString('skyux_flyout_primary_action_button');\n\n const factory = this.#resolver.resolveComponentFactory(component);\n\n const injector = Injector.create({\n parent: this.#injector,\n providers: this.config.providers,\n });\n\n const componentRef = this.target?.createComponent(\n factory,\n undefined,\n injector\n );\n\n /* safety check */\n /* istanbul ignore if */\n if (!componentRef) {\n throw new Error(\"Flyout's internal component could not be created\");\n }\n\n this.#flyoutInstance = this.#createFlyoutInstance<T>(componentRef.instance);\n\n // This is used to ensure we do not render the flyout until we have attached the component.\n // This allows the aria-labelledby to function correctly.\n this.instanceReady = true;\n this.#changeDetector.markForCheck();\n\n // Open the flyout immediately.\n this.messageStream.next({\n type: SkyFlyoutMessageType.Open,\n });\n\n if (this.config.settingsKey) {\n this.#uiConfigService\n .getConfig(this.config.settingsKey)\n .pipe(take(1))\n .subscribe((value: any) => {\n if (value && value.flyoutWidth) {\n this.flyoutWidth = value.flyoutWidth;\n } else {\n // Bad data, or config is the default config.\n this.flyoutWidth = this.config.defaultWidth;\n }\n this.#checkInitialSize();\n });\n } else {\n this.flyoutWidth = this.config.defaultWidth;\n this.#checkInitialSize();\n }\n\n return this.#flyoutInstance;\n }\n\n public close(): void {\n this.messageStream.next({\n type: SkyFlyoutMessageType.Close,\n });\n }\n\n public invokePrimaryAction(): boolean {\n if (this.primaryAction.callback) {\n this.primaryAction.callback();\n\n if (this.primaryAction.closeAfterInvoking) {\n this.close();\n }\n\n return false;\n }\n /* istanbul ignore next */\n return true;\n }\n\n public getAnimationState(): string {\n return this.instanceReady && this.isOpening\n ? FLYOUT_OPEN_STATE\n : FLYOUT_CLOSED_STATE;\n }\n\n public animationDone(event: AnimationEvent): void {\n if (event.toState === FLYOUT_OPEN_STATE) {\n this.isOpen = true;\n }\n\n if (event.toState === FLYOUT_CLOSED_STATE) {\n this.isOpen = false;\n this.#notifyClosed();\n this.#cleanTemplate();\n }\n }\n\n public onHeaderGrabHandleMouseDown(event: MouseEvent): void {\n this.onResizeHandleMouseDown(event);\n }\n\n public onHeaderGrabHandleKeyDown(event: KeyboardEvent): void {\n this.#handleResizeKeyDown(event);\n }\n\n public onResizeHandleKeyDown(event: KeyboardEvent): void {\n this.#handleResizeKeyDown(event);\n }\n\n public onResizeHandleMouseDown(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.isFullscreen) {\n return;\n }\n\n this.isDragging = true;\n this.#xCoord = event.clientX;\n\n this.#adapter.toggleIframePointerEvents(false);\n\n fromEvent(document, 'mousemove')\n .pipe(\n takeWhile(() => {\n return this.isDragging;\n })\n )\n .subscribe((moveEvent: any) => {\n this.onMouseMove(moveEvent);\n });\n\n fromEvent(document, 'mouseup')\n .pipe(\n takeWhile(() => {\n return this.isDragging;\n })\n )\n .subscribe((mouseUpEvent: any) => {\n this.onHandleRelease(mouseUpEvent);\n });\n }\n\n public onMouseMove(event: MouseEvent): void {\n /* Sanity check */\n /* istanbul ignore if */\n if (!this.isDragging) {\n return;\n }\n\n const offsetX = event.clientX - this.#xCoord;\n let width = this.flyoutWidth;\n\n width -= offsetX;\n\n if (width < this.config.minWidth || width > this.config.maxWidth) {\n return;\n }\n\n if (window.innerWidth - width < this.#windowBufferSize) {\n width = window.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n } else {\n this.#xCoord = event.clientX;\n }\n\n this.flyoutWidth = width;\n\n this.#updateBreakpointAndResponsiveClass(this.flyoutWidth);\n\n this.#changeDetector.markForCheck();\n }\n\n public onHandleRelease(event: MouseEvent): void {\n fromEvent(document, 'click')\n .pipe(take(1))\n .subscribe(() => {\n this.isDragging = false;\n this.#adapter.toggleIframePointerEvents(true);\n this.#setUserData();\n });\n }\n\n public onIteratorPreviousButtonClick(): void {\n /* istanbul ignore else */\n if (this.#flyoutInstance) {\n this.#flyoutInstance.iteratorPreviousButtonClick.emit();\n }\n }\n\n public onIteratorNextButtonClick(): void {\n /* istanbul ignore else */\n if (this.#flyoutInstance) {\n this.#flyoutInstance.iteratorNextButtonClick.emit();\n }\n }\n\n #createFlyoutInstance<T>(component: T): SkyFlyoutInstance<T> {\n const instance = new SkyFlyoutInstance<T>(component);\n\n instance.hostController\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyFlyoutMessage) => {\n this.messageStream.next(message);\n });\n\n return instance;\n }\n\n #handleIncomingMessages(message: SkyFlyoutMessage): void {\n switch (message.type) {\n case SkyFlyoutMessageType.Open:\n if (!this.isOpen) {\n this.isOpen = false;\n this.isOpening = true;\n }\n this.#initFocusTrap();\n break;\n\n case SkyFlyoutMessageType.Close:\n if (\n (this.#flyoutInstance?.beforeClose as Subject<any>)?.observers\n .length === 0 ||\n message.data?.ignoreBeforeClose\n ) {\n this.isOpen = true;\n this.isOpening = false;\n } else {\n (this.#flyoutInstance?.beforeClose as Subject<any>)?.next(\n new SkyFlyoutBeforeCloseHandler(() => {\n this.isOpen = true;\n this.isOpening = false;\n })\n );\n }\n break;\n\n case SkyFlyoutMessageType.EnableIteratorNextButton:\n this.config.iteratorNextButtonDisabled = false;\n break;\n\n case SkyFlyoutMessageType.EnableIteratorPreviousButton:\n this.config.iteratorPreviousButtonDisabled = false;\n break;\n\n case SkyFlyoutMessageType.DisableIteratorNextButton:\n this.config.iteratorNextButtonDisabled = true;\n break;\n\n case SkyFlyoutMessageType.DisableIteratorPreviousButton:\n this.config.iteratorPreviousButtonDisabled = true;\n break;\n }\n\n this.#changeDetector.markForCheck();\n }\n\n #notifyClosed(): void {\n this.#flyoutInstance?.closed.emit();\n this.#flyoutInstance?.closed.complete();\n }\n\n #cleanTemplate(): void {\n this.target?.clear();\n }\n\n #updateBreakpointAndResponsiveClass(width: number): void {\n this.#flyoutMediaQueryService.setBreakpointForWidth(width);\n\n const newBreakpoint = this.#flyoutMediaQueryService.current;\n\n this.#adapter.setResponsiveClass(this.#elementRef, newBreakpoint);\n }\n\n #setFullscreen(): void {\n if (window.innerWidth - this.#windowBufferSize < this.config.minWidth) {\n this.isFullscreen = true;\n } else {\n this.isFullscreen = false;\n }\n }\n\n #setUserData(): void {\n if (this.config.settingsKey) {\n this.#uiConfigService\n .setConfig(this.config.settingsKey, {\n flyoutWidth: this.flyoutWidth,\n })\n .pipe(take(1))\n .subscribe(\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {},\n (err) => {\n console.warn('Could not save flyout data.');\n console.warn(err);\n }\n );\n }\n }\n\n #checkInitialSize(): void {\n if (this.flyoutWidth < this.config.minWidth) {\n this.flyoutWidth = this.config.minWidth;\n this.#setUserData();\n } else if (this.flyoutWidth > this.config.maxWidth) {\n this.flyoutWidth = this.config.maxWidth;\n this.#setUserData();\n }\n\n // Ensure flyout does not load larger than the window and its buffer\n if (window.innerWidth - this.flyoutWidth < this.#windowBufferSize) {\n this.flyoutWidth = window.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n this.#setUserData();\n }\n\n if (\n this.#flyoutMediaQueryService.isWidthWithinBreakpoint(\n window.innerWidth,\n SkyMediaBreakpoints.xs\n )\n ) {\n this.#updateBreakpointAndResponsiveClass(window.innerWidth);\n } else {\n this.#updateBreakpointAndResponsiveClass(this.flyoutWidth);\n }\n\n this.#setFullscreen();\n }\n\n #getString(key: string): string {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesService.getStringForLocale({ locale: 'en-US' }, key);\n }\n\n #handleResizeKeyDown(event: KeyboardEvent): void {\n /* istanbul ignore else */\n if (event.key) {\n const keyPressed = event.key.toLowerCase().replace('arrow', '');\n switch (keyPressed) {\n case 'enter':\n case ' ':\n this.resizeKeyControlActive = !this.resizeKeyControlActive;\n break;\n case 'tab':\n /* istanbul ignore else */\n if (this.resizeKeyControlActive) {\n this.resizeKeyControlActive = false;\n }\n break;\n case 'left':\n if (this.resizeKeyControlActive) {\n /* istanbul ignore else */\n if (this.flyoutWidth < this.config.maxWidth) {\n this.flyoutWidth = Math.min(\n this.flyoutWidth + this.widthStep,\n this.config.maxWidth\n );\n }\n }\n break;\n\n case 'right':\n if (this.resizeKeyControlActive) {\n /* istanbul ignore else */\n if (this.flyoutWidth > this.config.minWidth) {\n this.flyoutWidth = Math.max(\n this.flyoutWidth - this.widthStep,\n this.config.minWidth\n );\n }\n }\n break;\n\n /* istanbul ignore next */\n default:\n break;\n }\n }\n }\n\n /** Executes a function when the zone is stable. */\n #executeOnStable(fn: () => any): void {\n if (this.#ngZone.isStable) {\n fn();\n } else {\n this.#ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n\n #initFocusTrap(): void {\n this.enableTrapFocusAutoCapture = false;\n this.enableTrapFocus = false;\n // Waiting for zone to be stable will avoid ExpressionChangeAfterCheckedError.\n this.#executeOnStable(() => {\n this.enableTrapFocusAutoCapture = true;\n this.enableTrapFocus = true;\n });\n }\n}\n","<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config.ariaDescribedBy\"\n [attr.aria-label]=\"config.ariaLabel\"\n [attr.aria-labelledby]=\"config.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [style.z-index]=\"zIndex$ | async\"\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 [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n>\n <div\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n [style.z-index]=\"zIndex$ | async\"\n #flyoutHeader\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *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 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 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</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","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyHrefModule } from '@skyux/router';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyFlyoutResourcesModule } from '../shared/sky-flyout-resources.module';\n\nimport { SkyFlyoutIteratorComponent } from './flyout-iterator.component';\nimport { SkyFlyoutComponent } from './flyout.component';\n\n@NgModule({\n declarations: [SkyFlyoutComponent, SkyFlyoutIteratorComponent],\n imports: [\n A11yModule,\n CommonModule,\n FormsModule,\n RouterModule,\n SkyI18nModule,\n SkyIconModule,\n SkyFlyoutResourcesModule,\n SkyThemeModule,\n SkyHrefModule,\n ],\n exports: [SkyFlyoutComponent],\n})\nexport class SkyFlyoutModule {}\n","import {\n ComponentRef,\n Injectable,\n NgZone,\n OnDestroy,\n Type,\n} from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport {\n SkyAppWindowRef,\n SkyCoreAdapterService,\n SkyDynamicComponentService,\n} from '@skyux/core';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\n\nimport { SkyFlyoutInstance } from './flyout-instance';\nimport { SkyFlyoutComponent } from './flyout.component';\nimport { SkyFlyoutCloseArgs } from './types/flyout-close-args';\nimport { SkyFlyoutConfig } from './types/flyout-config';\nimport { SkyFlyoutMessage } from './types/flyout-message';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\n\n/**\n * Launches flyouts and provides a common look and feel.\n * This service dynamically generates the flyout component and appends it directly to the\n * document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.\n */\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyFlyoutService implements OnDestroy {\n #host: ComponentRef<SkyFlyoutComponent> | undefined;\n #removeAfterClosed = false;\n #isOpening = false;\n #ngUnsubscribe = new Subject<boolean>();\n\n #coreAdapter: SkyCoreAdapterService;\n #windowRef: SkyAppWindowRef;\n #dynamicComponentService: SkyDynamicComponentService;\n #router: Router;\n #ngZone: NgZone;\n\n constructor(\n coreAdapter: SkyCoreAdapterService,\n windowRef: SkyAppWindowRef,\n dynamicComponentService: SkyDynamicComponentService,\n router: Router,\n ngZone: NgZone\n ) {\n this.#coreAdapter = coreAdapter;\n this.#windowRef = windowRef;\n this.#dynamicComponentService = dynamicComponentService;\n this.#router = router;\n this.#ngZone = ngZone;\n }\n\n public ngOnDestroy(): void {\n this.#removeListeners();\n if (this.#host) {\n this.#removeHostComponent();\n }\n }\n\n /**\n * Closes the flyout. This method also removes the flyout's HTML elements from the DOM.\n * @param args Arguments used when closing the flyout.\n */\n public close(args?: SkyFlyoutCloseArgs): void {\n if (this.#host && !this.#isOpening) {\n this.#host.instance.messageStream.next({\n type: SkyFlyoutMessageType.Close,\n data: {\n ignoreBeforeClose: args ? args.ignoreBeforeClose : false,\n },\n });\n }\n }\n\n /**\n * Opens a flyout and displays the specified component.\n * @param component Specifies the component to render.\n * @param config Specifies the flyout configuration passed to the specified component's constructor.\n */\n public open<T>(\n component: Type<T>,\n config?: SkyFlyoutConfig\n ): SkyFlyoutInstance<T> {\n // isOpening flag will prevent close() from firing when open() is also fired.\n this.#isOpening = true;\n this.#windowRef.nativeWindow.setTimeout(() => {\n this.#isOpening = false;\n });\n\n if (!this.#host) {\n this.#host = this.#createHostComponent();\n\n this.#router.events\n .pipe(takeWhile(() => this.#host !== undefined))\n .subscribe((event) => {\n if (event instanceof NavigationStart) {\n this.close();\n\n // Sanity check - if the host still exists after animations should have completed - remove host\n this.#ngZone.onStable.pipe(take(1)).subscribe(() => {\n if (this.#host) {\n this.#removeHostComponent();\n }\n });\n }\n });\n }\n\n const flyout = this.#host.instance.attach(component, config);\n\n this.#addListeners(flyout);\n\n return flyout;\n }\n\n #createHostComponent(): ComponentRef<SkyFlyoutComponent> {\n this.#host =\n this.#dynamicComponentService.createComponent(SkyFlyoutComponent);\n return this.#host;\n }\n\n #removeHostComponent(): void {\n if (this.#host) {\n this.#dynamicComponentService.removeComponent(this.#host);\n this.#host = undefined;\n }\n }\n\n #addListeners<T>(flyout: SkyFlyoutInstance<T>): void {\n /* istanbul ignore else */\n if (this.#host) {\n const flyoutInstance = this.#host.instance;\n\n let doClose = false;\n\n /**\n * Handles when to close a flyout.\n * Note: We're using `mouseup` in order to capture the parent of certain targets that will be\n * deleted immediately after being clicked. If we use `click`, the event is fired after the\n * element is removed from the DOM making it impossible to check the parent's z-index\n * relative to the flyout's container.\n */\n fromEvent(document, 'mouseup')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((event: Event) => {\n doClose = false;\n\n if (this.#host?.instance.isDragging) {\n return;\n }\n\n if (flyoutInstance.flyoutRef?.nativeElement.contains(event.target)) {\n return;\n }\n\n const isAbove =\n event.target === document || !event.target\n ? false\n : this.#coreAdapter.isTargetAboveElement(\n event.target,\n flyoutInstance.flyoutRef?.nativeElement\n );\n\n /* istanbul ignore else */\n if (!isAbove) {\n doClose = true;\n }\n });\n\n /**\n * Check if we should close the flyout specifically on a `click` event so that we can keep\n * it open when consumers fire another `click` event on a trigger button. Since the consumer\n * will likely use a `click` event to open the flyout, we want to wait for that event to fire\n * before determining if the flyout should be closed.\n */\n fromEvent(document, 'click')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n if (doClose) {\n this.close();\n }\n });\n\n this.#removeAfterClosed = false;\n flyoutInstance.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyFlyoutMessage) => {\n if (message.type === SkyFlyoutMessageType.Close) {\n this.#removeAfterClosed = true;\n this.#isOpening = false;\n }\n });\n\n flyout.closed.pipe(take(1)).subscribe(() => {\n this.#removeListeners();\n if (this.#removeAfterClosed) {\n this.#removeHostComponent();\n }\n });\n }\n }\n\n #removeListeners(): void {\n this.#ngUnsubscribe.next(true);\n this.#ngUnsubscribe.unsubscribe();\n this.#ngUnsubscribe = new Subject<boolean>();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1","i1.SkyFlyoutAdapterService","i2","i3.SkyFlyoutMediaQueryService","i4","i7","i8","i9","i11.SkyFlyoutIteratorComponent"],"mappings":"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"}