@ngutil/floating 0.0.50 → 0.0.52
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/esm2022/floating/floating-ref.mjs +11 -12
- package/esm2022/floating/traits/animation.mjs +70 -15
- package/esm2022/floating/traits/backdrop.mjs +5 -15
- package/esm2022/floating/traits/dim-contraint.mjs +4 -4
- package/esm2022/floating/traits/position-calc.mjs +27 -9
- package/esm2022/floating/traits/position.mjs +16 -3
- package/esm2022/layer/backdrop-ref.mjs +15 -32
- package/esm2022/layer/layer.service.mjs +5 -4
- package/fesm2022/ngutil-floating.mjs +143 -84
- package/fesm2022/ngutil-floating.mjs.map +1 -1
- package/floating/floating-ref.d.ts +5 -1
- package/floating/traits/animation.d.ts +7 -4
- package/floating/traits/backdrop.d.ts +4 -4
- package/floating/traits/modal.d.ts +1 -1
- package/floating/traits/position-calc.d.ts +13 -11
- package/layer/backdrop-ref.d.ts +7 -21
- package/layer/layer.service.d.ts +1 -1
- package/package.json +4 -4
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { takeUntil } from "rxjs";
|
|
2
2
|
import { ChildRef } from "./child-ref";
|
|
3
3
|
export class BackdropRef extends ChildRef {
|
|
4
|
-
static from(cover, injector, options) {
|
|
5
|
-
const ref = new BackdropRef(document.createElement("div"), cover, injector, options);
|
|
6
|
-
// TODO: kérdéses
|
|
7
|
-
// options.under.state.control(ref.state)
|
|
8
|
-
return ref;
|
|
9
|
-
}
|
|
10
4
|
set visible(visible) {
|
|
11
5
|
if (this.#visible !== visible) {
|
|
12
6
|
this.#visible = visible;
|
|
@@ -16,35 +10,24 @@ export class BackdropRef extends ChildRef {
|
|
|
16
10
|
get visible() {
|
|
17
11
|
return this.#visible;
|
|
18
12
|
}
|
|
19
|
-
#visible =
|
|
20
|
-
constructor(
|
|
21
|
-
super(nativeElement);
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
13
|
+
#visible = false;
|
|
14
|
+
constructor(coverRef, under, options) {
|
|
15
|
+
super(coverRef.nativeElement);
|
|
16
|
+
this.coverRef = coverRef;
|
|
17
|
+
this.under = under;
|
|
24
18
|
this.options = options;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
.solid({ container: nativeElement, color: options.color })
|
|
35
|
-
.pipe(takeUntil(this.disposed$))
|
|
36
|
-
.subscribe();
|
|
37
|
-
this.group = `${options.color === "transparent" ? "transparent" : "solid"}`;
|
|
38
|
-
}
|
|
39
|
-
else if (options.type === "crop") {
|
|
40
|
-
this.coverSvc
|
|
41
|
-
.crop({ container: nativeElement, color: options.color, crop: options.crop })
|
|
42
|
-
.pipe(takeUntil(this.disposed$))
|
|
43
|
-
.subscribe();
|
|
44
|
-
}
|
|
19
|
+
this.group = `${options.color === "transparent" ? "transparent" : "solid"}`;
|
|
20
|
+
this.state.on("showing", () => {
|
|
21
|
+
this.coverRef
|
|
22
|
+
.show()
|
|
23
|
+
.pipe(takeUntil(this.state.onDone("disposed")))
|
|
24
|
+
.subscribe(() => {
|
|
25
|
+
this.visible = true;
|
|
26
|
+
});
|
|
27
|
+
});
|
|
45
28
|
}
|
|
46
29
|
show() {
|
|
47
30
|
return this.state.run("showing", "shown");
|
|
48
31
|
}
|
|
49
32
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2Ryb3AtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2xheWVyL2JhY2tkcm9wLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBS2hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFJdEMsTUFBTSxPQUFPLFdBQVksU0FBUSxRQUFRO0lBR3JDLElBQUksT0FBTyxDQUFDLE9BQWdCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtRQUN4RSxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN4QixDQUFDO0lBQ0QsUUFBUSxHQUFZLEtBQUssQ0FBQTtJQUV6QixZQUNhLFFBQXVCLEVBQ3ZCLEtBQWUsRUFDZixPQUFxQjtRQUU5QixLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBSnBCLGFBQVEsR0FBUixRQUFRLENBQWU7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNmLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFJOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTNFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFFBQVE7aUJBQ1IsSUFBSSxFQUFFO2lCQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztpQkFDOUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtZQUN2QixDQUFDLENBQUMsQ0FBQTtRQUNWLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELElBQUk7UUFDQSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IENvdmVyUmVmIH0gZnJvbSBcIkBuZ3V0aWwvZ3JhcGhpY3NcIlxuaW1wb3J0IHsgQ292ZXJPcHRpb25zIH0gZnJvbSBcIkBuZ3V0aWwvZ3JhcGhpY3NcIlxuXG5pbXBvcnQgeyBDaGlsZFJlZiB9IGZyb20gXCIuL2NoaWxkLXJlZlwiXG5cbmV4cG9ydCB0eXBlIEJhY2tkcm9wT3B0aW9ucyA9IENvdmVyT3B0aW9uc1xuXG5leHBvcnQgY2xhc3MgQmFja2Ryb3BSZWYgZXh0ZW5kcyBDaGlsZFJlZiB7XG4gICAgcmVhZG9ubHkgZ3JvdXA6IHN0cmluZ1xuXG4gICAgc2V0IHZpc2libGUodmlzaWJsZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy4jdmlzaWJsZSAhPT0gdmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy4jdmlzaWJsZSA9IHZpc2libGVcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gdmlzaWJsZSA/IFwidmlzaWJsZVwiIDogXCJoaWRkZW5cIlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLiN2aXNpYmxlXG4gICAgfVxuICAgICN2aXNpYmxlOiBib29sZWFuID0gZmFsc2VcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZWFkb25seSBjb3ZlclJlZjogQ292ZXJSZWY8YW55PixcbiAgICAgICAgcmVhZG9ubHkgdW5kZXI6IENoaWxkUmVmLFxuICAgICAgICByZWFkb25seSBvcHRpb25zOiBDb3Zlck9wdGlvbnNcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY292ZXJSZWYubmF0aXZlRWxlbWVudClcblxuICAgICAgICB0aGlzLmdyb3VwID0gYCR7b3B0aW9ucy5jb2xvciA9PT0gXCJ0cmFuc3BhcmVudFwiID8gXCJ0cmFuc3BhcmVudFwiIDogXCJzb2xpZFwifWBcblxuICAgICAgICB0aGlzLnN0YXRlLm9uKFwic2hvd2luZ1wiLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvdmVyUmVmXG4gICAgICAgICAgICAgICAgLnNob3coKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnN0YXRlLm9uRG9uZShcImRpc3Bvc2VkXCIpKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgc2hvdygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUucnVuKFwic2hvd2luZ1wiLCBcInNob3duXCIpXG4gICAgfVxufVxuIl19
|
|
@@ -47,8 +47,9 @@ export class LayerService {
|
|
|
47
47
|
}
|
|
48
48
|
return this.append(new ContainerRef(options));
|
|
49
49
|
}
|
|
50
|
-
newBackdrop(options) {
|
|
51
|
-
|
|
50
|
+
newBackdrop(under, options) {
|
|
51
|
+
const coverRef = this.#cover.create(this.root, options);
|
|
52
|
+
return this.append(new BackdropRef(coverRef, under, options));
|
|
52
53
|
}
|
|
53
54
|
append(ref) {
|
|
54
55
|
if (!this.#children.includes(ref)) {
|
|
@@ -76,7 +77,7 @@ export class LayerService {
|
|
|
76
77
|
children.sort(sortByZIndexDesc);
|
|
77
78
|
let hasBackdrop = false;
|
|
78
79
|
for (const child of children) {
|
|
79
|
-
if (child instanceof BackdropRef && child.options.
|
|
80
|
+
if (child instanceof BackdropRef && child.options.color !== "transparent") {
|
|
80
81
|
child.visible = !hasBackdrop;
|
|
81
82
|
hasBackdrop = true;
|
|
82
83
|
}
|
|
@@ -148,4 +149,4 @@ function getAlwaysOnTop(child) {
|
|
|
148
149
|
return child.alwaysOnTop || AlwaysOnTop.None;
|
|
149
150
|
}
|
|
150
151
|
}
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9sYXllci9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWUsTUFBTSxlQUFlLENBQUE7QUFFdEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUvQyxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQVksTUFBTSxhQUFhLENBQUE7QUFDbkQsT0FBTyxFQUFvQixZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRSxPQUFPLEVBQTBCLGtCQUFrQixFQUF5QixpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTs7QUFFbkgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQVMsb0JBQW9CLENBQUMsQ0FBQTtBQUVsRiw2Q0FBNkM7QUFDN0MsOENBQThDO0FBRzlDLE1BQU0sT0FBZ0IsWUFBWTtJQUNyQixNQUFNLENBQXVCO0lBQzdCLFNBQVMsQ0FBbUI7SUFHckMseUNBQXlDO0lBRWhDLFNBQVMsQ0FBc0I7SUFDL0IsWUFBWSxDQUFRO0lBQzdCLDRCQUE0QjtJQUU1QixZQUFvRCxXQUFvQjtRQVYvRCxXQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzdCLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFNUIsU0FBSSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUE7UUFDM0QseUNBQXlDO1FBRWhDLGNBQVMsR0FB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QUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sS0FBSyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFBO0lBQ2hELENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3QsIEluamVjdGlvblRva2VuLCBJbmplY3RvciwgT3B0aW9uYWwsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyB0b1NvcnRlZCB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5pbXBvcnQgeyBDb3ZlclNlcnZpY2UgfSBmcm9tIFwiQG5ndXRpbC9ncmFwaGljc1wiXG5cbmltcG9ydCB7IEJhY2tkcm9wT3B0aW9ucywgQmFja2Ryb3BSZWYgfSBmcm9tIFwiLi9iYWNrZHJvcC1yZWZcIlxuaW1wb3J0IHsgQWx3YXlzT25Ub3AsIENoaWxkUmVmIH0gZnJvbSBcIi4vY2hpbGQtcmVmXCJcbmltcG9ydCB7IENvbnRhaW5lck9wdGlvbnMsIENvbnRhaW5lclJlZiB9IGZyb20gXCIuL2NvbnRhaW5lci1yZWZcIlxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsT3B0aW9ucywgQ29tcG9uZW50UG9ydGFsUmVmLCBUZW1wbGF0ZVBvcnRhbE9wdGlvbnMsIFRlbXBsYXRlUG9ydGFsUmVmIH0gZnJvbSBcIi4vcG9ydGFsLXJlZlwiXG5cbmV4cG9ydCBjb25zdCBMQVlFUl9aSU5ERVhfU1RBUlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48bnVtYmVyPihcIkxBWUVSX1pJTkRFWF9TVEFSVFwiKVxuXG4vLyBUT0RPOiBFTEVWQVRJT05fU1RFUCBjb25maWcgd2l0aCBpbmplY3Rpb25cbi8vIFRPRE86IEVMRVZBVElPTl9TVEFSVCBjb25maWcgd2l0aCBpbmplY3Rpb25cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTGF5ZXJTZXJ2aWNlIHtcbiAgICByZWFkb25seSAjY292ZXIgPSBpbmplY3QoQ292ZXJTZXJ2aWNlKVxuICAgIHJlYWRvbmx5ICNpbmplY3RvciA9IGluamVjdChJbmplY3RvcilcblxuICAgIHJlYWRvbmx5IHJvb3QgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpXG4gICAgLy8gcmVhZG9ubHkgI2VsID0gdGhpcy5yb290Lm5hdGl2ZUVsZW1lbnRcblxuICAgIHJlYWRvbmx5ICNjaGlsZHJlbjogQXJyYXk8Q2hpbGRSZWY+ID0gW11cbiAgICByZWFkb25seSAjekluZGV4U3RhcnQ6IG51bWJlclxuICAgIC8vIHJlYWRvbmx5ICNiYWNrZHJvcDogTWFwPD5cblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTEFZRVJfWklOREVYX1NUQVJUKSBAT3B0aW9uYWwoKSB6SW5kZXhTdGFydD86IG51bWJlcikge1xuICAgICAgICBpZiAoekluZGV4U3RhcnQgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy4jekluZGV4U3RhcnQgPSB6SW5kZXhTdGFydFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy4jekluZGV4U3RhcnQgPSAxMDAwMFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmV3Q29tcG9uZW50UG9ydGFsPFQ+KGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPiwgb3B0aW9uczogQ29tcG9uZW50UG9ydGFsT3B0aW9uczxUPik6IENvbXBvbmVudFBvcnRhbFJlZjxUPiB7XG4gICAgICAgIGlmICghb3B0aW9ucy5pbmplY3Rvcikge1xuICAgICAgICAgICAgb3B0aW9ucyA9IHsgLi4ub3B0aW9ucywgaW5qZWN0b3I6IHRoaXMuI2luamVjdG9yIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5hcHBlbmQobmV3IENvbXBvbmVudFBvcnRhbFJlZihjb21wb25lbnQsIG9wdGlvbnMpKVxuICAgIH1cblxuICAgIG5ld1RlbXBsYXRlUG9ydGFsPFQ+KHRwbDogVGVtcGxhdGVSZWY8VD4sIG9wdGlvbnM6IFRlbXBsYXRlUG9ydGFsT3B0aW9uczxUPik6IFRlbXBsYXRlUG9ydGFsUmVmPFQ+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zLmluamVjdG9yKSB7XG4gICAgICAgICAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBpbmplY3RvcjogdGhpcy4jaW5qZWN0b3IgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmFwcGVuZChuZXcgVGVtcGxhdGVQb3J0YWxSZWYodHBsLCBvcHRpb25zKSlcbiAgICB9XG5cbiAgICBuZXdDb250YWluZXIob3B0aW9uczogQ29udGFpbmVyT3B0aW9ucyk6IENvbnRhaW5lclJlZiB7XG4gICAgICAgIGlmICghb3B0aW9ucy5pbmplY3Rvcikge1xuICAgICAgICAgICAgb3B0aW9ucyA9IHsgLi4ub3B0aW9ucywgaW5qZWN0b3I6IHRoaXMuI2luamVjdG9yIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5hcHBlbmQobmV3IENvbnRhaW5lclJlZihvcHRpb25zKSlcbiAgICB9XG5cbiAgICBuZXdCYWNrZHJvcChvcHRpb25zOiBCYWNrZHJvcE9wdGlvbnMpOiBCYWNrZHJvcFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcGVuZChCYWNrZHJvcFJlZi5mcm9tKHRoaXMuI2NvdmVyLCB0aGlzLiNpbmplY3Rvciwgb3B0aW9ucykpXG4gICAgfVxuXG4gICAgYXBwZW5kPFQgZXh0ZW5kcyBDaGlsZFJlZj4ocmVmOiBUKTogVCB7XG4gICAgICAgIGlmICghdGhpcy4jY2hpbGRyZW4uaW5jbHVkZXMocmVmKSkge1xuICAgICAgICAgICAgdGhpcy4jY2hpbGRyZW4ucHVzaChyZWYpXG4gICAgICAgICAgICB0aGlzLiN1cGRhdGUoKVxuICAgICAgICAgICAgdGhpcy5yb290Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQocmVmLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgICByZWYuc3RhdGUub24oXCJkaXNwb3NlZFwiLCAoKSA9PiB0aGlzLiNyZW1vdmUocmVmKSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVmXG4gICAgfVxuXG4gICAgI3JlbW92ZShyZWY6IENoaWxkUmVmKSB7XG4gICAgICAgIGNvbnN0IGlkeCA9IHRoaXMuI2NoaWxkcmVuLmluZGV4T2YocmVmKVxuICAgICAgICBpZiAoaWR4ID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuI2NoaWxkcmVuLnNwbGljZShpZHgsIDEpXG4gICAgICAgICAgICB0aGlzLiN1cGRhdGUoKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3VwZGF0ZSgpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSB0b1NvcnRlZCh0aGlzLiNjaGlsZHJlbiwgc29ydENoaWxkcmVuMilcblxuICAgICAgICBsZXQgekluZGV4ID0gdGhpcy4jekluZGV4U3RhcnRcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgICAgY2hpbGQuekluZGV4ID0gekluZGV4XG4gICAgICAgICAgICB6SW5kZXggKz0gMVxuICAgICAgICB9XG5cbiAgICAgICAgY2hpbGRyZW4uc29ydChzb3J0QnlaSW5kZXhEZXNjKVxuXG4gICAgICAgIGxldCBoYXNCYWNrZHJvcCA9IGZhbHNlXG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIEJhY2tkcm9wUmVmICYmIGNoaWxkLm9wdGlvbnMudHlwZSA9PT0gXCJzb2xpZFwiKSB7XG4gICAgICAgICAgICAgICAgY2hpbGQudmlzaWJsZSA9ICFoYXNCYWNrZHJvcFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogXCJib2R5XCIsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IExheWVyU2VydmljZSwgdXNlRXhpc3Rpbmc6IFJvb3RMYXllciB9XVxufSlcbmV4cG9ydCBjbGFzcyBSb290TGF5ZXIgZXh0ZW5kcyBMYXllclNlcnZpY2Uge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IExheWVyU2VydmljZSwgdXNlRXhpc3Rpbmc6IEluZGl2aWR1YWxMYXllciB9XVxufSlcbmV4cG9ydCBjbGFzcyBJbmRpdmlkdWFsTGF5ZXIgZXh0ZW5kcyBMYXllclNlcnZpY2Uge31cblxuZnVuY3Rpb24gc29ydENoaWxkcmVuMihhOiBDaGlsZFJlZiwgYjogQ2hpbGRSZWYpIHtcbiAgICBjb25zdCBhbHdheXNPblRvcCA9IHNvcnRCeUFsd2F5c09uVG9wKGEsIGIpXG4gICAgaWYgKGFsd2F5c09uVG9wID09PSAwKSB7XG4gICAgICAgIHJldHVybiBzb3J0QnlCYWNrZHJvcChhLCBiKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBhbHdheXNPblRvcFxuICAgIH1cbn1cblxuZnVuY3Rpb24gc29ydEJ5QmFja2Ryb3AoYTogQ2hpbGRSZWYsIGI6IENoaWxkUmVmKSB7XG4gICAgaWYgKGEgaW5zdGFuY2VvZiBCYWNrZHJvcFJlZiAmJiBhLnVuZGVyID09PSBiKSB7XG4gICAgICAgIHJldHVybiAtMVxuICAgIH0gZWxzZSBpZiAoYiBpbnN0YW5jZW9mIEJhY2tkcm9wUmVmICYmIGIudW5kZXIgPT09IGEpIHtcbiAgICAgICAgcmV0dXJuIDFcbiAgICB9XG4gICAgcmV0dXJuIDBcbn1cblxuZnVuY3Rpb24gc29ydEJ5WkluZGV4RGVzYyhhOiBDaGlsZFJlZiwgYjogQ2hpbGRSZWYpIHtcbiAgICByZXR1cm4gYi56SW5kZXggLSBhLnpJbmRleFxufVxuXG5mdW5jdGlvbiBzb3J0QnlBbHdheXNPblRvcChhOiBDaGlsZFJlZiwgYjogQ2hpbGRSZWYpIHtcbiAgICByZXR1cm4gZ2V0QWx3YXlzT25Ub3AoYSkgLSBnZXRBbHdheXNPblRvcChiKVxufVxuXG5mdW5jdGlvbiBnZXRBbHdheXNPblRvcChjaGlsZDogQ2hpbGRSZWYpOiBudW1iZXIge1xuICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIEJhY2tkcm9wUmVmKSB7XG4gICAgICAgIHJldHVybiBjaGlsZC51bmRlci5hbHdheXNPblRvcCB8fCBBbHdheXNPblRvcC5Ob25lXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGNoaWxkLmFsd2F5c09uVG9wIHx8IEFsd2F5c09uVG9wLk5vbmVcbiAgICB9XG59XG4iXX0=
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9sYXllci9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWUsTUFBTSxlQUFlLENBQUE7QUFFdEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUvQyxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQVksTUFBTSxhQUFhLENBQUE7QUFDbkQsT0FBTyxFQUFvQixZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRSxPQUFPLEVBQTBCLGtCQUFrQixFQUF5QixpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTs7QUFFbkgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQVMsb0JBQW9CLENBQUMsQ0FBQTtBQUVsRiw2Q0FBNkM7QUFDN0MsOENBQThDO0FBRzlDLE1BQU0sT0FBZ0IsWUFBWTtJQUNyQixNQUFNLENBQXVCO0lBQzdCLFNBQVMsQ0FBbUI7SUFHckMseUNBQXlDO0lBRWhDLFNBQVMsQ0FBc0I7SUFDL0IsWUFBWSxDQUFRO0lBQzdCLDRCQUE0QjtJQUU1QixZQUFvRCxXQUFvQjtRQVYvRCxXQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzdCLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFNUIsU0FBSSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUE7UUFDM0QseUNBQXlDO1FBRWhDLGNBQVMsR0FB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QUM7UUFDL0IsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFBO0lBQ3RELENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxLQUFLLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUE7SUFDaEQsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIlxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBPcHRpb25hbCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7IHRvU29ydGVkIH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcbmltcG9ydCB7IENvdmVyU2VydmljZSB9IGZyb20gXCJAbmd1dGlsL2dyYXBoaWNzXCJcblxuaW1wb3J0IHsgQmFja2Ryb3BPcHRpb25zLCBCYWNrZHJvcFJlZiB9IGZyb20gXCIuL2JhY2tkcm9wLXJlZlwiXG5pbXBvcnQgeyBBbHdheXNPblRvcCwgQ2hpbGRSZWYgfSBmcm9tIFwiLi9jaGlsZC1yZWZcIlxuaW1wb3J0IHsgQ29udGFpbmVyT3B0aW9ucywgQ29udGFpbmVyUmVmIH0gZnJvbSBcIi4vY29udGFpbmVyLXJlZlwiXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWxPcHRpb25zLCBDb21wb25lbnRQb3J0YWxSZWYsIFRlbXBsYXRlUG9ydGFsT3B0aW9ucywgVGVtcGxhdGVQb3J0YWxSZWYgfSBmcm9tIFwiLi9wb3J0YWwtcmVmXCJcblxuZXhwb3J0IGNvbnN0IExBWUVSX1pJTkRFWF9TVEFSVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxudW1iZXI+KFwiTEFZRVJfWklOREVYX1NUQVJUXCIpXG5cbi8vIFRPRE86IEVMRVZBVElPTl9TVEVQIGNvbmZpZyB3aXRoIGluamVjdGlvblxuLy8gVE9ETzogRUxFVkFUSU9OX1NUQVJUIGNvbmZpZyB3aXRoIGluamVjdGlvblxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMYXllclNlcnZpY2Uge1xuICAgIHJlYWRvbmx5ICNjb3ZlciA9IGluamVjdChDb3ZlclNlcnZpY2UpXG4gICAgcmVhZG9ubHkgI2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKVxuXG4gICAgcmVhZG9ubHkgcm9vdCA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZilcbiAgICAvLyByZWFkb25seSAjZWwgPSB0aGlzLnJvb3QubmF0aXZlRWxlbWVudFxuXG4gICAgcmVhZG9ubHkgI2NoaWxkcmVuOiBBcnJheTxDaGlsZFJlZj4gPSBbXVxuICAgIHJlYWRvbmx5ICN6SW5kZXhTdGFydDogbnVtYmVyXG4gICAgLy8gcmVhZG9ubHkgI2JhY2tkcm9wOiBNYXA8PlxuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMQVlFUl9aSU5ERVhfU1RBUlQpIEBPcHRpb25hbCgpIHpJbmRleFN0YXJ0PzogbnVtYmVyKSB7XG4gICAgICAgIGlmICh6SW5kZXhTdGFydCAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLiN6SW5kZXhTdGFydCA9IHpJbmRleFN0YXJ0XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLiN6SW5kZXhTdGFydCA9IDEwMDAwXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdDb21wb25lbnRQb3J0YWw8VD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBvcHRpb25zOiBDb21wb25lbnRQb3J0YWxPcHRpb25zPFQ+KTogQ29tcG9uZW50UG9ydGFsUmVmPFQ+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zLmluamVjdG9yKSB7XG4gICAgICAgICAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBpbmplY3RvcjogdGhpcy4jaW5qZWN0b3IgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmFwcGVuZChuZXcgQ29tcG9uZW50UG9ydGFsUmVmKGNvbXBvbmVudCwgb3B0aW9ucykpXG4gICAgfVxuXG4gICAgbmV3VGVtcGxhdGVQb3J0YWw8VD4odHBsOiBUZW1wbGF0ZVJlZjxUPiwgb3B0aW9uczogVGVtcGxhdGVQb3J0YWxPcHRpb25zPFQ+KTogVGVtcGxhdGVQb3J0YWxSZWY8VD4ge1xuICAgICAgICBpZiAoIW9wdGlvbnMuaW5qZWN0b3IpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IC4uLm9wdGlvbnMsIGluamVjdG9yOiB0aGlzLiNpbmplY3RvciB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwZW5kKG5ldyBUZW1wbGF0ZVBvcnRhbFJlZih0cGwsIG9wdGlvbnMpKVxuICAgIH1cblxuICAgIG5ld0NvbnRhaW5lcihvcHRpb25zOiBDb250YWluZXJPcHRpb25zKTogQ29udGFpbmVyUmVmIHtcbiAgICAgICAgaWYgKCFvcHRpb25zLmluamVjdG9yKSB7XG4gICAgICAgICAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBpbmplY3RvcjogdGhpcy4jaW5qZWN0b3IgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmFwcGVuZChuZXcgQ29udGFpbmVyUmVmKG9wdGlvbnMpKVxuICAgIH1cblxuICAgIG5ld0JhY2tkcm9wKHVuZGVyOiBDaGlsZFJlZiwgb3B0aW9uczogQmFja2Ryb3BPcHRpb25zKTogQmFja2Ryb3BSZWYge1xuICAgICAgICBjb25zdCBjb3ZlclJlZiA9IHRoaXMuI2NvdmVyLmNyZWF0ZSh0aGlzLnJvb3QsIG9wdGlvbnMpXG4gICAgICAgIHJldHVybiB0aGlzLmFwcGVuZChuZXcgQmFja2Ryb3BSZWYoY292ZXJSZWYsIHVuZGVyLCBvcHRpb25zKSlcbiAgICB9XG5cbiAgICBhcHBlbmQ8VCBleHRlbmRzIENoaWxkUmVmPihyZWY6IFQpOiBUIHtcbiAgICAgICAgaWYgKCF0aGlzLiNjaGlsZHJlbi5pbmNsdWRlcyhyZWYpKSB7XG4gICAgICAgICAgICB0aGlzLiNjaGlsZHJlbi5wdXNoKHJlZilcbiAgICAgICAgICAgIHRoaXMuI3VwZGF0ZSgpXG4gICAgICAgICAgICB0aGlzLnJvb3QubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChyZWYubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAgIHJlZi5zdGF0ZS5vbihcImRpc3Bvc2VkXCIsICgpID0+IHRoaXMuI3JlbW92ZShyZWYpKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWZcbiAgICB9XG5cbiAgICAjcmVtb3ZlKHJlZjogQ2hpbGRSZWYpIHtcbiAgICAgICAgY29uc3QgaWR4ID0gdGhpcy4jY2hpbGRyZW4uaW5kZXhPZihyZWYpXG4gICAgICAgIGlmIChpZHggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy4jY2hpbGRyZW4uc3BsaWNlKGlkeCwgMSlcbiAgICAgICAgICAgIHRoaXMuI3VwZGF0ZSgpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjdXBkYXRlKCkge1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHRvU29ydGVkKHRoaXMuI2NoaWxkcmVuLCBzb3J0Q2hpbGRyZW4yKVxuXG4gICAgICAgIGxldCB6SW5kZXggPSB0aGlzLiN6SW5kZXhTdGFydFxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICBjaGlsZC56SW5kZXggPSB6SW5kZXhcbiAgICAgICAgICAgIHpJbmRleCArPSAxXG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZHJlbi5zb3J0KHNvcnRCeVpJbmRleERlc2MpXG5cbiAgICAgICAgbGV0IGhhc0JhY2tkcm9wID0gZmFsc2VcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgQmFja2Ryb3BSZWYgJiYgY2hpbGQub3B0aW9ucy5jb2xvciAhPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgICAgICAgICAgICAgY2hpbGQudmlzaWJsZSA9ICFoYXNCYWNrZHJvcFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogXCJib2R5XCIsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IExheWVyU2VydmljZSwgdXNlRXhpc3Rpbmc6IFJvb3RMYXllciB9XVxufSlcbmV4cG9ydCBjbGFzcyBSb290TGF5ZXIgZXh0ZW5kcyBMYXllclNlcnZpY2Uge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IExheWVyU2VydmljZSwgdXNlRXhpc3Rpbmc6IEluZGl2aWR1YWxMYXllciB9XVxufSlcbmV4cG9ydCBjbGFzcyBJbmRpdmlkdWFsTGF5ZXIgZXh0ZW5kcyBMYXllclNlcnZpY2Uge31cblxuZnVuY3Rpb24gc29ydENoaWxkcmVuMihhOiBDaGlsZFJlZiwgYjogQ2hpbGRSZWYpIHtcbiAgICBjb25zdCBhbHdheXNPblRvcCA9IHNvcnRCeUFsd2F5c09uVG9wKGEsIGIpXG4gICAgaWYgKGFsd2F5c09uVG9wID09PSAwKSB7XG4gICAgICAgIHJldHVybiBzb3J0QnlCYWNrZHJvcChhLCBiKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBhbHdheXNPblRvcFxuICAgIH1cbn1cblxuZnVuY3Rpb24gc29ydEJ5QmFja2Ryb3AoYTogQ2hpbGRSZWYsIGI6IENoaWxkUmVmKSB7XG4gICAgaWYgKGEgaW5zdGFuY2VvZiBCYWNrZHJvcFJlZiAmJiBhLnVuZGVyID09PSBiKSB7XG4gICAgICAgIHJldHVybiAtMVxuICAgIH0gZWxzZSBpZiAoYiBpbnN0YW5jZW9mIEJhY2tkcm9wUmVmICYmIGIudW5kZXIgPT09IGEpIHtcbiAgICAgICAgcmV0dXJuIDFcbiAgICB9XG4gICAgcmV0dXJuIDBcbn1cblxuZnVuY3Rpb24gc29ydEJ5WkluZGV4RGVzYyhhOiBDaGlsZFJlZiwgYjogQ2hpbGRSZWYpIHtcbiAgICByZXR1cm4gYi56SW5kZXggLSBhLnpJbmRleFxufVxuXG5mdW5jdGlvbiBzb3J0QnlBbHdheXNPblRvcChhOiBDaGlsZFJlZiwgYjogQ2hpbGRSZWYpIHtcbiAgICByZXR1cm4gZ2V0QWx3YXlzT25Ub3AoYSkgLSBnZXRBbHdheXNPblRvcChiKVxufVxuXG5mdW5jdGlvbiBnZXRBbHdheXNPblRvcChjaGlsZDogQ2hpbGRSZWYpOiBudW1iZXIge1xuICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIEJhY2tkcm9wUmVmKSB7XG4gICAgICAgIHJldHVybiBjaGlsZC51bmRlci5hbHdheXNPblRvcCB8fCBBbHdheXNPblRvcC5Ob25lXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGNoaWxkLmFsd2F5c09uVG9wIHx8IEFsd2F5c09uVG9wLk5vbmVcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AnimationBuilder, style as style$1, animate } from '@angular/animations';
|
|
2
|
-
import { Observable, tap,
|
|
2
|
+
import { Observable, switchMap, tap, timer, take, map, Subject, exhaustMap, combineLatest, takeUntil, distinctUntilChanged, of, filter, share, ReplaySubject, shareReplay, takeWhile, debounceTime, startWith, EMPTY } from 'rxjs';
|
|
3
3
|
import { animationObservable, CoverService } from '@ngutil/graphics';
|
|
4
|
-
import { Duration, Ease, DimensionWatcher, rectExpand, rectOrigin, rectMoveOrigin, rectContract, RectWatcher } from '@ngutil/style';
|
|
4
|
+
import { Duration, Ease, alignmentToTransformOrigin, DimensionWatcher, rectExpand, rectOrigin, rectMoveOrigin, rectContract, alignmentNormalize, RectWatcher } from '@ngutil/style';
|
|
5
5
|
import { clamp } from 'lodash';
|
|
6
6
|
import { isElementInput, Lifecycle, toSorted } from '@ngutil/common';
|
|
7
7
|
import { FocusService, KeystrokeService } from '@ngutil/aria';
|
|
@@ -10,23 +10,47 @@ import { ElementRef, Injector, ComponentFactoryResolver, ViewContainerRef, Injec
|
|
|
10
10
|
import { DomPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
|
|
11
11
|
|
|
12
12
|
// https://tympanus.net/Development/ModalWindowEffects/
|
|
13
|
-
const
|
|
13
|
+
const timing = `${Duration.FastMs}ms ${Ease.Deceleration}`;
|
|
14
14
|
class AnimationTrait {
|
|
15
|
-
constructor(animation) {
|
|
15
|
+
constructor(animation, options) {
|
|
16
16
|
this.animation = animation;
|
|
17
|
+
this.options = options;
|
|
17
18
|
this.name = "animation";
|
|
18
19
|
}
|
|
19
20
|
connect(floatingRef) {
|
|
20
21
|
return new Observable((dst) => {
|
|
21
22
|
const builder = floatingRef.container.injector.get(AnimationBuilder);
|
|
22
23
|
const element = floatingRef.container.nativeElement;
|
|
23
|
-
|
|
24
|
-
floatingRef.state.on("
|
|
24
|
+
const options = this.options || {};
|
|
25
|
+
floatingRef.state.on("showing", () => animationParams(floatingRef, 0, options.params).pipe(switchMap(params => animationObservable({
|
|
26
|
+
builder,
|
|
27
|
+
element,
|
|
28
|
+
animation: this.animation.show,
|
|
29
|
+
options: { ...options, params }
|
|
30
|
+
}))));
|
|
31
|
+
floatingRef.state.on("disposing", () => animationParams(floatingRef, 0, options.params).pipe(switchMap(params => animationObservable({
|
|
32
|
+
builder,
|
|
33
|
+
element,
|
|
34
|
+
animation: this.animation.hide,
|
|
35
|
+
options: { ...options, params }
|
|
36
|
+
})), tap(() => (element.style.display = "none"))));
|
|
25
37
|
floatingRef.state.on("disposing", () => dst.complete());
|
|
26
38
|
dst.next();
|
|
27
39
|
});
|
|
28
40
|
}
|
|
29
41
|
}
|
|
42
|
+
function animationParams(floatingRef, delay, overrides) {
|
|
43
|
+
const src = delay > 0
|
|
44
|
+
? timer(delay).pipe(switchMap(() => floatingRef.watchTrait("position")))
|
|
45
|
+
: floatingRef.watchTrait("position");
|
|
46
|
+
return src.pipe(take(1), map(position => {
|
|
47
|
+
const origin = position.computed ? alignmentToTransformOrigin(position.computed.content.align) : "center";
|
|
48
|
+
return {
|
|
49
|
+
origin,
|
|
50
|
+
...overrides
|
|
51
|
+
};
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
30
54
|
const FallAnimation = {
|
|
31
55
|
show: [
|
|
32
56
|
style$1({
|
|
@@ -34,28 +58,59 @@ const FallAnimation = {
|
|
|
34
58
|
visibility: "visible",
|
|
35
59
|
opacity: "0"
|
|
36
60
|
}),
|
|
37
|
-
animate(
|
|
61
|
+
animate(timing, style$1({
|
|
38
62
|
transform: "scale(1)",
|
|
39
63
|
opacity: "1"
|
|
40
64
|
}))
|
|
41
65
|
],
|
|
42
66
|
hide: [
|
|
43
|
-
animate(
|
|
67
|
+
animate(timing, style$1({
|
|
44
68
|
transform: "scale(1.5)",
|
|
45
69
|
visibility: "visible",
|
|
46
70
|
opacity: "0"
|
|
47
71
|
}))
|
|
48
72
|
]
|
|
49
73
|
};
|
|
50
|
-
function fallAnimation() {
|
|
51
|
-
return new AnimationTrait(FallAnimation);
|
|
74
|
+
function fallAnimation(options) {
|
|
75
|
+
return new AnimationTrait(FallAnimation, options);
|
|
52
76
|
}
|
|
53
77
|
const FadeAnimation = {
|
|
54
|
-
show: [style$1({ opacity: 0 }), animate(
|
|
55
|
-
hide: [animate(
|
|
78
|
+
show: [style$1({ opacity: 0 }), animate(timing, style$1({ opacity: 1 }))],
|
|
79
|
+
hide: [animate(timing, style$1({ opacity: 0 }))]
|
|
56
80
|
};
|
|
57
|
-
function fadeAnimation() {
|
|
58
|
-
return new AnimationTrait(FadeAnimation);
|
|
81
|
+
function fadeAnimation(options) {
|
|
82
|
+
return new AnimationTrait(FadeAnimation, options);
|
|
83
|
+
}
|
|
84
|
+
const DropAnimation = {
|
|
85
|
+
show: [
|
|
86
|
+
style$1({
|
|
87
|
+
transform: "translate({{ translateX }}, {{ translateY }})",
|
|
88
|
+
opacity: "0",
|
|
89
|
+
transformOrigin: "{{ origin }}",
|
|
90
|
+
visibility: "visible"
|
|
91
|
+
}),
|
|
92
|
+
animate(timing, style$1({
|
|
93
|
+
opacity: "1",
|
|
94
|
+
transform: "scale(1, 1) translate(0px, 0px)"
|
|
95
|
+
}))
|
|
96
|
+
],
|
|
97
|
+
hide: [
|
|
98
|
+
animate(timing, style$1({ opacity: 0, transform: "translate(calc({{ translateX }} * -1), calc({{ translateY }} * -1))" }))
|
|
99
|
+
]
|
|
100
|
+
};
|
|
101
|
+
function dropAnimation(options) {
|
|
102
|
+
if (!options) {
|
|
103
|
+
options = {};
|
|
104
|
+
}
|
|
105
|
+
if (!options.params) {
|
|
106
|
+
options.params = {};
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
options.params = { ...options.params };
|
|
110
|
+
}
|
|
111
|
+
options.params["translateX"] = "0px";
|
|
112
|
+
options.params["translateY"] = "-40px";
|
|
113
|
+
return new AnimationTrait(DropAnimation, options);
|
|
59
114
|
}
|
|
60
115
|
|
|
61
116
|
class BackdropState {
|
|
@@ -71,20 +126,10 @@ class BackdropTrait {
|
|
|
71
126
|
connect(floatingRef) {
|
|
72
127
|
return new Observable((dest) => {
|
|
73
128
|
const animationBuilder = floatingRef.container.injector.get(AnimationBuilder);
|
|
74
|
-
const options = {
|
|
75
|
-
type: this.options.type,
|
|
76
|
-
under: floatingRef.container,
|
|
77
|
-
color: this.options.color
|
|
78
|
-
};
|
|
79
|
-
if (this.options.type === "crop") {
|
|
80
|
-
;
|
|
81
|
-
options.crop = floatingRef
|
|
82
|
-
.watchTrait("position")
|
|
83
|
-
.pipe(map(position => position.anchor));
|
|
84
|
-
}
|
|
129
|
+
const options = { ...this.options };
|
|
85
130
|
const state = new BackdropState();
|
|
86
|
-
const backdrop = floatingRef.layerSvc.newBackdrop(options);
|
|
87
|
-
if (
|
|
131
|
+
const backdrop = floatingRef.layerSvc.newBackdrop(floatingRef.container, options);
|
|
132
|
+
if (options.closeOnClick) {
|
|
88
133
|
dest.add(this.#installClickHandler(floatingRef, backdrop, state));
|
|
89
134
|
dest.add(state.onClick.pipe(exhaustMap(() => floatingRef.close())).subscribe());
|
|
90
135
|
}
|
|
@@ -146,7 +191,7 @@ class DimensionConstraintTrait {
|
|
|
146
191
|
refDim: refDim,
|
|
147
192
|
position: floatingRef.watchTrait("position")
|
|
148
193
|
}).subscribe(({ refDim, position }) => {
|
|
149
|
-
const floating = position.computed?.
|
|
194
|
+
const floating = position.computed?.content;
|
|
150
195
|
if (!floating) {
|
|
151
196
|
return;
|
|
152
197
|
}
|
|
@@ -155,7 +200,7 @@ class DimensionConstraintTrait {
|
|
|
155
200
|
}
|
|
156
201
|
else {
|
|
157
202
|
return floatingRef.watchTrait("position").subscribe(position => {
|
|
158
|
-
const floating = position.computed?.
|
|
203
|
+
const floating = position.computed?.content;
|
|
159
204
|
if (!floating) {
|
|
160
205
|
return;
|
|
161
206
|
}
|
|
@@ -163,7 +208,7 @@ class DimensionConstraintTrait {
|
|
|
163
208
|
dst.next(floating[this.#map.computedRef][this.#map.dimension]);
|
|
164
209
|
}
|
|
165
210
|
else {
|
|
166
|
-
dst.next(clamp(this.value, floating
|
|
211
|
+
dst.next(clamp(this.value, floating.min[this.#map.dimension] || 0, floating.max[this.#map.dimension] || Infinity));
|
|
167
212
|
}
|
|
168
213
|
});
|
|
169
214
|
}
|
|
@@ -250,19 +295,37 @@ function computePosition({ floating, anchor, placement, options }) {
|
|
|
250
295
|
anchor = rectExpand(anchor, options.anchor.margin);
|
|
251
296
|
}
|
|
252
297
|
const anchorPoint = rectOrigin(anchor, options.anchor.align);
|
|
253
|
-
let
|
|
298
|
+
let contentRect = rectMoveOrigin(floating, options.content.align, anchorPoint);
|
|
254
299
|
if (options.content.margin) {
|
|
255
|
-
|
|
300
|
+
contentRect = rectContract(contentRect, options.content.margin);
|
|
256
301
|
}
|
|
257
302
|
if (options.placement.padding) {
|
|
258
303
|
placement = rectContract(placement, options.placement.padding);
|
|
259
304
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
305
|
+
return {
|
|
306
|
+
content: {
|
|
307
|
+
...addTLRB(contentRect, placement),
|
|
308
|
+
align: alignmentNormalize(options.content.align),
|
|
309
|
+
connect: anchorPoint,
|
|
310
|
+
max: { width: placement.width - contentRect.x, height: placement.height - contentRect.y },
|
|
311
|
+
min: { width: 0, height: 0 }
|
|
312
|
+
},
|
|
313
|
+
anchor: {
|
|
314
|
+
...addTLRB(anchor, placement),
|
|
315
|
+
align: alignmentNormalize(options.anchor.align),
|
|
316
|
+
connect: anchorPoint
|
|
317
|
+
},
|
|
318
|
+
placement: addTLRB(placement, placement)
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
function addTLRB(rect, container) {
|
|
322
|
+
return {
|
|
323
|
+
...rect,
|
|
324
|
+
top: rect.y,
|
|
325
|
+
left: rect.x,
|
|
326
|
+
right: container.width - (rect.x + rect.width),
|
|
327
|
+
bottom: container.height - (rect.y + rect.height)
|
|
264
328
|
};
|
|
265
|
-
return { floating: cf };
|
|
266
329
|
}
|
|
267
330
|
|
|
268
331
|
class FloatingAnchorRef extends ElementRef {
|
|
@@ -330,8 +393,21 @@ class FloatingPosition {
|
|
|
330
393
|
return;
|
|
331
394
|
}
|
|
332
395
|
const floatingEl = floatingRef.container.nativeElement;
|
|
333
|
-
|
|
334
|
-
|
|
396
|
+
const computedContent = this.computed.content;
|
|
397
|
+
const style = { top: null, right: null, bottom: null, left: null };
|
|
398
|
+
if (computedContent.align.horizontal === "right") {
|
|
399
|
+
style["right"] = `${computedContent.right}px`;
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
style["left"] = `${computedContent.left}px`;
|
|
403
|
+
}
|
|
404
|
+
if (computedContent.align.vertical === "bottom") {
|
|
405
|
+
style["bottom"] = `${computedContent.bottom}px`;
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
style["top"] = `${computedContent.top}px`;
|
|
409
|
+
}
|
|
410
|
+
Object.assign(floatingEl.style, style);
|
|
335
411
|
}
|
|
336
412
|
}
|
|
337
413
|
|
|
@@ -486,12 +562,6 @@ function createElement(options) {
|
|
|
486
562
|
}
|
|
487
563
|
|
|
488
564
|
class BackdropRef extends ChildRef {
|
|
489
|
-
static from(cover, injector, options) {
|
|
490
|
-
const ref = new BackdropRef(document.createElement("div"), cover, injector, options);
|
|
491
|
-
// TODO: kérdéses
|
|
492
|
-
// options.under.state.control(ref.state)
|
|
493
|
-
return ref;
|
|
494
|
-
}
|
|
495
565
|
set visible(visible) {
|
|
496
566
|
if (this.#visible !== visible) {
|
|
497
567
|
this.#visible = visible;
|
|
@@ -501,32 +571,21 @@ class BackdropRef extends ChildRef {
|
|
|
501
571
|
get visible() {
|
|
502
572
|
return this.#visible;
|
|
503
573
|
}
|
|
504
|
-
#visible =
|
|
505
|
-
constructor(
|
|
506
|
-
super(nativeElement);
|
|
507
|
-
this.
|
|
508
|
-
this.
|
|
574
|
+
#visible = false;
|
|
575
|
+
constructor(coverRef, under, options) {
|
|
576
|
+
super(coverRef.nativeElement);
|
|
577
|
+
this.coverRef = coverRef;
|
|
578
|
+
this.under = under;
|
|
509
579
|
this.options = options;
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
.solid({ container: nativeElement, color: options.color })
|
|
520
|
-
.pipe(takeUntil(this.disposed$))
|
|
521
|
-
.subscribe();
|
|
522
|
-
this.group = `${options.color === "transparent" ? "transparent" : "solid"}`;
|
|
523
|
-
}
|
|
524
|
-
else if (options.type === "crop") {
|
|
525
|
-
this.coverSvc
|
|
526
|
-
.crop({ container: nativeElement, color: options.color, crop: options.crop })
|
|
527
|
-
.pipe(takeUntil(this.disposed$))
|
|
528
|
-
.subscribe();
|
|
529
|
-
}
|
|
580
|
+
this.group = `${options.color === "transparent" ? "transparent" : "solid"}`;
|
|
581
|
+
this.state.on("showing", () => {
|
|
582
|
+
this.coverRef
|
|
583
|
+
.show()
|
|
584
|
+
.pipe(takeUntil(this.state.onDone("disposed")))
|
|
585
|
+
.subscribe(() => {
|
|
586
|
+
this.visible = true;
|
|
587
|
+
});
|
|
588
|
+
});
|
|
530
589
|
}
|
|
531
590
|
show() {
|
|
532
591
|
return this.state.run("showing", "shown");
|
|
@@ -623,8 +682,9 @@ class LayerService {
|
|
|
623
682
|
}
|
|
624
683
|
return this.append(new ContainerRef(options));
|
|
625
684
|
}
|
|
626
|
-
newBackdrop(options) {
|
|
627
|
-
|
|
685
|
+
newBackdrop(under, options) {
|
|
686
|
+
const coverRef = this.#cover.create(this.root, options);
|
|
687
|
+
return this.append(new BackdropRef(coverRef, under, options));
|
|
628
688
|
}
|
|
629
689
|
append(ref) {
|
|
630
690
|
if (!this.#children.includes(ref)) {
|
|
@@ -652,7 +712,7 @@ class LayerService {
|
|
|
652
712
|
children.sort(sortByZIndexDesc);
|
|
653
713
|
let hasBackdrop = false;
|
|
654
714
|
for (const child of children) {
|
|
655
|
-
if (child instanceof BackdropRef && child.options.
|
|
715
|
+
if (child instanceof BackdropRef && child.options.color !== "transparent") {
|
|
656
716
|
child.visible = !hasBackdrop;
|
|
657
717
|
hasBackdrop = true;
|
|
658
718
|
}
|
|
@@ -756,6 +816,10 @@ class FloatingRef {
|
|
|
756
816
|
this.state.on("init", () => this.traitState$.pipe(takeUntil(this.#untilCleanup), debounceTime(5), take(1)));
|
|
757
817
|
this.state.on("showing", () => {
|
|
758
818
|
container.nativeElement.style.visibility = "visible";
|
|
819
|
+
container.nativeElement.style.pointerEvents = "none";
|
|
820
|
+
});
|
|
821
|
+
this.state.on("showing", () => {
|
|
822
|
+
container.nativeElement.style.pointerEvents = null;
|
|
759
823
|
});
|
|
760
824
|
this.state.on("disposing", () => {
|
|
761
825
|
container.nativeElement.style.pointerEvents = "none";
|
|
@@ -791,23 +855,18 @@ class FloatingRef {
|
|
|
791
855
|
this.close(true).subscribe();
|
|
792
856
|
}
|
|
793
857
|
watchTrait(name) {
|
|
794
|
-
return this.traitState$.pipe(takeUntil(this.#untilDisposed),
|
|
858
|
+
return this.traitState$.pipe(takeUntil(this.#untilDisposed), map(state => state[name]), filter(value => value != null));
|
|
795
859
|
}
|
|
796
860
|
#traitState() {
|
|
797
|
-
const src =
|
|
861
|
+
const src = {};
|
|
798
862
|
for (const [k, v] of Object.entries(this.#traits)) {
|
|
799
|
-
src
|
|
800
|
-
return { name: k, data: result };
|
|
801
|
-
})));
|
|
863
|
+
src[k] = v.connect(this).pipe(takeUntil(this.#untilDisposed), startWith(null));
|
|
802
864
|
}
|
|
803
|
-
if (src.length === 0) {
|
|
865
|
+
if (Object.keys(src).length === 0) {
|
|
804
866
|
return EMPTY;
|
|
805
867
|
}
|
|
806
|
-
else if (src.length === 1) {
|
|
807
|
-
return src[0];
|
|
808
|
-
}
|
|
809
868
|
else {
|
|
810
|
-
return
|
|
869
|
+
return combineLatest(src).pipe(shareReplay(1));
|
|
811
870
|
}
|
|
812
871
|
}
|
|
813
872
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: FloatingRef, deps: [{ token: LayerService }, { token: ContainerRef }, { token: TRAITS }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -965,5 +1024,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
|
|
|
965
1024
|
* Generated bundle index. Do not edit.
|
|
966
1025
|
*/
|
|
967
1026
|
|
|
968
|
-
export { AlwaysOnTop, AnimationTrait, AttributeTrait, BackdropRef, BackdropState, BackdropTrait, ChildRef, ComponentPortalRef, ContainerRef, DimensionConstraintTrait, FadeAnimation, FallAnimation, FloatingAnchorRef, FloatingComponentFactory, FloatingFactory, FloatingPlacementRef, FloatingPosition, FloatingRef, FloatingService, FloatingTemplateFactory, FocusTrait, IndividualLayer, KeystrokeTrait, LAYER_ZINDEX_START, LayerService, NuFloating, PortalRef, PositionTrait, RootLayer, StyleTrait, TRAITS, TemplatePortalRef, attribute, backdrop, computePosition, fadeAnimation, fallAnimation, focus, keystroke, maxHeight, maxWidth, minHeight, minWidth, modal, position, style };
|
|
1027
|
+
export { AlwaysOnTop, AnimationTrait, AttributeTrait, BackdropRef, BackdropState, BackdropTrait, ChildRef, ComponentPortalRef, ContainerRef, DimensionConstraintTrait, DropAnimation, FadeAnimation, FallAnimation, FloatingAnchorRef, FloatingComponentFactory, FloatingFactory, FloatingPlacementRef, FloatingPosition, FloatingRef, FloatingService, FloatingTemplateFactory, FocusTrait, IndividualLayer, KeystrokeTrait, LAYER_ZINDEX_START, LayerService, NuFloating, PortalRef, PositionTrait, RootLayer, StyleTrait, TRAITS, TemplatePortalRef, attribute, backdrop, computePosition, dropAnimation, fadeAnimation, fallAnimation, focus, keystroke, maxHeight, maxWidth, minHeight, minWidth, modal, position, style };
|
|
969
1028
|
//# sourceMappingURL=ngutil-floating.mjs.map
|