@skyux/split-view 15.0.0-alpha.0 → 15.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { NgModule, inject, Injectable, ChangeDetectorRef, HostListener, Input, ChangeDetectionStrategy, Component, signal, afterNextRender, ContentChild } from '@angular/core';
2
+ import { NgModule, inject, Injectable, ChangeDetectorRef, HostListener, Input, ChangeDetectionStrategy, Component, RendererFactory2, signal, ElementRef, afterNextRender, ContentChild } from '@angular/core';
3
3
  import * as i1$1 from '@skyux/core';
4
- import { SkyMediaQueryService, SkyCoreAdapterService, SkyAppWindowRef, SkyResponsiveHostDirective, _SkyTransitionEndHandlerDirective } from '@skyux/core';
4
+ import { SkyMediaQueryService, SkyCoreAdapterService, SkyAppWindowRef, SkyResponsiveHostDirective, SkyMutationObserverService, _SkyTransitionEndHandlerDirective } from '@skyux/core';
5
5
  import { BehaviorSubject, Subject, fromEvent } from 'rxjs';
6
6
  import { take, takeUntil, takeWhile } from 'rxjs/operators';
7
7
  import * as i1 from '@skyux/i18n';
8
8
  import { SkyLibResourcesService, SkyI18nModule } from '@skyux/i18n';
9
9
  import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
10
- import * as i2 from '@skyux/icon';
10
+ import * as i1$2 from '@skyux/icon';
11
11
  import { SkyIconModule } from '@skyux/icon';
12
12
 
13
13
  /* istanbul ignore file */
@@ -36,11 +36,11 @@ SkyLibResourcesService.addResources(RESOURCES);
36
36
  * Import into any component library module that needs to use resource strings.
37
37
  */
38
38
  class SkySplitViewResourcesModule {
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
40
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewResourcesModule, exports: [SkyI18nModule] }); }
41
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewResourcesModule, imports: [SkyI18nModule] }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
40
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewResourcesModule, exports: [SkyI18nModule] }); }
41
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewResourcesModule, imports: [SkyI18nModule] }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewResourcesModule, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewResourcesModule, decorators: [{
44
44
  type: NgModule,
45
45
  args: [{
46
46
  exports: [SkyI18nModule],
@@ -67,13 +67,13 @@ class SkySplitViewService {
67
67
  #_backButtonTextStream;
68
68
  #_isMobile;
69
69
  #_isMobileStream;
70
- constructor(resources) {
70
+ constructor() {
71
71
  this.drawerVisible = new BehaviorSubject(true);
72
72
  this.#_backButtonTextStream = new BehaviorSubject('');
73
73
  this.#_isMobile = false;
74
74
  this.#_isMobileStream = new BehaviorSubject(false);
75
75
  // Set default back button text.
76
- resources
76
+ inject(SkyLibResourcesService)
77
77
  .getString('skyux_split_view_back_to_list')
78
78
  .pipe(take(1))
79
79
  .subscribe((resource) => {
@@ -103,12 +103,12 @@ class SkySplitViewService {
103
103
  updateBackButtonText(text) {
104
104
  this.#_backButtonTextStream.next(text);
105
105
  }
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
107
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewService }); }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
107
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewService }); }
108
108
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewService, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewService, decorators: [{
110
110
  type: Injectable
111
- }], ctorParameters: () => [{ type: i1.SkyLibResourcesService }] });
111
+ }], ctorParameters: () => [] });
112
112
 
113
113
  let skySplitViewNextId = 0;
114
114
  /**
@@ -239,10 +239,10 @@ class SkySplitViewDrawerComponent {
239
239
  const splitView = this.#splitViewSvc.splitViewElementRef?.nativeElement.querySelector('.sky-split-view');
240
240
  this.widthMax = splitView.clientWidth - this.widthTolerance;
241
241
  }
242
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
243
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: SkySplitViewDrawerComponent, isStandalone: true, selector: "sky-split-view-drawer", inputs: { ariaLabel: "ariaLabel", width: "width" }, host: { listeners: { "window:resize": "onWindowResize()" } }, ngImport: i0, template: "<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n", styles: [".sky-split-view-drawer:not(.sky-theme-modern *){--sky-override-split-view-drawer-background-color: #ffffff;--sky-override-split-view-drawer-border-right: 1px solid #cdcfd2;--sky-override-split-view-resize-handle-border-focus: none;--sky-override-split-view-resize-handle-outline-focus: auto;--sky-override-split-view-resize-handle-width: 14px}.sky-split-view-drawer{background:var(--sky-override-split-view-drawer-background-color, var(--sky-color-background-container-dimmed));overflow:auto;height:100%;width:100%}:host .sky-split-view-drawer:has(sky-repeater){padding-top:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-top);padding-right:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-right);padding-bottom:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-bottom);padding-left:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-left)}:host-context(.sky-responsive-container-xs) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-sm) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-md) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-lg) .sky-split-view-drawer:has(sky-repeater){padding-top:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-top);padding-right:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-right);padding-bottom:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-bottom);padding-left:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-left)}@media(min-width:768px){:host .sky-split-view-drawer{border-right:var(--sky-override-split-view-drawer-border-right, var(--sky-border-width-divider) solid var(--sky-color-border-divider))}:host .sky-split-view-drawer:has(sky-repeater){padding-top:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-top);padding-right:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-right);padding-bottom:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-bottom);padding-left:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-left)}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer,:host-context(.sky-responsive-container-md) .sky-split-view-drawer,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer{border-right:var(--sky-override-split-view-drawer-border-right, var(--sky-border-width-divider) solid var(--sky-color-border-divider))}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-md) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-lg) .sky-split-view-drawer:has(sky-repeater){padding-top:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-top);padding-right:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-right);padding-bottom:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-bottom);padding-left:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-left)}.sky-split-view-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-override-split-view-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;z-index:999;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;transition:box-shadow var(--sky-global-duration-short)}.sky-split-view-resize-handle:focus{border:var(--sky-override-split-view-resize-handle-border-focus, solid var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus));box-shadow:none;outline:var(--sky-override-split-view-resize-handle-outline-focus, none)}.sky-split-view-resize-handle::-moz-range-thumb,.sky-split-view-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-ms-thumb,.sky-split-view-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}\n"], dependencies: [{ kind: "ngmodule", type: SkySplitViewResourcesModule }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
242
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
243
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: SkySplitViewDrawerComponent, isStandalone: true, selector: "sky-split-view-drawer", inputs: { ariaLabel: "ariaLabel", width: "width" }, host: { listeners: { "window:resize": "onWindowResize()" } }, ngImport: i0, template: "<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n", styles: [".sky-split-view-drawer:not(.sky-theme-modern *){--sky-override-split-view-drawer-background-color: #ffffff;--sky-override-split-view-drawer-border-right: 1px solid #cdcfd2;--sky-override-split-view-resize-handle-border-focus: none;--sky-override-split-view-resize-handle-outline-focus: auto;--sky-override-split-view-resize-handle-width: 14px}.sky-split-view-drawer{background:var(--sky-override-split-view-drawer-background-color, var(--sky-color-background-container-dimmed));overflow:auto;height:100%;width:100%}:host .sky-split-view-drawer:has(sky-repeater){padding-top:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-top);padding-right:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-right);padding-bottom:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-bottom);padding-left:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-left)}:host-context(.sky-responsive-container-xs) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-sm) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-md) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-lg) .sky-split-view-drawer:has(sky-repeater){padding-top:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-top);padding-right:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-right);padding-bottom:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-bottom);padding-left:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-left)}@media(min-width:768px){:host .sky-split-view-drawer{border-right:var(--sky-override-split-view-drawer-border-right, var(--sky-border-width-divider) solid var(--sky-color-border-divider))}:host .sky-split-view-drawer:has(sky-repeater){padding-top:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-top);padding-right:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-right);padding-bottom:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-bottom);padding-left:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-left)}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer,:host-context(.sky-responsive-container-md) .sky-split-view-drawer,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer{border-right:var(--sky-override-split-view-drawer-border-right, var(--sky-border-width-divider) solid var(--sky-color-border-divider))}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-md) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-lg) .sky-split-view-drawer:has(sky-repeater){padding-top:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-top);padding-right:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-right);padding-bottom:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-bottom);padding-left:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-left)}.sky-split-view-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-override-split-view-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;z-index:999;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;transition:box-shadow var(--sky-global-duration-short)}.sky-split-view-resize-handle:focus{border:var(--sky-override-split-view-resize-handle-border-focus, solid var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus));box-shadow:none;outline:var(--sky-override-split-view-resize-handle-outline-focus, none)}.sky-split-view-resize-handle::-moz-range-thumb,.sky-split-view-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-ms-thumb,.sky-split-view-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}\n"], dependencies: [{ kind: "ngmodule", type: SkySplitViewResourcesModule }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
244
244
  }
245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewDrawerComponent, decorators: [{
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewDrawerComponent, decorators: [{
246
246
  type: Component,
247
247
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkySplitViewResourcesModule], selector: 'sky-split-view-drawer', template: "<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n", styles: [".sky-split-view-drawer:not(.sky-theme-modern *){--sky-override-split-view-drawer-background-color: #ffffff;--sky-override-split-view-drawer-border-right: 1px solid #cdcfd2;--sky-override-split-view-resize-handle-border-focus: none;--sky-override-split-view-resize-handle-outline-focus: auto;--sky-override-split-view-resize-handle-width: 14px}.sky-split-view-drawer{background:var(--sky-override-split-view-drawer-background-color, var(--sky-color-background-container-dimmed));overflow:auto;height:100%;width:100%}:host .sky-split-view-drawer:has(sky-repeater){padding-top:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-top);padding-right:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-right);padding-bottom:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-bottom);padding-left:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-left)}:host-context(.sky-responsive-container-xs) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-sm) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-md) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-lg) .sky-split-view-drawer:has(sky-repeater){padding-top:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-top);padding-right:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-right);padding-bottom:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-bottom);padding-left:var(--sky-comp-split_view-drawer-repeater-space-offset-xs-left)}@media(min-width:768px){:host .sky-split-view-drawer{border-right:var(--sky-override-split-view-drawer-border-right, var(--sky-border-width-divider) solid var(--sky-color-border-divider))}:host .sky-split-view-drawer:has(sky-repeater){padding-top:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-top);padding-right:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-right);padding-bottom:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-bottom);padding-left:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-left)}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer,:host-context(.sky-responsive-container-md) .sky-split-view-drawer,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer{border-right:var(--sky-override-split-view-drawer-border-right, var(--sky-border-width-divider) solid var(--sky-color-border-divider))}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-md) .sky-split-view-drawer:has(sky-repeater),:host-context(.sky-responsive-container-lg) .sky-split-view-drawer:has(sky-repeater){padding-top:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-top);padding-right:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-right);padding-bottom:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-bottom);padding-left:var(--sky-comp-split_view-drawer-repeater-space-offset-sm-left)}.sky-split-view-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-override-split-view-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;z-index:999;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;transition:box-shadow var(--sky-global-duration-short)}.sky-split-view-resize-handle:focus{border:var(--sky-override-split-view-resize-handle-border-focus, solid var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus));box-shadow:none;outline:var(--sky-override-split-view-resize-handle-outline-focus, none)}.sky-split-view-resize-handle::-moz-range-thumb,.sky-split-view-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-ms-thumb,.sky-split-view-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}\n"] }]
248
248
  }], ctorParameters: () => [], propDecorators: { ariaLabel: [{
@@ -258,10 +258,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
258
258
  * Specifies the content to display in the split view's workspace panel.
259
259
  */
