@skyux/split-view 11.26.0 → 11.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/documentation.json +5226 -153
  2. package/esm2022/lib/modules/shared/sky-split-view-resources.module.mjs +5 -5
  3. package/esm2022/lib/modules/split-view/split-view-adapter.service.mjs +4 -4
  4. package/esm2022/lib/modules/split-view/split-view-drawer.component.mjs +4 -4
  5. package/esm2022/lib/modules/split-view/split-view-workspace-content.component.mjs +4 -4
  6. package/esm2022/lib/modules/split-view/split-view-workspace-footer.component.mjs +4 -4
  7. package/esm2022/lib/modules/split-view/split-view-workspace-header.component.mjs +4 -4
  8. package/esm2022/lib/modules/split-view/split-view-workspace.component.mjs +4 -4
  9. package/esm2022/lib/modules/split-view/split-view.component.mjs +4 -4
  10. package/esm2022/lib/modules/split-view/split-view.module.mjs +5 -5
  11. package/esm2022/lib/modules/split-view/split-view.service.mjs +4 -4
  12. package/esm2022/testing/legacy/split-view/split-view-testing.module.mjs +5 -5
  13. package/esm2022/testing/modules/split-view/split-view-drawer-harness.mjs +18 -0
  14. package/esm2022/testing/modules/split-view/split-view-harness-filters.mjs +2 -0
  15. package/esm2022/testing/modules/split-view/split-view-harness.mjs +83 -0
  16. package/esm2022/testing/modules/split-view/split-view-workspace-content-harness.mjs +11 -0
  17. package/esm2022/testing/modules/split-view/split-view-workspace-footer-harness.mjs +11 -0
  18. package/esm2022/testing/modules/split-view/split-view-workspace-harness.mjs +55 -0
  19. package/esm2022/testing/modules/split-view/split-view-workspace-header-harness.mjs +20 -0
  20. package/esm2022/testing/public-api.mjs +6 -1
  21. package/fesm2022/skyux-split-view-testing.mjs +193 -5
  22. package/fesm2022/skyux-split-view-testing.mjs.map +1 -1
  23. package/fesm2022/skyux-split-view.mjs +32 -32
  24. package/fesm2022/skyux-split-view.mjs.map +1 -1
  25. package/package.json +11 -10
  26. package/testing/modules/split-view/split-view-drawer-harness.d.ts +15 -0
  27. package/testing/modules/split-view/split-view-harness-filters.d.ts +6 -0
  28. package/testing/modules/split-view/split-view-harness.d.ts +49 -0
  29. package/testing/modules/split-view/split-view-workspace-content-harness.d.ts +10 -0
  30. package/testing/modules/split-view/split-view-workspace-footer-harness.d.ts +10 -0
  31. package/testing/modules/split-view/split-view-workspace-harness.d.ts +31 -0
  32. package/testing/modules/split-view/split-view-workspace-header-harness.d.ts +18 -0
  33. package/testing/public-api.d.ts +6 -0
@@ -33,11 +33,11 @@ SkyLibResourcesService.addResources(RESOURCES);
33
33
  * Import into any component library module that needs to use resource strings.
34
34
  */
35
35
  class SkySplitViewResourcesModule {
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
37
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewResourcesModule, exports: [SkyI18nModule] }); }
38
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewResourcesModule, imports: [SkyI18nModule] }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
37
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewResourcesModule, exports: [SkyI18nModule] }); }
38
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewResourcesModule, imports: [SkyI18nModule] }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewResourcesModule, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewResourcesModule, decorators: [{
41
41
  type: NgModule,
42
42
  args: [{
43
43
  exports: [SkyI18nModule],
@@ -100,10 +100,10 @@ class SkySplitViewService {
100
100
  updateBackButtonText(text) {
101
101
  this.#_backButtonTextStream.next(text);
102
102
  }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
104
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewService }); }
103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
104
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewService }); }
105
105
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewService, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewService, decorators: [{
107
107
  type: Injectable
108
108
  }], ctorParameters: () => [{ type: i1.SkyLibResourcesService }] });
109
109
 
@@ -236,10 +236,10 @@ class SkySplitViewDrawerComponent {
236
236
  const splitView = this.#splitViewSvc.splitViewElementRef?.nativeElement.querySelector('.sky-split-view');
237
237
  this.widthMax = splitView.clientWidth - this.widthTolerance;
238
238
  }
