@ngutil/layout 0.0.3-dev.1 → 0.0.3-dev.7
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/docking/docking-content.component.d.ts +5 -0
- package/docking/docking-layout.component.d.ts +24 -0
- package/docking/docking-panel.component.d.ts +39 -0
- package/docking/index.d.ts +13 -0
- package/esm2022/docking/docking-content.component.mjs +11 -0
- package/esm2022/docking/docking-layout.component.mjs +265 -0
- package/esm2022/docking/docking-panel.component.mjs +148 -0
- package/esm2022/docking/index.mjs +20 -0
- package/esm2022/index.mjs +4 -0
- package/esm2022/l9/index.mjs +3 -0
- package/esm2022/l9/range.mjs +109 -0
- package/esm2022/l9/state.mjs +29 -0
- package/esm2022/ngutil-layout.mjs +5 -0
- package/esm2022/util/dimension-watcher.mjs +83 -0
- package/esm2022/util/dimension.mjs +2 -0
- package/esm2022/util/dom.mjs +71 -0
- package/esm2022/util/index.mjs +4 -0
- package/esm2022/util/media-watcher.mjs +29 -0
- package/esm2022/util/rect.mjs +2 -0
- package/fesm2022/ngutil-layout.mjs +747 -0
- package/fesm2022/ngutil-layout.mjs.map +1 -0
- package/index.d.ts +3 -0
- package/l9/index.d.ts +2 -0
- package/l9/range.d.ts +28 -0
- package/l9/state.d.ts +14 -0
- package/package.json +18 -5
- package/util/dimension-watcher.d.ts +4 -0
- package/util/dimension.d.ts +5 -0
- package/util/dom.d.ts +17 -0
- package/util/index.d.ts +5 -0
- package/util/media-watcher.d.ts +5 -0
- package/util/rect.d.ts +5 -0
- package/.eslintrc.json +0 -25
- package/.storybook/main.ts +0 -16
- package/.storybook/preview.ts +0 -0
- package/.storybook/tsconfig.json +0 -16
- package/jest.config.ts +0 -22
- package/ng-package.json +0 -7
- package/project.json +0 -73
- package/src/index.ts +0 -1
- package/src/lib/layout/layout.component.scss +0 -0
- package/src/lib/layout/layout.component.spec.ts +0 -22
- package/src/lib/layout/layout.component.stories.ts +0 -24
- package/src/lib/layout/layout.component.ts +0 -11
- package/src/test-setup.ts +0 -9
- package/tsconfig.json +0 -32
- package/tsconfig.lib.json +0 -19
- package/tsconfig.lib.prod.json +0 -9
- package/tsconfig.spec.json +0 -11
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class DockingContentComponent {
|
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DockingContentComponent, never>;
|
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DockingContentComponent, "nu-docking-content", never, {}, {}, never, ["*"], true, never>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AfterViewInit, OnChanges, QueryList, SimpleChanges } from "@angular/core";
|
|
2
|
+
import { Observable } from "rxjs";
|
|
3
|
+
import { Destructible } from "@ngutil/common";
|
|
4
|
+
import { DockingContentComponent } from "./docking-content.component";
|
|
5
|
+
import { DockingPanelComponent } from "./docking-panel.component";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
type DockingVerticalPosition = "top" | "middle" | "bottom";
|
|
8
|
+
type DockingHorizontalPositon = "left" | "center" | "right";
|
|
9
|
+
type DockingPosition = `${DockingVerticalPosition}:${DockingHorizontalPositon}`;
|
|
10
|
+
export type DockingRange = DockingVerticalPosition | DockingHorizontalPositon | DockingPosition | `${DockingPosition}-${DockingPosition}`;
|
|
11
|
+
export type DockingPositionMode = "absolute" | "fixed";
|
|
12
|
+
export declare class DockingLayoutComponent extends Destructible implements AfterViewInit, OnChanges {
|
|
13
|
+
#private;
|
|
14
|
+
contentOnly: boolean;
|
|
15
|
+
positionMode: DockingPositionMode;
|
|
16
|
+
contentComponent?: DockingContentComponent;
|
|
17
|
+
dockingPanels: QueryList<DockingPanelComponent>;
|
|
18
|
+
readonly panels: Observable<Array<DockingPanelComponent>>;
|
|
19
|
+
ngAfterViewInit(): void;
|
|
20
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DockingLayoutComponent, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DockingLayoutComponent, "nu-docking", never, { "contentOnly": { "alias": "contentOnly"; "required": false; }; "positionMode": { "alias": "positionMode"; "required": false; }; }, {}, ["contentComponent", "dockingPanels"], ["nu-docking-panel", "*", "nu-docking-content"], true, never>;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ElementRef } from "@angular/core";
|
|
2
|
+
import { BehaviorSubject, Observable } from "rxjs";
|
|
3
|
+
import { BooleanInput, Destructible, NumberWithUnit, NumberWithUnitInput } from "@ngutil/common";
|
|
4
|
+
import { L9Range, L9RangeName } from "../l9/range";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export type DockingPanelState = "full" | "mini" | "invisible";
|
|
7
|
+
export type DockingPanelMode = "overlay" | "embedded";
|
|
8
|
+
export declare class DockingPanelComponent extends Destructible {
|
|
9
|
+
#private;
|
|
10
|
+
readonly el: ElementRef<any>;
|
|
11
|
+
set positionInput(val: L9Range | L9RangeName);
|
|
12
|
+
readonly position: BehaviorSubject<L9Range>;
|
|
13
|
+
set stateInput(val: DockingPanelState);
|
|
14
|
+
readonly state: BehaviorSubject<DockingPanelState>;
|
|
15
|
+
set modeInput(val: DockingPanelMode);
|
|
16
|
+
readonly mode: BehaviorSubject<DockingPanelMode>;
|
|
17
|
+
set fullSizeInput(val: NumberWithUnitInput);
|
|
18
|
+
set miniSizeInput(val: NumberWithUnitInput);
|
|
19
|
+
set minimizable(val: BooleanInput);
|
|
20
|
+
get minimizable(): boolean;
|
|
21
|
+
readonly fullSize: Observable<NumberWithUnit>;
|
|
22
|
+
readonly miniSize: Observable<NumberWithUnit>;
|
|
23
|
+
readonly changes: Observable<{
|
|
24
|
+
position: L9Range;
|
|
25
|
+
state: DockingPanelState;
|
|
26
|
+
mode: DockingPanelMode;
|
|
27
|
+
fullSize: NumberWithUnit;
|
|
28
|
+
miniSize: NumberWithUnit;
|
|
29
|
+
}>;
|
|
30
|
+
constructor();
|
|
31
|
+
open(): void;
|
|
32
|
+
close(): void;
|
|
33
|
+
minimize(): void;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DockingPanelComponent, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DockingPanelComponent, "nu-docking-panel", ["nuDockingPanel"], { "positionInput": { "alias": "position"; "required": false; }; "stateInput": { "alias": "state"; "required": false; }; "modeInput": { "alias": "mode"; "required": false; }; "fullSizeInput": { "alias": "fullSize"; "required": false; }; "miniSizeInput": { "alias": "miniSize"; "required": false; }; "minimizable": { "alias": "minimizable"; "required": false; }; }, { "state": "stateChanges"; }, never, ["*"], true, never>;
|
|
36
|
+
}
|
|
37
|
+
type ChangesObservable = typeof DockingPanelComponent.prototype.changes;
|
|
38
|
+
export type DockingPanelChanges = ChangesObservable extends Observable<infer T> ? T : never;
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DockingContentComponent } from "./docking-content.component";
|
|
2
|
+
import { DockingLayoutComponent } from "./docking-layout.component";
|
|
3
|
+
import { DockingPanelComponent } from "./docking-panel.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./docking-layout.component";
|
|
6
|
+
import * as i2 from "./docking-panel.component";
|
|
7
|
+
import * as i3 from "./docking-content.component";
|
|
8
|
+
export { DockingLayoutComponent, DockingPanelComponent, DockingContentComponent };
|
|
9
|
+
export declare class NuDockingLayout {
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NuDockingLayout, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NuDockingLayout, never, [typeof i1.DockingLayoutComponent, typeof i2.DockingPanelComponent, typeof i3.DockingContentComponent], [typeof i1.DockingLayoutComponent, typeof i2.DockingPanelComponent, typeof i3.DockingContentComponent]>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<NuDockingLayout>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DockingContentComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DockingContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: DockingContentComponent, isStandalone: true, selector: "nu-docking-content", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{display:flex;flex-flow:column nowrap;align-items:stretch;box-sizing:border-box;flex:1;overflow:auto}\n"] }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DockingContentComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ standalone: true, selector: "nu-docking-content", template: `<ng-content></ng-content>`, styles: [":host{display:flex;flex-flow:column nowrap;align-items:stretch;box-sizing:border-box;flex:1;overflow:auto}\n"] }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2luZy1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2xheW91dC9zcmMvZG9ja2luZy9kb2NraW5nLWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBUXpDLE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDhFQUZ0QiwyQkFBMkI7OzJGQUU1Qix1QkFBdUI7a0JBTm5DLFNBQVM7aUNBQ00sSUFBSSxZQUNOLG9CQUFvQixZQUVwQiwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6IFwibnUtZG9ja2luZy1jb250ZW50XCIsXG4gICAgc3R5bGVVcmw6IFwiLi9kb2NraW5nLWNvbnRlbnQuY29tcG9uZW50LnNjc3NcIixcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIERvY2tpbmdDb250ZW50Q29tcG9uZW50IHt9XG4iXX0=
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, ElementRef, inject, Input, QueryList } from "@angular/core";
|
|
2
|
+
import { combineLatest, map, shareReplay, startWith, Subject, switchMap } from "rxjs";
|
|
3
|
+
import { Destructible, NumberWithUnit } from "@ngutil/common";
|
|
4
|
+
import { FastDOM } from "../util";
|
|
5
|
+
import { DockingContentComponent } from "./docking-content.component";
|
|
6
|
+
import { DockingPanelComponent } from "./docking-panel.component";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
const EMBEDDED_ZINDEX = 20;
|
|
9
|
+
const OVERLAY_ZINDEX = EMBEDDED_ZINDEX * 2;
|
|
10
|
+
// interface PanelRefChanges {
|
|
11
|
+
// ref: PanelRef
|
|
12
|
+
// changes: DockingPanelChanges
|
|
13
|
+
// }
|
|
14
|
+
// class PanelRef {
|
|
15
|
+
// style: Partial<CSSStyleDeclaration> = {}
|
|
16
|
+
// readonly changes: Observable<PanelRefChanges>
|
|
17
|
+
// constructor(public readonly panel: DockingPanelDirective) {
|
|
18
|
+
// this.changes = panel.changes.pipe(
|
|
19
|
+
// map(changes => {
|
|
20
|
+
// return { ref: this, changes }
|
|
21
|
+
// })
|
|
22
|
+
// )
|
|
23
|
+
// }
|
|
24
|
+
// }
|
|
25
|
+
export class DockingLayoutComponent extends Destructible {
|
|
26
|
+
constructor() {
|
|
27
|
+
super(...arguments);
|
|
28
|
+
this.#el = inject((ElementRef));
|
|
29
|
+
this.contentOnly = false;
|
|
30
|
+
this.positionMode = "absolute";
|
|
31
|
+
this.#reflow = new Subject();
|
|
32
|
+
}
|
|
33
|
+
#el;
|
|
34
|
+
#reflow;
|
|
35
|
+
ngAfterViewInit() {
|
|
36
|
+
// eslint-disable-next-line prettier/prettier
|
|
37
|
+
this.panels = this.dockingPanels.changes.pipe(startWith(null), map(() => this.dockingPanels.toArray()), shareReplay(1));
|
|
38
|
+
// this.panels.subscribe(panels => console.log({ panels }))
|
|
39
|
+
this.d
|
|
40
|
+
.sub(combineLatest({ panels: this.panels, reflow: this.#reflow.pipe(startWith(null)) }))
|
|
41
|
+
.pipe(switchMap(({ panels }) => combineLatest(panels.map(panel => panel.changes.pipe(map(changes => {
|
|
42
|
+
return { panel, changes };
|
|
43
|
+
}))))))
|
|
44
|
+
.subscribe(this.#layout.bind(this));
|
|
45
|
+
// this.d
|
|
46
|
+
// .sub(merge(this.dockingPanels.changes, this.#reflow))
|
|
47
|
+
// .pipe(
|
|
48
|
+
// startWith(null),
|
|
49
|
+
// map(() => this.dockingPanels.map(panel => new PanelRef(panel))),
|
|
50
|
+
// switchMap(refs => combineLatest(refs.map(ref => ref.changes))),
|
|
51
|
+
// map(changes => {
|
|
52
|
+
// this.#layout(changes)
|
|
53
|
+
// return changes.map(c => c.ref)
|
|
54
|
+
// })
|
|
55
|
+
// )
|
|
56
|
+
// .subscribe(this.panels)
|
|
57
|
+
}
|
|
58
|
+
ngOnChanges(changes) {
|
|
59
|
+
if ("contentOnly" in changes || "positionMode" in changes) {
|
|
60
|
+
this.#reflow.next();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
#layout(entries) {
|
|
64
|
+
console.log("layout", entries);
|
|
65
|
+
let paddingTop = 0;
|
|
66
|
+
let paddingRight = 0;
|
|
67
|
+
let paddingBottom = 0;
|
|
68
|
+
let paddingLeft = 0;
|
|
69
|
+
let embeddedZIndex = EMBEDDED_ZINDEX;
|
|
70
|
+
let overlayZIndex = OVERLAY_ZINDEX;
|
|
71
|
+
if (this.contentOnly) {
|
|
72
|
+
// TODO:...
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
for (const entry of entries) {
|
|
76
|
+
const panelState = entry.changes;
|
|
77
|
+
const panelSize = panelState.state === "full"
|
|
78
|
+
? panelState.fullSize.value
|
|
79
|
+
: panelState.state === "mini"
|
|
80
|
+
? panelState.miniSize.value
|
|
81
|
+
: 0;
|
|
82
|
+
const isHorizontal = panelState.position.orient === "horizontal";
|
|
83
|
+
const isEmbedded = panelState.mode === "embedded";
|
|
84
|
+
let panelTop = null;
|
|
85
|
+
let panelRight = null;
|
|
86
|
+
let panelBottom = null;
|
|
87
|
+
let panelLeft = null;
|
|
88
|
+
if (isHorizontal) {
|
|
89
|
+
panelLeft = 0;
|
|
90
|
+
panelRight = 0;
|
|
91
|
+
if (panelState.position.cells[0].v === "top") {
|
|
92
|
+
if (isEmbedded) {
|
|
93
|
+
paddingTop = Math.max(paddingTop, panelSize);
|
|
94
|
+
}
|
|
95
|
+
panelTop = 0;
|
|
96
|
+
}
|
|
97
|
+
else if (panelState.position.cells[0].v === "bottom") {
|
|
98
|
+
if (isEmbedded) {
|
|
99
|
+
paddingBottom = Math.max(paddingBottom, panelSize);
|
|
100
|
+
}
|
|
101
|
+
panelBottom = 0;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
panelTop = 0;
|
|
106
|
+
panelBottom = 0;
|
|
107
|
+
if (panelState.position.cells[0].h === "left") {
|
|
108
|
+
if (isEmbedded) {
|
|
109
|
+
paddingLeft = Math.max(paddingLeft, panelSize);
|
|
110
|
+
}
|
|
111
|
+
panelLeft = 0;
|
|
112
|
+
}
|
|
113
|
+
else if (panelState.position.cells[0].h === "right") {
|
|
114
|
+
if (isEmbedded) {
|
|
115
|
+
paddingRight = Math.max(paddingRight, panelSize);
|
|
116
|
+
}
|
|
117
|
+
panelRight = 0;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
const panelGivenSize = panelState.state === "full"
|
|
121
|
+
? panelState.fullSize
|
|
122
|
+
: panelState.state === "mini"
|
|
123
|
+
? panelState.miniSize
|
|
124
|
+
: new NumberWithUnit(0, "px");
|
|
125
|
+
FastDOM.setStyle(entry.panel.el.nativeElement, {
|
|
126
|
+
"z-index": `${isEmbedded ? embeddedZIndex++ : overlayZIndex++}`,
|
|
127
|
+
"--docking-panel-t": panelTop != null ? `${panelTop}px` : null,
|
|
128
|
+
"--docking-panel-r": panelRight != null ? `${panelRight}px` : null,
|
|
129
|
+
"--docking-panel-b": panelBottom != null ? `${panelBottom}px` : null,
|
|
130
|
+
"--docking-panel-l": panelLeft != null ? `${panelLeft}px` : null,
|
|
131
|
+
"--docking-panel-w": !isHorizontal
|
|
132
|
+
? `${panelGivenSize.unit === "auto" ? "auto" : panelGivenSize}`
|
|
133
|
+
: null,
|
|
134
|
+
"--docking-panel-h": isHorizontal
|
|
135
|
+
? `${panelGivenSize.unit === "auto" ? "auto" : panelGivenSize}`
|
|
136
|
+
: null,
|
|
137
|
+
"--docking-panel-real-w": !isHorizontal ? `${panelSize}px` : null,
|
|
138
|
+
"--docking-panel-real-h": isHorizontal ? `${panelSize}px` : null
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
console.log({ paddingTop, paddingRight, paddingBottom, paddingLeft });
|
|
142
|
+
FastDOM.setStyle(this.#el.nativeElement, {
|
|
143
|
+
"--docking-layout-top": `${paddingTop}px`,
|
|
144
|
+
"--docking-layout-right": `${paddingRight}px`,
|
|
145
|
+
"--docking-layout-bottom": `${paddingBottom}px`,
|
|
146
|
+
"--docking-layout-left": `${paddingLeft}px`
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
#layoutOld(entries) {
|
|
151
|
+
// let paddingTop = 0
|
|
152
|
+
// let paddingRight = 0
|
|
153
|
+
// let paddingBottom = 0
|
|
154
|
+
// let paddingLeft = 0
|
|
155
|
+
// if (!this.contentOnly) {
|
|
156
|
+
// let embeddedZIndex = EMBEDDED_ZINDEX
|
|
157
|
+
// let overlayZIndex = OVERLAY_ZINDEX
|
|
158
|
+
// const leftRight: PanelRefChanges[] = entries.filter(v =>
|
|
159
|
+
// ["left", "right"].includes(v.changes.position.side)
|
|
160
|
+
// )
|
|
161
|
+
// const topBottom: PanelRefChanges[] = entries.filter(v =>
|
|
162
|
+
// ["top", "bottom"].includes(v.changes.position.side)
|
|
163
|
+
// )
|
|
164
|
+
// for (const entry of entries) {
|
|
165
|
+
// const changes = entry.changes
|
|
166
|
+
// const ref = entry.ref
|
|
167
|
+
// if (changes.mode === "embedded") {
|
|
168
|
+
// ref.style.zIndex = `${embeddedZIndex++}`
|
|
169
|
+
// } else if (changes.mode === "overlay") {
|
|
170
|
+
// ref.style.zIndex = `${overlayZIndex++}`
|
|
171
|
+
// }
|
|
172
|
+
// }
|
|
173
|
+
// for (const entry of leftRight) {
|
|
174
|
+
// const changes = entry.changes
|
|
175
|
+
// const ref = entry.ref
|
|
176
|
+
// const padding =
|
|
177
|
+
// changes.mode === "embedded"
|
|
178
|
+
// ? changes.state === "full"
|
|
179
|
+
// ? changes.fullSize
|
|
180
|
+
// : changes.state === "mini"
|
|
181
|
+
// ? changes.miniSize
|
|
182
|
+
// : 0
|
|
183
|
+
// : 0
|
|
184
|
+
// ref.style.top = "0"
|
|
185
|
+
// ref.style.bottom = "0"
|
|
186
|
+
// if (changes.position.side === "left") {
|
|
187
|
+
// paddingLeft = Math.max(paddingLeft, padding)
|
|
188
|
+
// ref.style.left = "0"
|
|
189
|
+
// ref.style.right = ""
|
|
190
|
+
// } else {
|
|
191
|
+
// paddingRight = Math.max(paddingRight, padding)
|
|
192
|
+
// ref.style.right = "0"
|
|
193
|
+
// ref.style.left = ""
|
|
194
|
+
// }
|
|
195
|
+
// }
|
|
196
|
+
// for (const entry of topBottom) {
|
|
197
|
+
// const changes = entry.changes
|
|
198
|
+
// const ref = entry.ref
|
|
199
|
+
// const padding =
|
|
200
|
+
// changes.mode === "embedded"
|
|
201
|
+
// ? changes.state === "full"
|
|
202
|
+
// ? changes.fullSize
|
|
203
|
+
// : changes.state === "mini"
|
|
204
|
+
// ? changes.miniSize
|
|
205
|
+
// : 0
|
|
206
|
+
// : 0
|
|
207
|
+
// if (changes.mode === "embedded") {
|
|
208
|
+
// ref.style.left = `${paddingLeft}px`
|
|
209
|
+
// ref.style.right = `${paddingRight}px`
|
|
210
|
+
// } else {
|
|
211
|
+
// ref.style.left = "0"
|
|
212
|
+
// ref.style.right = "0"
|
|
213
|
+
// }
|
|
214
|
+
// if (changes.position?.cells[0].v === "top") {
|
|
215
|
+
// paddingTop = Math.max(paddingTop, padding)
|
|
216
|
+
// ref.style.top = "0"
|
|
217
|
+
// ref.style.bottom = ""
|
|
218
|
+
// } else {
|
|
219
|
+
// paddingBottom = Math.max(paddingBottom, padding)
|
|
220
|
+
// ref.style.bottom = `0`
|
|
221
|
+
// ref.style.top = ""
|
|
222
|
+
// }
|
|
223
|
+
// }
|
|
224
|
+
// }
|
|
225
|
+
// const cel = this.contentEl.nativeElement
|
|
226
|
+
// cel.style.padding = `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`
|
|
227
|
+
}
|
|
228
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DockingLayoutComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
229
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: DockingLayoutComponent, isStandalone: true, selector: "nu-docking", inputs: { contentOnly: "contentOnly", positionMode: "positionMode" }, queries: [{ propertyName: "contentComponent", first: true, predicate: DockingContentComponent, descendants: true }, { propertyName: "dockingPanels", predicate: DockingPanelComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
230
|
+
<ng-content select="nu-docking-panel"></ng-content>
|
|
231
|
+
|
|
232
|
+
@if (!contentComponent) {
|
|
233
|
+
<nu-docking-content>
|
|
234
|
+
<ng-content></ng-content>
|
|
235
|
+
</nu-docking-content>
|
|
236
|
+
} @else {
|
|
237
|
+
<ng-content select="nu-docking-content"></ng-content>
|
|
238
|
+
}
|
|
239
|
+
`, isInline: true, styles: [":host{---docking-layout-top: var(--docking-layout-top, 0px);---docking-layout-right: var(--docking-layout-right, 0px);---docking-layout-bottom: var(--docking-layout-bottom, 0px);---docking-layout-left: var(--docking-layout-left, 0px);---docking-layout-anim-duration: var(--docking-layout-anim-duration, .2s);---docking-layout-anim-ease: var(--docking-layout-anim-ease, ease-out);display:flex;flex-flow:column nowrap;align-items:stretch;position:relative;overflow:hidden;box-sizing:border-box;z-index:0;padding:var(---docking-layout-top) var(---docking-layout-right) var(---docking-layout-bottom) var(---docking-layout-left);transition:padding var(---docking-layout-anim-duration) var(---docking-layout-anim-ease)}\n"], dependencies: [{ kind: "component", type: DockingContentComponent, selector: "nu-docking-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
240
|
+
}
|
|
241
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DockingLayoutComponent, decorators: [{
|
|
242
|
+
type: Component,
|
|
243
|
+
args: [{ selector: "nu-docking", standalone: true, imports: [DockingContentComponent], template: `
|
|
244
|
+
<ng-content select="nu-docking-panel"></ng-content>
|
|
245
|
+
|
|
246
|
+
@if (!contentComponent) {
|
|
247
|
+
<nu-docking-content>
|
|
248
|
+
<ng-content></ng-content>
|
|
249
|
+
</nu-docking-content>
|
|
250
|
+
} @else {
|
|
251
|
+
<ng-content select="nu-docking-content"></ng-content>
|
|
252
|
+
}
|
|
253
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{---docking-layout-top: var(--docking-layout-top, 0px);---docking-layout-right: var(--docking-layout-right, 0px);---docking-layout-bottom: var(--docking-layout-bottom, 0px);---docking-layout-left: var(--docking-layout-left, 0px);---docking-layout-anim-duration: var(--docking-layout-anim-duration, .2s);---docking-layout-anim-ease: var(--docking-layout-anim-ease, ease-out);display:flex;flex-flow:column nowrap;align-items:stretch;position:relative;overflow:hidden;box-sizing:border-box;z-index:0;padding:var(---docking-layout-top) var(---docking-layout-right) var(---docking-layout-bottom) var(---docking-layout-left);transition:padding var(---docking-layout-anim-duration) var(---docking-layout-anim-ease)}\n"] }]
|
|
254
|
+
}], propDecorators: { contentOnly: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}], positionMode: [{
|
|
257
|
+
type: Input
|
|
258
|
+
}], contentComponent: [{
|
|
259
|
+
type: ContentChild,
|
|
260
|
+
args: [DockingContentComponent]
|
|
261
|
+
}], dockingPanels: [{
|
|
262
|
+
type: ContentChildren,
|
|
263
|
+
args: [DockingPanelComponent]
|
|
264
|
+
}] } });
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2luZy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbGF5b3V0L3NyYy9kb2NraW5nL2RvY2tpbmctbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsRUFFWixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFakcsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUU3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ2pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3JFLE9BQU8sRUFBNEIscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTs7QUFhM0YsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFBO0FBQzFCLE1BQU0sY0FBYyxHQUFHLGVBQWUsR0FBRyxDQUFDLENBQUE7QUFJMUMsOEJBQThCO0FBQzlCLG9CQUFvQjtBQUNwQixtQ0FBbUM7QUFDbkMsSUFBSTtBQUVKLG1CQUFtQjtBQUNuQiwrQ0FBK0M7QUFDL0Msb0RBQW9EO0FBQ3BELGtFQUFrRTtBQUNsRSw2Q0FBNkM7QUFDN0MsK0JBQStCO0FBQy9CLGdEQUFnRDtBQUNoRCxpQkFBaUI7QUFDakIsWUFBWTtBQUNaLFFBQVE7QUFDUixJQUFJO0FBb0JKLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxZQUFZO0lBbEJ4RDs7UUFtQmEsUUFBRyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENB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Q3JDLGlDQUFpQztRQUNqQyxZQUFZO1FBQ1osUUFBUTtRQUNSLElBQUk7UUFDSiwyQ0FBMkM7UUFDM0MsOEZBQThGO0lBQ2xHLENBQUM7OEdBek9RLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDBMQU1qQix1QkFBdUIsbUVBQ3BCLHFCQUFxQix5RUFyQjVCOzs7Ozs7Ozs7O0tBVVQscXhCQVhTLHVCQUF1Qjs7MkZBZXhCLHNCQUFzQjtrQkFsQmxDLFNBQVM7K0JBQ0ksWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLHVCQUF1QixDQUFDLFlBQ3hCOzs7Ozs7Ozs7O0tBVVQsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU07OEJBS3RDLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFaUMsZ0JBQWdCO3NCQUF0RCxZQUFZO3VCQUFDLHVCQUF1QjtnQkFDRyxhQUFhO3NCQUFwRCxlQUFlO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlLCBOdW1iZXJXaXRoVW5pdCB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5cbmltcG9ydCB7IEZhc3RET00gfSBmcm9tIFwiLi4vdXRpbFwiXG5pbXBvcnQgeyBEb2NraW5nQ29udGVudENvbXBvbmVudCB9IGZyb20gXCIuL2RvY2tpbmctY29udGVudC5jb21wb25lbnRcIlxuaW1wb3J0IHsgdHlwZSBEb2NraW5nUGFuZWxDaGFuZ2VzLCBEb2NraW5nUGFuZWxDb21wb25lbnQgfSBmcm9tIFwiLi9kb2NraW5nLXBhbmVsLmNvbXBvbmVudFwiXG5cbnR5cGUgRG9ja2luZ1ZlcnRpY2FsUG9zaXRpb24gPSBcInRvcFwiIHwgXCJtaWRkbGVcIiB8IFwiYm90dG9tXCJcbnR5cGUgRG9ja2luZ0hvcml6b250YWxQb3NpdG9uID0gXCJsZWZ0XCIgfCBcImNlbnRlclwiIHwgXCJyaWdodFwiXG50eXBlIERvY2tpbmdQb3NpdGlvbiA9IGAke0RvY2tpbmdWZXJ0aWNhbFBvc2l0aW9ufToke0RvY2tpbmdIb3Jpem9udGFsUG9zaXRvbn1gXG5leHBvcnQgdHlwZSBEb2NraW5nUmFuZ2UgPVxuICAgIHwgRG9ja2luZ1ZlcnRpY2FsUG9zaXRpb25cbiAgICB8IERvY2tpbmdIb3Jpem9udGFsUG9zaXRvblxuICAgIHwgRG9ja2luZ1Bvc2l0aW9uXG4gICAgfCBgJHtEb2NraW5nUG9zaXRpb259LSR7RG9ja2luZ1Bvc2l0aW9ufWBcblxuZXhwb3J0IHR5cGUgRG9ja2luZ1Bvc2l0aW9uTW9kZSA9IFwiYWJzb2x1dGVcIiB8IFwiZml4ZWRcIlxuXG5jb25zdCBFTUJFRERFRF9aSU5ERVggPSAyMFxuY29uc3QgT1ZFUkxBWV9aSU5ERVggPSBFTUJFRERFRF9aSU5ERVggKiAyXG5cbnR5cGUgUGFuZWxzQ2hhbmdlcyA9IEFycmF5PHsgcGFuZWw6IERvY2tpbmdQYW5lbENvbXBvbmVudDsgY2hhbmdlczogRG9ja2luZ1BhbmVsQ2hhbmdlcyB9PlxuXG4vLyBpbnRlcmZhY2UgUGFuZWxSZWZDaGFuZ2VzIHtcbi8vICAgICByZWY6IFBhbmVsUmVmXG4vLyAgICAgY2hhbmdlczogRG9ja2luZ1BhbmVsQ2hhbmdlc1xuLy8gfVxuXG4vLyBjbGFzcyBQYW5lbFJlZiB7XG4vLyAgICAgc3R5bGU6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4gPSB7fVxuLy8gICAgIHJlYWRvbmx5IGNoYW5nZXM6IE9ic2VydmFibGU8UGFuZWxSZWZDaGFuZ2VzPlxuLy8gICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBwYW5lbDogRG9ja2luZ1BhbmVsRGlyZWN0aXZlKSB7XG4vLyAgICAgICAgIHRoaXMuY2hhbmdlcyA9IHBhbmVsLmNoYW5nZXMucGlwZShcbi8vICAgICAgICAgICAgIG1hcChjaGFuZ2VzID0+IHtcbi8vICAgICAgICAgICAgICAgICByZXR1cm4geyByZWY6IHRoaXMsIGNoYW5nZXMgfVxuLy8gICAgICAgICAgICAgfSlcbi8vICAgICAgICAgKVxuLy8gICAgIH1cbi8vIH1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibnUtZG9ja2luZ1wiLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0RvY2tpbmdDb250ZW50Q29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJudS1kb2NraW5nLXBhbmVsXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICAgIEBpZiAoIWNvbnRlbnRDb21wb25lbnQpIHtcbiAgICAgICAgICAgIDxudS1kb2NraW5nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9udS1kb2NraW5nLWNvbnRlbnQ+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibnUtZG9ja2luZy1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdHlsZVVybDogXCIuL2RvY2tpbmctbGF5b3V0LmNvbXBvbmVudC5zY3NzXCIsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRG9ja2luZ0xheW91dENvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gICAgcmVhZG9ubHkgI2VsID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KVxuXG4gICAgQElucHV0KCkgY29udGVudE9ubHkgPSBmYWxzZVxuICAgIEBJbnB1dCgpIHBvc2l0aW9uTW9kZTogRG9ja2luZ1Bvc2l0aW9uTW9kZSA9IFwiYWJzb2x1dGVcIlxuXG4gICAgQENvbnRlbnRDaGlsZChEb2NraW5nQ29udGVudENvbXBvbmVudCkgY29udGVudENvbXBvbmVudD86IERvY2tpbmdDb250ZW50Q29tcG9uZW50XG4gICAgQENvbnRlbnRDaGlsZHJlbihEb2NraW5nUGFuZWxDb21wb25lbnQpIGRvY2tpbmdQYW5lbHMhOiBRdWVyeUxpc3Q8RG9ja2luZ1BhbmVsQ29tcG9uZW50PlxuXG4gICAgLy8gcmVhZG9ubHkgcGFuZWxzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYW5lbFJlZltdPihbXSlcbiAgICByZWFkb25seSBwYW5lbHMhOiBPYnNlcnZhYmxlPEFycmF5PERvY2tpbmdQYW5lbENvbXBvbmVudD4+XG5cbiAgICAjcmVmbG93ID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJldHRpZXIvcHJldHRpZXJcbiAgICAgICAgKHRoaXMgYXMgeyBwYW5lbHM6IE9ic2VydmFibGU8QXJyYXk8RG9ja2luZ1BhbmVsQ29tcG9uZW50Pj4gfSkucGFuZWxzID0gdGhpcy5kb2NraW5nUGFuZWxzLmNoYW5nZXMucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmRvY2tpbmdQYW5lbHMudG9BcnJheSgpKSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgIClcblxuICAgICAgICAvLyB0aGlzLnBhbmVscy5zdWJzY3JpYmUocGFuZWxzID0+IGNvbnNvbGUubG9nKHsgcGFuZWxzIH0pKVxuXG4gICAgICAgIHRoaXMuZFxuICAgICAgICAgICAgLnN1Yihjb21iaW5lTGF0ZXN0KHsgcGFuZWxzOiB0aGlzLnBhbmVscywgcmVmbG93OiB0aGlzLiNyZWZsb3cucGlwZShzdGFydFdpdGgobnVsbCkpIH0pKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCh7IHBhbmVscyB9KSA9PlxuICAgICAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFuZWxzLm1hcChwYW5lbCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhbmVsLmNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKGNoYW5nZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgcGFuZWwsIGNoYW5nZXMgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy4jbGF5b3V0LmJpbmQodGhpcykpXG5cbiAgICAgICAgLy8gdGhpcy5kXG4gICAgICAgIC8vICAgICAuc3ViKG1lcmdlKHRoaXMuZG9ja2luZ1BhbmVscy5jaGFuZ2VzLCB0aGlzLiNyZWZsb3cpKVxuICAgICAgICAvLyAgICAgLnBpcGUoXG4gICAgICAgIC8vICAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICAvLyAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmRvY2tpbmdQYW5lbHMubWFwKHBhbmVsID0+IG5ldyBQYW5lbFJlZihwYW5lbCkpKSxcbiAgICAgICAgLy8gICAgICAgICBzd2l0Y2hNYXAocmVmcyA9PiBjb21iaW5lTGF0ZXN0KHJlZnMubWFwKHJlZiA9PiByZWYuY2hhbmdlcykpKSxcbiAgICAgICAgLy8gICAgICAgICBtYXAoY2hhbmdlcyA9PiB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMuI2xheW91dChjaGFuZ2VzKVxuICAgICAgICAvLyAgICAgICAgICAgICByZXR1cm4gY2hhbmdlcy5tYXAoYyA9PiBjLnJlZilcbiAgICAgICAgLy8gICAgICAgICB9KVxuICAgICAgICAvLyAgICAgKVxuICAgICAgICAvLyAgICAgLnN1YnNjcmliZSh0aGlzLnBhbmVscylcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChcImNvbnRlbnRPbmx5XCIgaW4gY2hhbmdlcyB8fCBcInBvc2l0aW9uTW9kZVwiIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuI3JlZmxvdy5uZXh0KClcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNsYXlvdXQoZW50cmllczogUGFuZWxzQ2hhbmdlcykge1xuICAgICAgICBjb25zb2xlLmxvZyhcImxheW91dFwiLCBlbnRyaWVzKVxuICAgICAgICBsZXQgcGFkZGluZ1RvcCA9IDBcbiAgICAgICAgbGV0IHBhZGRpbmdSaWdodCA9IDBcbiAgICAgICAgbGV0IHBhZGRpbmdCb3R0b20gPSAwXG4gICAgICAgIGxldCBwYWRkaW5nTGVmdCA9IDBcbiAgICAgICAgbGV0IGVtYmVkZGVkWkluZGV4ID0gRU1CRURERURfWklOREVYXG4gICAgICAgIGxldCBvdmVybGF5WkluZGV4ID0gT1ZFUkxBWV9aSU5ERVhcblxuICAgICAgICBpZiAodGhpcy5jb250ZW50T25seSkge1xuICAgICAgICAgICAgLy8gVE9ETzouLi5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhbmVsU3RhdGUgPSBlbnRyeS5jaGFuZ2VzXG4gICAgICAgICAgICAgICAgY29uc3QgcGFuZWxTaXplID1cbiAgICAgICAgICAgICAgICAgICAgcGFuZWxTdGF0ZS5zdGF0ZSA9PT0gXCJmdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gcGFuZWxTdGF0ZS5mdWxsU2l6ZS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBwYW5lbFN0YXRlLnN0YXRlID09PSBcIm1pbmlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IHBhbmVsU3RhdGUubWluaVNpemUudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwXG5cbiAgICAgICAgICAgICAgICBjb25zdCBpc0hvcml6b250YWwgPSBwYW5lbFN0YXRlLnBvc2l0aW9uLm9yaWVudCA9PT0gXCJob3Jpem9udGFsXCJcbiAgICAgICAgICAgICAgICBjb25zdCBpc0VtYmVkZGVkID0gcGFuZWxTdGF0ZS5tb2RlID09PSBcImVtYmVkZGVkXCJcblxuICAgICAgICAgICAgICAgIGxldCBwYW5lbFRvcCA9IG51bGxcbiAgICAgICAgICAgICAgICBsZXQgcGFuZWxSaWdodCA9IG51bGxcbiAgICAgICAgICAgICAgICBsZXQgcGFuZWxCb3R0b20gPSBudWxsXG4gICAgICAgICAgICAgICAgbGV0IHBhbmVsTGVmdCA9IG51bGxcblxuICAgICAgICAgICAgICAgIGlmIChpc0hvcml6b250YWwpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFuZWxMZWZ0ID0gMFxuICAgICAgICAgICAgICAgICAgICBwYW5lbFJpZ2h0ID0gMFxuICAgICAgICAgICAgICAgICAgICBpZiAocGFuZWxTdGF0ZS5wb3NpdGlvbi5jZWxsc1swXS52ID09PSBcInRvcFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNFbWJlZGRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmdUb3AgPSBNYXRoLm1heChwYWRkaW5nVG9wLCBwYW5lbFNpemUpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBwYW5lbFRvcCA9IDBcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYW5lbFN0YXRlLnBvc2l0aW9uLmNlbGxzWzBdLnYgPT09IFwiYm90dG9tXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0VtYmVkZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZ0JvdHRvbSA9IE1hdGgubWF4KHBhZGRpbmdCb3R0b20sIHBhbmVsU2l6ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhbmVsQm90dG9tID0gMFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFuZWxUb3AgPSAwXG4gICAgICAgICAgICAgICAgICAgIHBhbmVsQm90dG9tID0gMFxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwYW5lbFN0YXRlLnBvc2l0aW9uLmNlbGxzWzBdLmggPT09IFwibGVmdFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNFbWJlZGRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmdMZWZ0ID0gTWF0aC5tYXgocGFkZGluZ0xlZnQsIHBhbmVsU2l6ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhbmVsTGVmdCA9IDBcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYW5lbFN0YXRlLnBvc2l0aW9uLmNlbGxzWzBdLmggPT09IFwicmlnaHRcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzRW1iZWRkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nUmlnaHQgPSBNYXRoLm1heChwYWRkaW5nUmlnaHQsIHBhbmVsU2l6ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhbmVsUmlnaHQgPSAwXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBwYW5lbEdpdmVuU2l6ZSA9XG4gICAgICAgICAgICAgICAgICAgIHBhbmVsU3RhdGUuc3RhdGUgPT09IFwiZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHBhbmVsU3RhdGUuZnVsbFNpemVcbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGFuZWxTdGF0ZS5zdGF0ZSA9PT0gXCJtaW5pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyBwYW5lbFN0YXRlLm1pbmlTaXplXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogbmV3IE51bWJlcldpdGhVbml0KDAsIFwicHhcIilcblxuICAgICAgICAgICAgICAgIEZhc3RET00uc2V0U3R5bGUoZW50cnkucGFuZWwuZWwubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgICAgICAgICAgICBcInotaW5kZXhcIjogYCR7aXNFbWJlZGRlZCA/IGVtYmVkZGVkWkluZGV4KysgOiBvdmVybGF5WkluZGV4Kyt9YCxcbiAgICAgICAgICAgICAgICAgICAgXCItLWRvY2tpbmctcGFuZWwtdFwiOiBwYW5lbFRvcCAhPSBudWxsID8gYCR7cGFuZWxUb3B9cHhgIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCItLWRvY2tpbmctcGFuZWwtclwiOiBwYW5lbFJpZ2h0ICE9IG51bGwgPyBgJHtwYW5lbFJpZ2h0fXB4YCA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiLS1kb2NraW5nLXBhbmVsLWJcIjogcGFuZWxCb3R0b20gIT0gbnVsbCA/IGAke3BhbmVsQm90dG9tfXB4YCA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiLS1kb2NraW5nLXBhbmVsLWxcIjogcGFuZWxMZWZ0ICE9IG51bGwgPyBgJHtwYW5lbExlZnR9cHhgIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCItLWRvY2tpbmctcGFuZWwtd1wiOiAhaXNIb3Jpem9udGFsXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGAke3BhbmVsR2l2ZW5TaXplLnVuaXQgPT09IFwiYXV0b1wiID8gXCJhdXRvXCIgOiBwYW5lbEdpdmVuU2l6ZX1gXG4gICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiLS1kb2NraW5nLXBhbmVsLWhcIjogaXNIb3Jpem9udGFsXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGAke3BhbmVsR2l2ZW5TaXplLnVuaXQgPT09IFwiYXV0b1wiID8gXCJhdXRvXCIgOiBwYW5lbEdpdmVuU2l6ZX1gXG4gICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiLS1kb2NraW5nLXBhbmVsLXJlYWwtd1wiOiAhaXNIb3Jpem9udGFsID8gYCR7cGFuZWxTaXplfXB4YCA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiLS1kb2NraW5nLXBhbmVsLXJlYWwtaFwiOiBpc0hvcml6b250YWwgPyBgJHtwYW5lbFNpemV9cHhgIDogbnVsbFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHsgcGFkZGluZ1RvcCwgcGFkZGluZ1JpZ2h0LCBwYWRkaW5nQm90dG9tLCBwYWRkaW5nTGVmdCB9KVxuXG4gICAgICAgICAgICBGYXN0RE9NLnNldFN0eWxlKHRoaXMuI2VsLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgICBcIi0tZG9ja2luZy1sYXlvdXQtdG9wXCI6IGAke3BhZGRpbmdUb3B9cHhgLFxuICAgICAgICAgICAgICAgIFwiLS1kb2NraW5nLWxheW91dC1yaWdodFwiOiBgJHtwYWRkaW5nUmlnaHR9cHhgLFxuICAgICAgICAgICAgICAgIFwiLS1kb2NraW5nLWxheW91dC1ib3R0b21cIjogYCR7cGFkZGluZ0JvdHRvbX1weGAsXG4gICAgICAgICAgICAgICAgXCItLWRvY2tpbmctbGF5b3V0LWxlZnRcIjogYCR7cGFkZGluZ0xlZnR9cHhgXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2xheW91dE9sZChlbnRyaWVzOiBQYW5lbHNDaGFuZ2VzKSB7XG4gICAgICAgIC8vIGxldCBwYWRkaW5nVG9wID0gMFxuICAgICAgICAvLyBsZXQgcGFkZGluZ1JpZ2h0ID0gMFxuICAgICAgICAvLyBsZXQgcGFkZGluZ0JvdHRvbSA9IDBcbiAgICAgICAgLy8gbGV0IHBhZGRpbmdMZWZ0ID0gMFxuICAgICAgICAvLyBpZiAoIXRoaXMuY29udGVudE9ubHkpIHtcbiAgICAgICAgLy8gICAgIGxldCBlbWJlZGRlZFpJbmRleCA9IEVNQkVEREVEX1pJTkRFWFxuICAgICAgICAvLyAgICAgbGV0IG92ZXJsYXlaSW5kZXggPSBPVkVSTEFZX1pJTkRFWFxuICAgICAgICAvLyAgICAgY29uc3QgbGVmdFJpZ2h0OiBQYW5lbFJlZkNoYW5nZXNbXSA9IGVudHJpZXMuZmlsdGVyKHYgPT5cbiAgICAgICAgLy8gICAgICAgICBbXCJsZWZ0XCIsIFwicmlnaHRcIl0uaW5jbHVkZXModi5jaGFuZ2VzLnBvc2l0aW9uLnNpZGUpXG4gICAgICAgIC8vICAgICApXG4gICAgICAgIC8vICAgICBjb25zdCB0b3BCb3R0b206IFBhbmVsUmVmQ2hhbmdlc1tdID0gZW50cmllcy5maWx0ZXIodiA9PlxuICAgICAgICAvLyAgICAgICAgIFtcInRvcFwiLCBcImJvdHRvbVwiXS5pbmNsdWRlcyh2LmNoYW5nZXMucG9zaXRpb24uc2lkZSlcbiAgICAgICAgLy8gICAgIClcbiAgICAgICAgLy8gICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICAvLyAgICAgICAgIGNvbnN0IGNoYW5nZXMgPSBlbnRyeS5jaGFuZ2VzXG4gICAgICAgIC8vICAgICAgICAgY29uc3QgcmVmID0gZW50cnkucmVmXG4gICAgICAgIC8vICAgICAgICAgaWYgKGNoYW5nZXMubW9kZSA9PT0gXCJlbWJlZGRlZFwiKSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHJlZi5zdHlsZS56SW5kZXggPSBgJHtlbWJlZGRlZFpJbmRleCsrfWBcbiAgICAgICAgLy8gICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZXMubW9kZSA9PT0gXCJvdmVybGF5XCIpIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgcmVmLnN0eWxlLnpJbmRleCA9IGAke292ZXJsYXlaSW5kZXgrK31gXG4gICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBsZWZ0UmlnaHQpIHtcbiAgICAgICAgLy8gICAgICAgICBjb25zdCBjaGFuZ2VzID0gZW50cnkuY2hhbmdlc1xuICAgICAgICAvLyAgICAgICAgIGNvbnN0IHJlZiA9IGVudHJ5LnJlZlxuICAgICAgICAvLyAgICAgICAgIGNvbnN0IHBhZGRpbmcgPVxuICAgICAgICAvLyAgICAgICAgICAgICBjaGFuZ2VzLm1vZGUgPT09IFwiZW1iZWRkZWRcIlxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgPyBjaGFuZ2VzLnN0YXRlID09PSBcImZ1bGxcIlxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgID8gY2hhbmdlcy5mdWxsU2l6ZVxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIDogY2hhbmdlcy5zdGF0ZSA9PT0gXCJtaW5pXCJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgID8gY2hhbmdlcy5taW5pU2l6ZVxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgOiAwXG4gICAgICAgIC8vICAgICAgICAgICAgICAgICA6IDBcbiAgICAgICAgLy8gICAgICAgICByZWYuc3R5bGUudG9wID0gXCIwXCJcbiAgICAgICAgLy8gICAgICAgICByZWYuc3R5bGUuYm90dG9tID0gXCIwXCJcbiAgICAgICAgLy8gICAgICAgICBpZiAoY2hhbmdlcy5wb3NpdGlvbi5zaWRlID09PSBcImxlZnRcIikge1xuICAgICAgICAvLyAgICAgICAgICAgICBwYWRkaW5nTGVmdCA9IE1hdGgubWF4KHBhZGRpbmdMZWZ0LCBwYWRkaW5nKVxuICAgICAgICAvLyAgICAgICAgICAgICByZWYuc3R5bGUubGVmdCA9IFwiMFwiXG4gICAgICAgIC8vICAgICAgICAgICAgIHJlZi5zdHlsZS5yaWdodCA9IFwiXCJcbiAgICAgICAgLy8gICAgICAgICB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgICAgICAgICBwYWRkaW5nUmlnaHQgPSBNYXRoLm1heChwYWRkaW5nUmlnaHQsIHBhZGRpbmcpXG4gICAgICAgIC8vICAgICAgICAgICAgIHJlZi5zdHlsZS5yaWdodCA9IFwiMFwiXG4gICAgICAgIC8vICAgICAgICAgICAgIHJlZi5zdHlsZS5sZWZ0ID0gXCJcIlxuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gICAgIGZvciAoY29uc3QgZW50cnkgb2YgdG9wQm90dG9tKSB7XG4gICAgICAgIC8vICAgICAgICAgY29uc3QgY2hhbmdlcyA9IGVudHJ5LmNoYW5nZXNcbiAgICAgICAgLy8gICAgICAgICBjb25zdCByZWYgPSBlbnRyeS5yZWZcbiAgICAgICAgLy8gICAgICAgICBjb25zdCBwYWRkaW5nID1cbiAgICAgICAgLy8gICAgICAgICAgICAgY2hhbmdlcy5tb2RlID09PSBcImVtYmVkZGVkXCJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgID8gY2hhbmdlcy5zdGF0ZSA9PT0gXCJmdWxsXCJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICA/IGNoYW5nZXMuZnVsbFNpemVcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICA6IGNoYW5nZXMuc3RhdGUgPT09IFwibWluaVwiXG4gICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICA/IGNoYW5nZXMubWluaVNpemVcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgIDogMFxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgOiAwXG4gICAgICAgIC8vICAgICAgICAgaWYgKGNoYW5nZXMubW9kZSA9PT0gXCJlbWJlZGRlZFwiKSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHJlZi5zdHlsZS5sZWZ0ID0gYCR7cGFkZGluZ0xlZnR9cHhgXG4gICAgICAgIC8vICAgICAgICAgICAgIHJlZi5zdHlsZS5yaWdodCA9IGAke3BhZGRpbmdSaWdodH1weGBcbiAgICAgICAgLy8gICAgICAgICB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgICAgICAgICByZWYuc3R5bGUubGVmdCA9IFwiMFwiXG4gICAgICAgIC8vICAgICAgICAgICAgIHJlZi5zdHlsZS5yaWdodCA9IFwiMFwiXG4gICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAvLyAgICAgICAgIGlmIChjaGFuZ2VzLnBvc2l0aW9uPy5jZWxsc1swXS52ID09PSBcInRvcFwiKSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHBhZGRpbmdUb3AgPSBNYXRoLm1heChwYWRkaW5nVG9wLCBwYWRkaW5nKVxuICAgICAgICAvLyAgICAgICAgICAgICByZWYuc3R5bGUudG9wID0gXCIwXCJcbiAgICAgICAgLy8gICAgICAgICAgICAgcmVmLnN0eWxlLmJvdHRvbSA9IFwiXCJcbiAgICAgICAgLy8gICAgICAgICB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgICAgICAgICBwYWRkaW5nQm90dG9tID0gTWF0aC5tYXgocGFkZGluZ0JvdHRvbSwgcGFkZGluZylcbiAgICAgICAgLy8gICAgICAgICAgICAgcmVmLnN0eWxlLmJvdHRvbSA9IGAwYFxuICAgICAgICAvLyAgICAgICAgICAgICByZWYuc3R5bGUudG9wID0gXCJcIlxuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgICAgICAvLyBjb25zdCBjZWwgPSB0aGlzLmNvbnRlbnRFbC5uYXRpdmVFbGVtZW50XG4gICAgICAgIC8vIGNlbC5zdHlsZS5wYWRkaW5nID0gYCR7cGFkZGluZ1RvcH1weCAke3BhZGRpbmdSaWdodH1weCAke3BhZGRpbmdCb3R0b219cHggJHtwYWRkaW5nTGVmdH1weGBcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { Component, ElementRef, inject, Input, Output } from "@angular/core";
|
|
2
|
+
import { BehaviorSubject, combineLatest, map, of, shareReplay, switchMap } from "rxjs";
|
|
3
|
+
import { coerceBoolAttr, Destructible, NumberWithUnit } from "@ngutil/common";
|
|
4
|
+
import { L9Range } from "../l9/range";
|
|
5
|
+
import { FastDOM, watchDimension } from "../util";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
const DEFAULT_POSITION = L9Range.coerce("left");
|
|
8
|
+
export class DockingPanelComponent extends Destructible {
|
|
9
|
+
set positionInput(val) {
|
|
10
|
+
const coerced = L9Range.coerce(val);
|
|
11
|
+
console.log("SET POSITION", coerced, this.position.value.isEq(coerced));
|
|
12
|
+
if (coerced.orient === "rect") {
|
|
13
|
+
throw new Error(`Invalid position value: ${val}`);
|
|
14
|
+
}
|
|
15
|
+
if (!this.position.value.isEq(coerced)) {
|
|
16
|
+
this.position.next(coerced);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
set stateInput(val) {
|
|
20
|
+
if (this.state.value !== val) {
|
|
21
|
+
this.state.next(val);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
set modeInput(val) {
|
|
25
|
+
if (this.mode.value !== val) {
|
|
26
|
+
this.mode.next(val);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
set fullSizeInput(val) {
|
|
30
|
+
const coerced = NumberWithUnit.coerce(val, "px");
|
|
31
|
+
if (this.#fullSize.value !== coerced) {
|
|
32
|
+
this.#fullSize.next(coerced);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
#fullSize;
|
|
36
|
+
set miniSizeInput(val) {
|
|
37
|
+
const coerced = NumberWithUnit.coerce(val, "px");
|
|
38
|
+
if (this.#miniSize.value !== coerced) {
|
|
39
|
+
this.#miniSize.next(coerced);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
#miniSize;
|
|
43
|
+
set minimizable(val) {
|
|
44
|
+
this.#minimizable = coerceBoolAttr(val);
|
|
45
|
+
this.#minimizableAuto = false;
|
|
46
|
+
}
|
|
47
|
+
get minimizable() {
|
|
48
|
+
return this.#minimizable;
|
|
49
|
+
}
|
|
50
|
+
#minimizable;
|
|
51
|
+
#minimizableAuto;
|
|
52
|
+
#autoSize;
|
|
53
|
+
constructor() {
|
|
54
|
+
super();
|
|
55
|
+
this.el = inject((ElementRef));
|
|
56
|
+
this.position = new BehaviorSubject(DEFAULT_POSITION);
|
|
57
|
+
this.state = new BehaviorSubject("invisible");
|
|
58
|
+
this.mode = new BehaviorSubject("overlay");
|
|
59
|
+
this.#fullSize = new BehaviorSubject(NumberWithUnit.coerce(0));
|
|
60
|
+
this.#miniSize = new BehaviorSubject(NumberWithUnit.coerce(0));
|
|
61
|
+
this.#minimizable = false;
|
|
62
|
+
this.#minimizableAuto = true;
|
|
63
|
+
this.#autoSize = combineLatest({
|
|
64
|
+
dim: watchDimension(this.el.nativeElement, "scroll-box"),
|
|
65
|
+
pos: this.position
|
|
66
|
+
}).pipe(map(({ dim, pos }) => {
|
|
67
|
+
if (pos.orient === "horizontal") {
|
|
68
|
+
return dim.height;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
return dim.width;
|
|
72
|
+
}
|
|
73
|
+
}), shareReplay(1));
|
|
74
|
+
this.fullSize = this.#fullSize.pipe(switchMap(size => {
|
|
75
|
+
if (size.unit === "auto") {
|
|
76
|
+
return this.#autoSize;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return of(size);
|
|
80
|
+
}
|
|
81
|
+
}), shareReplay(1));
|
|
82
|
+
this.miniSize = this.#miniSize.pipe(switchMap(size => {
|
|
83
|
+
if (size.unit === "auto") {
|
|
84
|
+
return this.#autoSize;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
return of(size);
|
|
88
|
+
}
|
|
89
|
+
}), shareReplay(1));
|
|
90
|
+
this.changes = combineLatest({
|
|
91
|
+
position: this.position,
|
|
92
|
+
state: this.state,
|
|
93
|
+
mode: this.mode,
|
|
94
|
+
fullSize: this.fullSize,
|
|
95
|
+
miniSize: this.miniSize
|
|
96
|
+
});
|
|
97
|
+
this.d.sub(this.changes).subscribe(changes => {
|
|
98
|
+
if (this.#minimizableAuto) {
|
|
99
|
+
this.#minimizable = this.#miniSize.value.value !== 0;
|
|
100
|
+
}
|
|
101
|
+
FastDOM.setAttributes(this.el.nativeElement, {
|
|
102
|
+
state: changes.state,
|
|
103
|
+
orient: changes.position.orient,
|
|
104
|
+
mode: changes.mode,
|
|
105
|
+
side: changes.position.orient === "horizontal" ? changes.position.cells[0].v : changes.position.cells[0].h
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
open() {
|
|
110
|
+
this.state.next("full");
|
|
111
|
+
}
|
|
112
|
+
close() {
|
|
113
|
+
this.state.next("invisible");
|
|
114
|
+
}
|
|
115
|
+
minimize() {
|
|
116
|
+
if (this.minimizable) {
|
|
117
|
+
this.state.next("mini");
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DockingPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
121
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: DockingPanelComponent, isStandalone: true, selector: "nu-docking-panel", inputs: { positionInput: ["position", "positionInput"], stateInput: ["state", "stateInput"], modeInput: ["mode", "modeInput"], fullSizeInput: ["fullSize", "fullSizeInput"], miniSizeInput: ["miniSize", "miniSizeInput"], minimizable: "minimizable" }, outputs: { state: "stateChanges" }, exportAs: ["nuDockingPanel"], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{---docking-panel-t: var(--docking-panel-t, auto);---docking-panel-r: var(--docking-panel-r, auto);---docking-panel-b: var(--docking-panel-b, auto);---docking-panel-l: var(--docking-panel-l, auto);---docking-panel-w: var(--docking-panel-w, auto);---docking-panel-h: var(--docking-panel-h, auto);---docking-panel-real-w: var(--docking-panel-real-w, var(---docking-panel-w));---docking-panel-real-h: var(--docking-panel-real-h, var(---docking-panel-h));display:flex;flex-flow:column nowrap;align-items:stretch;position:absolute;box-sizing:border-box;top:var(---docking-panel-t);right:var(---docking-panel-r);bottom:var(---docking-panel-b);left:var(---docking-panel-l);width:var(---docking-panel-w);height:var(---docking-panel-h);transition:transform var(---docking-layout-anim-duration) var(---docking-layout-anim-ease),width var(---docking-layout-anim-duration) var(---docking-layout-anim-ease),height var(---docking-layout-anim-duration) var(---docking-layout-anim-ease)}:host[side=top],:host[side=left]{---docking-panel-t-hide: -100%;---docking-panel-t-visible: 0%}:host[side=bottom],:host[side=right]{---docking-panel-t-hide: 100%;---docking-panel-t-visible: 0%}:host[state=invisible][orient=horizontal]{transform:translateY(var(---docking-panel-t-hide))}:host[state=invisible][orient=vertical]{transform:translate(var(---docking-panel-t-hide))}:host:not([state=invisible])[orient=horizontal]{transform:translateY(var(---docking-panel-t-visible))}:host:not([state=invisible])[orient=vertical]{transform:translate(var(---docking-panel-t-visible))}\n"] }); }
|
|
122
|
+
}
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DockingPanelComponent, decorators: [{
|
|
124
|
+
type: Component,
|
|
125
|
+
args: [{ standalone: true, selector: "nu-docking-panel", exportAs: "nuDockingPanel", template: `<ng-content></ng-content>`, styles: [":host{---docking-panel-t: var(--docking-panel-t, auto);---docking-panel-r: var(--docking-panel-r, auto);---docking-panel-b: var(--docking-panel-b, auto);---docking-panel-l: var(--docking-panel-l, auto);---docking-panel-w: var(--docking-panel-w, auto);---docking-panel-h: var(--docking-panel-h, auto);---docking-panel-real-w: var(--docking-panel-real-w, var(---docking-panel-w));---docking-panel-real-h: var(--docking-panel-real-h, var(---docking-panel-h));display:flex;flex-flow:column nowrap;align-items:stretch;position:absolute;box-sizing:border-box;top:var(---docking-panel-t);right:var(---docking-panel-r);bottom:var(---docking-panel-b);left:var(---docking-panel-l);width:var(---docking-panel-w);height:var(---docking-panel-h);transition:transform var(---docking-layout-anim-duration) var(---docking-layout-anim-ease),width var(---docking-layout-anim-duration) var(---docking-layout-anim-ease),height var(---docking-layout-anim-duration) var(---docking-layout-anim-ease)}:host[side=top],:host[side=left]{---docking-panel-t-hide: -100%;---docking-panel-t-visible: 0%}:host[side=bottom],:host[side=right]{---docking-panel-t-hide: 100%;---docking-panel-t-visible: 0%}:host[state=invisible][orient=horizontal]{transform:translateY(var(---docking-panel-t-hide))}:host[state=invisible][orient=vertical]{transform:translate(var(---docking-panel-t-hide))}:host:not([state=invisible])[orient=horizontal]{transform:translateY(var(---docking-panel-t-visible))}:host:not([state=invisible])[orient=vertical]{transform:translate(var(---docking-panel-t-visible))}\n"] }]
|
|
126
|
+
}], ctorParameters: () => [], propDecorators: { positionInput: [{
|
|
127
|
+
type: Input,
|
|
128
|
+
args: ["position"]
|
|
129
|
+
}], stateInput: [{
|
|
130
|
+
type: Input,
|
|
131
|
+
args: ["state"]
|
|
132
|
+
}], state: [{
|
|
133
|
+
type: Output,
|
|
134
|
+
args: ["stateChanges"]
|
|
135
|
+
}], modeInput: [{
|
|
136
|
+
type: Input,
|
|
137
|
+
args: ["mode"]
|
|
138
|
+
}], fullSizeInput: [{
|
|
139
|
+
type: Input,
|
|
140
|
+
args: ["fullSize"]
|
|
141
|
+
}], miniSizeInput: [{
|
|
142
|
+
type: Input,
|
|
143
|
+
args: ["miniSize"]
|
|
144
|
+
}], minimizable: [{
|
|
145
|
+
type: Input,
|
|
146
|
+
args: ["minimizable"]
|
|
147
|
+
}] } });
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2luZy1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sYXlvdXQvc3JjL2RvY2tpbmcvZG9ja2luZy1wYW5lbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRWxHLE9BQU8sRUFBZ0IsY0FBYyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUE7QUFFaEgsT0FBTyxFQUFFLE9BQU8sRUFBZSxNQUFNLGFBQWEsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQTs7QUFLakQsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBUy9DLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxZQUFZO0lBR25ELElBQ0ksYUFBYSxDQUFDLEdBQTBCO1FBQ3hDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBRXZFLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixHQUFHLEVBQUUsQ0FBQyxDQUFBO1FBQ3JELENBQUM7UUFFRCxJQUFJ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RkFFNUIscUJBQXFCO2tCQVBqQyxTQUFTO2lDQUNNLElBQUksWUFDTixrQkFBa0IsWUFDbEIsZ0JBQWdCLFlBRWhCLDJCQUEyQjt3REFNakMsYUFBYTtzQkFEaEIsS0FBSzt1QkFBQyxVQUFVO2dCQWlCYixVQUFVO3NCQURiLEtBQUs7dUJBQUMsT0FBTztnQkFPTCxLQUFLO3NCQURiLE1BQU07dUJBQUMsY0FBYztnQkFJbEIsU0FBUztzQkFEWixLQUFLO3VCQUFDLE1BQU07Z0JBU1QsYUFBYTtzQkFEaEIsS0FBSzt1QkFBQyxVQUFVO2dCQVViLGFBQWE7c0JBRGhCLEtBQUs7dUJBQUMsVUFBVTtnQkFVYixXQUFXO3NCQURkLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbEF0dHIsIERlc3RydWN0aWJsZSwgTnVtYmVyV2l0aFVuaXQsIE51bWJlcldpdGhVbml0SW5wdXQgfSBmcm9tIFwiQG5ndXRpbC9jb21tb25cIlxuXG5pbXBvcnQgeyBMOVJhbmdlLCBMOVJhbmdlTmFtZSB9IGZyb20gXCIuLi9sOS9yYW5nZVwiXG5pbXBvcnQgeyBGYXN0RE9NLCB3YXRjaERpbWVuc2lvbiB9IGZyb20gXCIuLi91dGlsXCJcblxuZXhwb3J0IHR5cGUgRG9ja2luZ1BhbmVsU3RhdGUgPSBcImZ1bGxcIiB8IFwibWluaVwiIHwgXCJpbnZpc2libGVcIlxuZXhwb3J0IHR5cGUgRG9ja2luZ1BhbmVsTW9kZSA9IFwib3ZlcmxheVwiIHwgXCJlbWJlZGRlZFwiXG5cbmNvbnN0IERFRkFVTFRfUE9TSVRJT04gPSBMOVJhbmdlLmNvZXJjZShcImxlZnRcIilcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogXCJudS1kb2NraW5nLXBhbmVsXCIsXG4gICAgZXhwb3J0QXM6IFwibnVEb2NraW5nUGFuZWxcIixcbiAgICBzdHlsZVVybDogXCIuL2RvY2tpbmctcGFuZWwuY29tcG9uZW50LnNjc3NcIixcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIERvY2tpbmdQYW5lbENvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZSB7XG4gICAgcmVhZG9ubHkgZWwgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pXG5cbiAgICBASW5wdXQoXCJwb3NpdGlvblwiKVxuICAgIHNldCBwb3NpdGlvbklucHV0KHZhbDogTDlSYW5nZSB8IEw5UmFuZ2VOYW1lKSB7XG4gICAgICAgIGNvbnN0IGNvZXJjZWQgPSBMOVJhbmdlLmNvZXJjZSh2YWwpXG5cbiAgICAgICAgY29uc29sZS5sb2coXCJTRVQgUE9TSVRJT05cIiwgY29lcmNlZCwgdGhpcy5wb3NpdGlvbi52YWx1ZS5pc0VxKGNvZXJjZWQpKVxuXG4gICAgICAgIGlmIChjb2VyY2VkLm9yaWVudCA9PT0gXCJyZWN0XCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwb3NpdGlvbiB2YWx1ZTogJHt2YWx9YClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5wb3NpdGlvbi52YWx1ZS5pc0VxKGNvZXJjZWQpKSB7XG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLm5leHQoY29lcmNlZClcbiAgICAgICAgfVxuICAgIH1cbiAgICByZWFkb25seSBwb3NpdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TDlSYW5nZT4oREVGQVVMVF9QT1NJVElPTilcblxuICAgIEBJbnB1dChcInN0YXRlXCIpXG4gICAgc2V0IHN0YXRlSW5wdXQodmFsOiBEb2NraW5nUGFuZWxTdGF0ZSkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS52YWx1ZSAhPT0gdmFsKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlLm5leHQodmFsKVxuICAgICAgICB9XG4gICAgfVxuICAgIEBPdXRwdXQoXCJzdGF0ZUNoYW5nZXNcIilcbiAgICByZWFkb25seSBzdGF0ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RG9ja2luZ1BhbmVsU3RhdGU+KFwiaW52aXNpYmxlXCIpXG5cbiAgICBASW5wdXQoXCJtb2RlXCIpXG4gICAgc2V0IG1vZGVJbnB1dCh2YWw6IERvY2tpbmdQYW5lbE1vZGUpIHtcbiAgICAgICAgaWYgKHRoaXMubW9kZS52YWx1ZSAhPT0gdmFsKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGUubmV4dCh2YWwpXG4gICAgICAgIH1cbiAgICB9XG4gICAgcmVhZG9ubHkgbW9kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RG9ja2luZ1BhbmVsTW9kZT4oXCJvdmVybGF5XCIpXG5cbiAgICBASW5wdXQoXCJmdWxsU2l6ZVwiKVxuICAgIHNldCBmdWxsU2l6ZUlucHV0KHZhbDogTnVtYmVyV2l0aFVuaXRJbnB1dCkge1xuICAgICAgICBjb25zdCBjb2VyY2VkID0gTnVtYmVyV2l0aFVuaXQuY29lcmNlKHZhbCwgXCJweFwiKVxuICAgICAgICBpZiAodGhpcy4jZnVsbFNpemUudmFsdWUgIT09IGNvZXJjZWQpIHtcbiAgICAgICAgICAgIHRoaXMuI2Z1bGxTaXplLm5leHQoY29lcmNlZClcbiAgICAgICAgfVxuICAgIH1cbiAgICByZWFkb25seSAjZnVsbFNpemUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE51bWJlcldpdGhVbml0PihOdW1iZXJXaXRoVW5pdC5jb2VyY2UoMCkpXG5cbiAgICBASW5wdXQoXCJtaW5pU2l6ZVwiKVxuICAgIHNldCBtaW5pU2l6ZUlucHV0KHZhbDogTnVtYmVyV2l0aFVuaXRJbnB1dCkge1xuICAgICAgICBjb25zdCBjb2VyY2VkID0gTnVtYmVyV2l0aFVuaXQuY29lcmNlKHZhbCwgXCJweFwiKVxuICAgICAgICBpZiAodGhpcy4jbWluaVNpemUudmFsdWUgIT09IGNvZXJjZWQpIHtcbiAgICAgICAgICAgIHRoaXMuI21pbmlTaXplLm5leHQoY29lcmNlZClcbiAgICAgICAgfVxuICAgIH1cbiAgICByZWFkb25seSAjbWluaVNpemUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE51bWJlcldpdGhVbml0PihOdW1iZXJXaXRoVW5pdC5jb2VyY2UoMCkpXG5cbiAgICBASW5wdXQoXCJtaW5pbWl6YWJsZVwiKVxuICAgIHNldCBtaW5pbWl6YWJsZSh2YWw6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLiNtaW5pbWl6YWJsZSA9IGNvZXJjZUJvb2xBdHRyKHZhbClcbiAgICAgICAgdGhpcy4jbWluaW1pemFibGVBdXRvID0gZmFsc2VcbiAgICB9XG4gICAgZ2V0IG1pbmltaXphYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy4jbWluaW1pemFibGVcbiAgICB9XG4gICAgI21pbmltaXphYmxlOiBib29sZWFuID0gZmFsc2VcbiAgICAjbWluaW1pemFibGVBdXRvOiBib29sZWFuID0gdHJ1ZVxuXG4gICAgcmVhZG9ubHkgI2F1dG9TaXplID0gY29tYmluZUxhdGVzdCh7XG4gICAgICAgIGRpbTogd2F0Y2hEaW1lbnNpb24odGhpcy5lbC5uYXRpdmVFbGVtZW50LCBcInNjcm9sbC1ib3hcIiksXG4gICAgICAgIHBvczogdGhpcy5wb3NpdGlvblxuICAgIH0pLnBpcGUoXG4gICAgICAgIG1hcCgoeyBkaW0sIHBvcyB9KSA9PiB7XG4gICAgICAgICAgICBpZiAocG9zLm9yaWVudCA9PT0gXCJob3Jpem9udGFsXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGltLmhlaWdodFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGltLndpZHRoXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgIClcblxuICAgIHJlYWRvbmx5IGZ1bGxTaXplID0gdGhpcy4jZnVsbFNpemUucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHNpemUgPT4ge1xuICAgICAgICAgICAgaWYgKHNpemUudW5pdCA9PT0gXCJhdXRvXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4jYXV0b1NpemVcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHNpemUpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgIClcblxuICAgIHJlYWRvbmx5IG1pbmlTaXplID0gdGhpcy4jbWluaVNpemUucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHNpemUgPT4ge1xuICAgICAgICAgICAgaWYgKHNpemUudW5pdCA9PT0gXCJhdXRvXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4jYXV0b1NpemVcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHNpemUpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgIClcblxuICAgIHJlYWRvbmx5IGNoYW5nZXMgPSBjb21iaW5lTGF0ZXN0KHtcbiAgICAgICAgcG9zaXRpb246IHRoaXMucG9zaXRpb24sXG4gICAgICAgIHN0YXRlOiB0aGlzLnN0YXRlLFxuICAgICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICAgIGZ1bGxTaXplOiB0aGlzLmZ1bGxTaXplLFxuICAgICAgICBtaW5pU2l6ZTogdGhpcy5taW5pU2l6ZVxuICAgIH0pXG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKVxuXG4gICAgICAgIHRoaXMuZC5zdWIodGhpcy5jaGFuZ2VzKS5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy4jbWluaW1pemFibGVBdXRvKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4jbWluaW1pemFibGUgPSB0aGlzLiNtaW5pU2l6ZS52YWx1ZS52YWx1ZSAhPT0gMFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBGYXN0RE9NLnNldEF0dHJpYnV0ZXModGhpcy5lbC5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgICAgICAgICAgc3RhdGU6IGNoYW5nZXMuc3RhdGUsXG4gICAgICAgICAgICAgICAgb3JpZW50OiBjaGFuZ2VzLnBvc2l0aW9uLm9yaWVudCxcbiAgICAgICAgICAgICAgICBtb2RlOiBjaGFuZ2VzLm1vZGUsXG4gICAgICAgICAgICAgICAgc2lkZTpcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlcy5wb3NpdGlvbi5vcmllbnQgPT09IFwiaG9yaXpvbnRhbFwiID8gY2hhbmdlcy5wb3NpdGlvbi5jZWxsc1swXS52IDogY2hhbmdlcy5wb3NpdGlvbi5jZWxsc1swXS5oXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIG9wZW4oKSB7XG4gICAgICAgIHRoaXMuc3RhdGUubmV4dChcImZ1bGxcIilcbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgdGhpcy5zdGF0ZS5uZXh0KFwiaW52aXNpYmxlXCIpXG4gICAgfVxuXG4gICAgbWluaW1pemUoKSB7XG4gICAgICAgIGlmICh0aGlzLm1pbmltaXphYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlLm5leHQoXCJtaW5pXCIpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbnR5cGUgQ2hhbmdlc09ic2VydmFibGUgPSB0eXBlb2YgRG9ja2luZ1BhbmVsQ29tcG9uZW50LnByb3RvdHlwZS5jaGFuZ2VzXG5leHBvcnQgdHlwZSBEb2NraW5nUGFuZWxDaGFuZ2VzID0gQ2hhbmdlc09ic2VydmFibGUgZXh0ZW5kcyBPYnNlcnZhYmxlPGluZmVyIFQ+ID8gVCA6IG5ldmVyXG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { DockingContentComponent } from "./docking-content.component";
|
|
3
|
+
import { DockingLayoutComponent } from "./docking-layout.component";
|
|
4
|
+
import { DockingPanelComponent } from "./docking-panel.component";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export { DockingLayoutComponent, DockingPanelComponent, DockingContentComponent };
|
|
7
|
+
const members = [DockingLayoutComponent, DockingPanelComponent, DockingContentComponent];
|
|
8
|
+
export class NuDockingLayout {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NuDockingLayout, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: NuDockingLayout, imports: [DockingLayoutComponent, DockingPanelComponent, DockingContentComponent], exports: [DockingLayoutComponent, DockingPanelComponent, DockingContentComponent] }); }
|
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NuDockingLayout }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NuDockingLayout, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
imports: members,
|
|
17
|
+
exports: members
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sYXlvdXQvc3JjL2RvY2tpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV4QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTs7QUFFakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLENBQUE7QUFFakYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsQ0FBQyxDQUFBO0FBTXhGLE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxZQU5YLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixhQUF0RSxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUI7K0dBTTFFLGVBQWU7OzJGQUFmLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxPQUFPO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyBEb2NraW5nQ29udGVudENvbXBvbmVudCB9IGZyb20gXCIuL2RvY2tpbmctY29udGVudC5jb21wb25lbnRcIlxuaW1wb3J0IHsgRG9ja2luZ0xheW91dENvbXBvbmVudCB9IGZyb20gXCIuL2RvY2tpbmctbGF5b3V0LmNvbXBvbmVudFwiXG5pbXBvcnQgeyBEb2NraW5nUGFuZWxDb21wb25lbnQgfSBmcm9tIFwiLi9kb2NraW5nLXBhbmVsLmNvbXBvbmVudFwiXG5cbmV4cG9ydCB7IERvY2tpbmdMYXlvdXRDb21wb25lbnQsIERvY2tpbmdQYW5lbENvbXBvbmVudCwgRG9ja2luZ0NvbnRlbnRDb21wb25lbnQgfVxuXG5jb25zdCBtZW1iZXJzID0gW0RvY2tpbmdMYXlvdXRDb21wb25lbnQsIERvY2tpbmdQYW5lbENvbXBvbmVudCwgRG9ja2luZ0NvbnRlbnRDb21wb25lbnRdXG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogbWVtYmVycyxcbiAgICBleHBvcnRzOiBtZW1iZXJzXG59KVxuZXhwb3J0IGNsYXNzIE51RG9ja2luZ0xheW91dCB7fVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "./util";
|
|
2
|
+
export * from "./l9";
|
|
3
|
+
export * from "./docking";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9sYXlvdXQvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFBO0FBQ3RCLGNBQWMsTUFBTSxDQUFBO0FBQ3BCLGNBQWMsV0FBVyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vdXRpbFwiXG5leHBvcnQgKiBmcm9tIFwiLi9sOVwiXG5leHBvcnQgKiBmcm9tIFwiLi9kb2NraW5nXCJcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./range";
|
|
2
|
+
export * from "./state";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sYXlvdXQvc3JjL2w5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcmFuZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vc3RhdGVcIlxuIl19
|