260
260
  class SkySplitViewWorkspaceContentComponent {
261
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
262
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: SkySplitViewWorkspaceContentComponent, isStandalone: true, selector: "sky-split-view-workspace-content", host: { attributes: { "tabindex": "0" } }, hostDirectives: [{ directive: i1$1.SkyResponsiveHostDirective }], ngImport: i0, template: "<div class=\"sky-split-view-workspace-content\">\n <ng-content />\n</div>\n", styles: [":host{display:block;overflow:auto;flex-grow:1}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
261
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
262
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.6", 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 }); }
263
263
  }
264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, decorators: [{
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, decorators: [{
265
265
  type: Component,
266
266
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {
267
267
  tabindex: '0',
@@ -272,10 +272,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
272
272
  * Specifies the footer to display in the split view's workspace panel. This component is often used with a summary action bar.
273
273
  */
274
274
  class SkySplitViewWorkspaceFooterComponent {
275
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
276
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: SkySplitViewWorkspaceFooterComponent, isStandalone: true, selector: "sky-split-view-workspace-footer", hostDirectives: [{ directive: i1$1.SkyResponsiveHostDirective }], ngImport: i0, template: "<div class=\"sky-split-view-workspace-footer sky-elevation-3\">\n <ng-content />\n</div>\n", styles: [".sky-split-view-workspace-footer:not(.sky-theme-modern *){--sky-override-split-view-workspace-footer-padding: 10px;--sky-override-split-view-workspace-footer-box-shadow: 0 -3px 3px 0 #cdcfd2}:host{display:block;flex-shrink:0}.sky-split-view-workspace-footer{padding:var(--sky-override-split-view-workspace-footer-padding, var(--sky-comp-split_view-footer-space-inset-top) var(--sky-comp-split_view-footer-space-inset-right) var(--sky-comp-split_view-footer-space-inset-bottom) var(--sky-comp-split_view-footer-space-inset-left));box-shadow:var(--sky-override-split-view-workspace-footer-box-shadow, var(--sky-elevation-overflow))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
275
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
276
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.6", type: SkySplitViewWorkspaceFooterComponent, isStandalone: true, selector: "sky-split-view-workspace-footer", hostDirectives: [{ directive: i1$1.SkyResponsiveHostDirective }], ngImport: i0, template: "<div class=\"sky-split-view-workspace-footer sky-elevation-3\">\n <ng-content />\n</div>\n", styles: [".sky-split-view-workspace-footer:not(.sky-theme-modern *){--sky-override-split-view-workspace-footer-padding: 10px;--sky-override-split-view-workspace-footer-box-shadow: 0 -3px 3px 0 #cdcfd2}:host{display:block;flex-shrink:0}.sky-split-view-workspace-footer{padding:var(--sky-override-split-view-workspace-footer-padding, var(--sky-comp-split_view-footer-space-inset-top) var(--sky-comp-split_view-footer-space-inset-right) var(--sky-comp-split_view-footer-space-inset-bottom) var(--sky-comp-split_view-footer-space-inset-left));box-shadow:var(--sky-override-split-view-workspace-footer-box-shadow, var(--sky-elevation-overflow))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
277
277
  }
278
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, decorators: [{
278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, decorators: [{
279
279
  type: Component,
280
280
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [SkyResponsiveHostDirective], selector: 'sky-split-view-workspace-footer', template: "<div class=\"sky-split-view-workspace-footer sky-elevation-3\">\n <ng-content />\n</div>\n", styles: [".sky-split-view-workspace-footer:not(.sky-theme-modern *){--sky-override-split-view-workspace-footer-padding: 10px;--sky-override-split-view-workspace-footer-box-shadow: 0 -3px 3px 0 #cdcfd2}:host{display:block;flex-shrink:0}.sky-split-view-workspace-footer{padding:var(--sky-override-split-view-workspace-footer-padding, var(--sky-comp-split_view-footer-space-inset-top) var(--sky-comp-split_view-footer-space-inset-right) var(--sky-comp-split_view-footer-space-inset-bottom) var(--sky-comp-split_view-footer-space-inset-left));box-shadow:var(--sky-override-split-view-workspace-footer-box-shadow, var(--sky-elevation-overflow))}\n"] }]
281
281
  }] });
@@ -286,10 +286,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
286
286
  */
287
287
  class SkySplitViewWorkspaceHeaderComponent {
288
288
  #ngUnsubscribe = new Subject();
289
- #splitViewSvc;
290
- constructor(splitViewSvc) {
291
- this.#splitViewSvc = splitViewSvc;
292
- }
289
+ #splitViewSvc = inject(SkySplitViewService);
293
290
  ngOnInit() {
294
291
  this.#splitViewSvc.backButtonTextStream
295
292
  .pipe(takeUntil(this.#ngUnsubscribe))
@@ -304,13 +301,13 @@ class SkySplitViewWorkspaceHeaderComponent {
304
301
  this.#ngUnsubscribe.next();
305
302
  this.#ngUnsubscribe.complete();
306
303
  }
307
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, deps: [{ token: SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
308
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: SkySplitViewWorkspaceHeaderComponent, isStandalone: true, selector: "sky-split-view-workspace-header", ngImport: i0, template: "<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon iconName=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n", styles: [".sky-split-view-workspace-header:not(.sky-theme-modern *){--sky-override-split-view-header-border-bottom: 1px solid #cdcfd2;--sky-override-split-view-header-padding: 5px 0}.sky-split-view-workspace-header{display:flex;align-items:flex-start;justify-content:flex-end;border-bottom:var(--sky-override-split-view-header-border-bottom, var(--sky-border-width-divider) solid var(--sky-color-border-divider));padding:var(--sky-override-split-view-header-padding, var(--sky-space-inset-balanced-none))}.sky-split-view-workspace-header .sky-split-view-workspace-header-content{flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i2.λ1, selector: "sky-icon", inputs: ["iconName", "variant", "iconSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
304
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
305
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.6", type: SkySplitViewWorkspaceHeaderComponent, isStandalone: true, selector: "sky-split-view-workspace-header", ngImport: i0, template: "<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon iconName=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n", styles: [".sky-split-view-workspace-header:not(.sky-theme-modern *){--sky-override-split-view-header-border-bottom: 1px solid #cdcfd2;--sky-override-split-view-header-padding: 5px 0}.sky-split-view-workspace-header{display:flex;align-items:flex-start;justify-content:flex-end;border-bottom:var(--sky-override-split-view-header-border-bottom, var(--sky-border-width-divider) solid var(--sky-color-border-divider));padding:var(--sky-override-split-view-header-padding, var(--sky-space-inset-balanced-none))}.sky-split-view-workspace-header .sky-split-view-workspace-header-content{flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i1$2.λ1, selector: "sky-icon", inputs: ["iconName", "variant", "iconSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
309
306
  }
310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, decorators: [{
307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, decorators: [{
311
308
  type: Component,
312
309
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyIconModule], selector: 'sky-split-view-workspace-header', template: "<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon iconName=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n", styles: [".sky-split-view-workspace-header:not(.sky-theme-modern *){--sky-override-split-view-header-border-bottom: 1px solid #cdcfd2;--sky-override-split-view-header-padding: 5px 0}.sky-split-view-workspace-header{display:flex;align-items:flex-start;justify-content:flex-end;border-bottom:var(--sky-override-split-view-header-border-bottom, var(--sky-border-width-divider) solid var(--sky-color-border-divider));padding:var(--sky-override-split-view-header-padding, var(--sky-space-inset-balanced-none))}.sky-split-view-workspace-header .sky-split-view-workspace-header-content{flex-grow:1}\n"] }]
313
- }], ctorParameters: () => [{ type: SkySplitViewService }] });
310
+ }] });
314
311
 
315
312
  /**
316
313
  * Contains the content, footer, and header to display in the split view's workspace panel.
@@ -322,10 +319,10 @@ class SkySplitViewWorkspaceComponent {
322
319
  // the workspace area.
323
320
  this.breakpoint = toSignal(inject(SkyMediaQueryService, { skipSelf: true }).breakpointChange);
324
321
  }
325
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewWorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
326
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: SkySplitViewWorkspaceComponent, isStandalone: true, selector: "sky-split-view-workspace", inputs: { ariaLabel: "ariaLabel" }, ngImport: i0, template: "<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n", styles: [".sky-split-view-workspace:not(.sky-theme-modern *){--sky-override-split-view-workspace-background-color: #ffffff}.sky-split-view-workspace{background:var(--sky-override-split-view-workspace-background-color, var(--sky-color-background-container-base));height:100%;display:flex;flex-direction:column}\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: "22.0.6", ngImport: i0, type: SkySplitViewWorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
323
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: SkySplitViewWorkspaceComponent, isStandalone: true, selector: "sky-split-view-workspace", inputs: { ariaLabel: "ariaLabel" }, ngImport: i0, template: "<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n", styles: [".sky-split-view-workspace:not(.sky-theme-modern *){--sky-override-split-view-workspace-background-color: #ffffff}.sky-split-view-workspace{background:var(--sky-override-split-view-workspace-background-color, var(--sky-color-background-container-base));height:100%;display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: SkySplitViewWorkspaceHeaderComponent, selector: "sky-split-view-workspace-header" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
327
324
  }
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewWorkspaceComponent, decorators: [{
325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewWorkspaceComponent, decorators: [{
329
326
  type: Component,
330
327
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkySplitViewWorkspaceHeaderComponent], selector: 'sky-split-view-workspace', template: "<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n", styles: [".sky-split-view-workspace:not(.sky-theme-modern *){--sky-override-split-view-workspace-background-color: #ffffff}.sky-split-view-workspace{background:var(--sky-override-split-view-workspace-background-color, var(--sky-color-background-container-base));height:100%;display:flex;flex-direction:column}\n"] }]
331
328
  }], propDecorators: { ariaLabel: [{
@@ -339,14 +336,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
339
336
  class SkySplitViewAdapterService {
340
337
  #observer;
341
338
  #renderer;
342
- #observerSvc;
343
- #rendererFactory;
344
- #windowRef;
345
- constructor(observerSvc, rendererFactory, windowRef) {
346
- this.#observerSvc = observerSvc;
347
- this.#rendererFactory = rendererFactory;
348
- this.#windowRef = windowRef;
349
- this.#renderer = this.#rendererFactory.createRenderer(undefined, null);
339
+ #observerSvc = inject(SkyMutationObserverService);
340
+ #windowRef = inject(SkyAppWindowRef);
341
+ constructor() {
342
+ this.#renderer = inject(RendererFactory2).createRenderer(undefined, null);
350
343
  }
351
344
  bindHeightToWindow(elementRef, unsubscribeSubject) {
352
345
  /*istanbul ignore else*/
@@ -386,12 +379,12 @@ class SkySplitViewAdapterService {
386
379
  this.#renderer.setStyle(splitViewElement, 'max-height', 'calc(100vh - ' + offsetTop + 'px - ' + marginBottom + ')');
387
380
  this.#renderer.setStyle(splitViewElement, 'min-height', '300px');
388
381
  }
389
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewAdapterService, deps: [{ token: i1$1.SkyMutationObserverService }, { token: i0.RendererFactory2 }, { token: i1$1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
390
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewAdapterService }); }
382
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
383
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewAdapterService }); }
391
384
  }
392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewAdapterService, decorators: [{
385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewAdapterService, decorators: [{
393
386
  type: Injectable
394
- }], ctorParameters: () => [{ type: i1$1.SkyMutationObserverService }, { type: i0.RendererFactory2 }, { type: i1$1.SkyAppWindowRef }] });
387
+ }], ctorParameters: () => [] });
395
388
 