239
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", 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: "18.2.8", 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 }); }
239
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", 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: "18.2.13", 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 }); }
241
241
  }
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewDrawerComponent, decorators: [{
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewDrawerComponent, decorators: [{
243
243
  type: Component,
244
244
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, SkySplitViewResourcesModule], selector: 'sky-split-view-drawer', standalone: true, 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"] }]
245
245
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$1.SkyCoreAdapterService }, { type: SkySplitViewService }, { type: i1$1.SkyAppWindowRef }], propDecorators: { ariaLabel: [{
@@ -255,10 +255,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
255
255
  * Specifies the content to display in the split view's workspace panel.
256
256
  */
257
257
  class SkySplitViewWorkspaceContentComponent {
258
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
259
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", 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 }); }
258
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
259
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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
260
  }
261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, decorators: [{
261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, decorators: [{
262
262
  type: Component,
263
263
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {
264
264
  tabindex: '0',
@@ -269,10 +269,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
269
269
  * Specifies the footer to display in the split view's workspace panel. This component is often used with a summary action bar.
270
270
  */
271
271
  class SkySplitViewWorkspaceFooterComponent {
272
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
273
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", 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 }); }
272
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
273
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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 }); }
274
274
  }
275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, decorators: [{
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, decorators: [{
276
276
  type: Component,
277
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"] }]
278
278
  }] });
@@ -301,10 +301,10 @@ class SkySplitViewWorkspaceHeaderComponent {
301
301
  this.#ngUnsubscribe.next();
302
302
  this.#ngUnsubscribe.complete();
303
303
  }
304
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, deps: [{ token: SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
305
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", 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 }); }
304
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, deps: [{ token: SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
305
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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 }); }
306
306
  }
307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, decorators: [{
307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, decorators: [{
308
308
  type: Component,
309
309
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyIconModule], selector: 'sky-split-view-workspace-header', standalone: true, 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"] }]
310
310
  }], ctorParameters: () => [{ type: SkySplitViewService }] });
@@ -319,10 +319,10 @@ class SkySplitViewWorkspaceComponent {
319
319
  // the workspace area.
320
320
  this.breakpoint = toSignal(inject(SkyMediaQueryService, { skipSelf: true }).breakpointChange);
321
321
  }
322
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewWorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
323
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", 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 }); }
322
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
323
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", 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 }); }
324
324
  }
325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewWorkspaceComponent, decorators: [{
325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceComponent, decorators: [{
326
326
  type: Component,
327
327
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkySplitViewWorkspaceHeaderComponent], selector: 'sky-split-view-workspace', standalone: true, 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"] }]
328
328
  }], propDecorators: { ariaLabel: [{
@@ -383,10 +383,10 @@ class SkySplitViewAdapterService {
383
383
  this.#renderer.setStyle(splitViewElement, 'max-height', 'calc(100vh - ' + offsetTop + 'px - ' + marginBottom + ')');
384
384
  this.#renderer.setStyle(splitViewElement, 'min-height', '300px');
385
385
  }
386
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", 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: "18.2.8", ngImport: i0, type: SkySplitViewAdapterService }); }
386
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", 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: "18.2.13", ngImport: i0, type: SkySplitViewAdapterService }); }
388
388
  }
389
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewAdapterService, decorators: [{
389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewAdapterService, decorators: [{
390
390
  type: Injectable
391
391
  }], ctorParameters: () => [{ type: i1$1.SkyMutationObserverService }, { type: i0.RendererFactory2 }, { type: i1$1.SkyAppWindowRef }] });
392
392
 
@@ -542,8 +542,8 @@ class SkySplitViewComponent {
542
542
  break;
543
543
  }
544
544
  }
545
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", 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: "18.2.8", 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: [
545
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", 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: "18.2.13", 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: [
547
547
  trigger('blockAnimationOnLoad', [transition(':enter', [])]),
548
548
  trigger('drawerEnter', [
549
549
  state('false', style({ transform: 'translate(-100%)' })),
@@ -555,7 +555,7 @@ class SkySplitViewComponent {
555
555
  ]),
556
556
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
557
557
  }
558
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewComponent, decorators: [{
558
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewComponent, decorators: [{
559
559
  type: Component,
560
560
  args: [{ animations: [
561
561
  trigger('blockAnimationOnLoad', [transition(':enter', [])]),
@@ -582,8 +582,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
582
582
  }] } });
583
583
 
584
584
  class SkySplitViewModule {
585
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
586
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
585
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
586
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
587
587
  SkySplitViewDrawerComponent,
588
588
  SkySplitViewWorkspaceComponent,
589
589
  SkySplitViewWorkspaceContentComponent,
@@ -594,12 +594,12 @@ class SkySplitViewModule {
594
594
  SkySplitViewWorkspaceContentComponent,
595
595
  SkySplitViewWorkspaceFooterComponent,
596
596
  SkySplitViewWorkspaceHeaderComponent] }); }
597
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
597
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
598
598
  SkySplitViewDrawerComponent,
599
599
  SkySplitViewWorkspaceComponent,
600
600
  SkySplitViewWorkspaceHeaderComponent] }); }
601
601
  }
602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySplitViewModule, decorators: [{
602
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewModule, decorators: [{
603
603
  type: NgModule,
604
604
  args: [{
605
605
  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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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/**\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/split-view",
3
- "version": "11.26.0",
3
+ "version": "11.27.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -36,15 +36,16 @@
36
36
  }
37
37
  },
38
38
  "peerDependencies": {
39
- "@angular/animations": "^18.2.8",
40
- "@angular/common": "^18.2.8",
41
- "@angular/core": "^18.2.8",
42
- "@angular/platform-browser": "^18.2.8",
43
- "@skyux-sdk/testing": "11.26.0",
44
- "@skyux/core": "11.26.0",
45
- "@skyux/i18n": "11.26.0",
46
- "@skyux/icon": "11.26.0",
47
- "@skyux/theme": "11.26.0"
39
+ "@angular/animations": "^18.2.13",
40
+ "@angular/cdk": "^18.2.14",
41
+ "@angular/common": "^18.2.13",
42
+ "@angular/core": "^18.2.13",
43
+ "@angular/platform-browser": "^18.2.13",
44
+ "@skyux-sdk/testing": "11.27.0",
45
+ "@skyux/core": "11.27.0",
46
+ "@skyux/i18n": "11.27.0",
47
+ "@skyux/icon": "11.27.0",
48
+ "@skyux/theme": "11.27.0"
48
49
  },
49
50
  "dependencies": {
50
51
  "tslib": "^2.6.3"
@@ -0,0 +1,15 @@
1
+ import { SkyQueryableComponentHarness } from '@skyux/core/testing';
2
+ /**
3
+ * Harness to interact with the split view drawer component in tests.
4
+ */
5
+ export declare class SkySplitViewDrawerHarness extends SkyQueryableComponentHarness {
6
+ #private;
7
+ /**
8
+ * @internal
9
+ */
10
+ static hostSelector: string;
11
+ /**
12
+ * The aria-label property of the split view drawer
13
+ */
14
+ getAriaLabel(): Promise<string | null>;
15
+ }
@@ -0,0 +1,6 @@
1
+ import { SkyHarnessFilters } from '@skyux/core/testing';
2
+ /**
3
+ * A set of criteria that can be used to filter a list of SkySplitViewHarness instances.
4
+ */
5
+ export interface SkySplitViewHarnessFilters extends SkyHarnessFilters {
6
+ }
@@ -0,0 +1,49 @@
1
+ import { HarnessPredicate } from '@angular/cdk/testing';
2
+ import { SkyComponentHarness } from '@skyux/core/testing';
3
+ import { SkySplitViewDockType } from '@skyux/split-view';
4
+ import { SkySplitViewDrawerHarness } from './split-view-drawer-harness';
5
+ import { SkySplitViewHarnessFilters } from './split-view-harness-filters';
6
+ import { SkySplitViewWorkspaceHarness } from './split-view-workspace-harness';
7
+ /**
8
+ * Harness for interacting with a split view component in tests.
9
+ */
10
+ export declare class SkySplitViewHarness extends SkyComponentHarness {
11
+ #private;
12
+ /**
13
+ * @internal
14
+ */
15
+ static hostSelector: string;
16
+ /**
17
+ * Gets a `HarnessPredicate` that can be used to search for a
18
+ * `SkySplitViewHarness` that meets certain criteria.
19
+ */
20
+ static with(filters: SkySplitViewHarnessFilters): HarnessPredicate<SkySplitViewHarness>;
21
+ /**
22
+ * Gets the text for the button that appears in the workspace header in responsive mode.
23
+ */
24
+ getBackButtonText(): Promise<string>;
25
+ /**
26
+ * Gets the type of dock style on the split view.
27
+ */
28
+ getDockType(): Promise<SkySplitViewDockType>;
29
+ /**
30
+ * Gets a 'SkySplitViewDrawerHarness`.
31
+ */
32
+ getDrawer(): Promise<SkySplitViewDrawerHarness>;
33
+ /**
34
+ * Whether the drawer component is visible
35
+ */
36
+ getDrawerIsVisible(): Promise<boolean>;
37
+ /**
38
+ * Gets a `SkySplitViewWorkspaceHarness`.
39
+ */
40
+ getWorkspace(): Promise<SkySplitViewWorkspaceHarness>;
41
+ /**
42
+ * Whether the workspace component is visible.
43
+ */
44
+ getWorkspaceIsVisible(): Promise<boolean>;
45
+ /**
46
+ * Opens the drawer component when in responsive mode.
47
+ */
48
+ openDrawer(): Promise<void>;
49
+ }
@@ -0,0 +1,10 @@
1
+ import { SkyQueryableComponentHarness } from '@skyux/core/testing';
2
+ /**
3
+ * Harness to interact with the split view workspace content component in tests.
4
+ */
5
+ export declare class SkySplitViewWorkspaceContentHarness extends SkyQueryableComponentHarness {
6
+ /**
7
+ * @internal
8
+ */
9
+ static hostSelector: string;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { SkyQueryableComponentHarness } from '@skyux/core/testing';
2
+ /**
3
+ * Harness to interact with the split view workspace footer component in tests.
4
+ */
5
+ export declare class SkySplitViewWorkspaceFooterHarness extends SkyQueryableComponentHarness {
6
+ /**
7
+ * @internal
8
+ */
9
+ static hostSelector: string;
10
+ }