@skyux/split-view 12.0.0-alpha.0 → 12.0.0-alpha.10

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.
@@ -89,11 +89,11 @@ class SkySplitViewFixture {
89
89
  * @internal
90
90
  */
91
91
  class SkySplitViewTestingModule {
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
93
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewTestingModule, exports: [SkySplitViewModule] }); }
94
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewTestingModule, providers: [SkyThemeService], imports: [SkySplitViewModule] }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
93
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewTestingModule, exports: [SkySplitViewModule] }); }
94
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewTestingModule, providers: [SkyThemeService], imports: [SkySplitViewModule] }); }
95
95
  }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewTestingModule, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewTestingModule, decorators: [{
97
97
  type: NgModule,
98
98
  args: [{
99
99
  exports: [SkySplitViewModule],
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { NgModule, inject, Injectable, Component, ChangeDetectionStrategy, Input, HostListener, ContentChild } from '@angular/core';
2
+ import { NgModule, inject, Injectable, HostListener, Input, ChangeDetectionStrategy, Component, ContentChild } from '@angular/core';
3
3
  import * as i4 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { BehaviorSubject, Subject, fromEvent } from 'rxjs';
@@ -27,17 +27,23 @@ const RESOURCES = {
27
27
  },
28
28
  skyux_split_view_back_to_list: { message: 'Back to list' },
29
29
  },
30
+ 'FR-CA': {
31
+ skyux_split_view_resize_handle: {
32
+ message: 'Redimensionnez le panneau du menu latéral. Utilisez la flèche de droite pour agrandir et la flèche de gauche pour réduire.',
33
+ },
34
+ skyux_split_view_back_to_list: { message: 'Retour à la liste' },
35
+ },
30
36
  };
31
37
  SkyLibResourcesService.addResources(RESOURCES);
32
38
  /**
33
39
  * Import into any component library module that needs to use resource strings.
34
40
  */
35
41
  class SkySplitViewResourcesModule {
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
37
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewResourcesModule, exports: [SkyI18nModule] }); }
38
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewResourcesModule, imports: [SkyI18nModule] }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
43
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewResourcesModule, exports: [SkyI18nModule] }); }
44
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewResourcesModule, imports: [SkyI18nModule] }); }
39
45
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewResourcesModule, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewResourcesModule, decorators: [{
41
47
  type: NgModule,
42
48
  args: [{
43
49
  exports: [SkyI18nModule],
@@ -100,10 +106,10 @@ class SkySplitViewService {
100
106
  updateBackButtonText(text) {
101
107
  this.#_backButtonTextStream.next(text);
102
108
  }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
104
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewService }); }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
110
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewService }); }
105
111
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewService, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewService, decorators: [{
107
113
  type: Injectable
108
114
  }], ctorParameters: () => [{ type: i1.SkyLibResourcesService }] });
109
115
 
@@ -236,12 +242,12 @@ class SkySplitViewDrawerComponent {
236
242
  const splitView = this.#splitViewSvc.splitViewElementRef?.nativeElement.querySelector('.sky-split-view');
237
243
  this.widthMax = splitView.clientWidth - this.widthTolerance;
238
244
  }