396
389
  var SkySplitViewMessageType;
397
390
  (function (SkySplitViewMessageType) {
@@ -470,7 +463,7 @@ class SkySplitViewComponent {
470
463
  #_bindHeightToWindow;
471
464
  #_drawerVisible;
472
465
  #_dock;
473
- constructor(adapter, changeDetectorRef, coreAdapterService, elementRef, splitViewService) {
466
+ constructor() {
474
467
  /**
475
468
  * The observable that sends commands to the split view component.
476
469
  * The commands should respect the `SkySplitViewMessage` type.
@@ -481,15 +474,15 @@ class SkySplitViewComponent {
481
474
  ...(ngDevMode ? [{ debugName: "animationEnabled" }] : /* istanbul ignore next */ []));
482
475
  this.#animationComplete = new Subject();
483
476
  this.#ngUnsubscribe = new Subject();
477
+ this.#adapter = inject(SkySplitViewAdapterService);
478
+ this.#changeDetectorRef = inject(ChangeDetectorRef);
479
+ this.#coreAdapterService = inject(SkyCoreAdapterService);
480
+ this.#elementRef = inject(ElementRef);
481
+ this.#splitViewService = inject(SkySplitViewService);
484
482
  this.#_bindHeightToWindow = false;
485
483
  this.#_drawerVisible = true;
486
484
  this.#_dock = 'none';
487
- this.#adapter = adapter;
488
- this.#changeDetectorRef = changeDetectorRef;
489
- this.#coreAdapterService = coreAdapterService;
490
- this.#elementRef = elementRef;
491
- this.#splitViewService = splitViewService;
492
- splitViewService.splitViewElementRef = elementRef;
485
+ this.#splitViewService.splitViewElementRef = this.#elementRef;
493
486
  // Enable animations after the first render.
494
487
  afterNextRender(() => {
495
488
  this.animationEnabled.set(true);
@@ -549,13 +542,13 @@ class SkySplitViewComponent {
549
542
  break;
550
543
  }
551
544
  }
552
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewComponent, deps: [{ token: SkySplitViewAdapterService }, { token: i0.ChangeDetectorRef }, { token: i1$1.SkyCoreAdapterService }, { token: i0.ElementRef }, { token: SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
553
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: SkySplitViewComponent, isStandalone: true, selector: "sky-split-view", inputs: { backButtonText: "backButtonText", bindHeightToWindow: "bindHeightToWindow", dock: "dock", messageStream: "messageStream" }, providers: [SkySplitViewAdapterService, SkySplitViewService], queries: [{ propertyName: "drawerComponent", first: true, predicate: SkySplitViewDrawerComponent, descendants: true }], hostDirectives: [{ directive: i1$1.SkyResponsiveHostDirective }], ngImport: i0, template: "<div\n class=\"sky-split-view\"\n [class.sky-split-view-dock-fill]=\"dock === 'fill'\"\n [class.sky-split-view-dock-none]=\"dock === 'none'\"\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [class.sky-animation-slide-enter-left]=\"animationEnabled()\"\n [hidden]=\"!drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n skyTransitionEndHandler\n transitionPropertyToTrack=\"transform\"\n [class.sky-animation-slide-enter-right]=\"animationEnabled()\"\n [hidden]=\"!workspaceVisible\"\n [transitionTrigger]=\"workspaceVisible\"\n (transitionEnd)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n", styles: [".sky-split-view:not(.sky-theme-modern *){--sky-override-split-view-border: 1px solid #cdcfd2;--sky-override-split-view-border-left: 1px solid #cdcfd2;--sky-override-split-view-border-right: 1px solid #cdcfd2}:host{display:block}.sky-split-view{--sky-comp-override-list-header-background-color: initial;position:relative;display:flex;border:var(--sky-override-split-view-border, var(--sky-border-width-divider) solid var(--sky-color-border-divider));background:transparent;margin:var(--sky-layout-host-content-spacing, 0);max-height:100%}.sky-split-view .sky-split-view-workspace-flex-container{flex-grow:1;flex-shrink:99;overflow:auto}.sky-split-view-dock-fill{position:absolute;inset:0}:host .sky-split-view-drawer-flex-container{width:100%}:host-context(.sky-responsive-container-xs) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:100%}@media(min-width:768px){:host .sky-split-view-drawer-flex-container{width:auto}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:auto}@media(min-width:768px){:host .sky-split-view{border-left:var(--sky-override-split-view-border-left, none);border-right:var(--sky-override-split-view-border-right, none)}}:host-context(.sky-responsive-container-sm) .sky-split-view,:host-context(.sky-responsive-container-md) .sky-split-view,:host-context(.sky-responsive-container-lg) .sky-split-view{border-left:var(--sky-override-split-view-border-left, none);border-right:var(--sky-override-split-view-border-right, none)}\n"], dependencies: [{ kind: "directive", type: _SkyTransitionEndHandlerDirective, selector: "[skyTransitionEndHandler]", inputs: ["transitionTrigger", "transitionPropertyToTrack"], outputs: ["transitionEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
545
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
546
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.6", 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 [class.sky-split-view-dock-fill]=\"dock === 'fill'\"\n [class.sky-split-view-dock-none]=\"dock === 'none'\"\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [class.sky-animation-slide-enter-left]=\"animationEnabled()\"\n [hidden]=\"!drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n skyTransitionEndHandler\n transitionPropertyToTrack=\"transform\"\n [class.sky-animation-slide-enter-right]=\"animationEnabled()\"\n [hidden]=\"!workspaceVisible\"\n [transitionTrigger]=\"workspaceVisible\"\n (transitionEnd)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n", styles: [".sky-split-view:not(.sky-theme-modern *){--sky-override-split-view-border: 1px solid #cdcfd2;--sky-override-split-view-border-left: 1px solid #cdcfd2;--sky-override-split-view-border-right: 1px solid #cdcfd2}:host{display:block}.sky-split-view{--sky-comp-override-list-header-background-color: initial;position:relative;display:flex;border:var(--sky-override-split-view-border, var(--sky-border-width-divider) solid var(--sky-color-border-divider));background:transparent;margin:var(--sky-layout-host-content-spacing, 0);max-height:100%}.sky-split-view .sky-split-view-workspace-flex-container{flex-grow:1;flex-shrink:99;overflow:auto}.sky-split-view-dock-fill{position:absolute;inset:0}:host .sky-split-view-drawer-flex-container{width:100%}:host-context(.sky-responsive-container-xs) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:100%}@media(min-width:768px){:host .sky-split-view-drawer-flex-container{width:auto}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:auto}@media(min-width:768px){:host .sky-split-view{border-left:var(--sky-override-split-view-border-left, none);border-right:var(--sky-override-split-view-border-right, none)}}:host-context(.sky-responsive-container-sm) .sky-split-view,:host-context(.sky-responsive-container-md) .sky-split-view,:host-context(.sky-responsive-container-lg) .sky-split-view{border-left:var(--sky-override-split-view-border-left, none);border-right:var(--sky-override-split-view-border-right, none)}\n"], dependencies: [{ kind: "directive", type: _SkyTransitionEndHandlerDirective, selector: "[skyTransitionEndHandler]", inputs: ["transitionTrigger", "transitionPropertyToTrack"], outputs: ["transitionEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
554
547
  }
555
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewComponent, decorators: [{
548
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewComponent, decorators: [{
556
549
  type: Component,
557
550
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [SkyResponsiveHostDirective], imports: [_SkyTransitionEndHandlerDirective], providers: [SkySplitViewAdapterService, SkySplitViewService], selector: 'sky-split-view', template: "<div\n class=\"sky-split-view\"\n [class.sky-split-view-dock-fill]=\"dock === 'fill'\"\n [class.sky-split-view-dock-none]=\"dock === 'none'\"\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [class.sky-animation-slide-enter-left]=\"animationEnabled()\"\n [hidden]=\"!drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n skyTransitionEndHandler\n transitionPropertyToTrack=\"transform\"\n [class.sky-animation-slide-enter-right]=\"animationEnabled()\"\n [hidden]=\"!workspaceVisible\"\n [transitionTrigger]=\"workspaceVisible\"\n (transitionEnd)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n", styles: [".sky-split-view:not(.sky-theme-modern *){--sky-override-split-view-border: 1px solid #cdcfd2;--sky-override-split-view-border-left: 1px solid #cdcfd2;--sky-override-split-view-border-right: 1px solid #cdcfd2}:host{display:block}.sky-split-view{--sky-comp-override-list-header-background-color: initial;position:relative;display:flex;border:var(--sky-override-split-view-border, var(--sky-border-width-divider) solid var(--sky-color-border-divider));background:transparent;margin:var(--sky-layout-host-content-spacing, 0);max-height:100%}.sky-split-view .sky-split-view-workspace-flex-container{flex-grow:1;flex-shrink:99;overflow:auto}.sky-split-view-dock-fill{position:absolute;inset:0}:host .sky-split-view-drawer-flex-container{width:100%}:host-context(.sky-responsive-container-xs) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:100%}@media(min-width:768px){:host .sky-split-view-drawer-flex-container{width:auto}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:auto}@media(min-width:768px){:host .sky-split-view{border-left:var(--sky-override-split-view-border-left, none);border-right:var(--sky-override-split-view-border-right, none)}}:host-context(.sky-responsive-container-sm) .sky-split-view,:host-context(.sky-responsive-container-md) .sky-split-view,:host-context(.sky-responsive-container-lg) .sky-split-view{border-left:var(--sky-override-split-view-border-left, none);border-right:var(--sky-override-split-view-border-right, none)}\n"] }]
558
- }], ctorParameters: () => [{ type: SkySplitViewAdapterService }, { type: i0.ChangeDetectorRef }, { type: i1$1.SkyCoreAdapterService }, { type: i0.ElementRef }, { type: SkySplitViewService }], propDecorators: { backButtonText: [{
551
+ }], ctorParameters: () => [], propDecorators: { backButtonText: [{
559
552
  type: Input
560
553
  }], bindHeightToWindow: [{
561
554
  type: Input
@@ -569,8 +562,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
569
562
  }] } });
570
563
 
571
564
  class SkySplitViewModule {
572
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
573
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
565
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
566
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
574
567
  SkySplitViewDrawerComponent,
575
568
  SkySplitViewWorkspaceComponent,
576
569
  SkySplitViewWorkspaceContentComponent,
@@ -581,10 +574,10 @@ class SkySplitViewModule {
581
574
  SkySplitViewWorkspaceContentComponent,
582
575
  SkySplitViewWorkspaceFooterComponent,
583
576
  SkySplitViewWorkspaceHeaderComponent] }); }
584
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewWorkspaceComponent,
577
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewWorkspaceComponent,
585
578
  SkySplitViewWorkspaceHeaderComponent] }); }
586
579
  }
587
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SkySplitViewModule, decorators: [{
580
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SkySplitViewModule, decorators: [{
588
581
  type: NgModule,
589
582
  args: [{
590
583
  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 'FR-CA': {\n skyux_split_view_resize_handle: {\n message:\n 'Redimensionnez le panneau du menu latéral. Utilisez la flèche de droite pour agrandir et la flèche de gauche pour réduire.',\n },\n skyux_split_view_back_to_list: { message: 'Retour à la liste' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkySplitViewResourcesModule {}\n","import { ElementRef, Injectable, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n/**\n * Internal service for operations between the split view drawer and workspace.\n * @internal\n */\n@Injectable()\nexport class SkySplitViewService {\n public get backButtonTextStream(): Observable<string> {\n return this.#_backButtonTextStream;\n }\n\n public drawerVisible = new BehaviorSubject<boolean>(true);\n\n public splitViewElementRef: ElementRef | undefined;\n\n public set isMobile(value: boolean) {\n this.#_isMobile = value;\n }\n\n public get isMobile(): boolean {\n return this.#_isMobile;\n }\n\n public get isMobileStream(): Observable<boolean> {\n return this.#_isMobileStream;\n }\n\n #_backButtonTextStream = new BehaviorSubject<string>('');\n #_isMobile = false;\n #_isMobileStream = new BehaviorSubject<boolean>(false);\n\n constructor(resources: SkyLibResourcesService) {\n // Set default back button text.\n resources\n .getString('skyux_split_view_back_to_list')\n .pipe(take(1))\n .subscribe((resource) => {\n this.updateBackButtonText(resource);\n });\n\n // Set breakpoint.\n inject(SkyMediaQueryService)\n .breakpointChange.pipe(takeUntilDestroyed())\n .subscribe((breakpoint) => {\n const nowMobile = breakpoint === 'xs';\n\n if (nowMobile && !this.isMobile) {\n // switching to mobile\n this.#_isMobileStream.next(true);\n this.drawerVisible.next(false);\n } else if (!nowMobile && this.isMobile) {\n // switching to widescreen\n this.#_isMobileStream.next(false);\n this.drawerVisible.next(true);\n }\n this.isMobile = nowMobile;\n });\n }\n\n public backButtonClick(): void {\n this.drawerVisible.next(true);\n }\n\n public updateBackButtonText(text: string): void {\n this.#_backButtonTextStream.next(text);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n inject,\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: [SkySplitViewResourcesModule],\n selector: 'sky-split-view-drawer',\n styleUrl: './split-view-drawer.component.scss',\n templateUrl: './split-view-drawer.component.html',\n})\nexport class SkySplitViewDrawerComponent implements OnInit, OnDestroy {\n /**\n * The ARIA label for the list panel. This sets the panel's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Sets the list panel's width in pixels.\n * @default 320\n */\n @Input()\n public set width(value: number | undefined) {\n if (value) {\n this.#_width = Number(value);\n this.#changeDetectorRef.markForCheck();\n }\n }\n\n public get width(): number | undefined {\n // TODO: Logic in a getter is a SKY UX anti-pattern, but fixing this would\n // require a significant amount of refactoring.\n if (this.isMobile) {\n return undefined;\n }\n\n if (this.#_width !== undefined) {\n if (this.#_width > this.widthMax) {\n return this.widthMax;\n } else if (this.#_width < this.widthMin) {\n return this.widthMin;\n }\n }\n\n return this.#_width || this.widthDefault;\n }\n\n public isMobile = false;\n\n public splitViewDrawerId: string;\n\n public widthDefault = 320;\n\n // Max needs to start as something to allow input range to work.\n // This value is updated as soon as the user takes action.\n public widthMax = 9999;\n\n public widthMin = 100;\n\n public widthTolerance = 100;\n\n #isDragging = false;\n #ngUnsubscribe = new Subject<void>();\n #xCoord = 0;\n\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #coreAdapterService = inject(SkyCoreAdapterService);\n readonly #splitViewSvc = inject(SkySplitViewService);\n readonly #windowRef = inject(SkyAppWindowRef);\n\n #_width: number | undefined;\n\n constructor() {\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')\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 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 styleUrl: './split-view-workspace-footer.component.scss',\n templateUrl: './split-view-workspace-footer.component.html',\n})\nexport class SkySplitViewWorkspaceFooterComponent {}\n","<div class=\"sky-split-view-workspace-footer sky-elevation-3\">\n <ng-content />\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkySplitViewService } from './split-view.service';\n\n/**\n * Specifies the header to display in the split view's workspace panel.\n * @internal\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkyIconModule],\n selector: 'sky-split-view-workspace-header',\n styleUrl: './split-view-workspace-header.component.scss',\n templateUrl: './split-view-workspace-header.component.html',\n})\nexport class SkySplitViewWorkspaceHeaderComponent implements OnDestroy, OnInit {\n public backButtonText: string | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n #splitViewSvc: SkySplitViewService;\n\n constructor(splitViewSvc: SkySplitViewService) {\n this.#splitViewSvc = splitViewSvc;\n }\n\n public ngOnInit(): void {\n this.#splitViewSvc.backButtonTextStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((text: string) => {\n this.backButtonText = text;\n });\n }\n\n public onShowDrawerButtonClick(): void {\n this.#splitViewSvc.backButtonClick();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n}\n","<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon iconName=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n inject,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\n\nimport { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';\n\n/**\n * Contains the content, footer, and header to display in the split view's workspace panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkySplitViewWorkspaceHeaderComponent],\n selector: 'sky-split-view-workspace',\n styleUrl: './split-view-workspace.component.scss',\n templateUrl: './split-view-workspace.component.html',\n})\nexport class SkySplitViewWorkspaceComponent {\n // Use the parent's breakpoint since the mobile header should only appear when\n // the split view container as a whole reaches the \"xs\" breakpoint, not just\n // the workspace area.\n protected breakpoint = toSignal(\n inject(SkyMediaQueryService, { skipSelf: true }).breakpointChange,\n );\n\n /**\n * The ARIA label for the workspace panel. This sets the panel's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n}\n","<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyMutationObserverService } from '@skyux/core';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\n/**\n * Adapter service for use when the split view component needs to manipulate the DOM\n * @internal\n */\n@Injectable()\nexport class SkySplitViewAdapterService {\n #observer: MutationObserver | undefined;\n #renderer: Renderer2;\n #observerSvc: SkyMutationObserverService;\n #rendererFactory: RendererFactory2;\n #windowRef: SkyAppWindowRef;\n\n constructor(\n observerSvc: SkyMutationObserverService,\n rendererFactory: RendererFactory2,\n windowRef: SkyAppWindowRef,\n ) {\n this.#observerSvc = observerSvc;\n this.#rendererFactory = rendererFactory;\n this.#windowRef = windowRef;\n\n this.#renderer = this.#rendererFactory.createRenderer(undefined, null);\n }\n\n public bindHeightToWindow(\n elementRef: ElementRef,\n unsubscribeSubject: Subject<void>,\n ): void {\n /*istanbul ignore else*/\n if (elementRef.nativeElement.offsetParent === document.body) {\n this.#observer = this.#observerSvc.create(() => {\n this.#setSplitViewBoundHeights(elementRef);\n });\n\n fromEvent(this.#windowRef.nativeWindow, 'resize')\n .pipe(takeUntil(unsubscribeSubject))\n .subscribe(() => {\n this.#setSplitViewBoundHeights(elementRef);\n });\n\n const config = {\n attributes: true,\n attributeFilter: ['style'],\n childList: false,\n characterDate: false,\n };\n\n // This observer makes sure that the split view reacts if the body styling is change but thing\n // such as the action bar.\n this.#observer.observe(document.body, config);\n this.#setSplitViewBoundHeights(elementRef);\n\n unsubscribeSubject.pipe(take(1)).subscribe(() => {\n this.#observer?.disconnect();\n const splitViewElement =\n elementRef.nativeElement.querySelector('.sky-split-view');\n this.#renderer.removeStyle(splitViewElement, 'max-height');\n this.#renderer.removeStyle(splitViewElement, 'min-height');\n });\n }\n }\n\n #setSplitViewBoundHeights(elementRef: ElementRef): void {\n const splitViewElement =\n elementRef.nativeElement.querySelector('.sky-split-view');\n const offsetTop = splitViewElement.offsetTop;\n const marginBottom = document.body.style.marginBottom\n ? document.body.style.marginBottom\n : '0px';\n this.#renderer.setStyle(\n splitViewElement,\n 'max-height',\n 'calc(100vh - ' + offsetTop + 'px - ' + marginBottom + ')',\n );\n this.#renderer.setStyle(splitViewElement, 'min-height', '300px');\n }\n}\n","export enum SkySplitViewMessageType {\n /**\n * Places focus on the first focusable element in the workspace.\n */\n FocusWorkspace = 0,\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n afterNextRender,\n signal,\n} from '@angular/core';\nimport {\n SkyCoreAdapterService,\n SkyResponsiveHostDirective,\n _SkyTransitionEndHandlerDirective,\n} 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 changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [SkyResponsiveHostDirective],\n imports: [_SkyTransitionEndHandlerDirective],\n providers: [SkySplitViewAdapterService, SkySplitViewService],\n selector: 'sky-split-view',\n styleUrl: './split-view.component.scss',\n templateUrl: './split-view.component.html',\n})\nexport class SkySplitViewComponent implements OnInit, OnDestroy {\n /**\n * The label for the button that appears in the workspace header in responsive mode.\n * The button returns users to the list.\n * @default \"Back to list\"\n */\n @Input()\n public set backButtonText(value: string) {\n if (value) {\n this.#splitViewService.updateBackButtonText(value);\n }\n }\n\n /**\n * Whether the split view's height is bound to the window height.\n * @default false\n * @deprecated We recommend using the `dock` input instead. An example of this can\n * be found in the developer code examples.\n */\n @Input()\n public set bindHeightToWindow(bindToHeight: boolean) {\n this.#_bindHeightToWindow = bindToHeight;\n\n if (this.#bindHeightToWindowUnsubscribe) {\n this.#bindHeightToWindowUnsubscribe.next();\n this.#bindHeightToWindowUnsubscribe.complete();\n }\n\n if (bindToHeight) {\n this.#bindHeightToWindowUnsubscribe = new Subject();\n this.#adapter.bindHeightToWindow(\n this.#elementRef,\n this.#bindHeightToWindowUnsubscribe,\n );\n }\n }\n\n public get bindHeightToWindow(): boolean {\n return this.#_bindHeightToWindow;\n }\n\n /**\n * How the split view docks to its container. Use `fill` to dock\n * the split view to the container's size where the container is a `sky-page` component\n * with its `layout` input set to `fit`, or where the container is another element with\n * a relative or absolute position and a fixed size.\n * @default \"none\"\n */\n @Input()\n public set dock(value: SkySplitViewDockType | undefined) {\n this.#_dock = value || 'none';\n }\n\n public get dock(): SkySplitViewDockType {\n return this.#_dock;\n }\n\n /**\n * The observable that sends commands to the split view component.\n * The commands should respect the `SkySplitViewMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkySplitViewMessage>();\n\n @ContentChild(SkySplitViewDrawerComponent)\n public drawerComponent: SkySplitViewDrawerComponent | undefined;\n\n public set drawerVisible(value: boolean) {\n this.#_drawerVisible = value;\n this.#changeDetectorRef.markForCheck();\n }\n\n public get drawerVisible(): boolean {\n return !this.isMobile || this.#_drawerVisible;\n }\n\n public isMobile = false;\n\n public get workspaceVisible(): boolean {\n return !this.isMobile || !this.#_drawerVisible;\n }\n\n protected readonly animationEnabled = signal(false);\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 // Enable animations after the first render.\n afterNextRender(() => {\n this.animationEnabled.set(true);\n });\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 [class.sky-split-view-dock-fill]=\"dock === 'fill'\"\n [class.sky-split-view-dock-none]=\"dock === 'none'\"\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [class.sky-animation-slide-enter-left]=\"animationEnabled()\"\n [hidden]=\"!drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n skyTransitionEndHandler\n transitionPropertyToTrack=\"transform\"\n [class.sky-animation-slide-enter-right]=\"animationEnabled()\"\n [hidden]=\"!workspaceVisible\"\n [transitionTrigger]=\"workspaceVisible\"\n (transitionEnd)=\"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.SkySplitViewService","i1","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 'FR-CA': {\n skyux_split_view_resize_handle: {\n message:\n 'Redimensionnez le panneau du menu latéral. Utilisez la flèche de droite pour agrandir et la flèche de gauche pour réduire.',\n },\n skyux_split_view_back_to_list: { message: 'Retour à la liste' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkySplitViewResourcesModule {}\n","import { ElementRef, Injectable, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n/**\n * Internal service for operations between the split view drawer and workspace.\n * @internal\n */\n@Injectable()\nexport class SkySplitViewService {\n public get backButtonTextStream(): Observable<string> {\n return this.#_backButtonTextStream;\n }\n\n public drawerVisible = new BehaviorSubject<boolean>(true);\n\n public splitViewElementRef: ElementRef | undefined;\n\n public set isMobile(value: boolean) {\n this.#_isMobile = value;\n }\n\n public get isMobile(): boolean {\n return this.#_isMobile;\n }\n\n public get isMobileStream(): Observable<boolean> {\n return this.#_isMobileStream;\n }\n\n #_backButtonTextStream = new BehaviorSubject<string>('');\n #_isMobile = false;\n #_isMobileStream = new BehaviorSubject<boolean>(false);\n\n constructor() {\n // Set default back button text.\n inject(SkyLibResourcesService)\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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n inject,\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: [SkySplitViewResourcesModule],\n selector: 'sky-split-view-drawer',\n styleUrl: './split-view-drawer.component.scss',\n templateUrl: './split-view-drawer.component.html',\n})\nexport class SkySplitViewDrawerComponent implements OnInit, OnDestroy {\n /**\n * The ARIA label for the list panel. This sets the panel's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Sets the list panel's width in pixels.\n * @default 320\n */\n @Input()\n public set width(value: number | undefined) {\n if (value) {\n this.#_width = Number(value);\n this.#changeDetectorRef.markForCheck();\n }\n }\n\n public get width(): number | undefined {\n // TODO: Logic in a getter is a SKY UX anti-pattern, but fixing this would\n // require a significant amount of refactoring.\n if (this.isMobile) {\n return undefined;\n }\n\n if (this.#_width !== undefined) {\n if (this.#_width > this.widthMax) {\n return this.widthMax;\n } else if (this.#_width < this.widthMin) {\n return this.widthMin;\n }\n }\n\n return this.#_width || this.widthDefault;\n }\n\n public isMobile = false;\n\n public splitViewDrawerId: string;\n\n public widthDefault = 320;\n\n // Max needs to start as something to allow input range to work.\n // This value is updated as soon as the user takes action.\n public widthMax = 9999;\n\n public widthMin = 100;\n\n public widthTolerance = 100;\n\n #isDragging = false;\n #ngUnsubscribe = new Subject<void>();\n #xCoord = 0;\n\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #coreAdapterService = inject(SkyCoreAdapterService);\n readonly #splitViewSvc = inject(SkySplitViewService);\n readonly #windowRef = inject(SkyAppWindowRef);\n\n #_width: number | undefined;\n\n constructor() {\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')\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 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 styleUrl: './split-view-workspace-footer.component.scss',\n templateUrl: './split-view-workspace-footer.component.html',\n})\nexport class SkySplitViewWorkspaceFooterComponent {}\n","<div class=\"sky-split-view-workspace-footer sky-elevation-3\">\n <ng-content />\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n OnInit,\n inject,\n} from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkySplitViewService } from './split-view.service';\n\n/**\n * Specifies the header to display in the split view's workspace panel.\n * @internal\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkyIconModule],\n selector: 'sky-split-view-workspace-header',\n styleUrl: './split-view-workspace-header.component.scss',\n templateUrl: './split-view-workspace-header.component.html',\n})\nexport class SkySplitViewWorkspaceHeaderComponent implements OnDestroy, OnInit {\n public backButtonText: string | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n readonly #splitViewSvc = inject(SkySplitViewService);\n\n public ngOnInit(): void {\n this.#splitViewSvc.backButtonTextStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((text: string) => {\n this.backButtonText = text;\n });\n }\n\n public onShowDrawerButtonClick(): void {\n this.#splitViewSvc.backButtonClick();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n}\n","<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon iconName=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n inject,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\n\nimport { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';\n\n/**\n * Contains the content, footer, and header to display in the split view's workspace panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkySplitViewWorkspaceHeaderComponent],\n selector: 'sky-split-view-workspace',\n styleUrl: './split-view-workspace.component.scss',\n templateUrl: './split-view-workspace.component.html',\n})\nexport class SkySplitViewWorkspaceComponent {\n // Use the parent's breakpoint since the mobile header should only appear when\n // the split view container as a whole reaches the \"xs\" breakpoint, not just\n // the workspace area.\n protected breakpoint = toSignal(\n inject(SkyMediaQueryService, { skipSelf: true }).breakpointChange,\n );\n\n /**\n * The ARIA label for the workspace panel. This sets the panel's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n}\n","<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n inject,\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 readonly #observerSvc = inject(SkyMutationObserverService);\n readonly #windowRef = inject(SkyAppWindowRef);\n\n constructor() {\n this.#renderer = inject(RendererFactory2).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 ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n afterNextRender,\n inject,\n signal,\n} from '@angular/core';\nimport {\n SkyCoreAdapterService,\n SkyResponsiveHostDirective,\n _SkyTransitionEndHandlerDirective,\n} 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 changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [SkyResponsiveHostDirective],\n imports: [_SkyTransitionEndHandlerDirective],\n providers: [SkySplitViewAdapterService, SkySplitViewService],\n selector: 'sky-split-view',\n styleUrl: './split-view.component.scss',\n templateUrl: './split-view.component.html',\n})\nexport class SkySplitViewComponent implements OnInit, OnDestroy {\n /**\n * The label for the button that appears in the workspace header in responsive mode.\n * The button returns users to the list.\n * @default \"Back to list\"\n */\n @Input()\n public set backButtonText(value: string) {\n if (value) {\n this.#splitViewService.updateBackButtonText(value);\n }\n }\n\n /**\n * Whether the split view's height is bound to the window height.\n * @default false\n * @deprecated We recommend using the `dock` input instead. An example of this can\n * be found in the developer code examples.\n */\n @Input()\n public set bindHeightToWindow(bindToHeight: boolean) {\n this.#_bindHeightToWindow = bindToHeight;\n\n if (this.#bindHeightToWindowUnsubscribe) {\n this.#bindHeightToWindowUnsubscribe.next();\n this.#bindHeightToWindowUnsubscribe.complete();\n }\n\n if (bindToHeight) {\n this.#bindHeightToWindowUnsubscribe = new Subject();\n this.#adapter.bindHeightToWindow(\n this.#elementRef,\n this.#bindHeightToWindowUnsubscribe,\n );\n }\n }\n\n public get bindHeightToWindow(): boolean {\n return this.#_bindHeightToWindow;\n }\n\n /**\n * How the split view docks to its container. Use `fill` to dock\n * the split view to the container's size where the container is a `sky-page` component\n * with its `layout` input set to `fit`, or where the container is another element with\n * a relative or absolute position and a fixed size.\n * @default \"none\"\n */\n @Input()\n public set dock(value: SkySplitViewDockType | undefined) {\n this.#_dock = value || 'none';\n }\n\n public get dock(): SkySplitViewDockType {\n return this.#_dock;\n }\n\n /**\n * The observable that sends commands to the split view component.\n * The commands should respect the `SkySplitViewMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkySplitViewMessage>();\n\n @ContentChild(SkySplitViewDrawerComponent)\n public drawerComponent: SkySplitViewDrawerComponent | undefined;\n\n public set drawerVisible(value: boolean) {\n this.#_drawerVisible = value;\n this.#changeDetectorRef.markForCheck();\n }\n\n public get drawerVisible(): boolean {\n return !this.isMobile || this.#_drawerVisible;\n }\n\n public isMobile = false;\n\n public get workspaceVisible(): boolean {\n return !this.isMobile || !this.#_drawerVisible;\n }\n\n protected readonly animationEnabled = signal(false);\n\n #animationComplete = new Subject<void>();\n #bindHeightToWindowUnsubscribe: Subject<void> | undefined;\n #ngUnsubscribe = new Subject<void>();\n readonly #adapter = inject(SkySplitViewAdapterService);\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #coreAdapterService = inject(SkyCoreAdapterService);\n readonly #elementRef = inject(ElementRef);\n readonly #splitViewService = inject(SkySplitViewService);\n\n #_bindHeightToWindow = false;\n #_drawerVisible = true;\n #_dock: SkySplitViewDockType = 'none';\n\n constructor() {\n this.#splitViewService.splitViewElementRef = this.#elementRef;\n\n // Enable animations after the first render.\n afterNextRender(() => {\n this.animationEnabled.set(true);\n });\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 [class.sky-split-view-dock-fill]=\"dock === 'fill'\"\n [class.sky-split-view-dock-none]=\"dock === 'none'\"\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [class.sky-animation-slide-enter-left]=\"animationEnabled()\"\n [hidden]=\"!drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n skyTransitionEndHandler\n transitionPropertyToTrack=\"transform\"\n [class.sky-animation-slide-enter-right]=\"animationEnabled()\"\n [hidden]=\"!workspaceVisible\"\n [transitionTrigger]=\"workspaceVisible\"\n (transitionEnd)=\"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"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/split-view",
3
- "version": "15.0.0-alpha.0",
3
+ "version": "15.0.0-alpha.2",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -16,12 +16,12 @@
16
16
  },
17
17
  "homepage": "https://github.com/blackbaud/skyux#readme",
18
18
  "peerDependencies": {
19
- "@angular/cdk": "^22.0.1",
20
- "@angular/common": "^22.0.1",
21
- "@angular/core": "^22.0.1",
22
- "@skyux/core": "15.0.0-alpha.0",
23
- "@skyux/i18n": "15.0.0-alpha.0",
24
- "@skyux/icon": "15.0.0-alpha.0"
19
+ "@angular/cdk": "^22.0.4",
20
+ "@angular/common": "^22.0.6",
21
+ "@angular/core": "^22.0.6",
22
+ "@skyux/core": "15.0.0-alpha.2",
23
+ "@skyux/i18n": "15.0.0-alpha.2",
24
+ "@skyux/icon": "15.0.0-alpha.2"
25
25
  },
26
26
  "dependencies": {
27
27
  "tslib": "^2.8.1"
@@ -1,21 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { RendererFactory2, ElementRef, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
2
+ import { OnInit, OnDestroy } from '@angular/core';
3
+ import { Subject } from 'rxjs';
3
4
  import * as i1 from '@skyux/core';
4
- import { SkyMutationObserverService, SkyAppWindowRef, SkyCoreAdapterService } from '@skyux/core';
5
- import { Subject, Observable, BehaviorSubject } from 'rxjs';
6
- import { SkyLibResourcesService } from '@skyux/i18n';
7
-
8
- /**
9
- * Adapter service for use when the split view component needs to manipulate the DOM
10
- * @internal
11
- */
12
- declare class SkySplitViewAdapterService {
13
- #private;
14
- constructor(observerSvc: SkyMutationObserverService, rendererFactory: RendererFactory2, windowRef: SkyAppWindowRef);
15
- bindHeightToWindow(elementRef: ElementRef, unsubscribeSubject: Subject<void>): void;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<SkySplitViewAdapterService, never>;
17
- static ɵprov: i0.ɵɵInjectableDeclaration<SkySplitViewAdapterService>;
18
- }
19
5
 
20
6
  /**
21
7
  * Specifies the content to display in the split view's list panel.
@@ -52,25 +38,6 @@ declare class SkySplitViewDrawerComponent implements OnInit, OnDestroy {
52
38
  static ɵcmp: i0.ɵɵComponentDeclaration<SkySplitViewDrawerComponent, "sky-split-view-drawer", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, {}, never, ["*"], true, never>;
53
39
  }
54
40
 
55
- /**
56
- * Internal service for operations between the split view drawer and workspace.
57
- * @internal
58
- */
59
- declare class SkySplitViewService {
60
- #private;
61
- get backButtonTextStream(): Observable<string>;
62
- drawerVisible: BehaviorSubject<boolean>;
63
- splitViewElementRef: ElementRef | undefined;
64
- set isMobile(value: boolean);
65
- get isMobile(): boolean;
66
- get isMobileStream(): Observable<boolean>;
67
- constructor(resources: SkyLibResourcesService);
68
- backButtonClick(): void;
69
- updateBackButtonText(text: string): void;
70
- static ɵfac: i0.ɵɵFactoryDeclaration<SkySplitViewService, never>;
71
- static ɵprov: i0.ɵɵInjectableDeclaration<SkySplitViewService>;
72
- }
73
-
74
41
  type SkySplitViewDockType = 'none' | 'fill';
75
42
 
76
43
  declare enum SkySplitViewMessageType {
@@ -127,7 +94,7 @@ declare class SkySplitViewComponent implements OnInit, OnDestroy {
127
94
  isMobile: boolean;
128
95
  get workspaceVisible(): boolean;
129
96
  protected readonly animationEnabled: i0.WritableSignal<boolean>;
130
- constructor(adapter: SkySplitViewAdapterService, changeDetectorRef: ChangeDetectorRef, coreAdapterService: SkyCoreAdapterService, elementRef: ElementRef, splitViewService: SkySplitViewService);
97
+ constructor();
131
98
  ngOnInit(): void;
132
99
  ngOnDestroy(): void;
133
100
  onWorkspaceEnterComplete(): void;
@@ -173,7 +140,6 @@ declare class SkySplitViewWorkspaceFooterComponent {
173
140
  declare class SkySplitViewWorkspaceHeaderComponent implements OnDestroy, OnInit {
174
141
  #private;
175
142
  backButtonText: string | undefined;
176
- constructor(splitViewSvc: SkySplitViewService);
177
143
  ngOnInit(): void;
178
144
  onShowDrawerButtonClick(): void;
179
145
  ngOnDestroy(): void;