@skyux/split-view 14.0.0-alpha.1 → 14.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { NgModule, inject, Injectable, ChangeDetectorRef, HostListener, Input, ChangeDetectionStrategy, Component, ContentChild } from '@angular/core';
2
+ import { NgModule, inject, Injectable, ChangeDetectorRef, HostListener, Input, ChangeDetectionStrategy, Component, signal, afterNextRender, ContentChild } from '@angular/core';
3
3
  import * as i1$1 from '@skyux/core';
4
- import { SkyMediaQueryService, SkyCoreAdapterService, SkyAppWindowRef, SkyResponsiveHostDirective } from '@skyux/core';
4
+ import { SkyMediaQueryService, SkyCoreAdapterService, SkyAppWindowRef, SkyResponsiveHostDirective, _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';
@@ -9,9 +9,6 @@ import { SkyLibResourcesService, SkyI18nModule } from '@skyux/i18n';
9
9
  import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
10
10
  import * as i2 from '@skyux/icon';
11
11
  import { SkyIconModule } from '@skyux/icon';
12
- import { trigger, transition, state, style, animate } from '@angular/animations';
13
- import * as i4 from '@angular/common';
14
- import { CommonModule } from '@angular/common';
15
12
 
16
13
  /* istanbul ignore file */
17
14
  /**
@@ -39,11 +36,11 @@ SkyLibResourcesService.addResources(RESOURCES);
39
36
  * Import into any component library module that needs to use resource strings.
40
37
  */
41
38
  class SkySplitViewResourcesModule {
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
43
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewResourcesModule, exports: [SkyI18nModule] }); }
44
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewResourcesModule, imports: [SkyI18nModule] }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
40
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewResourcesModule, exports: [SkyI18nModule] }); }
41
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewResourcesModule, imports: [SkyI18nModule] }); }
45
42
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewResourcesModule, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewResourcesModule, decorators: [{
47
44
  type: NgModule,
48
45
  args: [{
49
46
  exports: [SkyI18nModule],
@@ -106,10 +103,10 @@ class SkySplitViewService {
106
103
  updateBackButtonText(text) {
107
104
  this.#_backButtonTextStream.next(text);
108
105
  }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
110
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewService }); }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
107
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewService }); }
111
108
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewService, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewService, decorators: [{
113
110
  type: Injectable
114
111
  }], ctorParameters: () => [{ type: i1.SkyLibResourcesService }] });
115
112
 
@@ -242,10 +239,10 @@ class SkySplitViewDrawerComponent {
242
239
  const splitView = this.#splitViewSvc.splitViewElementRef?.nativeElement.querySelector('.sky-split-view');
243
240
  this.widthMax = splitView.clientWidth - this.widthTolerance;
244
241
  }
