@skyux/split-view 11.39.0 → 12.0.0-alpha.1
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.
- package/documentation.json +280 -282
- package/fesm2022/skyux-split-view-testing.mjs +4 -4
- package/fesm2022/skyux-split-view-testing.mjs.map +1 -1
- package/fesm2022/skyux-split-view.mjs +36 -36
- package/fesm2022/skyux-split-view.mjs.map +1 -1
- package/package.json +12 -16
- package/esm2022/index.mjs +0 -12
- package/esm2022/lib/modules/shared/sky-split-view-resources.module.mjs +0 -34
- package/esm2022/lib/modules/split-view/split-view-adapter.service.mjs +0 -66
- package/esm2022/lib/modules/split-view/split-view-drawer.component.mjs +0 -153
- package/esm2022/lib/modules/split-view/split-view-workspace-content.component.mjs +0 -18
- package/esm2022/lib/modules/split-view/split-view-workspace-footer.component.mjs +0 -16
- package/esm2022/lib/modules/split-view/split-view-workspace-header.component.mjs +0 -39
- package/esm2022/lib/modules/split-view/split-view-workspace.component.mjs +0 -25
- package/esm2022/lib/modules/split-view/split-view.component.mjs +0 -198
- package/esm2022/lib/modules/split-view/split-view.module.mjs +0 -48
- package/esm2022/lib/modules/split-view/split-view.service.mjs +0 -70
- package/esm2022/lib/modules/split-view/types/split-view-dock-type.mjs +0 -2
- package/esm2022/lib/modules/split-view/types/split-view-message-type.mjs +0 -8
- package/esm2022/lib/modules/split-view/types/split-view-message.mjs +0 -2
- package/esm2022/skyux-split-view.mjs +0 -5
- package/esm2022/testing/legacy/split-view/split-view-fixture-drawer.mjs +0 -2
- package/esm2022/testing/legacy/split-view/split-view-fixture-workspace.mjs +0 -2
- package/esm2022/testing/legacy/split-view/split-view-fixture.mjs +0 -81
- package/esm2022/testing/legacy/split-view/split-view-testing.module.mjs +0 -20
- package/esm2022/testing/modules/split-view/split-view-drawer-harness.mjs +0 -18
- package/esm2022/testing/modules/split-view/split-view-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/split-view/split-view-harness.mjs +0 -83
- package/esm2022/testing/modules/split-view/split-view-workspace-content-harness.mjs +0 -11
- package/esm2022/testing/modules/split-view/split-view-workspace-footer-harness.mjs +0 -11
- package/esm2022/testing/modules/split-view/split-view-workspace-harness.mjs +0 -55
- package/esm2022/testing/modules/split-view/split-view-workspace-header-harness.mjs +0 -20
- package/esm2022/testing/public-api.mjs +0 -8
- package/esm2022/testing/skyux-split-view-testing.mjs +0 -5
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, HostListener, Input, } from '@angular/core';
|
|
3
|
-
import { Subject, fromEvent } from 'rxjs';
|
|
4
|
-
import { takeUntil, takeWhile } from 'rxjs/operators';
|
|
5
|
-
import { SkySplitViewResourcesModule } from '../shared/sky-split-view-resources.module';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@skyux/core";
|
|
8
|
-
import * as i2 from "./split-view.service";
|
|
9
|
-
import * as i3 from "@skyux/i18n";
|
|
10
|
-
let skySplitViewNextId = 0;
|
|
11
|
-
/**
|
|
12
|
-
* Specifies the content to display in the split view's list panel.
|
|
13
|
-
*/
|
|
14
|
-
export class SkySplitViewDrawerComponent {
|
|
15
|
-
/**
|
|
16
|
-
* Sets the list panel's width in pixels.
|
|
17
|
-
* @default 320
|
|
18
|
-
*/
|
|
19
|
-
set width(value) {
|
|
20
|
-
if (value) {
|
|
21
|
-
this.#_width = Number(value);
|
|
22
|
-
this.#changeDetectorRef.markForCheck();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
get width() {
|
|
26
|
-
// TODO: Logic in a getter is a SKY UX anti-pattern, but fixing this would
|
|
27
|
-
// require a significant amount of refactoring.
|
|
28
|
-
if (this.isMobile) {
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
|
-
if (this.#_width !== undefined) {
|
|
32
|
-
if (this.#_width > this.widthMax) {
|
|
33
|
-
return this.widthMax;
|
|
34
|
-
}
|
|
35
|
-
else if (this.#_width < this.widthMin) {
|
|
36
|
-
return this.widthMin;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return this.#_width || this.widthDefault;
|
|
40
|
-
}
|
|
41
|
-
#isDragging;
|
|
42
|
-
#ngUnsubscribe;
|
|
43
|
-
#xCoord;
|
|
44
|
-
#changeDetectorRef;
|
|
45
|
-
#coreAdapterService;
|
|
46
|
-
#splitViewSvc;
|
|
47
|
-
#windowRef;
|
|
48
|
-
#_width;
|
|
49
|
-
constructor(changeDetectorRef, coreAdapterService, splitViewSvc, windowRef) {
|
|
50
|
-
this.isMobile = false;
|
|
51
|
-
this.widthDefault = 320;
|
|
52
|
-
// Max needs to start as something to allow input range to work.
|
|
53
|
-
// This value is updated as soon as the user takes action.
|
|
54
|
-
this.widthMax = 9999;
|
|
55
|
-
this.widthMin = 100;
|
|
56
|
-
this.widthTolerance = 100;
|
|
57
|
-
this.#isDragging = false;
|
|
58
|
-
this.#ngUnsubscribe = new Subject();
|
|
59
|
-
this.#xCoord = 0;
|
|
60
|
-
this.#changeDetectorRef = changeDetectorRef;
|
|
61
|
-
this.#coreAdapterService = coreAdapterService;
|
|
62
|
-
this.#splitViewSvc = splitViewSvc;
|
|
63
|
-
this.#windowRef = windowRef;
|
|
64
|
-
this.splitViewDrawerId = `sky-split-view-drawer-${++skySplitViewNextId}`;
|
|
65
|
-
}
|
|
66
|
-
ngOnInit() {
|
|
67
|
-
this.#setMaxWidth();
|
|
68
|
-
this.#splitViewSvc.isMobileStream
|
|
69
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
70
|
-
.subscribe((mobile) => {
|
|
71
|
-
this.isMobile = mobile;
|
|
72
|
-
this.#changeDetectorRef.markForCheck();
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
ngOnDestroy() {
|
|
76
|
-
this.#ngUnsubscribe.next();
|
|
77
|
-
this.#ngUnsubscribe.complete();
|
|
78
|
-
}
|
|
79
|
-
onResizeHandleMouseDown(event) {
|
|
80
|
-
event.preventDefault();
|
|
81
|
-
event.stopPropagation();
|
|
82
|
-
this.#setMaxWidth();
|
|
83
|
-
this.#isDragging = true;
|
|
84
|
-
this.#xCoord = event.clientX;
|
|
85
|
-
this.#coreAdapterService.toggleIframePointerEvents(false);
|
|
86
|
-
fromEvent(document, 'mousemove')
|
|
87
|
-
.pipe(takeUntil(this.#ngUnsubscribe), takeWhile(() => {
|
|
88
|
-
return this.#isDragging;
|
|
89
|
-
}))
|
|
90
|
-
.subscribe((moveEvent) => {
|
|
91
|
-
this.onMouseMove(moveEvent);
|
|
92
|
-
});
|
|
93
|
-
fromEvent(document, 'mouseup')
|
|
94
|
-
.pipe(takeUntil(this.#ngUnsubscribe), takeWhile(() => {
|
|
95
|
-
return this.#isDragging;
|
|
96
|
-
}))
|
|
97
|
-
.subscribe(() => {
|
|
98
|
-
this.onHandleRelease();
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
onMouseMove(event) {
|
|
102
|
-
/* Sanity check */
|
|
103
|
-
/* istanbul ignore if */
|
|
104
|
-
if (!this.#isDragging || this.width === undefined) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
const offsetX = event.clientX - this.#xCoord;
|
|
108
|
-
let width = this.width;
|
|
109
|
-
width += offsetX;
|
|
110
|
-
if (width < this.widthMin || width > this.widthMax) {
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
this.width = width;
|
|
114
|
-
this.#xCoord = event.clientX;
|
|
115
|
-
this.#changeDetectorRef.markForCheck();
|
|
116
|
-
}
|
|
117
|
-
onHandleRelease() {
|
|
118
|
-
this.#isDragging = false;
|
|
119
|
-
this.#coreAdapterService.toggleIframePointerEvents(true);
|
|
120
|
-
this.#changeDetectorRef.markForCheck();
|
|
121
|
-
}
|
|
122
|
-
onResizeHandleChange(event) {
|
|
123
|
-
this.width = +event.target.value;
|
|
124
|
-
this.#setMaxWidth();
|
|
125
|
-
}
|
|
126
|
-
onWindowResize() {
|
|
127
|
-
const window = this.#windowRef.nativeWindow;
|
|
128
|
-
// If window size is smaller than width + tolerance, shrink width.
|
|
129
|
-
if (!this.isMobile &&
|
|
130
|
-
this.width !== undefined &&
|
|
131
|
-
window.innerWidth < this.width + this.widthTolerance) {
|
|
132
|
-
this.width = window.innerWidth - this.widthTolerance;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
#setMaxWidth() {
|
|
136
|
-
const splitView = this.#splitViewSvc.splitViewElementRef?.nativeElement.querySelector('.sky-split-view');
|
|
137
|
-
this.widthMax = splitView.clientWidth - this.widthTolerance;
|
|
138
|
-
}
|
|
139
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewDrawerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyCoreAdapterService }, { token: i2.SkySplitViewService }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
140
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkySplitViewDrawerComponent, isStandalone: true, selector: "sky-split-view-drawer", inputs: { ariaLabel: "ariaLabel", width: "width" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, ngImport: i0, template: "<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n", styles: [".sky-split-view-drawer{background:#fff;overflow:auto;height:100%;width:100%}@media (min-width: 768px){:host .sky-split-view-drawer{border-right:1px solid #cdcfd2}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer,:host-context(.sky-responsive-container-md) .sky-split-view-drawer,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer{border-right:1px solid #cdcfd2}.sky-split-view-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;z-index:999;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0}.sky-split-view-resize-handle::-moz-range-thumb,.sky-split-view-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-ms-thumb,.sky-split-view-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}:host-context(.sky-theme-modern) .sky-split-view-drawer{background:transparent}:host-context(.sky-theme-modern) .sky-split-view-resize-handle{transition:box-shadow .15s}:host-context(.sky-theme-modern) .sky-split-view-resize-handle:focus{border:solid 2px #1870B8;box-shadow:0 1px 8px #0000004d;outline:none}.sky-theme-modern .sky-split-view-drawer{background:transparent}.sky-theme-modern .sky-split-view-resize-handle{transition:box-shadow .15s}.sky-theme-modern .sky-split-view-resize-handle:focus{border:solid 2px #1870B8;box-shadow:0 1px 8px #0000004d;outline:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SkySplitViewResourcesModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
141
|
-
}
|
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewDrawerComponent, decorators: [{
|
|
143
|
-
type: Component,
|
|
144
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, SkySplitViewResourcesModule], selector: 'sky-split-view-drawer', standalone: true, template: "<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n", styles: [".sky-split-view-drawer{background:#fff;overflow:auto;height:100%;width:100%}@media (min-width: 768px){:host .sky-split-view-drawer{border-right:1px solid #cdcfd2}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer,:host-context(.sky-responsive-container-md) .sky-split-view-drawer,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer{border-right:1px solid #cdcfd2}.sky-split-view-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;z-index:999;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0}.sky-split-view-resize-handle::-moz-range-thumb,.sky-split-view-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-ms-thumb,.sky-split-view-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-split-view-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}:host-context(.sky-theme-modern) .sky-split-view-drawer{background:transparent}:host-context(.sky-theme-modern) .sky-split-view-resize-handle{transition:box-shadow .15s}:host-context(.sky-theme-modern) .sky-split-view-resize-handle:focus{border:solid 2px #1870B8;box-shadow:0 1px 8px #0000004d;outline:none}.sky-theme-modern .sky-split-view-drawer{background:transparent}.sky-theme-modern .sky-split-view-resize-handle{transition:box-shadow .15s}.sky-theme-modern .sky-split-view-resize-handle:focus{border:solid 2px #1870B8;box-shadow:0 1px 8px #0000004d;outline:none}\n"] }]
|
|
145
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.SkyCoreAdapterService }, { type: i2.SkySplitViewService }, { type: i1.SkyAppWindowRef }], propDecorators: { ariaLabel: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], width: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}], onWindowResize: [{
|
|
150
|
-
type: HostListener,
|
|
151
|
-
args: ['window:resize', ['$event']]
|
|
152
|
-
}] } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtdmlldy1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NwbGl0LXZpZXcvc3JjL2xpYi9tb2R1bGVzL3NwbGl0LXZpZXcvc3BsaXQtdmlldy1kcmF3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NwbGl0LXZpZXcvc3JjL2xpYi9tb2R1bGVzL3NwbGl0LXZpZXcvc3BsaXQtdmlldy1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7QUFJeEYsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7QUFFM0I7O0dBRUc7QUFTSCxNQUFNLE9BQU8sMkJBQTJCO0lBU3RDOzs7T0FHRztJQUNILElBQ1csS0FBSyxDQUFDLEtBQXlCO1FBQ3hDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCwwRUFBMEU7UUFDMUUsK0NBQStDO1FBQy9DLElBQUksSUFBSSxD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LEtBQUs7c0JBRGYsS0FBSztnQkFtSkMsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUFwcFdpbmRvd1JlZiwgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lTcGxpdFZpZXdSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LXNwbGl0LXZpZXctcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreVNwbGl0Vmlld1NlcnZpY2UgfSBmcm9tICcuL3NwbGl0LXZpZXcuc2VydmljZSc7XG5cbmxldCBza3lTcGxpdFZpZXdOZXh0SWQgPSAwO1xuXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgY29udGVudCB0byBkaXNwbGF5IGluIHRoZSBzcGxpdCB2aWV3J3MgbGlzdCBwYW5lbC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTa3lTcGxpdFZpZXdSZXNvdXJjZXNNb2R1bGVdLFxuICBzZWxlY3RvcjogJ3NreS1zcGxpdC12aWV3LWRyYXdlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsOiAnLi9zcGxpdC12aWV3LWRyYXdlci5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGxpdC12aWV3LWRyYXdlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVNwbGl0Vmlld0RyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBBUklBIGxhYmVsIGZvciB0aGUgbGlzdCBwYW5lbC4gVGhpcyBzZXRzIHRoZSBwYW5lbCdzIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxpc3QgcGFuZWwncyB3aWR0aCBpbiBwaXhlbHMuXG4gICAqIEBkZWZhdWx0IDMyMFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB3aWR0aCh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNfd2lkdGggPSBOdW1iZXIodmFsdWUpO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCB3aWR0aCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIC8vIFRPRE86IExvZ2ljIGluIGEgZ2V0dGVyIGlzIGEgU0tZIFVYIGFudGktcGF0dGVybiwgYnV0IGZpeGluZyB0aGlzIHdvdWxkXG4gICAgLy8gcmVxdWlyZSBhIHNpZ25pZmljYW50IGFtb3VudCBvZiByZWZhY3RvcmluZy5cbiAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy4jX3dpZHRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0aGlzLiNfd2lkdGggPiB0aGlzLndpZHRoTWF4KSB7XG4gICAgICAgIHJldHVybiB0aGlzLndpZHRoTWF4O1xuICAgICAgfSBlbHNlIGlmICh0aGlzLiNfd2lkdGggPCB0aGlzLndpZHRoTWluKSB7XG4gICAgICAgIHJldHVybiB0aGlzLndpZHRoTWluO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLiNfd2lkdGggfHwgdGhpcy53aWR0aERlZmF1bHQ7XG4gIH1cblxuICBwdWJsaWMgaXNNb2JpbGUgPSBmYWxzZTtcblxuICBwdWJsaWMgc3BsaXRWaWV3RHJhd2VySWQ6IHN0cmluZztcblxuICBwdWJsaWMgd2lkdGhEZWZhdWx0ID0gMzIwO1xuXG4gIC8vIE1heCBuZWVkcyB0byBzdGFydCBhcyBzb21ldGhpbmcgdG8gYWxsb3cgaW5wdXQgcmFuZ2UgdG8gd29yay5cbiAgLy8gVGhpcyB2YWx1ZSBpcyB1cGRhdGVkIGFzIHNvb24gYXMgdGhlIHVzZXIgdGFrZXMgYWN0aW9uLlxuICBwdWJsaWMgd2lkdGhNYXggPSA5OTk5O1xuXG4gIHB1YmxpYyB3aWR0aE1pbiA9IDEwMDtcblxuICBwdWJsaWMgd2lkdGhUb2xlcmFuY2UgPSAxMDA7XG5cbiAgI2lzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjeENvb3JkID0gMDtcbiAgI2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2NvcmVBZGFwdGVyU2VydmljZTogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuICAjc3BsaXRWaWV3U3ZjOiBTa3lTcGxpdFZpZXdTZXJ2aWNlO1xuICAjd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWY7XG5cbiAgI193aWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBjb3JlQWRhcHRlclNlcnZpY2U6IFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgICBzcGxpdFZpZXdTdmM6IFNreVNwbGl0Vmlld1NlcnZpY2UsXG4gICAgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICkge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yUmVmID0gY2hhbmdlRGV0ZWN0b3JSZWY7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlID0gY29yZUFkYXB0ZXJTZXJ2aWNlO1xuICAgIHRoaXMuI3NwbGl0Vmlld1N2YyA9IHNwbGl0Vmlld1N2YztcbiAgICB0aGlzLiN3aW5kb3dSZWYgPSB3aW5kb3dSZWY7XG5cbiAgICB0aGlzLnNwbGl0Vmlld0RyYXdlcklkID0gYHNreS1zcGxpdC12aWV3LWRyYXdlci0keysrc2t5U3BsaXRWaWV3TmV4dElkfWA7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jc2V0TWF4V2lkdGgoKTtcblxuICAgIHRoaXMuI3NwbGl0Vmlld1N2Yy5pc01vYmlsZVN0cmVhbVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobW9iaWxlOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBtb2JpbGU7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uUmVzaXplSGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMuI3NldE1heFdpZHRoKCk7XG4gICAgdGhpcy4jaXNEcmFnZ2luZyA9IHRydWU7XG4gICAgdGhpcy4jeENvb3JkID0gZXZlbnQuY2xpZW50WDtcblxuICAgIHRoaXMuI2NvcmVBZGFwdGVyU2VydmljZS50b2dnbGVJZnJhbWVQb2ludGVyRXZlbnRzKGZhbHNlKTtcblxuICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlbW92ZScpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpLFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLiNpc0RyYWdnaW5nO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG1vdmVFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLm9uTW91c2VNb3ZlKG1vdmVFdmVudCk7XG4gICAgICB9KTtcblxuICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy4jaXNEcmFnZ2luZztcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5vbkhhbmRsZVJlbGVhc2UoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uTW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgLyogU2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCF0aGlzLiNpc0RyYWdnaW5nIHx8IHRoaXMud2lkdGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9mZnNldFggPSBldmVudC5jbGllbnRYIC0gdGhpcy4jeENvb3JkO1xuICAgIGxldCB3aWR0aCA9IHRoaXMud2lkdGg7XG5cbiAgICB3aWR0aCArPSBvZmZzZXRYO1xuXG4gICAgaWYgKHdpZHRoIDwgdGhpcy53aWR0aE1pbiB8fCB3aWR0aCA+IHRoaXMud2lkdGhNYXgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLndpZHRoID0gd2lkdGg7XG5cbiAgICB0aGlzLiN4Q29vcmQgPSBldmVudC5jbGllbnRYO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIG9uSGFuZGxlUmVsZWFzZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNpc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlLnRvZ2dsZUlmcmFtZVBvaW50ZXJFdmVudHModHJ1ZSk7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgb25SZXNpemVIYW5kbGVDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy53aWR0aCA9ICsoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIHRoaXMuI3NldE1heFdpZHRoKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uV2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IHdpbmRvdyA9IHRoaXMuI3dpbmRvd1JlZi5uYXRpdmVXaW5kb3c7XG5cbiAgICAvLyBJZiB3aW5kb3cgc2l6ZSBpcyBzbWFsbGVyIHRoYW4gd2lkdGggKyB0b2xlcmFuY2UsIHNocmluayB3aWR0aC5cbiAgICBpZiAoXG4gICAgICAhdGhpcy5pc01vYmlsZSAmJlxuICAgICAgdGhpcy53aWR0aCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB3aW5kb3cuaW5uZXJXaWR0aCA8IHRoaXMud2lkdGggKyB0aGlzLndpZHRoVG9sZXJhbmNlXG4gICAgKSB7XG4gICAgICB0aGlzLndpZHRoID0gd2luZG93LmlubmVyV2lkdGggLSB0aGlzLndpZHRoVG9sZXJhbmNlO1xuICAgIH1cbiAgfVxuXG4gICNzZXRNYXhXaWR0aCgpOiB2b2lkIHtcbiAgICBjb25zdCBzcGxpdFZpZXcgPVxuICAgICAgdGhpcy4jc3BsaXRWaWV3U3ZjLnNwbGl0Vmlld0VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJy5za3ktc3BsaXQtdmlldycsXG4gICAgICApO1xuICAgIHRoaXMud2lkdGhNYXggPSBzcGxpdFZpZXcuY2xpZW50V2lkdGggLSB0aGlzLndpZHRoVG9sZXJhbmNlO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LXNwbGl0LXZpZXctZHJhd2VyXCJcbiAgcm9sZT1cInJlZ2lvblwiXG4gIHRhYmluZGV4PVwiMFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgW2lkXT1cInNwbGl0Vmlld0RyYXdlcklkXCJcbiAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcbj5cbiAgPG5nLWNvbnRlbnQgLz5cbiAgQGlmICghaXNNb2JpbGUgJiYgd2lkdGggIT09IHVuZGVmaW5lZCkge1xuICAgIDxpbnB1dFxuICAgICAgYXJpYS1vcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgIGNsYXNzPVwic2t5LXNwbGl0LXZpZXctcmVzaXplLWhhbmRsZVwiXG4gICAgICBzdGVwPVwiMTBcIlxuICAgICAgdHlwZT1cInJhbmdlXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwic3BsaXRWaWV3RHJhd2VySWRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfc3BsaXRfdmlld19yZXNpemVfaGFuZGxlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICBbYXR0ci5hcmlhLXZhbHVlbWF4XT1cIndpZHRoTWF4XCJcbiAgICAgIFthdHRyLmFyaWEtdmFsdWVtaW5dPVwid2lkdGhNaW5cIlxuICAgICAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJ3aWR0aFwiXG4gICAgICBbYXR0ci5hcmlhLXZhbHVldGV4dF09XCJ3aWR0aCArICcgcGl4ZWxzIHdpZGUnXCJcbiAgICAgIFttYXhdPVwid2lkdGhNYXhcIlxuICAgICAgW21pbl09XCJ3aWR0aE1pblwiXG4gICAgICBbc3R5bGUubGVmdC5weF09XCJ3aWR0aCAtIDdcIlxuICAgICAgW3ZhbHVlXT1cIndpZHRoXCJcbiAgICAgIChjaGFuZ2UpPVwib25SZXNpemVIYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAobW91c2Vkb3duKT1cIm9uUmVzaXplSGFuZGxlTW91c2VEb3duKCRldmVudClcIlxuICAgIC8+XG4gIH1cbjwvZGl2PlxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { SkyResponsiveHostDirective } from '@skyux/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@skyux/core";
|
|
5
|
-
/**
|
|
6
|
-
* Specifies the content to display in the split view's workspace panel.
|
|
7
|
-
*/
|
|
8
|
-
export class SkySplitViewWorkspaceContentComponent {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkySplitViewWorkspaceContentComponent, isStandalone: true, selector: "sky-split-view-workspace-content", host: { attributes: { "tabindex": "0" } }, hostDirectives: [{ directive: i1.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 }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceContentComponent, decorators: [{
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
15
|
-
tabindex: '0',
|
|
16
|
-
}, hostDirectives: [SkyResponsiveHostDirective], selector: 'sky-split-view-workspace-content', standalone: true, template: "<div class=\"sky-split-view-workspace-content\">\n <ng-content />\n</div>\n", styles: [":host{display:block;overflow:auto;flex-grow:1}\n"] }]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtdmlldy13b3Jrc3BhY2UtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3BsaXQtdmlldy9zcmMvbGliL21vZHVsZXMvc3BsaXQtdmlldy9zcGxpdC12aWV3LXdvcmtzcGFjZS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcGxpdC12aWV3L3NyYy9saWIvbW9kdWxlcy9zcGxpdC12aWV3L3NwbGl0LXZpZXctd29ya3NwYWNlLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUV6RDs7R0FFRztBQVlILE1BQU0sT0FBTyxxQ0FBcUM7K0dBQXJDLHFDQUFxQzttR0FBckMscUNBQXFDLHVNQ2pCbEQsOEVBR0E7OzRGRGNhLHFDQUFxQztrQkFYakQsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLFFBQVEsRUFBRSxHQUFHO3FCQUNkLGtCQUNlLENBQUMsMEJBQTBCLENBQUMsWUFDbEMsa0NBQWtDLGNBQ2hDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGNvbnRlbnQgdG8gZGlzcGxheSBpbiB0aGUgc3BsaXQgdmlldydzIHdvcmtzcGFjZSBwYW5lbC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgdGFiaW5kZXg6ICcwJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZV0sXG4gIHNlbGVjdG9yOiAnc2t5LXNwbGl0LXZpZXctd29ya3NwYWNlLWNvbnRlbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZVVybDogJy4vc3BsaXQtdmlldy13b3Jrc3BhY2UtY29udGVudC5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGxpdC12aWV3LXdvcmtzcGFjZS1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U3BsaXRWaWV3V29ya3NwYWNlQ29udGVudENvbXBvbmVudCB7fVxuIiwiPGRpdiBjbGFzcz1cInNreS1zcGxpdC12aWV3LXdvcmtzcGFjZS1jb250ZW50XCI+XG4gIDxuZy1jb250ZW50IC8+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { SkyResponsiveHostDirective } from '@skyux/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@skyux/core";
|
|
5
|
-
/**
|
|
6
|
-
* Specifies the footer to display in the split view's workspace panel. This component is often used with a summary action bar.
|
|
7
|
-
*/
|
|
8
|
-
export class SkySplitViewWorkspaceFooterComponent {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkySplitViewWorkspaceFooterComponent, isStandalone: true, selector: "sky-split-view-workspace-footer", hostDirectives: [{ directive: i1.SkyResponsiveHostDirective }], ngImport: i0, template: "<div class=\"sky-split-view-workspace-footer\">\n <ng-content />\n</div>\n", styles: [":host{display:block;flex-shrink:0}.sky-split-view-workspace-footer{padding:10px;box-shadow:0 -3px 3px #cdcfd2}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceFooterComponent, decorators: [{
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [SkyResponsiveHostDirective], selector: 'sky-split-view-workspace-footer', standalone: true, template: "<div class=\"sky-split-view-workspace-footer\">\n <ng-content />\n</div>\n", styles: [":host{display:block;flex-shrink:0}.sky-split-view-workspace-footer{padding:10px;box-shadow:0 -3px 3px #cdcfd2}\n"] }]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtdmlldy13b3Jrc3BhY2UtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcGxpdC12aWV3L3NyYy9saWIvbW9kdWxlcy9zcGxpdC12aWV3L3NwbGl0LXZpZXctd29ya3NwYWNlLWZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3BsaXQtdmlldy9zcmMvbGliL21vZHVsZXMvc3BsaXQtdmlldy9zcGxpdC12aWV3LXdvcmtzcGFjZS1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUV6RDs7R0FFRztBQVNILE1BQU0sT0FBTyxvQ0FBb0M7K0dBQXBDLG9DQUFvQzttR0FBcEMsb0NBQW9DLDJKQ2RqRCw2RUFHQTs7NEZEV2Esb0NBQW9DO2tCQVJoRCxTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsMEJBQTBCLENBQUMsWUFDbEMsaUNBQWlDLGNBQy9CLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGZvb3RlciB0byBkaXNwbGF5IGluIHRoZSBzcGxpdCB2aWV3J3Mgd29ya3NwYWNlIHBhbmVsLiBUaGlzIGNvbXBvbmVudCBpcyBvZnRlbiB1c2VkIHdpdGggYSBzdW1tYXJ5IGFjdGlvbiBiYXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZV0sXG4gIHNlbGVjdG9yOiAnc2t5LXNwbGl0LXZpZXctd29ya3NwYWNlLWZvb3RlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsOiAnLi9zcGxpdC12aWV3LXdvcmtzcGFjZS1mb290ZXIuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BsaXQtdmlldy13b3Jrc3BhY2UtZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U3BsaXRWaWV3V29ya3NwYWNlRm9vdGVyQ29tcG9uZW50IHt9XG4iLCI8ZGl2IGNsYXNzPVwic2t5LXNwbGl0LXZpZXctd29ya3NwYWNlLWZvb3RlclwiPlxuICA8bmctY29udGVudCAvPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, } from '@angular/core';
|
|
2
|
-
import { SkyIconModule } from '@skyux/icon';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./split-view.service";
|
|
7
|
-
import * as i2 from "@skyux/icon";
|
|
8
|
-
/**
|
|
9
|
-
* Specifies the header to display in the split view's workspace panel.
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
export class SkySplitViewWorkspaceHeaderComponent {
|
|
13
|
-
#ngUnsubscribe = new Subject();
|
|
14
|
-
#splitViewSvc;
|
|
15
|
-
constructor(splitViewSvc) {
|
|
16
|
-
this.#splitViewSvc = splitViewSvc;
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
this.#splitViewSvc.backButtonTextStream
|
|
20
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
21
|
-
.subscribe((text) => {
|
|
22
|
-
this.backButtonText = text;
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
onShowDrawerButtonClick() {
|
|
26
|
-
this.#splitViewSvc.backButtonClick();
|
|
27
|
-
}
|
|
28
|
-
ngOnDestroy() {
|
|
29
|
-
this.#ngUnsubscribe.next();
|
|
30
|
-
this.#ngUnsubscribe.complete();
|
|
31
|
-
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, deps: [{ token: i1.SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkySplitViewWorkspaceHeaderComponent, isStandalone: true, selector: "sky-split-view-workspace-header", ngImport: i0, template: "<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon icon=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n", styles: [".sky-split-view-workspace-header{display:flex;align-items:flex-start;justify-content:flex-end;border-bottom:1px solid #cdcfd2;padding:5px 0}.sky-split-view-workspace-header .sky-split-view-workspace-header-content{flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i2.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceHeaderComponent, decorators: [{
|
|
36
|
-
type: Component,
|
|
37
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyIconModule], selector: 'sky-split-view-workspace-header', standalone: true, template: "<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon icon=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n", styles: [".sky-split-view-workspace-header{display:flex;align-items:flex-start;justify-content:flex-end;border-bottom:1px solid #cdcfd2;padding:5px 0}.sky-split-view-workspace-header .sky-split-view-workspace-header-content{flex-grow:1}\n"] }]
|
|
38
|
-
}], ctorParameters: () => [{ type: i1.SkySplitViewService }] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtdmlldy13b3Jrc3BhY2UtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcGxpdC12aWV3L3NyYy9saWIvbW9kdWxlcy9zcGxpdC12aWV3L3NwbGl0LXZpZXctd29ya3NwYWNlLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3BsaXQtdmlldy9zcmMvbGliL21vZHVsZXMvc3BsaXQtdmlldy9zcGxpdC12aWV3LXdvcmtzcGFjZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUkzQzs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sb0NBQW9DO0lBRy9DLGNBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ3JDLGFBQWEsQ0FBc0I7SUFFbkMsWUFBWSxZQUFpQztRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztJQUNwQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CO2FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDOytHQXpCVSxvQ0FBb0M7bUdBQXBDLG9DQUFvQywyRkN6QmpELG1WQVlBLDZSRE9ZLGFBQWE7OzRGQU1aLG9DQUFvQztrQkFSaEQsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsYUFBYSxDQUFDLFlBQ2QsaUNBQWlDLGNBQy9CLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2ljb24nO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVNwbGl0Vmlld1NlcnZpY2UgfSBmcm9tICcuL3NwbGl0LXZpZXcuc2VydmljZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBoZWFkZXIgdG8gZGlzcGxheSBpbiB0aGUgc3BsaXQgdmlldydzIHdvcmtzcGFjZSBwYW5lbC5cbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtTa3lJY29uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdza3ktc3BsaXQtdmlldy13b3Jrc3BhY2UtaGVhZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc3R5bGVVcmw6ICcuL3NwbGl0LXZpZXctd29ya3NwYWNlLWhlYWRlci5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGxpdC12aWV3LXdvcmtzcGFjZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTcGxpdFZpZXdXb3Jrc3BhY2VIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHB1YmxpYyBiYWNrQnV0dG9uVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI3NwbGl0Vmlld1N2YzogU2t5U3BsaXRWaWV3U2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihzcGxpdFZpZXdTdmM6IFNreVNwbGl0Vmlld1NlcnZpY2UpIHtcbiAgICB0aGlzLiNzcGxpdFZpZXdTdmMgPSBzcGxpdFZpZXdTdmM7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jc3BsaXRWaWV3U3ZjLmJhY2tCdXR0b25UZXh0U3RyZWFtXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5iYWNrQnV0dG9uVGV4dCA9IHRleHQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblNob3dEcmF3ZXJCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLiNzcGxpdFZpZXdTdmMuYmFja0J1dHRvbkNsaWNrKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LXNwbGl0LXZpZXctd29ya3NwYWNlLWhlYWRlclwiPlxuICA8ZGl2IGNsYXNzPVwic2t5LXNwbGl0LXZpZXctd29ya3NwYWNlLWhlYWRlci1jb250ZW50XCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGlua1wiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJvblNob3dEcmF3ZXJCdXR0b25DbGljaygpXCJcbiAgICA+XG4gICAgICA8c2t5LWljb24gaWNvbj1cImNoZXZyb24tbGVmdFwiIC8+XG4gICAgICB7eyBiYWNrQnV0dG9uVGV4dCB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, inject, } from '@angular/core';
|
|
2
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { SkyMediaQueryService } from '@skyux/core';
|
|
4
|
-
import { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* Contains the content, footer, and header to display in the split view's workspace panel.
|
|
8
|
-
*/
|
|
9
|
-
export class SkySplitViewWorkspaceComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
// Use the parent's breakpoint since the mobile header should only appear when
|
|
12
|
-
// the split view container as a whole reaches the "xs" breakpoint, not just
|
|
13
|
-
// the workspace area.
|
|
14
|
-
this.breakpoint = toSignal(inject(SkyMediaQueryService, { skipSelf: true }).breakpointChange);
|
|
15
|
-
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkySplitViewWorkspaceComponent, isStandalone: true, selector: "sky-split-view-workspace", inputs: { ariaLabel: "ariaLabel" }, ngImport: i0, template: "<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n", styles: [".sky-split-view-workspace{background:#fff;height:100%;display:flex;flex-direction:column}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-split-view-workspace{background-color:#121212;border-color:#686c73}.sky-theme-modern.sky-theme-mode-dark .sky-split-view-workspace{background-color:#121212;border-color:#686c73}\n"], dependencies: [{ kind: "component", type: SkySplitViewWorkspaceHeaderComponent, selector: "sky-split-view-workspace-header" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewWorkspaceComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkySplitViewWorkspaceHeaderComponent], selector: 'sky-split-view-workspace', standalone: true, template: "<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n", styles: [".sky-split-view-workspace{background:#fff;height:100%;display:flex;flex-direction:column}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-split-view-workspace{background-color:#121212;border-color:#686c73}.sky-theme-modern.sky-theme-mode-dark .sky-split-view-workspace{background-color:#121212;border-color:#686c73}\n"] }]
|
|
22
|
-
}], propDecorators: { ariaLabel: [{
|
|
23
|
-
type: Input
|
|
24
|
-
}] } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtdmlldy13b3Jrc3BhY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NwbGl0LXZpZXcvc3JjL2xpYi9tb2R1bGVzL3NwbGl0LXZpZXcvc3BsaXQtdmlldy13b3Jrc3BhY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NwbGl0LXZpZXcvc3JjL2xpYi9tb2R1bGVzL3NwbGl0LXZpZXcvc3BsaXQtdmlldy13b3Jrc3BhY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQUUvRjs7R0FFRztBQVNILE1BQU0sT0FBTyw4QkFBOEI7SUFSM0M7UUFTRSw4RUFBOEU7UUFDOUUsNEVBQTRFO1FBQzVFLHNCQUFzQjtRQUNaLGVBQVUsR0FBRyxRQUFRLENBQzdCLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUNsRSxDQUFDO0tBU0g7K0dBZlksOEJBQThCO21HQUE5Qiw4QkFBOEIsd0hDdEIzQywyVUFZQSxnWURJWSxvQ0FBb0M7OzRGQU1uQyw4QkFBOEI7a0JBUjFDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLG9DQUFvQyxDQUFDLFlBQ3JDLDBCQUEwQixjQUN4QixJQUFJOzhCQWtCVCxTQUFTO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgU2t5TWVkaWFRdWVyeVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreVNwbGl0Vmlld1dvcmtzcGFjZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vc3BsaXQtdmlldy13b3Jrc3BhY2UtaGVhZGVyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQ29udGFpbnMgdGhlIGNvbnRlbnQsIGZvb3RlciwgYW5kIGhlYWRlciB0byBkaXNwbGF5IGluIHRoZSBzcGxpdCB2aWV3J3Mgd29ya3NwYWNlIHBhbmVsLlxuICovXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtTa3lTcGxpdFZpZXdXb3Jrc3BhY2VIZWFkZXJDb21wb25lbnRdLFxuICBzZWxlY3RvcjogJ3NreS1zcGxpdC12aWV3LXdvcmtzcGFjZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsOiAnLi9zcGxpdC12aWV3LXdvcmtzcGFjZS5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGxpdC12aWV3LXdvcmtzcGFjZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVNwbGl0Vmlld1dvcmtzcGFjZUNvbXBvbmVudCB7XG4gIC8vIFVzZSB0aGUgcGFyZW50J3MgYnJlYWtwb2ludCBzaW5jZSB0aGUgbW9iaWxlIGhlYWRlciBzaG91bGQgb25seSBhcHBlYXIgd2hlblxuICAvLyB0aGUgc3BsaXQgdmlldyBjb250YWluZXIgYXMgYSB3aG9sZSByZWFjaGVzIHRoZSBcInhzXCIgYnJlYWtwb2ludCwgbm90IGp1c3RcbiAgLy8gdGhlIHdvcmtzcGFjZSBhcmVhLlxuICBwcm90ZWN0ZWQgYnJlYWtwb2ludCA9IHRvU2lnbmFsKFxuICAgIGluamVjdChTa3lNZWRpYVF1ZXJ5U2VydmljZSwgeyBza2lwU2VsZjogdHJ1ZSB9KS5icmVha3BvaW50Q2hhbmdlLFxuICApO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSBsYWJlbCBmb3IgdGhlIHdvcmtzcGFjZSBwYW5lbC4gVGhpcyBzZXRzIHRoZSBwYW5lbCdzIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LXNwbGl0LXZpZXctd29ya3NwYWNlXCJcbiAgcm9sZT1cInJlZ2lvblwiXG4gIHRhYmluZGV4PVwiMFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbj5cbiAgQGlmIChicmVha3BvaW50KCkgPT09ICd4cycpIHtcbiAgICA8c2t5LXNwbGl0LXZpZXctd29ya3NwYWNlLWhlYWRlciAvPlxuICB9XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1zcGxpdC12aWV3LXdvcmtzcGFjZS1jb250ZW50XCIgLz5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LXNwbGl0LXZpZXctd29ya3NwYWNlLWZvb3RlclwiIC8+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { animate, state, style, transition, trigger, } from '@angular/animations';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ChangeDetectionStrategy, Component, ContentChild, Input, } from '@angular/core';
|
|
4
|
-
import { SkyResponsiveHostDirective } from '@skyux/core';
|
|
5
|
-
import { Subject } from 'rxjs';
|
|
6
|
-
import { take, takeUntil } from 'rxjs/operators';
|
|
7
|
-
import { SkySplitViewAdapterService } from './split-view-adapter.service';
|
|
8
|
-
import { SkySplitViewDrawerComponent } from './split-view-drawer.component';
|
|
9
|
-
import { SkySplitViewService } from './split-view.service';
|
|
10
|
-
import { SkySplitViewMessageType } from './types/split-view-message-type';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "./split-view-adapter.service";
|
|
13
|
-
import * as i2 from "@skyux/core";
|
|
14
|
-
import * as i3 from "./split-view.service";
|
|
15
|
-
import * as i4 from "@angular/common";
|
|
16
|
-
/**
|
|
17
|
-
* Displays a list alongside a workspace where users can view details for selected items
|
|
18
|
-
* and take actions.
|
|
19
|
-
*/
|
|
20
|
-
export class SkySplitViewComponent {
|
|
21
|
-
/**
|
|
22
|
-
* The label for the button that appears in the workspace header in responsive mode.
|
|
23
|
-
* The button returns users to the list.
|
|
24
|
-
* @default "Back to list"
|
|
25
|
-
*/
|
|
26
|
-
set backButtonText(value) {
|
|
27
|
-
if (value) {
|
|
28
|
-
this.#splitViewService.updateBackButtonText(value);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Whether the split view's height is bound to the window height.
|
|
33
|
-
* @default false
|
|
34
|
-
* @deprecated We recommend using the `dock` input instead. An example of this can
|
|
35
|
-
* be found in the developer code examples.
|
|
36
|
-
*/
|
|
37
|
-
set bindHeightToWindow(bindToHeight) {
|
|
38
|
-
this.#_bindHeightToWindow = bindToHeight;
|
|
39
|
-
if (this.#bindHeightToWindowUnsubscribe) {
|
|
40
|
-
this.#bindHeightToWindowUnsubscribe.next();
|
|
41
|
-
this.#bindHeightToWindowUnsubscribe.complete();
|
|
42
|
-
}
|
|
43
|
-
if (bindToHeight) {
|
|
44
|
-
this.#bindHeightToWindowUnsubscribe = new Subject();
|
|
45
|
-
this.#adapter.bindHeightToWindow(this.#elementRef, this.#bindHeightToWindowUnsubscribe);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
get bindHeightToWindow() {
|
|
49
|
-
return this.#_bindHeightToWindow;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* How the split view docks to its container. Use `fill` to dock
|
|
53
|
-
* the split view to the container's size where the container is a `sky-page` component
|
|
54
|
-
* with its `layout` input set to `fit`, or where the container is another element with
|
|
55
|
-
* a relative or absolute position and a fixed size.
|
|
56
|
-
* @default "none"
|
|
57
|
-
*/
|
|
58
|
-
set dock(value) {
|
|
59
|
-
this.#_dock = value || 'none';
|
|
60
|
-
}
|
|
61
|
-
get dock() {
|
|
62
|
-
return this.#_dock;
|
|
63
|
-
}
|
|
64
|
-
set drawerVisible(value) {
|
|
65
|
-
this.#_drawerVisible = value;
|
|
66
|
-
this.#changeDetectorRef.markForCheck();
|
|
67
|
-
}
|
|
68
|
-
get drawerVisible() {
|
|
69
|
-
return !this.isMobile || this.#_drawerVisible;
|
|
70
|
-
}
|
|
71
|
-
get workspaceVisible() {
|
|
72
|
-
return !this.isMobile || !this.#_drawerVisible;
|
|
73
|
-
}
|
|
74
|
-
#animationComplete;
|
|
75
|
-
#bindHeightToWindowUnsubscribe;
|
|
76
|
-
#ngUnsubscribe;
|
|
77
|
-
#adapter;
|
|
78
|
-
#changeDetectorRef;
|
|
79
|
-
#coreAdapterService;
|
|
80
|
-
#elementRef;
|
|
81
|
-
#splitViewService;
|
|
82
|
-
#_bindHeightToWindow;
|
|
83
|
-
#_drawerVisible;
|
|
84
|
-
#_dock;
|
|
85
|
-
constructor(adapter, changeDetectorRef, coreAdapterService, elementRef, splitViewService) {
|
|
86
|
-
/**
|
|
87
|
-
* The observable that sends commands to the split view component.
|
|
88
|
-
* The commands should respect the `SkySplitViewMessage` type.
|
|
89
|
-
*/
|
|
90
|
-
this.messageStream = new Subject();
|
|
91
|
-
this.isMobile = false;
|
|
92
|
-
this.nextButtonDisabled = false;
|
|
93
|
-
this.previousButtonDisabled = false;
|
|
94
|
-
this.#animationComplete = new Subject();
|
|
95
|
-
this.#ngUnsubscribe = new Subject();
|
|
96
|
-
this.#_bindHeightToWindow = false;
|
|
97
|
-
this.#_drawerVisible = true;
|
|
98
|
-
this.#_dock = 'none';
|
|
99
|
-
this.#adapter = adapter;
|
|
100
|
-
this.#changeDetectorRef = changeDetectorRef;
|
|
101
|
-
this.#coreAdapterService = coreAdapterService;
|
|
102
|
-
this.#elementRef = elementRef;
|
|
103
|
-
this.#splitViewService = splitViewService;
|
|
104
|
-
splitViewService.splitViewElementRef = elementRef;
|
|
105
|
-
}
|
|
106
|
-
ngOnInit() {
|
|
107
|
-
this.#splitViewService.isMobileStream
|
|
108
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
109
|
-
.subscribe((mobile) => {
|
|
110
|
-
this.isMobile = mobile;
|
|
111
|
-
this.#changeDetectorRef.markForCheck();
|
|
112
|
-
});
|
|
113
|
-
this.#splitViewService.drawerVisible
|
|
114
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
115
|
-
.subscribe((visible) => {
|
|
116
|
-
this.drawerVisible = visible;
|
|
117
|
-
});
|
|
118
|
-
this.messageStream
|
|
119
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
120
|
-
.subscribe((message) => {
|
|
121
|
-
this.#handleIncomingMessages(message);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
ngOnDestroy() {
|
|
125
|
-
if (this.#bindHeightToWindowUnsubscribe) {
|
|
126
|
-
this.#bindHeightToWindowUnsubscribe.next();
|
|
127
|
-
this.#bindHeightToWindowUnsubscribe.complete();
|
|
128
|
-
}
|
|
129
|
-
this.#ngUnsubscribe.next();
|
|
130
|
-
this.#ngUnsubscribe.complete();
|
|
131
|
-
}
|
|
132
|
-
onWorkspaceEnterComplete() {
|
|
133
|
-
this.#animationComplete.next();
|
|
134
|
-
}
|
|
135
|
-
#applyAutofocus() {
|
|
136
|
-
const applyAutoFocus = this.#coreAdapterService.applyAutoFocus(this.#elementRef);
|
|
137
|
-
/*istanbul ignore else*/
|
|
138
|
-
if (!applyAutoFocus) {
|
|
139
|
-
this.#coreAdapterService.getFocusableChildrenAndApplyFocus(this.#elementRef, '.sky-split-view-workspace-content');
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
#handleIncomingMessages(message) {
|
|
143
|
-
switch (message.type) {
|
|
144
|
-
case SkySplitViewMessageType.FocusWorkspace:
|
|
145
|
-
// If mobile, wait until animation is complete then set focus on workspace panel.
|
|
146
|
-
// Otherwise, just set focus right away.
|
|
147
|
-
if (!this.workspaceVisible) {
|
|
148
|
-
this.drawerVisible = false;
|
|
149
|
-
this.#animationComplete.pipe(take(1)).subscribe(() => {
|
|
150
|
-
this.#applyAutofocus();
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
this.#applyAutofocus();
|
|
155
|
-
}
|
|
156
|
-
this.#changeDetectorRef.markForCheck();
|
|
157
|
-
break;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewComponent, deps: [{ token: i1.SkySplitViewAdapterService }, { token: i0.ChangeDetectorRef }, { token: i2.SkyCoreAdapterService }, { token: i0.ElementRef }, { token: i3.SkySplitViewService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkySplitViewComponent, isStandalone: true, selector: "sky-split-view", inputs: { backButtonText: "backButtonText", bindHeightToWindow: "bindHeightToWindow", dock: "dock", messageStream: "messageStream" }, providers: [SkySplitViewAdapterService, SkySplitViewService], queries: [{ propertyName: "drawerComponent", first: true, predicate: SkySplitViewDrawerComponent, descendants: true }], hostDirectives: [{ directive: i2.SkyResponsiveHostDirective }], ngImport: i0, template: "<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n", styles: [":host{display:block}.sky-split-view{position:relative;display:flex;border:1px solid #cdcfd2;background:transparent;margin:var(--sky-layout-host-content-spacing, 0);max-height:100%}.sky-split-view .sky-split-view-workspace-flex-container{flex-grow:1;flex-shrink:99;overflow:auto}.sky-split-view-dock-fill{position:absolute;inset:0}:host .sky-split-view-drawer-flex-container{width:100%}:host-context(.sky-responsive-container-xs) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:100%}@media (min-width: 768px){:host .sky-split-view-drawer-flex-container{width:auto}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:auto}@media (min-width: 768px){:host :host-context(.sky-theme-modern) .sky-split-view{border-left:none}:host .sky-theme-modern .sky-split-view{border-left:none}}:host-context(.sky-responsive-container-sm) :host-context(.sky-theme-modern) .sky-split-view,:host-context(.sky-responsive-container-md) :host-context(.sky-theme-modern) .sky-split-view,:host-context(.sky-responsive-container-lg) :host-context(.sky-theme-modern) .sky-split-view{border-left:none}:host-context(.sky-responsive-container-sm) .sky-theme-modern .sky-split-view,:host-context(.sky-responsive-container-md) .sky-theme-modern .sky-split-view,:host-context(.sky-responsive-container-lg) .sky-theme-modern .sky-split-view{border-left:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
|
|
162
|
-
trigger('blockAnimationOnLoad', [transition(':enter', [])]),
|
|
163
|
-
trigger('drawerEnter', [
|
|
164
|
-
state('false', style({ transform: 'translate(-100%)' })),
|
|
165
|
-
transition('* => true', animate('150ms ease-in')),
|
|
166
|
-
]),
|
|
167
|
-
trigger('workspaceEnter', [
|
|
168
|
-
state('false', style({ transform: 'translate(100%)' })),
|
|
169
|
-
transition('* => true', animate('150ms ease-in')),
|
|
170
|
-
]),
|
|
171
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
172
|
-
}
|
|
173
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewComponent, decorators: [{
|
|
174
|
-
type: Component,
|
|
175
|
-
args: [{ animations: [
|
|
176
|
-
trigger('blockAnimationOnLoad', [transition(':enter', [])]),
|
|
177
|
-
trigger('drawerEnter', [
|
|
178
|
-
state('false', style({ transform: 'translate(-100%)' })),
|
|
179
|
-
transition('* => true', animate('150ms ease-in')),
|
|
180
|
-
]),
|
|
181
|
-
trigger('workspaceEnter', [
|
|
182
|
-
state('false', style({ transform: 'translate(100%)' })),
|
|
183
|
-
transition('* => true', animate('150ms ease-in')),
|
|
184
|
-
]),
|
|
185
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [SkyResponsiveHostDirective], imports: [CommonModule], providers: [SkySplitViewAdapterService, SkySplitViewService], selector: 'sky-split-view', standalone: true, template: "<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n", styles: [":host{display:block}.sky-split-view{position:relative;display:flex;border:1px solid #cdcfd2;background:transparent;margin:var(--sky-layout-host-content-spacing, 0);max-height:100%}.sky-split-view .sky-split-view-workspace-flex-container{flex-grow:1;flex-shrink:99;overflow:auto}.sky-split-view-dock-fill{position:absolute;inset:0}:host .sky-split-view-drawer-flex-container{width:100%}:host-context(.sky-responsive-container-xs) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:100%}@media (min-width: 768px){:host .sky-split-view-drawer-flex-container{width:auto}}:host-context(.sky-responsive-container-sm) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-md) .sky-split-view-drawer-flex-container,:host-context(.sky-responsive-container-lg) .sky-split-view-drawer-flex-container{width:auto}@media (min-width: 768px){:host :host-context(.sky-theme-modern) .sky-split-view{border-left:none}:host .sky-theme-modern .sky-split-view{border-left:none}}:host-context(.sky-responsive-container-sm) :host-context(.sky-theme-modern) .sky-split-view,:host-context(.sky-responsive-container-md) :host-context(.sky-theme-modern) .sky-split-view,:host-context(.sky-responsive-container-lg) :host-context(.sky-theme-modern) .sky-split-view{border-left:none}:host-context(.sky-responsive-container-sm) .sky-theme-modern .sky-split-view,:host-context(.sky-responsive-container-md) .sky-theme-modern .sky-split-view,:host-context(.sky-responsive-container-lg) .sky-theme-modern .sky-split-view{border-left:none}\n"] }]
|
|
186
|
-
}], ctorParameters: () => [{ type: i1.SkySplitViewAdapterService }, { type: i0.ChangeDetectorRef }, { type: i2.SkyCoreAdapterService }, { type: i0.ElementRef }, { type: i3.SkySplitViewService }], propDecorators: { backButtonText: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], bindHeightToWindow: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], dock: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], messageStream: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}], drawerComponent: [{
|
|
195
|
-
type: ContentChild,
|
|
196
|
-
args: [SkySplitViewDrawerComponent]
|
|
197
|
-
}] } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3BsaXQtdmlldy9zcmMvbGliL21vZHVsZXMvc3BsaXQtdmlldy9zcGxpdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcGxpdC12aWV3L3NyYy9saWIvbW9kdWxlcy9zcGxpdC12aWV3L3NwbGl0LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXlCLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUczRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7O0FBRTFFOzs7R0FHRztBQXNCSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDOzs7O09BSUc7SUFDSCxJQUNXLGNBQWMsQ0FBQyxL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RHhCLEtBQUs7Z0JBY0ssa0JBQWtCO3NCQUQ1QixLQUFLO2dCQThCSyxJQUFJO3NCQURkLEtBQUs7Z0JBY0MsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixZQUFZO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUNvcmVBZGFwdGVyU2VydmljZSwgU2t5UmVzcG9uc2l2ZUhvc3REaXJlY3RpdmUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5U3BsaXRWaWV3QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3NwbGl0LXZpZXctYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVNwbGl0Vmlld0RyYXdlckNvbXBvbmVudCB9IGZyb20gJy4vc3BsaXQtdmlldy1kcmF3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVNwbGl0Vmlld1NlcnZpY2UgfSBmcm9tICcuL3NwbGl0LXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lTcGxpdFZpZXdEb2NrVHlwZSB9IGZyb20gJy4vdHlwZXMvc3BsaXQtdmlldy1kb2NrLXR5cGUnO1xuaW1wb3J0IHsgU2t5U3BsaXRWaWV3TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvc3BsaXQtdmlldy1tZXNzYWdlJztcbmltcG9ydCB7IFNreVNwbGl0Vmlld01lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy9zcGxpdC12aWV3LW1lc3NhZ2UtdHlwZSc7XG5cbi8qKlxuICogRGlzcGxheXMgYSBsaXN0IGFsb25nc2lkZSBhIHdvcmtzcGFjZSB3aGVyZSB1c2VycyBjYW4gdmlldyBkZXRhaWxzIGZvciBzZWxlY3RlZCBpdGVtc1xuICogYW5kIHRha2UgYWN0aW9ucy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdibG9ja0FuaW1hdGlvbk9uTG9hZCcsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXSldKSxcbiAgICB0cmlnZ2VyKCdkcmF3ZXJFbnRlcicsIFtcbiAgICAgIHN0YXRlKCdmYWxzZScsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlKC0xMDAlKScgfSkpLFxuICAgICAgdHJhbnNpdGlvbignKiA9PiB0cnVlJywgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCd3b3Jrc3BhY2VFbnRlcicsIFtcbiAgICAgIHN0YXRlKCdmYWxzZScsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlKDEwMCUpJyB9KSksXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IHRydWUnLCBhbmltYXRlKCcxNTBtcyBlYXNlLWluJykpLFxuICAgIF0pLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtTa3lTcGxpdFZpZXdBZGFwdGVyU2VydmljZSwgU2t5U3BsaXRWaWV3U2VydmljZV0sXG4gIHNlbGVjdG9yOiAnc2t5LXNwbGl0LXZpZXcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZVVybDogJy4vc3BsaXQtdmlldy5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGxpdC12aWV3LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U3BsaXRWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogVGhlIGxhYmVsIGZvciB0aGUgYnV0dG9uIHRoYXQgYXBwZWFycyBpbiB0aGUgd29ya3NwYWNlIGhlYWRlciBpbiByZXNwb25zaXZlIG1vZGUuXG4gICAqIFRoZSBidXR0b24gcmV0dXJucyB1c2VycyB0byB0aGUgbGlzdC5cbiAgICogQGRlZmF1bHQgXCJCYWNrIHRvIGxpc3RcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBiYWNrQnV0dG9uVGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNzcGxpdFZpZXdTZXJ2aWNlLnVwZGF0ZUJhY2tCdXR0b25UZXh0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc3BsaXQgdmlldydzIGhlaWdodCBpcyBib3VuZCB0byB0aGUgd2luZG93IGhlaWdodC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGRlcHJlY2F0ZWQgV2UgcmVjb21tZW5kIHVzaW5nIHRoZSBgZG9ja2AgaW5wdXQgaW5zdGVhZC4gQW4gZXhhbXBsZSBvZiB0aGlzIGNhblxuICAgKiBiZSBmb3VuZCBpbiB0aGUgZGV2ZWxvcGVyIGNvZGUgZXhhbXBsZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGJpbmRIZWlnaHRUb1dpbmRvdyhiaW5kVG9IZWlnaHQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNfYmluZEhlaWdodFRvV2luZG93ID0gYmluZFRvSGVpZ2h0O1xuXG4gICAgaWYgKHRoaXMuI2JpbmRIZWlnaHRUb1dpbmRvd1Vuc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLiNiaW5kSGVpZ2h0VG9XaW5kb3dVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICB0aGlzLiNiaW5kSGVpZ2h0VG9XaW5kb3dVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGlmIChiaW5kVG9IZWlnaHQpIHtcbiAgICAgIHRoaXMuI2JpbmRIZWlnaHRUb1dpbmRvd1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgICAgIHRoaXMuI2FkYXB0ZXIuYmluZEhlaWdodFRvV2luZG93KFxuICAgICAgICB0aGlzLiNlbGVtZW50UmVmLFxuICAgICAgICB0aGlzLiNiaW5kSGVpZ2h0VG9XaW5kb3dVbnN1YnNjcmliZSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBiaW5kSGVpZ2h0VG9XaW5kb3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19iaW5kSGVpZ2h0VG9XaW5kb3c7XG4gIH1cblxuICAvKipcbiAgICogSG93IHRoZSBzcGxpdCB2aWV3IGRvY2tzIHRvIGl0cyBjb250YWluZXIuIFVzZSBgZmlsbGAgdG8gZG9ja1xuICAgKiB0aGUgc3BsaXQgdmlldyB0byB0aGUgY29udGFpbmVyJ3Mgc2l6ZSB3aGVyZSB0aGUgY29udGFpbmVyIGlzIGEgYHNreS1wYWdlYCBjb21wb25lbnRcbiAgICogd2l0aCBpdHMgYGxheW91dGAgaW5wdXQgc2V0IHRvIGBmaXRgLCBvciB3aGVyZSB0aGUgY29udGFpbmVyIGlzIGFub3RoZXIgZWxlbWVudCB3aXRoXG4gICAqIGEgcmVsYXRpdmUgb3IgYWJzb2x1dGUgcG9zaXRpb24gYW5kIGEgZml4ZWQgc2l6ZS5cbiAgICogQGRlZmF1bHQgXCJub25lXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZG9jayh2YWx1ZTogU2t5U3BsaXRWaWV3RG9ja1R5cGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZG9jayA9IHZhbHVlIHx8ICdub25lJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZG9jaygpOiBTa3lTcGxpdFZpZXdEb2NrVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuI19kb2NrO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBvYnNlcnZhYmxlIHRoYXQgc2VuZHMgY29tbWFuZHMgdG8gdGhlIHNwbGl0IHZpZXcgY29tcG9uZW50LlxuICAgKiBUaGUgY29tbWFuZHMgc2hvdWxkIHJlc3BlY3QgdGhlIGBTa3lTcGxpdFZpZXdNZXNzYWdlYCB0eXBlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1lc3NhZ2VTdHJlYW0gPSBuZXcgU3ViamVjdDxTa3lTcGxpdFZpZXdNZXNzYWdlPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoU2t5U3BsaXRWaWV3RHJhd2VyQ29tcG9uZW50KVxuICBwdWJsaWMgZHJhd2VyQ29tcG9uZW50OiBTa3lTcGxpdFZpZXdEcmF3ZXJDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHNldCBkcmF3ZXJWaXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jX2RyYXdlclZpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZHJhd2VyVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNNb2JpbGUgfHwgdGhpcy4jX2RyYXdlclZpc2libGU7XG4gIH1cblxuICBwdWJsaWMgaXNNb2JpbGUgPSBmYWxzZTtcbiAgcHVibGljIG5leHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICBwdWJsaWMgcHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgd29ya3NwYWNlVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNNb2JpbGUgfHwgIXRoaXMuI19kcmF3ZXJWaXNpYmxlO1xuICB9XG5cbiAgI2FuaW1hdGlvbkNvbXBsZXRlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI2JpbmRIZWlnaHRUb1dpbmRvd1Vuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+IHwgdW5kZWZpbmVkO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNhZGFwdGVyOiBTa3lTcGxpdFZpZXdBZGFwdGVyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2NvcmVBZGFwdGVyU2VydmljZTogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI3NwbGl0Vmlld1NlcnZpY2U6IFNreVNwbGl0Vmlld1NlcnZpY2U7XG5cbiAgI19iaW5kSGVpZ2h0VG9XaW5kb3cgPSBmYWxzZTtcbiAgI19kcmF3ZXJWaXNpYmxlID0gdHJ1ZTtcbiAgI19kb2NrOiBTa3lTcGxpdFZpZXdEb2NrVHlwZSA9ICdub25lJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhZGFwdGVyOiBTa3lTcGxpdFZpZXdBZGFwdGVyU2VydmljZSxcbiAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgY29yZUFkYXB0ZXJTZXJ2aWNlOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBzcGxpdFZpZXdTZXJ2aWNlOiBTa3lTcGxpdFZpZXdTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLiNhZGFwdGVyID0gYWRhcHRlcjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZiA9IGNoYW5nZURldGVjdG9yUmVmO1xuICAgIHRoaXMuI2NvcmVBZGFwdGVyU2VydmljZSA9IGNvcmVBZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiNzcGxpdFZpZXdTZXJ2aWNlID0gc3BsaXRWaWV3U2VydmljZTtcblxuICAgIHNwbGl0Vmlld1NlcnZpY2Uuc3BsaXRWaWV3RWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jc3BsaXRWaWV3U2VydmljZS5pc01vYmlsZVN0cmVhbVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobW9iaWxlOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBtb2JpbGU7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiNzcGxpdFZpZXdTZXJ2aWNlLmRyYXdlclZpc2libGVcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZpc2libGU6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgdGhpcy5kcmF3ZXJWaXNpYmxlID0gdmlzaWJsZTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5tZXNzYWdlU3RyZWFtXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lTcGxpdFZpZXdNZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMuI2hhbmRsZUluY29taW5nTWVzc2FnZXMobWVzc2FnZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jYmluZEhlaWdodFRvV2luZG93VW5zdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuI2JpbmRIZWlnaHRUb1dpbmRvd1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgIHRoaXMuI2JpbmRIZWlnaHRUb1dpbmRvd1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uV29ya3NwYWNlRW50ZXJDb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNhbmltYXRpb25Db21wbGV0ZS5uZXh0KCk7XG4gIH1cblxuICAjYXBwbHlBdXRvZm9jdXMoKTogdm9pZCB7XG4gICAgY29uc3QgYXBwbHlBdXRvRm9jdXMgPSB0aGlzLiNjb3JlQWRhcHRlclNlcnZpY2UuYXBwbHlBdXRvRm9jdXMoXG4gICAgICB0aGlzLiNlbGVtZW50UmVmLFxuICAgICk7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKCFhcHBseUF1dG9Gb2N1cykge1xuICAgICAgdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuQW5kQXBwbHlGb2N1cyhcbiAgICAgICAgdGhpcy4jZWxlbWVudFJlZixcbiAgICAgICAgJy5za3ktc3BsaXQtdmlldy13b3Jrc3BhY2UtY29udGVudCcsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICNoYW5kbGVJbmNvbWluZ01lc3NhZ2VzKG1lc3NhZ2U6IFNreVNwbGl0Vmlld01lc3NhZ2UpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgY2FzZSBTa3lTcGxpdFZpZXdNZXNzYWdlVHlwZS5Gb2N1c1dvcmtzcGFjZTpcbiAgICAgICAgLy8gSWYgbW9iaWxlLCB3YWl0IHVudGlsIGFuaW1hdGlvbiBpcyBjb21wbGV0ZSB0aGVuIHNldCBmb2N1cyBvbiB3b3Jrc3BhY2UgcGFuZWwuXG4gICAgICAgIC8vIE90aGVyd2lzZSwganVzdCBzZXQgZm9jdXMgcmlnaHQgYXdheS5cbiAgICAgICAgaWYgKCF0aGlzLndvcmtzcGFjZVZpc2libGUpIHtcbiAgICAgICAgICB0aGlzLmRyYXdlclZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLiNhbmltYXRpb25Db21wbGV0ZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiNhcHBseUF1dG9mb2N1cygpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuI2FwcGx5QXV0b2ZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1zcGxpdC12aWV3XCJcbiAgW25nQ2xhc3NdPVwiJ3NreS1zcGxpdC12aWV3LWRvY2stJyArIGRvY2tcIlxuICBbQGJsb2NrQW5pbWF0aW9uT25Mb2FkXVxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktc3BsaXQtdmlldy1kcmF3ZXItZmxleC1jb250YWluZXJcIlxuICAgIFtoaWRkZW5dPVwiIWRyYXdlclZpc2libGVcIlxuICAgIFtAZHJhd2VyRW50ZXJdPVwiZHJhd2VyVmlzaWJsZVwiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktc3BsaXQtdmlldy1kcmF3ZXJcIiAvPlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktc3BsaXQtdmlldy13b3Jrc3BhY2UtZmxleC1jb250YWluZXJcIlxuICAgIFtoaWRkZW5dPVwiIXdvcmtzcGFjZVZpc2libGVcIlxuICAgIFtAd29ya3NwYWNlRW50ZXJdPVwid29ya3NwYWNlVmlzaWJsZVwiXG4gICAgKEB3b3Jrc3BhY2VFbnRlci5kb25lKT1cIm9uV29ya3NwYWNlRW50ZXJDb21wbGV0ZSgpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1zcGxpdC12aWV3LXdvcmtzcGFjZVwiIC8+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { SkySplitViewDrawerComponent } from './split-view-drawer.component';
|
|
3
|
-
import { SkySplitViewWorkspaceContentComponent } from './split-view-workspace-content.component';
|
|
4
|
-
import { SkySplitViewWorkspaceFooterComponent } from './split-view-workspace-footer.component';
|
|
5
|
-
import { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';
|
|
6
|
-
import { SkySplitViewWorkspaceComponent } from './split-view-workspace.component';
|
|
7
|
-
import { SkySplitViewComponent } from './split-view.component';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class SkySplitViewModule {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
|
|
12
|
-
SkySplitViewDrawerComponent,
|
|
13
|
-
SkySplitViewWorkspaceComponent,
|
|
14
|
-
SkySplitViewWorkspaceContentComponent,
|
|
15
|
-
SkySplitViewWorkspaceFooterComponent,
|
|
16
|
-
SkySplitViewWorkspaceHeaderComponent], exports: [SkySplitViewComponent,
|
|
17
|
-
SkySplitViewDrawerComponent,
|
|
18
|
-
SkySplitViewWorkspaceComponent,
|
|
19
|
-
SkySplitViewWorkspaceContentComponent,
|
|
20
|
-
SkySplitViewWorkspaceFooterComponent,
|
|
21
|
-
SkySplitViewWorkspaceHeaderComponent] }); }
|
|
22
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewModule, imports: [SkySplitViewComponent,
|
|
23
|
-
SkySplitViewDrawerComponent,
|
|
24
|
-
SkySplitViewWorkspaceComponent,
|
|
25
|
-
SkySplitViewWorkspaceHeaderComponent] }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySplitViewModule, decorators: [{
|
|
28
|
-
type: NgModule,
|
|
29
|
-
args: [{
|
|
30
|
-
imports: [
|
|
31
|
-
SkySplitViewComponent,
|
|
32
|
-
SkySplitViewDrawerComponent,
|
|
33
|
-
SkySplitViewWorkspaceComponent,
|
|
34
|
-
SkySplitViewWorkspaceContentComponent,
|
|
35
|
-
SkySplitViewWorkspaceFooterComponent,
|
|
36
|
-
SkySplitViewWorkspaceHeaderComponent,
|
|
37
|
-
],
|
|
38
|
-
exports: [
|
|
39
|
-
SkySplitViewComponent,
|
|
40
|
-
SkySplitViewDrawerComponent,
|
|
41
|
-
SkySplitViewWorkspaceComponent,
|
|
42
|
-
SkySplitViewWorkspaceContentComponent,
|
|
43
|
-
SkySplitViewWorkspaceFooterComponent,
|
|
44
|
-
SkySplitViewWorkspaceHeaderComponent,
|
|
45
|
-
],
|
|
46
|
-
}]
|
|
47
|
-
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtdmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3BsaXQtdmlldy9zcmMvbGliL21vZHVsZXMvc3BsaXQtdmlldy9zcGxpdC12aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9GLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQW9CL0QsTUFBTSxPQUFPLGtCQUFrQjsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsWUFoQjNCLHFCQUFxQjtZQUNyQiwyQkFBMkI7WUFDM0IsOEJBQThCO1lBQzlCLHFDQUFxQztZQUNyQyxvQ0FBb0M7WUFDcEMsb0NBQW9DLGFBR3BDLHFCQUFxQjtZQUNyQiwyQkFBMkI7WUFDM0IsOEJBQThCO1lBQzlCLHFDQUFxQztZQUNyQyxvQ0FBb0M7WUFDcEMsb0NBQW9DO2dIQUczQixrQkFBa0IsWUFoQjNCLHFCQUFxQjtZQUNyQiwyQkFBMkI7WUFDM0IsOEJBQThCO1lBRzlCLG9DQUFvQzs7NEZBVzNCLGtCQUFrQjtrQkFsQjlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjt3QkFDckIsMkJBQTJCO3dCQUMzQiw4QkFBOEI7d0JBQzlCLHFDQUFxQzt3QkFDckMsb0NBQW9DO3dCQUNwQyxvQ0FBb0M7cUJBQ3JDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7d0JBQ3JCLDJCQUEyQjt3QkFDM0IsOEJBQThCO3dCQUM5QixxQ0FBcUM7d0JBQ3JDLG9DQUFvQzt3QkFDcEMsb0NBQW9DO3FCQUNyQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVNwbGl0Vmlld0RyYXdlckNvbXBvbmVudCB9IGZyb20gJy4vc3BsaXQtdmlldy1kcmF3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVNwbGl0Vmlld1dvcmtzcGFjZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3NwbGl0LXZpZXctd29ya3NwYWNlLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVNwbGl0Vmlld1dvcmtzcGFjZUZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vc3BsaXQtdmlldy13b3Jrc3BhY2UtZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lTcGxpdFZpZXdXb3Jrc3BhY2VIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3NwbGl0LXZpZXctd29ya3NwYWNlLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5U3BsaXRWaWV3V29ya3NwYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9zcGxpdC12aWV3LXdvcmtzcGFjZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5U3BsaXRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9zcGxpdC12aWV3LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTa3lTcGxpdFZpZXdDb21wb25lbnQsXG4gICAgU2t5U3BsaXRWaWV3RHJhd2VyQ29tcG9uZW50LFxuICAgIFNreVNwbGl0Vmlld1dvcmtzcGFjZUNvbXBvbmVudCxcbiAgICBTa3lTcGxpdFZpZXdXb3Jrc3BhY2VDb250ZW50Q29tcG9uZW50LFxuICAgIFNreVNwbGl0Vmlld1dvcmtzcGFjZUZvb3RlckNvbXBvbmVudCxcbiAgICBTa3lTcGxpdFZpZXdXb3Jrc3BhY2VIZWFkZXJDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lTcGxpdFZpZXdDb21wb25lbnQsXG4gICAgU2t5U3BsaXRWaWV3RHJhd2VyQ29tcG9uZW50LFxuICAgIFNreVNwbGl0Vmlld1dvcmtzcGFjZUNvbXBvbmVudCxcbiAgICBTa3lTcGxpdFZpZXdXb3Jrc3BhY2VDb250ZW50Q29tcG9uZW50LFxuICAgIFNreVNwbGl0Vmlld1dvcmtzcGFjZUZvb3RlckNvbXBvbmVudCxcbiAgICBTa3lTcGxpdFZpZXdXb3Jrc3BhY2VIZWFkZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVNwbGl0Vmlld01vZHVsZSB7fVxuIl19
|