239
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewDrawerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.SkyCoreAdapterService }, { token: SkySplitViewService }, { token: i1$1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Component }); }
240
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SkySplitViewDrawerComponent, isStandalone: true, selector: "sky-split-view-drawer", inputs: { ariaLabel: "ariaLabel", width: "width" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, ngImport: i0, template: "<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n", styles: [".sky-split-view-drawer{background:#fff;overflow:auto;height:100%;width:100%}@media (min-width: 768px){:host .sky-split-view-drawer{border-right:1px solid #cdcfd2}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer,:host-context(.sky-responsive-container-md) .sky-split-view-drawer,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer{border-right:1px solid #cdcfd2}.sky-split-view-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;z-index:999;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0}.sky-split-view-resize-handle::-moz-range-thumb,.sky-split-view-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-ms-thumb,.sky-split-view-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}:host-context(.sky-theme-modern) .sky-split-view-drawer{background:transparent}:host-context(.sky-theme-modern) .sky-split-view-resize-handle{transition:box-shadow .15s}:host-context(.sky-theme-modern) .sky-split-view-resize-handle:focus{border:solid 2px #1870B8;box-shadow:0 1px 8px #0000004d;outline:none}.sky-theme-modern .sky-split-view-drawer{background:transparent}.sky-theme-modern .sky-split-view-resize-handle{transition:box-shadow .15s}.sky-theme-modern .sky-split-view-resize-handle:focus{border:solid 2px #1870B8;box-shadow:0 1px 8px #0000004d;outline:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SkySplitViewResourcesModule }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
245
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewDrawerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.SkyCoreAdapterService }, { token: SkySplitViewService }, { token: i1$1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Component }); }
246
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkySplitViewDrawerComponent, isStandalone: true, selector: "sky-split-view-drawer", inputs: { ariaLabel: "ariaLabel", width: "width" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, ngImport: i0, template: "<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n", styles: [".sky-split-view-drawer:not(.sky-theme-modern *){--sky-override-split-view-drawer-background-color: #ffffff;--sky-override-split-view-drawer-border-right: 1px solid #cdcfd2;--sky-override-split-view-resize-handle-border-focus: none;--sky-override-split-view-resize-handle-box-shadow-focus: none;--sky-override-split-view-resize-handle-outline-focus: auto;--sky-override-split-view-resize-handle-width: 14px}.sky-split-view-drawer{background:var(--sky-override-split-view-drawer-background-color, transparent);overflow:auto;height:100%;width:100%}@media (min-width: 768px){:host .sky-split-view-drawer{border-right:var(--sky-override-split-view-drawer-border-right, var(--sky-border-width-divider) solid var(--sky-color-border-divider))}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer,:host-context(.sky-responsive-container-md) .sky-split-view-drawer,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer{border-right:var(--sky-override-split-view-drawer-border-right, var(--sky-border-width-divider) solid var(--sky-color-border-divider))}.sky-split-view-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-override-split-view-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;z-index:999;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;transition:box-shadow .15s}.sky-split-view-resize-handle:focus{border:var(--sky-override-split-view-resize-handle-border-focus, solid var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus));box-shadow:var(--sky-override-split-view-resize-handle-box-shadow-focus, var(--sky-elevation-focus));outline:var(--sky-override-split-view-resize-handle-outline-focus, none)}.sky-split-view-resize-handle::-moz-range-thumb,.sky-split-view-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-ms-thumb,.sky-split-view-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SkySplitViewResourcesModule }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
241
247
  }
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewDrawerComponent, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewDrawerComponent, decorators: [{
243
249
  type: Component,
244
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, SkySplitViewResourcesModule], selector: 'sky-split-view-drawer', template: "<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n", styles: [".sky-split-view-drawer{background:#fff;overflow:auto;height:100%;width:100%}@media (min-width: 768px){:host .sky-split-view-drawer{border-right:1px solid #cdcfd2}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer,:host-context(.sky-responsive-container-md) .sky-split-view-drawer,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer{border-right:1px solid #cdcfd2}.sky-split-view-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;z-index:999;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0}.sky-split-view-resize-handle::-moz-range-thumb,.sky-split-view-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-ms-thumb,.sky-split-view-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}:host-context(.sky-theme-modern) .sky-split-view-drawer{background:transparent}:host-context(.sky-theme-modern) .sky-split-view-resize-handle{transition:box-shadow .15s}:host-context(.sky-theme-modern) .sky-split-view-resize-handle:focus{border:solid 2px #1870B8;box-shadow:0 1px 8px #0000004d;outline:none}.sky-theme-modern .sky-split-view-drawer{background:transparent}.sky-theme-modern .sky-split-view-resize-handle{transition:box-shadow .15s}.sky-theme-modern .sky-split-view-resize-handle:focus{border:solid 2px #1870B8;box-shadow:0 1px 8px #0000004d;outline:none}\n"] }]
250
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, SkySplitViewResourcesModule], selector: 'sky-split-view-drawer', template: "<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n", styles: [".sky-split-view-drawer:not(.sky-theme-modern *){--sky-override-split-view-drawer-background-color: #ffffff;--sky-override-split-view-drawer-border-right: 1px solid #cdcfd2;--sky-override-split-view-resize-handle-border-focus: none;--sky-override-split-view-resize-handle-box-shadow-focus: none;--sky-override-split-view-resize-handle-outline-focus: auto;--sky-override-split-view-resize-handle-width: 14px}.sky-split-view-drawer{background:var(--sky-override-split-view-drawer-background-color, transparent);overflow:auto;height:100%;width:100%}@media (min-width: 768px){:host .sky-split-view-drawer{border-right:var(--sky-override-split-view-drawer-border-right, var(--sky-border-width-divider) solid var(--sky-color-border-divider))}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer,:host-context(.sky-responsive-container-md) .sky-split-view-drawer,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer{border-right:var(--sky-override-split-view-drawer-border-right, var(--sky-border-width-divider) solid var(--sky-color-border-divider))}.sky-split-view-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-override-split-view-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;z-index:999;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;transition:box-shadow .15s}.sky-split-view-resize-handle:focus{border:var(--sky-override-split-view-resize-handle-border-focus, solid var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus));box-shadow:var(--sky-override-split-view-resize-handle-box-shadow-focus, var(--sky-elevation-focus));outline:var(--sky-override-split-view-resize-handle-outline-focus, none)}.sky-split-view-resize-handle::-moz-range-thumb,.sky-split-view-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-ms-thumb,.sky-split-view-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}\n"] }]
245
251
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$1.SkyCoreAdapterService }, { type: SkySplitViewService }, { type: i1$1.SkyAppWindowRef }], propDecorators: { ariaLabel: [{
246
252
  type: Input
247
253
  }], width: [{
@@ -255,10 +261,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
255
261
  * Specifies the content to display in the split view's workspace panel.
256
262
  */
257
263
  class SkySplitViewWorkspaceContentComponent {
258
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
259
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: SkySplitViewWorkspaceContentComponent, isStandalone: true, selector: "sky-split-view-workspace-content", host: { attributes: { "tabindex": "0" } }, hostDirectives: [{ directive: i1$1.SkyResponsiveHostDirective }], ngImport: i0, template: "<div class=\"sky-split-view-workspace-content\">\n <ng-content />\n</div>\n", styles: [":host{display:block;overflow:auto;flex-grow:1}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
264
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
265
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkySplitViewWorkspaceContentComponent, isStandalone: true, selector: "sky-split-view-workspace-content", host: { attributes: { "tabindex": "0" } }, hostDirectives: [{ directive: i1$1.SkyResponsiveHostDirective }], ngImport: i0, template: "<div class=\"sky-split-view-workspace-content\">\n <ng-content />\n</div>\n", styles: [":host{display:block;overflow:auto;flex-grow:1}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
260
266
  }
261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, decorators: [{
267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, decorators: [{
262
268
  type: Component,
263
269
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {
264
270
  tabindex: '0',
@@ -269,12 +275,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
269
275
  * Specifies the footer to display in the split view's workspace panel. This component is often used with a summary action bar.
270
276
  */
271
277
  class SkySplitViewWorkspaceFooterComponent {
272
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
273
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: SkySplitViewWorkspaceFooterComponent, isStandalone: true, selector: "sky-split-view-workspace-footer", hostDirectives: [{ directive: i1$1.SkyResponsiveHostDirective }], ngImport: i0, template: "<div class=\"sky-split-view-workspace-footer\">\n <ng-content />\n</div>\n", styles: [":host{display:block;flex-shrink:0}.sky-split-view-workspace-footer{padding:10px;box-shadow:0 -3px 3px #cdcfd2}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
278
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
279
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkySplitViewWorkspaceFooterComponent, isStandalone: true, selector: "sky-split-view-workspace-footer", hostDirectives: [{ directive: i1$1.SkyResponsiveHostDirective }], ngImport: i0, template: "<div class=\"sky-split-view-workspace-footer sky-elevation-3\">\n <ng-content />\n</div>\n", styles: [".sky-split-view-workspace-footer:not(.sky-theme-modern *){--sky-override-split-view-workspace-footer-padding: 10px;--sky-override-split-view-workspace-footer-box-shadow: 0 -3px 3px 0 #cdcfd2}:host-context(.sky-theme-modern:not(.sky-theme-brand-blackbaud)) .sky-split-view-workspace-footer{--sky-override-split-view-workspace-footer-box-shadow: 0 -3px 3px 0 #cdcfd2}:host{display:block;flex-shrink:0}.sky-split-view-workspace-footer{padding:var(--sky-override-split-view-workspace-footer-padding, var(--sky-space-inset-balanced-s));box-shadow:var(--sky-override-split-view-workspace-footer-box-shadow, var(--sky-elevation-overflow))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
274
280
  }
275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, decorators: [{
281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, decorators: [{
276
282
  type: Component,
277
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [SkyResponsiveHostDirective], selector: 'sky-split-view-workspace-footer', standalone: true, template: "<div class=\"sky-split-view-workspace-footer\">\n <ng-content />\n</div>\n", styles: [":host{display:block;flex-shrink:0}.sky-split-view-workspace-footer{padding:10px;box-shadow:0 -3px 3px #cdcfd2}\n"] }]
283
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [SkyResponsiveHostDirective], selector: 'sky-split-view-workspace-footer', standalone: true, template: "<div class=\"sky-split-view-workspace-footer sky-elevation-3\">\n <ng-content />\n</div>\n", styles: [".sky-split-view-workspace-footer:not(.sky-theme-modern *){--sky-override-split-view-workspace-footer-padding: 10px;--sky-override-split-view-workspace-footer-box-shadow: 0 -3px 3px 0 #cdcfd2}:host-context(.sky-theme-modern:not(.sky-theme-brand-blackbaud)) .sky-split-view-workspace-footer{--sky-override-split-view-workspace-footer-box-shadow: 0 -3px 3px 0 #cdcfd2}:host{display:block;flex-shrink:0}.sky-split-view-workspace-footer{padding:var(--sky-override-split-view-workspace-footer-padding, var(--sky-space-inset-balanced-s));box-shadow:var(--sky-override-split-view-workspace-footer-box-shadow, var(--sky-elevation-overflow))}\n"] }]
278
284
  }] });
279
285
 
280
286
  /**
@@ -301,12 +307,12 @@ class SkySplitViewWorkspaceHeaderComponent {
301
307
  this.#ngUnsubscribe.next();
302
308
  this.#ngUnsubscribe.complete();
303
309
  }
304
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, deps: [{ token: SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
305
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: SkySplitViewWorkspaceHeaderComponent, isStandalone: true, selector: "sky-split-view-workspace-header", ngImport: i0, template: "<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon icon=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n", styles: [".sky-split-view-workspace-header{display:flex;align-items:flex-start;justify-content:flex-end;border-bottom:1px solid #cdcfd2;padding:5px 0}.sky-split-view-workspace-header .sky-split-view-workspace-header-content{flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i2.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
310
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, deps: [{ token: SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
311
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkySplitViewWorkspaceHeaderComponent, isStandalone: true, selector: "sky-split-view-workspace-header", ngImport: i0, template: "<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon iconName=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n", styles: [".sky-split-view-workspace-header:not(.sky-theme-modern *){--sky-override-split-view-header-border-bottom: 1px solid #cdcfd2;--sky-override-split-view-header-padding: 5px 0}:host-context(.sky-theme-modern:not(.sky-theme-brand-blackbaud)) .sky-split-view-workspace-header{--sky-override-split-view-header-padding: 5px 0}.sky-split-view-workspace-header{display:flex;align-items:flex-start;justify-content:flex-end;border-bottom:var(--sky-override-split-view-header-border-bottom, var(--sky-border-width-divider) solid var(--sky-color-border-divider));padding:var(--sky-override-split-view-header-padding, var(--sky-space-inset-balanced-none))}.sky-split-view-workspace-header .sky-split-view-workspace-header-content{flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i2.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant", "iconSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
306
312
  }
307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, decorators: [{
313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, decorators: [{
308
314
  type: Component,
309
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyIconModule], selector: 'sky-split-view-workspace-header', template: "<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon icon=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n", styles: [".sky-split-view-workspace-header{display:flex;align-items:flex-start;justify-content:flex-end;border-bottom:1px solid #cdcfd2;padding:5px 0}.sky-split-view-workspace-header .sky-split-view-workspace-header-content{flex-grow:1}\n"] }]
315
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyIconModule], selector: 'sky-split-view-workspace-header', template: "<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon iconName=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n", styles: [".sky-split-view-workspace-header:not(.sky-theme-modern *){--sky-override-split-view-header-border-bottom: 1px solid #cdcfd2;--sky-override-split-view-header-padding: 5px 0}:host-context(.sky-theme-modern:not(.sky-theme-brand-blackbaud)) .sky-split-view-workspace-header{--sky-override-split-view-header-padding: 5px 0}.sky-split-view-workspace-header{display:flex;align-items:flex-start;justify-content:flex-end;border-bottom:var(--sky-override-split-view-header-border-bottom, var(--sky-border-width-divider) solid var(--sky-color-border-divider));padding:var(--sky-override-split-view-header-padding, var(--sky-space-inset-balanced-none))}.sky-split-view-workspace-header .sky-split-view-workspace-header-content{flex-grow:1}\n"] }]
310
316
  }], ctorParameters: () => [{ type: SkySplitViewService }] });
311
317
 
312
318
  /**
@@ -319,12 +325,12 @@ class SkySplitViewWorkspaceComponent {
319
325
  // the workspace area.
320
326
  this.breakpoint = toSignal(inject(SkyMediaQueryService, { skipSelf: true }).breakpointChange);
321
327
  }
322
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewWorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
323
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SkySplitViewWorkspaceComponent, isStandalone: true, selector: "sky-split-view-workspace", inputs: { ariaLabel: "ariaLabel" }, ngImport: i0, template: "<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n", styles: [".sky-split-view-workspace{background:#fff;height:100%;display:flex;flex-direction:column}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-split-view-workspace{background-color:#121212;border-color:#686c73}.sky-theme-modern.sky-theme-mode-dark .sky-split-view-workspace{background-color:#121212;border-color:#686c73}\n"], dependencies: [{ kind: "component", type: SkySplitViewWorkspaceHeaderComponent, selector: "sky-split-view-workspace-header" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
328
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewWorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
329
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkySplitViewWorkspaceComponent, isStandalone: true, selector: "sky-split-view-workspace", inputs: { ariaLabel: "ariaLabel" }, ngImport: i0, template: "<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n", styles: [".sky-split-view-workspace:not(.sky-theme-modern *){--sky-override-split-view-workspace-background-color: #ffffff}.sky-split-view-workspace{background:var(--sky-override-split-view-workspace-background-color, var(--sky-color-background-container));height:100%;display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: SkySplitViewWorkspaceHeaderComponent, selector: "sky-split-view-workspace-header" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
324
330
  }
325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewWorkspaceComponent, decorators: [{
331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewWorkspaceComponent, decorators: [{
326
332
  type: Component,
327
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkySplitViewWorkspaceHeaderComponent], selector: 'sky-split-view-workspace', template: "<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n", styles: [".sky-split-view-workspace{background:#fff;height:100%;display:flex;flex-direction:column}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-split-view-workspace{background-color:#121212;border-color:#686c73}.sky-theme-modern.sky-theme-mode-dark .sky-split-view-workspace{background-color:#121212;border-color:#686c73}\n"] }]
333
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkySplitViewWorkspaceHeaderComponent], selector: 'sky-split-view-workspace', template: "<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n", styles: [".sky-split-view-workspace:not(.sky-theme-modern *){--sky-override-split-view-workspace-background-color: #ffffff}.sky-split-view-workspace{background:var(--sky-override-split-view-workspace-background-color, var(--sky-color-background-container));height:100%;display:flex;flex-direction:column}\n"] }]
328
334
  }], propDecorators: { ariaLabel: [{
329
335
  type: Input
330
336
  }] } });
@@ -383,10 +389,10 @@ class SkySplitViewAdapterService {
383
389
  this.#renderer.setStyle(splitViewElement, 'max-height', 'calc(100vh - ' + offsetTop + 'px - ' + marginBottom + ')');
384
390
  this.#renderer.setStyle(splitViewElement, 'min-height', '300px');
385
391
  }
386
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewAdapterService, deps: [{ token: i1$1.SkyMutationObserverService }, { token: i0.RendererFactory2 }, { token: i1$1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
387
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewAdapterService }); }
392
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewAdapterService, deps: [{ token: i1$1.SkyMutationObserverService }, { token: i0.RendererFactory2 }, { token: i1$1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
393
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewAdapterService }); }
388
394
  }
389
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewAdapterService, decorators: [{
395
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewAdapterService, decorators: [{
390
396
  type: Injectable
391
397
  }], ctorParameters: () => [{ type: i1$1.SkyMutationObserverService }, { type: i0.RendererFactory2 }, { type: i1$1.SkyAppWindowRef }] });
392
398
 
@@ -542,8 +548,8 @@ class SkySplitViewComponent {
542
548
  break;
543
549
  }
544
550
  }
545
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewComponent, deps: [{ token: SkySplitViewAdapterService }, { token: i0.ChangeDetectorRef }, { token: i1$1.SkyCoreAdapterService }, { token: i0.ElementRef }, { token: SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
546
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: SkySplitViewComponent, isStandalone: true, selector: "sky-split-view", inputs: { backButtonText: "backButtonText", bindHeightToWindow: "bindHeightToWindow", dock: "dock", messageStream: "messageStream" }, providers: [SkySplitViewAdapterService, SkySplitViewService], queries: [{ propertyName: "drawerComponent", first: true, predicate: SkySplitViewDrawerComponent, descendants: true }], hostDirectives: [{ directive: i1$1.SkyResponsiveHostDirective }], ngImport: i0, template: "<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n", styles: [":host{display:block}.sky-split-view{position:relative;display:flex;border:1px solid #cdcfd2;background:transparent;margin:var(--sky-layout-host-content-spacing, 0);max-height:100%}.sky-split-view .sky-split-view-workspace-flex-container{flex-grow:1;flex-shrink:99;overflow:auto}.sky-split-view-dock-fill{position:absolute;inset:0}:host .sky-split-view-drawer-flex-container{width:100%}:host-context(.sky-responsive-container-xs) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:100%}@media (min-width: 768px){:host .sky-split-view-drawer-flex-container{width:auto}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:auto}@media (min-width: 768px){:host :host-context(.sky-theme-modern) .sky-split-view{border-left:none}:host .sky-theme-modern .sky-split-view{border-left:none}}:host-context(.sky-responsive-container-sm) :host-context(.sky-theme-modern) .sky-split-view,:host-context(.sky-responsive-container-md) :host-context(.sky-theme-modern) .sky-split-view,:host-context(.sky-responsive-container-lg) :host-context(.sky-theme-modern) .sky-split-view{border-left:none}:host-context(.sky-responsive-container-sm) .sky-theme-modern .sky-split-view,:host-context(.sky-responsive-container-md) .sky-theme-modern .sky-split-view,:host-context(.sky-responsive-container-lg) .sky-theme-modern .sky-split-view{border-left:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
551
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewComponent, deps: [{ token: SkySplitViewAdapterService }, { token: i0.ChangeDetectorRef }, { token: i1$1.SkyCoreAdapterService }, { token: i0.ElementRef }, { token: SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
552
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkySplitViewComponent, isStandalone: true, selector: "sky-split-view", inputs: { backButtonText: "backButtonText", bindHeightToWindow: "bindHeightToWindow", dock: "dock", messageStream: "messageStream" }, providers: [SkySplitViewAdapterService, SkySplitViewService], queries: [{ propertyName: "drawerComponent", first: true, predicate: SkySplitViewDrawerComponent, descendants: true }], hostDirectives: [{ directive: i1$1.SkyResponsiveHostDirective }], ngImport: i0, template: "<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n", styles: [".sky-split-view:not(.sky-theme-modern *){--sky-override-split-view-border: 1px solid #cdcfd2;--sky-override-split-view-border-left: 1px solid #cdcfd2}:host{display:block}.sky-split-view{position:relative;display:flex;border:var(--sky-override-split-view-border, var(--sky-border-width-divider) solid var(--sky-color-border-divider));background:transparent;margin:var(--sky-layout-host-content-spacing, 0);max-height:100%}.sky-split-view .sky-split-view-workspace-flex-container{flex-grow:1;flex-shrink:99;overflow:auto}.sky-split-view-dock-fill{position:absolute;inset:0}:host .sky-split-view-drawer-flex-container{width:100%}:host-context(.sky-responsive-container-xs) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:100%}@media (min-width: 768px){:host .sky-split-view-drawer-flex-container{width:auto}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:auto}@media (min-width: 768px){:host .sky-split-view{border-left:var(--sky-override-split-view-border-left, none)}}:host-context(.sky-responsive-container-sm) .sky-split-view,:host-context(.sky-responsive-container-md) .sky-split-view,:host-context(.sky-responsive-container-lg) .sky-split-view{border-left:var(--sky-override-split-view-border-left, none)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
547
553
  trigger('blockAnimationOnLoad', [transition(':enter', [])]),
548
554
  trigger('drawerEnter', [
549
555
  state('false', style({ transform: 'translate(-100%)' })),
@@ -555,7 +561,7 @@ class SkySplitViewComponent {
555
561
  ]),
556
562
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
557
563
  }
558
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewComponent, decorators: [{
564
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewComponent, decorators: [{
559
565
  type: Component,
560
566
  args: [{ animations: [
561
567
  trigger('blockAnimationOnLoad', [transition(':enter', [])]),
@@ -567,7 +573,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
567
573
  state('false', style({ transform: 'translate(100%)' })),
568
574
  transition('* => true', animate('150ms ease-in')),
569
575
  ]),
570
- ], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [SkyResponsiveHostDirective], imports: [CommonModule], providers: [SkySplitViewAdapterService, SkySplitViewService], selector: 'sky-split-view', template: "<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n", styles: [":host{display:block}.sky-split-view{position:relative;display:flex;border:1px solid #cdcfd2;background:transparent;margin:var(--sky-layout-host-content-spacing, 0);max-height:100%}.sky-split-view .sky-split-view-workspace-flex-container{flex-grow:1;flex-shrink:99;overflow:auto}.sky-split-view-dock-fill{position:absolute;inset:0}:host .sky-split-view-drawer-flex-container{width:100%}:host-context(.sky-responsive-container-xs) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:100%}@media (min-width: 768px){:host .sky-split-view-drawer-flex-container{width:auto}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:auto}@media (min-width: 768px){:host :host-context(.sky-theme-modern) .sky-split-view{border-left:none}:host .sky-theme-modern .sky-split-view{border-left:none}}:host-context(.sky-responsive-container-sm) :host-context(.sky-theme-modern) .sky-split-view,:host-context(.sky-responsive-container-md) :host-context(.sky-theme-modern) .sky-split-view,:host-context(.sky-responsive-container-lg) :host-context(.sky-theme-modern) .sky-split-view{border-left:none}:host-context(.sky-responsive-container-sm) .sky-theme-modern .sky-split-view,:host-context(.sky-responsive-container-md) .sky-theme-modern .sky-split-view,:host-context(.sky-responsive-container-lg) .sky-theme-modern .sky-split-view{border-left:none}\n"] }]
576
+ ], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [SkyResponsiveHostDirective], imports: [CommonModule], providers: [SkySplitViewAdapterService, SkySplitViewService], selector: 'sky-split-view', template: "<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n", styles: [".sky-split-view:not(.sky-theme-modern *){--sky-override-split-view-border: 1px solid #cdcfd2;--sky-override-split-view-border-left: 1px solid #cdcfd2}:host{display:block}.sky-split-view{position:relative;display:flex;border:var(--sky-override-split-view-border, var(--sky-border-width-divider) solid var(--sky-color-border-divider));background:transparent;margin:var(--sky-layout-host-content-spacing, 0);max-height:100%}.sky-split-view .sky-split-view-workspace-flex-container{flex-grow:1;flex-shrink:99;overflow:auto}.sky-split-view-dock-fill{position:absolute;inset:0}:host .sky-split-view-drawer-flex-container{width:100%}:host-context(.sky-responsive-container-xs) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:100%}@media (min-width: 768px){:host .sky-split-view-drawer-flex-container{width:auto}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:auto}@media (min-width: 768px){:host .sky-split-view{border-left:var(--sky-override-split-view-border-left, none)}}:host-context(.sky-responsive-container-sm) .sky-split-view,:host-context(.sky-responsive-container-md) .sky-split-view,:host-context(.sky-responsive-container-lg) .sky-split-view{border-left:var(--sky-override-split-view-border-left, none)}\n"] }]
571
577
  }], ctorParameters: () => [{ type: SkySplitViewAdapterService }, { type: i0.ChangeDetectorRef }, { type: i1$1.SkyCoreAdapterService }, { type: i0.ElementRef }, { type: SkySplitViewService }], propDecorators: { backButtonText: [{
572
578
  type: Input
573
579
  }], bindHeightToWindow: [{
@@ -582,8 +588,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
582
588
  }] } });
583
589
 
584
590
  class SkySplitViewModule {
585
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
586
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
591
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
592
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
587
593
  SkySplitViewDrawerComponent,
588
594
  SkySplitViewWorkspaceComponent,
589
595
  SkySplitViewWorkspaceContentComponent,
@@ -594,12 +600,12 @@ class SkySplitViewModule {
594
600
  SkySplitViewWorkspaceContentComponent,
595
601
  SkySplitViewWorkspaceFooterComponent,
596
602
  SkySplitViewWorkspaceHeaderComponent] }); }
597
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
603
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
598
604
  SkySplitViewDrawerComponent,
599
605
  SkySplitViewWorkspaceComponent,
600
606
  SkySplitViewWorkspaceHeaderComponent] }); }
601
607
  }
602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkySplitViewModule, decorators: [{
608
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkySplitViewModule, decorators: [{
603
609
  type: NgModule,
604
610
  args: [{
605
611
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-split-view.mjs","sources":["../../../../../libs/components/split-view/src/lib/modules/shared/sky-split-view-resources.module.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.service.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-drawer.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-drawer.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-content.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-content.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-footer.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-footer.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-header.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-header.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-adapter.service.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/types/split-view-message-type.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.module.ts","../../../../../libs/components/split-view/src/index.ts","../../../../../libs/components/split-view/src/skyux-split-view.ts"],"sourcesContent":["/* istanbul ignore file */\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-split-view' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_split_view_resize_handle: {\n message:\n 'Resize the drawer panel. Use right arrow key to expand and left arrow key to shrink.',\n },\n skyux_split_view_back_to_list: { message: 'Back to list' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkySplitViewResourcesModule {}\n","import { ElementRef, Injectable, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n/**\n * Internal service for operations between the split view drawer and workspace.\n * @internal\n */\n@Injectable()\nexport class SkySplitViewService {\n public get backButtonTextStream(): Observable<string> {\n return this.#_backButtonTextStream;\n }\n\n public drawerVisible = new BehaviorSubject<boolean>(true);\n\n public splitViewElementRef: ElementRef | undefined;\n\n public set isMobile(value: boolean) {\n this.#_isMobile = value;\n }\n\n public get isMobile(): boolean {\n return this.#_isMobile;\n }\n\n public get isMobileStream(): Observable<boolean> {\n return this.#_isMobileStream;\n }\n\n #_backButtonTextStream = new BehaviorSubject<string>('');\n #_isMobile = false;\n #_isMobileStream = new BehaviorSubject<boolean>(false);\n\n constructor(resources: SkyLibResourcesService) {\n // Set default back button text.\n resources\n .getString('skyux_split_view_back_to_list')\n .pipe(take(1))\n .subscribe((resource) => {\n this.updateBackButtonText(resource);\n });\n\n // Set breakpoint.\n inject(SkyMediaQueryService)\n .breakpointChange.pipe(takeUntilDestroyed())\n .subscribe((breakpoint) => {\n const nowMobile = breakpoint === 'xs';\n\n if (nowMobile && !this.isMobile) {\n // switching to mobile\n this.#_isMobileStream.next(true);\n this.drawerVisible.next(false);\n } else if (!nowMobile && this.isMobile) {\n // switching to widescreen\n this.#_isMobileStream.next(false);\n this.drawerVisible.next(true);\n }\n this.isMobile = nowMobile;\n });\n }\n\n public backButtonClick(): void {\n this.drawerVisible.next(true);\n }\n\n public updateBackButtonText(text: string): void {\n this.#_backButtonTextStream.next(text);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyCoreAdapterService } from '@skyux/core';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil, takeWhile } from 'rxjs/operators';\n\nimport { SkySplitViewResourcesModule } from '../shared/sky-split-view-resources.module';\n\nimport { SkySplitViewService } from './split-view.service';\n\nlet skySplitViewNextId = 0;\n\n/**\n * Specifies the content to display in the split view's list panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, SkySplitViewResourcesModule],\n selector: 'sky-split-view-drawer',\n styleUrl: './split-view-drawer.component.scss',\n templateUrl: './split-view-drawer.component.html',\n})\nexport class SkySplitViewDrawerComponent implements OnInit, OnDestroy {\n /**\n * The ARIA label for the list panel. This sets the panel's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Sets the list panel's width in pixels.\n * @default 320\n */\n @Input()\n public set width(value: number | undefined) {\n if (value) {\n this.#_width = Number(value);\n this.#changeDetectorRef.markForCheck();\n }\n }\n\n public get width(): number | undefined {\n // TODO: Logic in a getter is a SKY UX anti-pattern, but fixing this would\n // require a significant amount of refactoring.\n if (this.isMobile) {\n return undefined;\n }\n\n if (this.#_width !== undefined) {\n if (this.#_width > this.widthMax) {\n return this.widthMax;\n } else if (this.#_width < this.widthMin) {\n return this.widthMin;\n }\n }\n\n return this.#_width || this.widthDefault;\n }\n\n public isMobile = false;\n\n public splitViewDrawerId: string;\n\n public widthDefault = 320;\n\n // Max needs to start as something to allow input range to work.\n // This value is updated as soon as the user takes action.\n public widthMax = 9999;\n\n public widthMin = 100;\n\n public widthTolerance = 100;\n\n #isDragging = false;\n #ngUnsubscribe = new Subject<void>();\n #xCoord = 0;\n #changeDetectorRef: ChangeDetectorRef;\n #coreAdapterService: SkyCoreAdapterService;\n #splitViewSvc: SkySplitViewService;\n #windowRef: SkyAppWindowRef;\n\n #_width: number | undefined;\n\n constructor(\n changeDetectorRef: ChangeDetectorRef,\n coreAdapterService: SkyCoreAdapterService,\n splitViewSvc: SkySplitViewService,\n windowRef: SkyAppWindowRef,\n ) {\n this.#changeDetectorRef = changeDetectorRef;\n this.#coreAdapterService = coreAdapterService;\n this.#splitViewSvc = splitViewSvc;\n this.#windowRef = windowRef;\n\n this.splitViewDrawerId = `sky-split-view-drawer-${++skySplitViewNextId}`;\n }\n\n public ngOnInit(): void {\n this.#setMaxWidth();\n\n this.#splitViewSvc.isMobileStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((mobile: boolean) => {\n this.isMobile = mobile;\n this.#changeDetectorRef.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onResizeHandleMouseDown(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n this.#setMaxWidth();\n this.#isDragging = true;\n this.#xCoord = event.clientX;\n\n this.#coreAdapterService.toggleIframePointerEvents(false);\n\n fromEvent<MouseEvent>(document, 'mousemove')\n .pipe(\n takeUntil(this.#ngUnsubscribe),\n takeWhile(() => {\n return this.#isDragging;\n }),\n )\n .subscribe((moveEvent) => {\n this.onMouseMove(moveEvent);\n });\n\n fromEvent(document, 'mouseup')\n .pipe(\n takeUntil(this.#ngUnsubscribe),\n takeWhile(() => {\n return this.#isDragging;\n }),\n )\n .subscribe(() => {\n this.onHandleRelease();\n });\n }\n\n public onMouseMove(event: MouseEvent): void {\n /* Sanity check */\n /* istanbul ignore if */\n if (!this.#isDragging || this.width === undefined) {\n return;\n }\n\n const offsetX = event.clientX - this.#xCoord;\n let width = this.width;\n\n width += offsetX;\n\n if (width < this.widthMin || width > this.widthMax) {\n return;\n }\n\n this.width = width;\n\n this.#xCoord = event.clientX;\n this.#changeDetectorRef.markForCheck();\n }\n\n public onHandleRelease(): void {\n this.#isDragging = false;\n this.#coreAdapterService.toggleIframePointerEvents(true);\n this.#changeDetectorRef.markForCheck();\n }\n\n public onResizeHandleChange(event: Event): void {\n this.width = +(event.target as HTMLInputElement).value;\n this.#setMaxWidth();\n }\n\n @HostListener('window:resize', ['$event'])\n public onWindowResize(): void {\n const window = this.#windowRef.nativeWindow;\n\n // If window size is smaller than width + tolerance, shrink width.\n if (\n !this.isMobile &&\n this.width !== undefined &&\n window.innerWidth < this.width + this.widthTolerance\n ) {\n this.width = window.innerWidth - this.widthTolerance;\n }\n }\n\n #setMaxWidth(): void {\n const splitView =\n this.#splitViewSvc.splitViewElementRef?.nativeElement.querySelector(\n '.sky-split-view',\n );\n this.widthMax = splitView.clientWidth - this.widthTolerance;\n }\n}\n","<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\n\n/**\n * Specifies the content to display in the split view's workspace panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabindex: '0',\n },\n hostDirectives: [SkyResponsiveHostDirective],\n selector: 'sky-split-view-workspace-content',\n standalone: true,\n styleUrl: './split-view-workspace-content.component.scss',\n templateUrl: './split-view-workspace-content.component.html',\n})\nexport class SkySplitViewWorkspaceContentComponent {}\n","<div class=\"sky-split-view-workspace-content\">\n <ng-content />\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\n\n/**\n * Specifies the footer to display in the split view's workspace panel. This component is often used with a summary action bar.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [SkyResponsiveHostDirective],\n selector: 'sky-split-view-workspace-footer',\n standalone: true,\n styleUrl: './split-view-workspace-footer.component.scss',\n templateUrl: './split-view-workspace-footer.component.html',\n})\nexport class SkySplitViewWorkspaceFooterComponent {}\n","<div class=\"sky-split-view-workspace-footer\">\n <ng-content />\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkySplitViewService } from './split-view.service';\n\n/**\n * Specifies the header to display in the split view's workspace panel.\n * @internal\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkyIconModule],\n selector: 'sky-split-view-workspace-header',\n styleUrl: './split-view-workspace-header.component.scss',\n templateUrl: './split-view-workspace-header.component.html',\n})\nexport class SkySplitViewWorkspaceHeaderComponent implements OnDestroy, OnInit {\n public backButtonText: string | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n #splitViewSvc: SkySplitViewService;\n\n constructor(splitViewSvc: SkySplitViewService) {\n this.#splitViewSvc = splitViewSvc;\n }\n\n public ngOnInit(): void {\n this.#splitViewSvc.backButtonTextStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((text: string) => {\n this.backButtonText = text;\n });\n }\n\n public onShowDrawerButtonClick(): void {\n this.#splitViewSvc.backButtonClick();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n}\n","<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon icon=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n inject,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\n\nimport { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';\n\n/**\n * Contains the content, footer, and header to display in the split view's workspace panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkySplitViewWorkspaceHeaderComponent],\n selector: 'sky-split-view-workspace',\n styleUrl: './split-view-workspace.component.scss',\n templateUrl: './split-view-workspace.component.html',\n})\nexport class SkySplitViewWorkspaceComponent {\n // Use the parent's breakpoint since the mobile header should only appear when\n // the split view container as a whole reaches the \"xs\" breakpoint, not just\n // the workspace area.\n protected breakpoint = toSignal(\n inject(SkyMediaQueryService, { skipSelf: true }).breakpointChange,\n );\n\n /**\n * The ARIA label for the workspace panel. This sets the panel's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n}\n","<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyMutationObserverService } from '@skyux/core';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\n/**\n * Adapter service for use when the split view component needs to manipulate the DOM\n * @internal\n */\n@Injectable()\nexport class SkySplitViewAdapterService {\n #observer: MutationObserver | undefined;\n #renderer: Renderer2;\n #observerSvc: SkyMutationObserverService;\n #rendererFactory: RendererFactory2;\n #windowRef: SkyAppWindowRef;\n\n constructor(\n observerSvc: SkyMutationObserverService,\n rendererFactory: RendererFactory2,\n windowRef: SkyAppWindowRef,\n ) {\n this.#observerSvc = observerSvc;\n this.#rendererFactory = rendererFactory;\n this.#windowRef = windowRef;\n\n this.#renderer = this.#rendererFactory.createRenderer(undefined, null);\n }\n\n public bindHeightToWindow(\n elementRef: ElementRef,\n unsubscribeSubject: Subject<void>,\n ): void {\n /*istanbul ignore else*/\n if (elementRef.nativeElement.offsetParent === document.body) {\n this.#observer = this.#observerSvc.create(() => {\n this.#setSplitViewBoundHeights(elementRef);\n });\n\n fromEvent(this.#windowRef.nativeWindow, 'resize')\n .pipe(takeUntil(unsubscribeSubject))\n .subscribe(() => {\n this.#setSplitViewBoundHeights(elementRef);\n });\n\n const config = {\n attributes: true,\n attributeFilter: ['style'],\n childList: false,\n characterDate: false,\n };\n\n // This observer makes sure that the split view reacts if the body styling is change but thing\n // such as the action bar.\n this.#observer.observe(document.body, config);\n this.#setSplitViewBoundHeights(elementRef);\n\n unsubscribeSubject.pipe(take(1)).subscribe(() => {\n this.#observer?.disconnect();\n const splitViewElement =\n elementRef.nativeElement.querySelector('.sky-split-view');\n this.#renderer.removeStyle(splitViewElement, 'max-height');\n this.#renderer.removeStyle(splitViewElement, 'min-height');\n });\n }\n }\n\n #setSplitViewBoundHeights(elementRef: ElementRef): void {\n const splitViewElement =\n elementRef.nativeElement.querySelector('.sky-split-view');\n const offsetTop = splitViewElement.offsetTop;\n const marginBottom = document.body.style.marginBottom\n ? document.body.style.marginBottom\n : '0px';\n this.#renderer.setStyle(\n splitViewElement,\n 'max-height',\n 'calc(100vh - ' + offsetTop + 'px - ' + marginBottom + ')',\n );\n this.#renderer.setStyle(splitViewElement, 'min-height', '300px');\n }\n}\n","export enum SkySplitViewMessageType {\n /**\n * Places focus on the first focusable element in the workspace.\n */\n FocusWorkspace = 0,\n}\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyCoreAdapterService, SkyResponsiveHostDirective } from '@skyux/core';\n\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { SkySplitViewAdapterService } from './split-view-adapter.service';\nimport { SkySplitViewDrawerComponent } from './split-view-drawer.component';\nimport { SkySplitViewService } from './split-view.service';\nimport { SkySplitViewDockType } from './types/split-view-dock-type';\nimport { SkySplitViewMessage } from './types/split-view-message';\nimport { SkySplitViewMessageType } from './types/split-view-message-type';\n\n/**\n * Displays a list alongside a workspace where users can view details for selected items\n * and take actions.\n */\n@Component({\n animations: [\n trigger('blockAnimationOnLoad', [transition(':enter', [])]),\n trigger('drawerEnter', [\n state('false', style({ transform: 'translate(-100%)' })),\n transition('* => true', animate('150ms ease-in')),\n ]),\n trigger('workspaceEnter', [\n state('false', style({ transform: 'translate(100%)' })),\n transition('* => true', animate('150ms ease-in')),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [SkyResponsiveHostDirective],\n imports: [CommonModule],\n providers: [SkySplitViewAdapterService, SkySplitViewService],\n selector: 'sky-split-view',\n styleUrl: './split-view.component.scss',\n templateUrl: './split-view.component.html',\n})\nexport class SkySplitViewComponent implements OnInit, OnDestroy {\n /**\n * The label for the button that appears in the workspace header in responsive mode.\n * The button returns users to the list.\n * @default \"Back to list\"\n */\n @Input()\n public set backButtonText(value: string) {\n if (value) {\n this.#splitViewService.updateBackButtonText(value);\n }\n }\n\n /**\n * Whether the split view's height is bound to the window height.\n * @default false\n * @deprecated We recommend using the `dock` input instead. An example of this can\n * be found in the developer code examples.\n */\n @Input()\n public set bindHeightToWindow(bindToHeight: boolean) {\n this.#_bindHeightToWindow = bindToHeight;\n\n if (this.#bindHeightToWindowUnsubscribe) {\n this.#bindHeightToWindowUnsubscribe.next();\n this.#bindHeightToWindowUnsubscribe.complete();\n }\n\n if (bindToHeight) {\n this.#bindHeightToWindowUnsubscribe = new Subject();\n this.#adapter.bindHeightToWindow(\n this.#elementRef,\n this.#bindHeightToWindowUnsubscribe,\n );\n }\n }\n\n public get bindHeightToWindow(): boolean {\n return this.#_bindHeightToWindow;\n }\n\n /**\n * How the split view docks to its container. Use `fill` to dock\n * the split view to the container's size where the container is a `sky-page` component\n * with its `layout` input set to `fit`, or where the container is another element with\n * a relative or absolute position and a fixed size.\n * @default \"none\"\n */\n @Input()\n public set dock(value: SkySplitViewDockType | undefined) {\n this.#_dock = value || 'none';\n }\n\n public get dock(): SkySplitViewDockType {\n return this.#_dock;\n }\n\n /**\n * The observable that sends commands to the split view component.\n * The commands should respect the `SkySplitViewMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkySplitViewMessage>();\n\n @ContentChild(SkySplitViewDrawerComponent)\n public drawerComponent: SkySplitViewDrawerComponent | undefined;\n\n public set drawerVisible(value: boolean) {\n this.#_drawerVisible = value;\n this.#changeDetectorRef.markForCheck();\n }\n\n public get drawerVisible(): boolean {\n return !this.isMobile || this.#_drawerVisible;\n }\n\n public isMobile = false;\n public nextButtonDisabled = false;\n public previousButtonDisabled = false;\n\n public get workspaceVisible(): boolean {\n return !this.isMobile || !this.#_drawerVisible;\n }\n\n #animationComplete = new Subject<void>();\n #bindHeightToWindowUnsubscribe: Subject<void> | undefined;\n #ngUnsubscribe = new Subject<void>();\n #adapter: SkySplitViewAdapterService;\n #changeDetectorRef: ChangeDetectorRef;\n #coreAdapterService: SkyCoreAdapterService;\n #elementRef: ElementRef;\n #splitViewService: SkySplitViewService;\n\n #_bindHeightToWindow = false;\n #_drawerVisible = true;\n #_dock: SkySplitViewDockType = 'none';\n\n constructor(\n adapter: SkySplitViewAdapterService,\n changeDetectorRef: ChangeDetectorRef,\n coreAdapterService: SkyCoreAdapterService,\n elementRef: ElementRef,\n splitViewService: SkySplitViewService,\n ) {\n this.#adapter = adapter;\n this.#changeDetectorRef = changeDetectorRef;\n this.#coreAdapterService = coreAdapterService;\n this.#elementRef = elementRef;\n this.#splitViewService = splitViewService;\n\n splitViewService.splitViewElementRef = elementRef;\n }\n\n public ngOnInit(): void {\n this.#splitViewService.isMobileStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((mobile: boolean) => {\n this.isMobile = mobile;\n this.#changeDetectorRef.markForCheck();\n });\n\n this.#splitViewService.drawerVisible\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((visible: boolean) => {\n this.drawerVisible = visible;\n });\n\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkySplitViewMessage) => {\n this.#handleIncomingMessages(message);\n });\n }\n\n public ngOnDestroy(): void {\n if (this.#bindHeightToWindowUnsubscribe) {\n this.#bindHeightToWindowUnsubscribe.next();\n this.#bindHeightToWindowUnsubscribe.complete();\n }\n\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onWorkspaceEnterComplete(): void {\n this.#animationComplete.next();\n }\n\n #applyAutofocus(): void {\n const applyAutoFocus = this.#coreAdapterService.applyAutoFocus(\n this.#elementRef,\n );\n /*istanbul ignore else*/\n if (!applyAutoFocus) {\n this.#coreAdapterService.getFocusableChildrenAndApplyFocus(\n this.#elementRef,\n '.sky-split-view-workspace-content',\n );\n }\n }\n\n #handleIncomingMessages(message: SkySplitViewMessage): void {\n switch (message.type) {\n case SkySplitViewMessageType.FocusWorkspace:\n // If mobile, wait until animation is complete then set focus on workspace panel.\n // Otherwise, just set focus right away.\n if (!this.workspaceVisible) {\n this.drawerVisible = false;\n this.#animationComplete.pipe(take(1)).subscribe(() => {\n this.#applyAutofocus();\n });\n } else {\n this.#applyAutofocus();\n }\n this.#changeDetectorRef.markForCheck();\n break;\n }\n }\n}\n","<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { SkySplitViewDrawerComponent } from './split-view-drawer.component';\nimport { SkySplitViewWorkspaceContentComponent } from './split-view-workspace-content.component';\nimport { SkySplitViewWorkspaceFooterComponent } from './split-view-workspace-footer.component';\nimport { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';\nimport { SkySplitViewWorkspaceComponent } from './split-view-workspace.component';\nimport { SkySplitViewComponent } from './split-view.component';\n\n@NgModule({\n imports: [\n SkySplitViewComponent,\n SkySplitViewDrawerComponent,\n SkySplitViewWorkspaceComponent,\n SkySplitViewWorkspaceContentComponent,\n SkySplitViewWorkspaceFooterComponent,\n SkySplitViewWorkspaceHeaderComponent,\n ],\n exports: [\n SkySplitViewComponent,\n SkySplitViewDrawerComponent,\n SkySplitViewWorkspaceComponent,\n SkySplitViewWorkspaceContentComponent,\n SkySplitViewWorkspaceFooterComponent,\n SkySplitViewWorkspaceHeaderComponent,\n ],\n})\nexport class SkySplitViewModule {}\n","// Split view modules.\nexport { SkySplitViewModule } from './lib/modules/split-view/split-view.module';\n\n// Split view types.\nexport { SkySplitViewDockType } from './lib/modules/split-view/types/split-view-dock-type';\nexport { SkySplitViewMessage } from './lib/modules/split-view/types/split-view-message';\nexport { SkySplitViewMessageType } from './lib/modules/split-view/types/split-view-message-type';\n\n// Components and directives must be exported to support Angular's \"partial\" Ivy compiler.\n// Obscure names are used to indicate types are not part of the public API.\nexport { SkySplitViewDrawerComponent as λ2 } from './lib/modules/split-view/split-view-drawer.component';\nexport { SkySplitViewWorkspaceContentComponent as λ4 } from './lib/modules/split-view/split-view-workspace-content.component';\nexport { SkySplitViewWorkspaceFooterComponent as λ5 } from './lib/modules/split-view/split-view-workspace-footer.component';\nexport { SkySplitViewWorkspaceHeaderComponent as λ6 } from './lib/modules/split-view/split-view-workspace-header.component';\nexport { SkySplitViewWorkspaceComponent as λ3 } from './lib/modules/split-view/split-view-workspace.component';\nexport { SkySplitViewComponent as λ1 } from './lib/modules/split-view/split-view.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.SkySplitViewService","i3","i1.SkySplitViewService","i1.SkySplitViewAdapterService","i2","i3.SkySplitViewService"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-split-view.mjs","sources":["../../../../../libs/components/split-view/src/lib/modules/shared/sky-split-view-resources.module.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.service.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-drawer.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-drawer.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-content.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-content.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-footer.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-footer.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-header.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-header.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-adapter.service.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/types/split-view-message-type.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.module.ts","../../../../../libs/components/split-view/src/index.ts","../../../../../libs/components/split-view/src/skyux-split-view.ts"],"sourcesContent":["/* istanbul ignore file */\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-split-view' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_split_view_resize_handle: {\n message:\n 'Resize the drawer panel. Use right arrow key to expand and left arrow key to shrink.',\n },\n skyux_split_view_back_to_list: { message: 'Back to list' },\n },\n 'FR-CA': {\n skyux_split_view_resize_handle: {\n message:\n 'Redimensionnez le panneau du menu latéral. Utilisez la flèche de droite pour agrandir et la flèche de gauche pour réduire.',\n },\n skyux_split_view_back_to_list: { message: 'Retour à la liste' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkySplitViewResourcesModule {}\n","import { ElementRef, Injectable, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n/**\n * Internal service for operations between the split view drawer and workspace.\n * @internal\n */\n@Injectable()\nexport class SkySplitViewService {\n public get backButtonTextStream(): Observable<string> {\n return this.#_backButtonTextStream;\n }\n\n public drawerVisible = new BehaviorSubject<boolean>(true);\n\n public splitViewElementRef: ElementRef | undefined;\n\n public set isMobile(value: boolean) {\n this.#_isMobile = value;\n }\n\n public get isMobile(): boolean {\n return this.#_isMobile;\n }\n\n public get isMobileStream(): Observable<boolean> {\n return this.#_isMobileStream;\n }\n\n #_backButtonTextStream = new BehaviorSubject<string>('');\n #_isMobile = false;\n #_isMobileStream = new BehaviorSubject<boolean>(false);\n\n constructor(resources: SkyLibResourcesService) {\n // Set default back button text.\n resources\n .getString('skyux_split_view_back_to_list')\n .pipe(take(1))\n .subscribe((resource) => {\n this.updateBackButtonText(resource);\n });\n\n // Set breakpoint.\n inject(SkyMediaQueryService)\n .breakpointChange.pipe(takeUntilDestroyed())\n .subscribe((breakpoint) => {\n const nowMobile = breakpoint === 'xs';\n\n if (nowMobile && !this.isMobile) {\n // switching to mobile\n this.#_isMobileStream.next(true);\n this.drawerVisible.next(false);\n } else if (!nowMobile && this.isMobile) {\n // switching to widescreen\n this.#_isMobileStream.next(false);\n this.drawerVisible.next(true);\n }\n this.isMobile = nowMobile;\n });\n }\n\n public backButtonClick(): void {\n this.drawerVisible.next(true);\n }\n\n public updateBackButtonText(text: string): void {\n this.#_backButtonTextStream.next(text);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyCoreAdapterService } from '@skyux/core';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil, takeWhile } from 'rxjs/operators';\n\nimport { SkySplitViewResourcesModule } from '../shared/sky-split-view-resources.module';\n\nimport { SkySplitViewService } from './split-view.service';\n\nlet skySplitViewNextId = 0;\n\n/**\n * Specifies the content to display in the split view's list panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, SkySplitViewResourcesModule],\n selector: 'sky-split-view-drawer',\n styleUrl: './split-view-drawer.component.scss',\n templateUrl: './split-view-drawer.component.html',\n})\nexport class SkySplitViewDrawerComponent implements OnInit, OnDestroy {\n /**\n * The ARIA label for the list panel. This sets the panel's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Sets the list panel's width in pixels.\n * @default 320\n */\n @Input()\n public set width(value: number | undefined) {\n if (value) {\n this.#_width = Number(value);\n this.#changeDetectorRef.markForCheck();\n }\n }\n\n public get width(): number | undefined {\n // TODO: Logic in a getter is a SKY UX anti-pattern, but fixing this would\n // require a significant amount of refactoring.\n if (this.isMobile) {\n return undefined;\n }\n\n if (this.#_width !== undefined) {\n if (this.#_width > this.widthMax) {\n return this.widthMax;\n } else if (this.#_width < this.widthMin) {\n return this.widthMin;\n }\n }\n\n return this.#_width || this.widthDefault;\n }\n\n public isMobile = false;\n\n public splitViewDrawerId: string;\n\n public widthDefault = 320;\n\n // Max needs to start as something to allow input range to work.\n // This value is updated as soon as the user takes action.\n public widthMax = 9999;\n\n public widthMin = 100;\n\n public widthTolerance = 100;\n\n #isDragging = false;\n #ngUnsubscribe = new Subject<void>();\n #xCoord = 0;\n #changeDetectorRef: ChangeDetectorRef;\n #coreAdapterService: SkyCoreAdapterService;\n #splitViewSvc: SkySplitViewService;\n #windowRef: SkyAppWindowRef;\n\n #_width: number | undefined;\n\n constructor(\n changeDetectorRef: ChangeDetectorRef,\n coreAdapterService: SkyCoreAdapterService,\n splitViewSvc: SkySplitViewService,\n windowRef: SkyAppWindowRef,\n ) {\n this.#changeDetectorRef = changeDetectorRef;\n this.#coreAdapterService = coreAdapterService;\n this.#splitViewSvc = splitViewSvc;\n this.#windowRef = windowRef;\n\n this.splitViewDrawerId = `sky-split-view-drawer-${++skySplitViewNextId}`;\n }\n\n public ngOnInit(): void {\n this.#setMaxWidth();\n\n this.#splitViewSvc.isMobileStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((mobile: boolean) => {\n this.isMobile = mobile;\n this.#changeDetectorRef.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onResizeHandleMouseDown(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n this.#setMaxWidth();\n this.#isDragging = true;\n this.#xCoord = event.clientX;\n\n this.#coreAdapterService.toggleIframePointerEvents(false);\n\n fromEvent<MouseEvent>(document, 'mousemove')\n .pipe(\n takeUntil(this.#ngUnsubscribe),\n takeWhile(() => {\n return this.#isDragging;\n }),\n )\n .subscribe((moveEvent) => {\n this.onMouseMove(moveEvent);\n });\n\n fromEvent(document, 'mouseup')\n .pipe(\n takeUntil(this.#ngUnsubscribe),\n takeWhile(() => {\n return this.#isDragging;\n }),\n )\n .subscribe(() => {\n this.onHandleRelease();\n });\n }\n\n public onMouseMove(event: MouseEvent): void {\n /* Sanity check */\n /* istanbul ignore if */\n if (!this.#isDragging || this.width === undefined) {\n return;\n }\n\n const offsetX = event.clientX - this.#xCoord;\n let width = this.width;\n\n width += offsetX;\n\n if (width < this.widthMin || width > this.widthMax) {\n return;\n }\n\n this.width = width;\n\n this.#xCoord = event.clientX;\n this.#changeDetectorRef.markForCheck();\n }\n\n public onHandleRelease(): void {\n this.#isDragging = false;\n this.#coreAdapterService.toggleIframePointerEvents(true);\n this.#changeDetectorRef.markForCheck();\n }\n\n public onResizeHandleChange(event: Event): void {\n this.width = +(event.target as HTMLInputElement).value;\n this.#setMaxWidth();\n }\n\n @HostListener('window:resize', ['$event'])\n public onWindowResize(): void {\n const window = this.#windowRef.nativeWindow;\n\n // If window size is smaller than width + tolerance, shrink width.\n if (\n !this.isMobile &&\n this.width !== undefined &&\n window.innerWidth < this.width + this.widthTolerance\n ) {\n this.width = window.innerWidth - this.widthTolerance;\n }\n }\n\n #setMaxWidth(): void {\n const splitView =\n this.#splitViewSvc.splitViewElementRef?.nativeElement.querySelector(\n '.sky-split-view',\n );\n this.widthMax = splitView.clientWidth - this.widthTolerance;\n }\n}\n","<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\n\n/**\n * Specifies the content to display in the split view's workspace panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabindex: '0',\n },\n hostDirectives: [SkyResponsiveHostDirective],\n selector: 'sky-split-view-workspace-content',\n standalone: true,\n styleUrl: './split-view-workspace-content.component.scss',\n templateUrl: './split-view-workspace-content.component.html',\n})\nexport class SkySplitViewWorkspaceContentComponent {}\n","<div class=\"sky-split-view-workspace-content\">\n <ng-content />\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\n\n/**\n * Specifies the footer to display in the split view's workspace panel. This component is often used with a summary action bar.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [SkyResponsiveHostDirective],\n selector: 'sky-split-view-workspace-footer',\n standalone: true,\n styleUrl: './split-view-workspace-footer.component.scss',\n templateUrl: './split-view-workspace-footer.component.html',\n})\nexport class SkySplitViewWorkspaceFooterComponent {}\n","<div class=\"sky-split-view-workspace-footer sky-elevation-3\">\n <ng-content />\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkySplitViewService } from './split-view.service';\n\n/**\n * Specifies the header to display in the split view's workspace panel.\n * @internal\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkyIconModule],\n selector: 'sky-split-view-workspace-header',\n styleUrl: './split-view-workspace-header.component.scss',\n templateUrl: './split-view-workspace-header.component.html',\n})\nexport class SkySplitViewWorkspaceHeaderComponent implements OnDestroy, OnInit {\n public backButtonText: string | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n #splitViewSvc: SkySplitViewService;\n\n constructor(splitViewSvc: SkySplitViewService) {\n this.#splitViewSvc = splitViewSvc;\n }\n\n public ngOnInit(): void {\n this.#splitViewSvc.backButtonTextStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((text: string) => {\n this.backButtonText = text;\n });\n }\n\n public onShowDrawerButtonClick(): void {\n this.#splitViewSvc.backButtonClick();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n}\n","<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon iconName=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n inject,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\n\nimport { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';\n\n/**\n * Contains the content, footer, and header to display in the split view's workspace panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkySplitViewWorkspaceHeaderComponent],\n selector: 'sky-split-view-workspace',\n styleUrl: './split-view-workspace.component.scss',\n templateUrl: './split-view-workspace.component.html',\n})\nexport class SkySplitViewWorkspaceComponent {\n // Use the parent's breakpoint since the mobile header should only appear when\n // the split view container as a whole reaches the \"xs\" breakpoint, not just\n // the workspace area.\n protected breakpoint = toSignal(\n inject(SkyMediaQueryService, { skipSelf: true }).breakpointChange,\n );\n\n /**\n * The ARIA label for the workspace panel. This sets the panel's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n}\n","<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyMutationObserverService } from '@skyux/core';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\n/**\n * Adapter service for use when the split view component needs to manipulate the DOM\n * @internal\n */\n@Injectable()\nexport class SkySplitViewAdapterService {\n #observer: MutationObserver | undefined;\n #renderer: Renderer2;\n #observerSvc: SkyMutationObserverService;\n #rendererFactory: RendererFactory2;\n #windowRef: SkyAppWindowRef;\n\n constructor(\n observerSvc: SkyMutationObserverService,\n rendererFactory: RendererFactory2,\n windowRef: SkyAppWindowRef,\n ) {\n this.#observerSvc = observerSvc;\n this.#rendererFactory = rendererFactory;\n this.#windowRef = windowRef;\n\n this.#renderer = this.#rendererFactory.createRenderer(undefined, null);\n }\n\n public bindHeightToWindow(\n elementRef: ElementRef,\n unsubscribeSubject: Subject<void>,\n ): void {\n /*istanbul ignore else*/\n if (elementRef.nativeElement.offsetParent === document.body) {\n this.#observer = this.#observerSvc.create(() => {\n this.#setSplitViewBoundHeights(elementRef);\n });\n\n fromEvent(this.#windowRef.nativeWindow, 'resize')\n .pipe(takeUntil(unsubscribeSubject))\n .subscribe(() => {\n this.#setSplitViewBoundHeights(elementRef);\n });\n\n const config = {\n attributes: true,\n attributeFilter: ['style'],\n childList: false,\n characterDate: false,\n };\n\n // This observer makes sure that the split view reacts if the body styling is change but thing\n // such as the action bar.\n this.#observer.observe(document.body, config);\n this.#setSplitViewBoundHeights(elementRef);\n\n unsubscribeSubject.pipe(take(1)).subscribe(() => {\n this.#observer?.disconnect();\n const splitViewElement =\n elementRef.nativeElement.querySelector('.sky-split-view');\n this.#renderer.removeStyle(splitViewElement, 'max-height');\n this.#renderer.removeStyle(splitViewElement, 'min-height');\n });\n }\n }\n\n #setSplitViewBoundHeights(elementRef: ElementRef): void {\n const splitViewElement =\n elementRef.nativeElement.querySelector('.sky-split-view');\n const offsetTop = splitViewElement.offsetTop;\n const marginBottom = document.body.style.marginBottom\n ? document.body.style.marginBottom\n : '0px';\n this.#renderer.setStyle(\n splitViewElement,\n 'max-height',\n 'calc(100vh - ' + offsetTop + 'px - ' + marginBottom + ')',\n );\n this.#renderer.setStyle(splitViewElement, 'min-height', '300px');\n }\n}\n","export enum SkySplitViewMessageType {\n /**\n * Places focus on the first focusable element in the workspace.\n */\n FocusWorkspace = 0,\n}\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyCoreAdapterService, SkyResponsiveHostDirective } from '@skyux/core';\n\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { SkySplitViewAdapterService } from './split-view-adapter.service';\nimport { SkySplitViewDrawerComponent } from './split-view-drawer.component';\nimport { SkySplitViewService } from './split-view.service';\nimport { SkySplitViewDockType } from './types/split-view-dock-type';\nimport { SkySplitViewMessage } from './types/split-view-message';\nimport { SkySplitViewMessageType } from './types/split-view-message-type';\n\n/**\n * Displays a list alongside a workspace where users can view details for selected items\n * and take actions.\n */\n@Component({\n animations: [\n trigger('blockAnimationOnLoad', [transition(':enter', [])]),\n trigger('drawerEnter', [\n state('false', style({ transform: 'translate(-100%)' })),\n transition('* => true', animate('150ms ease-in')),\n ]),\n trigger('workspaceEnter', [\n state('false', style({ transform: 'translate(100%)' })),\n transition('* => true', animate('150ms ease-in')),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [SkyResponsiveHostDirective],\n imports: [CommonModule],\n providers: [SkySplitViewAdapterService, SkySplitViewService],\n selector: 'sky-split-view',\n styleUrl: './split-view.component.scss',\n templateUrl: './split-view.component.html',\n})\nexport class SkySplitViewComponent implements OnInit, OnDestroy {\n /**\n * The label for the button that appears in the workspace header in responsive mode.\n * The button returns users to the list.\n * @default \"Back to list\"\n */\n @Input()\n public set backButtonText(value: string) {\n if (value) {\n this.#splitViewService.updateBackButtonText(value);\n }\n }\n\n /**\n * Whether the split view's height is bound to the window height.\n * @default false\n * @deprecated We recommend using the `dock` input instead. An example of this can\n * be found in the developer code examples.\n */\n @Input()\n public set bindHeightToWindow(bindToHeight: boolean) {\n this.#_bindHeightToWindow = bindToHeight;\n\n if (this.#bindHeightToWindowUnsubscribe) {\n this.#bindHeightToWindowUnsubscribe.next();\n this.#bindHeightToWindowUnsubscribe.complete();\n }\n\n if (bindToHeight) {\n this.#bindHeightToWindowUnsubscribe = new Subject();\n this.#adapter.bindHeightToWindow(\n this.#elementRef,\n this.#bindHeightToWindowUnsubscribe,\n );\n }\n }\n\n public get bindHeightToWindow(): boolean {\n return this.#_bindHeightToWindow;\n }\n\n /**\n * How the split view docks to its container. Use `fill` to dock\n * the split view to the container's size where the container is a `sky-page` component\n * with its `layout` input set to `fit`, or where the container is another element with\n * a relative or absolute position and a fixed size.\n * @default \"none\"\n */\n @Input()\n public set dock(value: SkySplitViewDockType | undefined) {\n this.#_dock = value || 'none';\n }\n\n public get dock(): SkySplitViewDockType {\n return this.#_dock;\n }\n\n /**\n * The observable that sends commands to the split view component.\n * The commands should respect the `SkySplitViewMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkySplitViewMessage>();\n\n @ContentChild(SkySplitViewDrawerComponent)\n public drawerComponent: SkySplitViewDrawerComponent | undefined;\n\n public set drawerVisible(value: boolean) {\n this.#_drawerVisible = value;\n this.#changeDetectorRef.markForCheck();\n }\n\n public get drawerVisible(): boolean {\n return !this.isMobile || this.#_drawerVisible;\n }\n\n public isMobile = false;\n public nextButtonDisabled = false;\n public previousButtonDisabled = false;\n\n public get workspaceVisible(): boolean {\n return !this.isMobile || !this.#_drawerVisible;\n }\n\n #animationComplete = new Subject<void>();\n #bindHeightToWindowUnsubscribe: Subject<void> | undefined;\n #ngUnsubscribe = new Subject<void>();\n #adapter: SkySplitViewAdapterService;\n #changeDetectorRef: ChangeDetectorRef;\n #coreAdapterService: SkyCoreAdapterService;\n #elementRef: ElementRef;\n #splitViewService: SkySplitViewService;\n\n #_bindHeightToWindow = false;\n #_drawerVisible = true;\n #_dock: SkySplitViewDockType = 'none';\n\n constructor(\n adapter: SkySplitViewAdapterService,\n changeDetectorRef: ChangeDetectorRef,\n coreAdapterService: SkyCoreAdapterService,\n elementRef: ElementRef,\n splitViewService: SkySplitViewService,\n ) {\n this.#adapter = adapter;\n this.#changeDetectorRef = changeDetectorRef;\n this.#coreAdapterService = coreAdapterService;\n this.#elementRef = elementRef;\n this.#splitViewService = splitViewService;\n\n splitViewService.splitViewElementRef = elementRef;\n }\n\n public ngOnInit(): void {\n this.#splitViewService.isMobileStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((mobile: boolean) => {\n this.isMobile = mobile;\n this.#changeDetectorRef.markForCheck();\n });\n\n this.#splitViewService.drawerVisible\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((visible: boolean) => {\n this.drawerVisible = visible;\n });\n\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkySplitViewMessage) => {\n this.#handleIncomingMessages(message);\n });\n }\n\n public ngOnDestroy(): void {\n if (this.#bindHeightToWindowUnsubscribe) {\n this.#bindHeightToWindowUnsubscribe.next();\n this.#bindHeightToWindowUnsubscribe.complete();\n }\n\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onWorkspaceEnterComplete(): void {\n this.#animationComplete.next();\n }\n\n #applyAutofocus(): void {\n const applyAutoFocus = this.#coreAdapterService.applyAutoFocus(\n this.#elementRef,\n );\n /*istanbul ignore else*/\n if (!applyAutoFocus) {\n this.#coreAdapterService.getFocusableChildrenAndApplyFocus(\n this.#elementRef,\n '.sky-split-view-workspace-content',\n );\n }\n }\n\n #handleIncomingMessages(message: SkySplitViewMessage): void {\n switch (message.type) {\n case SkySplitViewMessageType.FocusWorkspace:\n // If mobile, wait until animation is complete then set focus on workspace panel.\n // Otherwise, just set focus right away.\n if (!this.workspaceVisible) {\n this.drawerVisible = false;\n this.#animationComplete.pipe(take(1)).subscribe(() => {\n this.#applyAutofocus();\n });\n } else {\n this.#applyAutofocus();\n }\n this.#changeDetectorRef.markForCheck();\n break;\n }\n }\n}\n","<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { SkySplitViewDrawerComponent } from './split-view-drawer.component';\nimport { SkySplitViewWorkspaceContentComponent } from './split-view-workspace-content.component';\nimport { SkySplitViewWorkspaceFooterComponent } from './split-view-workspace-footer.component';\nimport { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';\nimport { SkySplitViewWorkspaceComponent } from './split-view-workspace.component';\nimport { SkySplitViewComponent } from './split-view.component';\n\n@NgModule({\n imports: [\n SkySplitViewComponent,\n SkySplitViewDrawerComponent,\n SkySplitViewWorkspaceComponent,\n SkySplitViewWorkspaceContentComponent,\n SkySplitViewWorkspaceFooterComponent,\n SkySplitViewWorkspaceHeaderComponent,\n ],\n exports: [\n SkySplitViewComponent,\n SkySplitViewDrawerComponent,\n SkySplitViewWorkspaceComponent,\n SkySplitViewWorkspaceContentComponent,\n SkySplitViewWorkspaceFooterComponent,\n SkySplitViewWorkspaceHeaderComponent,\n ],\n})\nexport class SkySplitViewModule {}\n","// Split view modules.\nexport { SkySplitViewModule } from './lib/modules/split-view/split-view.module';\n\n// Split view types.\nexport { SkySplitViewDockType } from './lib/modules/split-view/types/split-view-dock-type';\nexport { SkySplitViewMessage } from './lib/modules/split-view/types/split-view-message';\nexport { SkySplitViewMessageType } from './lib/modules/split-view/types/split-view-message-type';\n\n// Components and directives must be exported to support Angular's \"partial\" Ivy compiler.\n// Obscure names are used to indicate types are not part of the public API.\nexport { SkySplitViewDrawerComponent as λ2 } from './lib/modules/split-view/split-view-drawer.component';\nexport { SkySplitViewWorkspaceContentComponent as λ4 } from './lib/modules/split-view/split-view-workspace-content.component';\nexport { SkySplitViewWorkspaceFooterComponent as λ5 } from './lib/modules/split-view/split-view-workspace-footer.component';\nexport { SkySplitViewWorkspaceHeaderComponent as λ6 } from './lib/modules/split-view/split-view-workspace-header.component';\nexport { SkySplitViewWorkspaceComponent as λ3 } from './lib/modules/split-view/split-view-workspace.component';\nexport { SkySplitViewComponent as λ1 } from './lib/modules/split-view/split-view.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.SkySplitViewService","i3","i1.SkySplitViewService","i1.SkySplitViewAdapterService","i2","i3.SkySplitViewService"],"mappings":"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"}