245
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
246
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", 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 .15s}.sky-split-view-resize-handle:focus{border:var(--sky-override-split-view-resize-handle-border-focus, solid var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus));box-shadow: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: "21.2.0", ngImport: i0, type: SkySplitViewDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
243
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", 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 .15s}.sky-split-view-resize-handle:focus{border:var(--sky-override-split-view-resize-handle-border-focus, solid var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus));box-shadow: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 }); }
247
244
  }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewDrawerComponent, decorators: [{
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewDrawerComponent, decorators: [{
249
246
  type: Component,
250
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 .15s}.sky-split-view-resize-handle:focus{border:var(--sky-override-split-view-resize-handle-border-focus, solid var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus));box-shadow: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"] }]
251
248
  }], ctorParameters: () => [], propDecorators: { ariaLabel: [{
@@ -261,10 +258,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImpor
261
258
  * Specifies the content to display in the split view's workspace panel.
262
259
  */
263
260
  class SkySplitViewWorkspaceContentComponent {
264
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
265
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", 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: "21.2.0", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
262
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", 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 }); }
266
263
  }
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, decorators: [{
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, decorators: [{
268
265
  type: Component,
269
266
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {
270
267
  tabindex: '0',
@@ -275,10 +272,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImpor
275
272
  * Specifies the footer to display in the split view's workspace panel. This component is often used with a summary action bar.
276
273
  */
277
274
  class SkySplitViewWorkspaceFooterComponent {
278
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
279
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", 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: "21.2.0", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
276
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", 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 }); }
280
277
  }
281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, decorators: [{
278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, decorators: [{
282
279
  type: Component,
283
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"] }]
284
281
  }] });
@@ -307,10 +304,10 @@ class SkySplitViewWorkspaceHeaderComponent {
307
304
  this.#ngUnsubscribe.next();
308
305
  this.#ngUnsubscribe.complete();
309
306
  }
310
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, deps: [{ token: SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
311
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", 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 }); }
307
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, deps: [{ token: SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
308
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", 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 }); }
312
309
  }
313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, decorators: [{
310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, decorators: [{
314
311
  type: Component,
315
312
  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"] }]
316
313
  }], ctorParameters: () => [{ type: SkySplitViewService }] });
@@ -325,10 +322,10 @@ class SkySplitViewWorkspaceComponent {
325
322
  // the workspace area.
326
323
  this.breakpoint = toSignal(inject(SkyMediaQueryService, { skipSelf: true }).breakpointChange);
327
324
  }
328
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewWorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
329
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", 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 }); }
325
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewWorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
326
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", 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 }); }
330
327
  }
331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewWorkspaceComponent, decorators: [{
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewWorkspaceComponent, decorators: [{
332
329
  type: Component,
333
330
  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"] }]
334
331
  }], propDecorators: { ariaLabel: [{
@@ -389,10 +386,10 @@ class SkySplitViewAdapterService {
389
386
  this.#renderer.setStyle(splitViewElement, 'max-height', 'calc(100vh - ' + offsetTop + 'px - ' + marginBottom + ')');
390
387
  this.#renderer.setStyle(splitViewElement, 'min-height', '300px');
391
388
  }
392
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewAdapterService, deps: [{ token: i1$1.SkyMutationObserverService }, { token: i0.RendererFactory2 }, { token: i1$1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
393
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewAdapterService }); }
389
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", 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: "21.2.0", ngImport: i0, type: SkySplitViewAdapterService }); }
394
391
  }
395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewAdapterService, decorators: [{
392
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewAdapterService, decorators: [{
396
393
  type: Injectable
397
394
  }], ctorParameters: () => [{ type: i1$1.SkyMutationObserverService }, { type: i0.RendererFactory2 }, { type: i1$1.SkyAppWindowRef }] });
398
395
 
@@ -480,8 +477,7 @@ class SkySplitViewComponent {
480
477
  */
481
478
  this.messageStream = new Subject();
482
479
  this.isMobile = false;
483
- this.nextButtonDisabled = false;
484
- this.previousButtonDisabled = false;
480
+ this.animationEnabled = signal(false, ...(ngDevMode ? [{ debugName: "animationEnabled" }] : []));
485
481
  this.#animationComplete = new Subject();
486
482
  this.#ngUnsubscribe = new Subject();
487
483
  this.#_bindHeightToWindow = false;
@@ -493,6 +489,10 @@ class SkySplitViewComponent {
493
489
  this.#elementRef = elementRef;
494
490
  this.#splitViewService = splitViewService;
495
491
  splitViewService.splitViewElementRef = elementRef;
492
+ // Enable animations after the first render.
493
+ afterNextRender(() => {
494
+ this.animationEnabled.set(true);
495
+ });
496
496
  }
497
497
  ngOnInit() {
498
498
  this.#splitViewService.isMobileStream
@@ -548,32 +548,12 @@ class SkySplitViewComponent {
548
548
  break;
549
549
  }
550
550
  }
551
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewComponent, deps: [{ token: SkySplitViewAdapterService }, { token: i0.ChangeDetectorRef }, { token: i1$1.SkyCoreAdapterService }, { token: i0.ElementRef }, { token: SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
552
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", type: SkySplitViewComponent, isStandalone: true, selector: "sky-split-view", inputs: { backButtonText: "backButtonText", bindHeightToWindow: "bindHeightToWindow", dock: "dock", messageStream: "messageStream" }, providers: [SkySplitViewAdapterService, SkySplitViewService], queries: [{ propertyName: "drawerComponent", first: true, predicate: SkySplitViewDrawerComponent, descendants: true }], hostDirectives: [{ directive: i1$1.SkyResponsiveHostDirective }], ngImport: i0, template: "<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n", styles: [".sky-split-view:not(.sky-theme-modern *){--sky-override-split-view-border: 1px solid #cdcfd2;--sky-override-split-view-border-left: 1px solid #cdcfd2;--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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
553
- trigger('blockAnimationOnLoad', [transition(':enter', [])]),
554
- trigger('drawerEnter', [
555
- state('false', style({ transform: 'translate(-100%)' })),
556
- transition('* => true', animate('150ms ease-in')),
557
- ]),
558
- trigger('workspaceEnter', [
559
- state('false', style({ transform: 'translate(100%)' })),
560
- transition('* => true', animate('150ms ease-in')),
561
- ]),
562
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
551
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewComponent, deps: [{ token: SkySplitViewAdapterService }, { token: i0.ChangeDetectorRef }, { token: i1$1.SkyCoreAdapterService }, { token: i0.ElementRef }, { token: SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
552
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", 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 }); }
563
553
  }
564
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewComponent, decorators: [{
554
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewComponent, decorators: [{
565
555
  type: Component,
566
- args: [{ animations: [
567
- trigger('blockAnimationOnLoad', [transition(':enter', [])]),
568
- trigger('drawerEnter', [
569
- state('false', style({ transform: 'translate(-100%)' })),
570
- transition('* => true', animate('150ms ease-in')),
571
- ]),
572
- trigger('workspaceEnter', [
573
- state('false', style({ transform: 'translate(100%)' })),
574
- transition('* => true', animate('150ms ease-in')),
575
- ]),
576
- ], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [SkyResponsiveHostDirective], imports: [CommonModule], providers: [SkySplitViewAdapterService, SkySplitViewService], selector: 'sky-split-view', template: "<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n", styles: [".sky-split-view:not(.sky-theme-modern *){--sky-override-split-view-border: 1px solid #cdcfd2;--sky-override-split-view-border-left: 1px solid #cdcfd2;--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"] }]
556
+ 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"] }]
577
557
  }], ctorParameters: () => [{ type: SkySplitViewAdapterService }, { type: i0.ChangeDetectorRef }, { type: i1$1.SkyCoreAdapterService }, { type: i0.ElementRef }, { type: SkySplitViewService }], propDecorators: { backButtonText: [{
578
558
  type: Input
579
559
  }], bindHeightToWindow: [{
@@ -588,8 +568,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImpor
588
568
  }] } });
589
569
 
590
570
  class SkySplitViewModule {
591
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
592
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
571
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
572
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
593
573
  SkySplitViewDrawerComponent,
594
574
  SkySplitViewWorkspaceComponent,
595
575
  SkySplitViewWorkspaceContentComponent,
@@ -600,11 +580,10 @@ class SkySplitViewModule {
600
580
  SkySplitViewWorkspaceContentComponent,
601
581
  SkySplitViewWorkspaceFooterComponent,
602
582
  SkySplitViewWorkspaceHeaderComponent] }); }
603
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
604
- SkySplitViewWorkspaceComponent,
583
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewWorkspaceComponent,
605
584
  SkySplitViewWorkspaceHeaderComponent] }); }
606
585
  }
607
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: SkySplitViewModule, decorators: [{
586
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkySplitViewModule, decorators: [{
608
587
  type: NgModule,
609
588
  args: [{
610
589
  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 * 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 animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyCoreAdapterService, SkyResponsiveHostDirective } from '@skyux/core';\n\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { SkySplitViewAdapterService } from './split-view-adapter.service';\nimport { SkySplitViewDrawerComponent } from './split-view-drawer.component';\nimport { SkySplitViewService } from './split-view.service';\nimport { SkySplitViewDockType } from './types/split-view-dock-type';\nimport { SkySplitViewMessage } from './types/split-view-message';\nimport { SkySplitViewMessageType } from './types/split-view-message-type';\n\n/**\n * Displays a list alongside a workspace where users can view details for selected items\n * and take actions.\n */\n@Component({\n animations: [\n trigger('blockAnimationOnLoad', [transition(':enter', [])]),\n trigger('drawerEnter', [\n state('false', style({ transform: 'translate(-100%)' })),\n transition('* => true', animate('150ms ease-in')),\n ]),\n trigger('workspaceEnter', [\n state('false', style({ transform: 'translate(100%)' })),\n transition('* => true', animate('150ms ease-in')),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [SkyResponsiveHostDirective],\n imports: [CommonModule],\n providers: [SkySplitViewAdapterService, SkySplitViewService],\n selector: 'sky-split-view',\n styleUrl: './split-view.component.scss',\n templateUrl: './split-view.component.html',\n})\nexport class SkySplitViewComponent implements OnInit, OnDestroy {\n /**\n * The label for the button that appears in the workspace header in responsive mode.\n * The button returns users to the list.\n * @default \"Back to list\"\n */\n @Input()\n public set backButtonText(value: string) {\n if (value) {\n this.#splitViewService.updateBackButtonText(value);\n }\n }\n\n /**\n * Whether the split view's height is bound to the window height.\n * @default false\n * @deprecated We recommend using the `dock` input instead. An example of this can\n * be found in the developer code examples.\n */\n @Input()\n public set bindHeightToWindow(bindToHeight: boolean) {\n this.#_bindHeightToWindow = bindToHeight;\n\n if (this.#bindHeightToWindowUnsubscribe) {\n this.#bindHeightToWindowUnsubscribe.next();\n this.#bindHeightToWindowUnsubscribe.complete();\n }\n\n if (bindToHeight) {\n this.#bindHeightToWindowUnsubscribe = new Subject();\n this.#adapter.bindHeightToWindow(\n this.#elementRef,\n this.#bindHeightToWindowUnsubscribe,\n );\n }\n }\n\n public get bindHeightToWindow(): boolean {\n return this.#_bindHeightToWindow;\n }\n\n /**\n * How the split view docks to its container. Use `fill` to dock\n * the split view to the container's size where the container is a `sky-page` component\n * with its `layout` input set to `fit`, or where the container is another element with\n * a relative or absolute position and a fixed size.\n * @default \"none\"\n */\n @Input()\n public set dock(value: SkySplitViewDockType | undefined) {\n this.#_dock = value || 'none';\n }\n\n public get dock(): SkySplitViewDockType {\n return this.#_dock;\n }\n\n /**\n * The observable that sends commands to the split view component.\n * The commands should respect the `SkySplitViewMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkySplitViewMessage>();\n\n @ContentChild(SkySplitViewDrawerComponent)\n public drawerComponent: SkySplitViewDrawerComponent | undefined;\n\n public set drawerVisible(value: boolean) {\n this.#_drawerVisible = value;\n this.#changeDetectorRef.markForCheck();\n }\n\n public get drawerVisible(): boolean {\n return !this.isMobile || this.#_drawerVisible;\n }\n\n public isMobile = false;\n public nextButtonDisabled = false;\n public previousButtonDisabled = false;\n\n public get workspaceVisible(): boolean {\n return !this.isMobile || !this.#_drawerVisible;\n }\n\n #animationComplete = new Subject<void>();\n #bindHeightToWindowUnsubscribe: Subject<void> | undefined;\n #ngUnsubscribe = new Subject<void>();\n #adapter: SkySplitViewAdapterService;\n #changeDetectorRef: ChangeDetectorRef;\n #coreAdapterService: SkyCoreAdapterService;\n #elementRef: ElementRef;\n #splitViewService: SkySplitViewService;\n\n #_bindHeightToWindow = false;\n #_drawerVisible = true;\n #_dock: SkySplitViewDockType = 'none';\n\n constructor(\n adapter: SkySplitViewAdapterService,\n changeDetectorRef: ChangeDetectorRef,\n coreAdapterService: SkyCoreAdapterService,\n elementRef: ElementRef,\n splitViewService: SkySplitViewService,\n ) {\n this.#adapter = adapter;\n this.#changeDetectorRef = changeDetectorRef;\n this.#coreAdapterService = coreAdapterService;\n this.#elementRef = elementRef;\n this.#splitViewService = splitViewService;\n\n splitViewService.splitViewElementRef = elementRef;\n }\n\n public ngOnInit(): void {\n this.#splitViewService.isMobileStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((mobile: boolean) => {\n this.isMobile = mobile;\n this.#changeDetectorRef.markForCheck();\n });\n\n this.#splitViewService.drawerVisible\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((visible: boolean) => {\n this.drawerVisible = visible;\n });\n\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkySplitViewMessage) => {\n this.#handleIncomingMessages(message);\n });\n }\n\n public ngOnDestroy(): void {\n if (this.#bindHeightToWindowUnsubscribe) {\n this.#bindHeightToWindowUnsubscribe.next();\n this.#bindHeightToWindowUnsubscribe.complete();\n }\n\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onWorkspaceEnterComplete(): void {\n this.#animationComplete.next();\n }\n\n #applyAutofocus(): void {\n const applyAutoFocus = this.#coreAdapterService.applyAutoFocus(\n this.#elementRef,\n );\n /*istanbul ignore else*/\n if (!applyAutoFocus) {\n this.#coreAdapterService.getFocusableChildrenAndApplyFocus(\n this.#elementRef,\n '.sky-split-view-workspace-content',\n );\n }\n }\n\n #handleIncomingMessages(message: SkySplitViewMessage): void {\n switch (message.type) {\n case SkySplitViewMessageType.FocusWorkspace:\n // If mobile, wait until animation is complete then set focus on workspace panel.\n // Otherwise, just set focus right away.\n if (!this.workspaceVisible) {\n this.drawerVisible = false;\n this.#animationComplete.pipe(take(1)).subscribe(() => {\n this.#applyAutofocus();\n });\n } else {\n this.#applyAutofocus();\n }\n this.#changeDetectorRef.markForCheck();\n break;\n }\n }\n}\n","<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { SkySplitViewDrawerComponent } from './split-view-drawer.component';\nimport { SkySplitViewWorkspaceContentComponent } from './split-view-workspace-content.component';\nimport { SkySplitViewWorkspaceFooterComponent } from './split-view-workspace-footer.component';\nimport { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';\nimport { SkySplitViewWorkspaceComponent } from './split-view-workspace.component';\nimport { SkySplitViewComponent } from './split-view.component';\n\n@NgModule({\n imports: [\n SkySplitViewComponent,\n SkySplitViewDrawerComponent,\n SkySplitViewWorkspaceComponent,\n SkySplitViewWorkspaceContentComponent,\n SkySplitViewWorkspaceFooterComponent,\n SkySplitViewWorkspaceHeaderComponent,\n ],\n exports: [\n SkySplitViewComponent,\n SkySplitViewDrawerComponent,\n SkySplitViewWorkspaceComponent,\n SkySplitViewWorkspaceContentComponent,\n SkySplitViewWorkspaceFooterComponent,\n SkySplitViewWorkspaceHeaderComponent,\n ],\n})\nexport class SkySplitViewModule {}\n","// Split view modules.\nexport { SkySplitViewModule } from './lib/modules/split-view/split-view.module';\n\n// Split view types.\nexport { SkySplitViewDockType } from './lib/modules/split-view/types/split-view-dock-type';\nexport { SkySplitViewMessage } from './lib/modules/split-view/types/split-view-message';\nexport { SkySplitViewMessageType } from './lib/modules/split-view/types/split-view-message-type';\n\n// Components and directives must be exported to support Angular's \"partial\" Ivy compiler.\n// Obscure names are used to indicate types are not part of the public API.\nexport { SkySplitViewDrawerComponent as λ2 } from './lib/modules/split-view/split-view-drawer.component';\nexport { SkySplitViewWorkspaceContentComponent as λ4 } from './lib/modules/split-view/split-view-workspace-content.component';\nexport { SkySplitViewWorkspaceFooterComponent as λ5 } from './lib/modules/split-view/split-view-workspace-footer.component';\nexport { SkySplitViewWorkspaceHeaderComponent as λ6 } from './lib/modules/split-view/split-view-workspace-header.component';\nexport { SkySplitViewWorkspaceComponent as λ3 } from './lib/modules/split-view/split-view-workspace.component';\nexport { SkySplitViewComponent as λ1 } from './lib/modules/split-view/split-view.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.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 * 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/split-view",
3
- "version": "14.0.0-alpha.1",
3
+ "version": "14.0.0-alpha.10",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -16,13 +16,12 @@
16
16
  },
17
17
  "homepage": "https://github.com/blackbaud/skyux#readme",
18
18
  "peerDependencies": {
19
- "@angular/animations": "^21.1.2",
20
- "@angular/cdk": "^21.1.2",
21
- "@angular/common": "^21.1.2",
22
- "@angular/core": "^21.1.2",
23
- "@skyux/core": "14.0.0-alpha.1",
24
- "@skyux/i18n": "14.0.0-alpha.1",
25
- "@skyux/icon": "14.0.0-alpha.1"
19
+ "@angular/cdk": "^21.2.0",
20
+ "@angular/common": "^21.2.0",
21
+ "@angular/core": "^21.2.0",
22
+ "@skyux/core": "14.0.0-alpha.10",
23
+ "@skyux/i18n": "14.0.0-alpha.10",
24
+ "@skyux/icon": "14.0.0-alpha.10"
26
25
  },
27
26
  "dependencies": {
28
27
  "tslib": "^2.8.1"
@@ -125,9 +125,8 @@ declare class SkySplitViewComponent implements OnInit, OnDestroy {
125
125
  set drawerVisible(value: boolean);
126
126
  get drawerVisible(): boolean;
127
127
  isMobile: boolean;
128
- nextButtonDisabled: boolean;
129
- previousButtonDisabled: boolean;
130
128
  get workspaceVisible(): boolean;
129
+ protected readonly animationEnabled: i0.WritableSignal<boolean>;
131
130
  constructor(adapter: SkySplitViewAdapterService, changeDetectorRef: ChangeDetectorRef, coreAdapterService: SkyCoreAdapterService, elementRef: ElementRef, splitViewService: SkySplitViewService);
132
131
  ngOnInit(): void;
133
132
  ngOnDestroy(): void;