@ngutil/floating 0.0.62 → 0.0.64
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/README.md +28 -13
- package/esm2022/floating/floating-ref.mjs +1 -5
- package/esm2022/index.mjs +15 -2
- package/esm2022/layer/child-ref.mjs +19 -10
- package/esm2022/layer/external-ref.mjs +4 -0
- package/esm2022/layer/index.mjs +2 -1
- package/esm2022/layer/layer-container.mjs +110 -0
- package/esm2022/layer/layer.service.mjs +31 -116
- package/fesm2022/ngutil-floating.mjs +160 -133
- package/fesm2022/ngutil-floating.mjs.map +1 -1
- package/index.d.ts +5 -1
- package/layer/child-ref.d.ts +18 -3
- package/layer/external-ref.d.ts +3 -0
- package/layer/index.d.ts +1 -0
- package/layer/layer-container.d.ts +22 -0
- package/layer/layer.service.d.ts +9 -21
- package/package.json +4 -4
- package/esm2022/floating.module.mjs +0 -16
- package/floating.module.d.ts +0 -6
package/README.md
CHANGED
|
@@ -1,23 +1,38 @@
|
|
|
1
1
|
# floating
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Usage
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
### Configure
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
```typescript
|
|
8
|
+
import { provideAnimations } from "@angular/platform-browser/animations"
|
|
9
|
+
import { provideFloating } from "@ngutil/floating"
|
|
8
10
|
|
|
11
|
+
export const appConfig: ApplicationConfig = {
|
|
12
|
+
providers: [
|
|
13
|
+
provideAnimations(),
|
|
14
|
+
provideFloating()
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
```
|
|
9
18
|
|
|
10
|
-
|
|
19
|
+
### Create floating from component
|
|
11
20
|
|
|
12
21
|
```typescript
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}));
|
|
17
|
-
floating.showComponent(Component, new Toast({}));
|
|
18
|
-
floating.showComponent(Component, new Tip({anchor: {ref: element}})).subscribe(event => {
|
|
19
|
-
if (event === "done") {
|
|
20
|
-
// ...
|
|
21
|
-
}
|
|
22
|
+
@Component({
|
|
23
|
+
selector: 'app-modal',
|
|
24
|
+
template: `...`
|
|
22
25
|
})
|
|
26
|
+
export class ModalComponent {}
|
|
27
|
+
|
|
28
|
+
@Component({
|
|
29
|
+
selector: `app-user-list`,
|
|
30
|
+
})
|
|
31
|
+
export class UserListComponent {
|
|
32
|
+
readonly #floating = inject(FloatingService)
|
|
33
|
+
|
|
34
|
+
confirm() {
|
|
35
|
+
this.#floating.from(ModalComponent).trait(modal()).subscribe()
|
|
36
|
+
}
|
|
37
|
+
}
|
|
23
38
|
```
|
|
@@ -51,10 +51,6 @@ export class FloatingRef {
|
|
|
51
51
|
container.nativeElement.style.pointerEvents = "none";
|
|
52
52
|
});
|
|
53
53
|
this.state.control(container.state);
|
|
54
|
-
// TODO: remove
|
|
55
|
-
// this.state.status$.subscribe(status => {
|
|
56
|
-
// console.log("floating", status)
|
|
57
|
-
// })
|
|
58
54
|
}
|
|
59
55
|
show() {
|
|
60
56
|
return this.state.run("init", "showing", "shown");
|
|
@@ -104,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
104
100
|
type: Inject,
|
|
105
101
|
args: [TRAITS]
|
|
106
102
|
}] }] });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2Zsb2F0aW5nL2Zsb2F0aW5nLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEUsT0FBTyxFQUNILGFBQWEsRUFDYixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixHQUFHLEVBRUgsYUFBYSxFQUNiLFdBQVcsRUFDWCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1osTUFBTSxNQUFNLENBQUE7QUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7OztBQUtyRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsUUFBUSxDQUFDLENBQUE7QUFlMUQsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFBO0FBR25CLE1BQU0sT0FBTyxXQUFXO0lBYVgsT0FBTyxDQUFhO0lBR3BCLGFBQWEsQ0FBa0M7SUFDL0MsY0FBYyxDQUFtQztJQUkxRCxZQUNhLFFBQXNCLEVBQ3RCLFNBQXVCLEVBQ2hCLE1BQWM7UUFGckIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBdEIzQixZQUFPLEdBQUcsSUFBSSxhQUFhLENBQWtCLENBQUMsQ0FBQyxDQUFBO1FBRS9DLFVBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUMzQixJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRSxFQUFFO1lBQ1gsS0FBSyxFQUFFLEVBQUU7WUFDVCxPQUFPLEVBQUUsRUFBRSxX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Q0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsRixDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEtBQUssQ0FBQTtRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsRCxDQUFDO0lBQ0wsQ0FBQzs4R0ExR1EsV0FBVywwRUF3QlIsTUFBTTtrSEF4QlQsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVTs7MEJBeUJGLE1BQU07MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7XG4gICAgY29tYmluZUxhdGVzdCxcbiAgICBkZWJvdW5jZVRpbWUsXG4gICAgRU1QVFksXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIFJlcGxheVN1YmplY3QsXG4gICAgc2hhcmVSZXBsYXksXG4gICAgc3RhcnRXaXRoLFxuICAgIHRha2UsXG4gICAgdGFrZVVudGlsLFxuICAgIHRha2VXaGlsZVxufSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IExpZmVjeWNsZSB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5cbmltcG9ydCB7IENvbnRhaW5lclJlZiB9IGZyb20gXCIuLi9sYXllci9jb250YWluZXItcmVmXCJcbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gXCIuLi9sYXllci9sYXllci5zZXJ2aWNlXCJcbmltcG9ydCB7IEZsb2F0aW5nVHJhaXQgfSBmcm9tIFwiLi90cmFpdHMvX2Jhc2VcIlxuXG5leHBvcnQgdHlwZSBUcmFpdHMgPSB7IFtrZXk6IHN0cmluZ106IEZsb2F0aW5nVHJhaXQgfVxuXG5leHBvcnQgY29uc3QgVFJBSVRTID0gbmV3IEluamVjdGlvblRva2VuPFRyYWl0cz4oXCJUUkFJVFNcIilcblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ0NoYW5uZWwge1xuICAgIGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZlxuICAgIHR5cGU6IHN0cmluZ1xuICAgIGRhdGE/OiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ1RyYWl0RXZlbnQge1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGRhdGE6IG9iamVjdFxufVxuXG50eXBlIFRyYWl0U3RhdGUgPSB7IFtrZXk6IHN0cmluZ106IEZsb2F0aW5nVHJhaXRFdmVudCB8IG51bGwgfVxuXG5sZXQgVUlEX0NPVU5URVIgPSAwXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGbG9hdGluZ1JlZjxDIGV4dGVuZHMgRmxvYXRpbmdDaGFubmVsID0gRmxvYXRpbmdDaGFubmVsLCBUIGV4dGVuZHMgSFRNTEVsZW1lbnQgPSBIVE1MRWxlbWVudD4ge1xuICAgIHJlYWRvbmx5IGNoYW5uZWwgPSBuZXcgUmVwbGF5U3ViamVjdDxGbG9hdGluZ0NoYW5uZWw+KDEpXG5cbiAgICByZWFkb25seSBzdGF0ZSA9IG5ldyBMaWZlY3ljbGUoe1xuICAgICAgICBpbml0OiB7fSxcbiAgICAgICAgc2hvd2luZzoge30sXG4gICAgICAgIHNob3duOiB7fSxcbiAgICAgICAgY2xvc2luZzogeyBjYW5jZWxsYWJsZTogZmFsc2UsIG9yZGVyOiBcInNlcXVlbnRpYWxcIiB9LFxuICAgICAgICBkaXNwb3Npbmc6IHsgY2FuY2VsbGFibGU6IGZhbHNlIH0sXG4gICAgICAgIGRpc3Bvc2VkOiB7IGNhbmNlbGxhYmxlOiBmYWxzZSwgb3JkZXI6IFwic2VxdWVudGlhbFwiIH0sXG4gICAgICAgIGNsZWFudXA6IHsgY2FuY2VsbGFibGU6IGZhbHNlLCBvcmRlcjogXCJzZXF1ZW50aWFsXCIgfVxuICAgIH0pXG5cbiAgICByZWFkb25seSAjdHJhaXRzOiBUcmFpdHMgPSB7fVxuICAgIHJlYWRvbmx5IHRyYWl0U3RhdGUkOiBPYnNlcnZhYmxlPFRyYWl0U3RhdGU+XG5cbiAgICByZWFkb25seSAjdW50aWxDbGVhbnVwID0gdGhpcy5zdGF0ZS5vbkV4ZWN1dGUoXCJjbGVhbnVwXCIpXG4gICAgcmVhZG9ubHkgI3VudGlsRGlzcG9zZWQgPSB0aGlzLnN0YXRlLm9uRXhlY3V0ZShcImRpc3Bvc2VkXCIpXG5cbiAgICByZWFkb25seSB1aWQgPSBgJHsrK1VJRF9DT1VOVEVSfWBcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZWFkb25seSBsYXllclN2YzogTGF5ZXJTZXJ2aWNlLFxuICAgICAgICByZWFkb25seSBjb250YWluZXI6IENvbnRhaW5lclJlZixcbiAgICAgICAgQEluamVjdChUUkFJVFMpIHRyYWl0czogVHJhaXRzXG4gICAgKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUsIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogXCJoaWRkZW5cIixcbiAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtZmxvYXRpbmdcIiwgdGhpcy51aWQpXG5cbiAgICAgICAgdGhpcy4jdHJhaXRzID0gdHJhaXRzXG4gICAgICAgIHRoaXMudHJhaXRTdGF0ZSQgPSB0aGlzLiN0cmFpdFN0YXRlKCkucGlwZShzaGFyZVJlcGxheSgxKSlcblxuICAgICAgICB0aGlzLnN0YXRlLmN1cnJlbnQkLnBpcGUodGFrZVdoaWxlKHN0YXRlID0+IHN0YXRlICE9PSBcImNsZWFudXBcIiwgdHJ1ZSkpLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVtaXQoeyB0eXBlOiBzdGF0ZSB9IGFzIEMpXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuc3RhdGUub24oXCJpbml0XCIsICgpID0+IHRoaXMudHJhaXRTdGF0ZSQucGlwZSh0YWtlVW50aWwodGhpcy4jdW50aWxDbGVhbnVwKSwgZGVib3VuY2VUaW1lKDUpLCB0YWtlKDEpKSlcbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcInNob3dpbmdcIiwgKCkgPT4ge1xuICAgICAgICAgICAgY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9IFwidmlzaWJsZVwiXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuc3RhdGUub24oXCJzaG93blwiLCAoKSA9PiB7XG4gICAgICAgICAgICBjb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gbnVsbCBhcyBhbnlcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcImRpc3Bvc2luZ1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBjb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gXCJub25lXCJcbiAgICAgICAgfSlcblxuICAgICAgICB0aGlzLnN0YXRlLmNvbnRyb2woY29udGFpbmVyLnN0YXRlKVxuXG4gICAgICAgIC8vIFRPRE86IHJlbW92ZVxuICAgICAgICAvLyB0aGlzLnN0YXRlLnN0YXR1cyQuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhcImZsb2F0aW5nXCIsIHN0YXR1cylcbiAgICAgICAgLy8gfSlcbiAgICB9XG5cbiAgICBzaG93KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5ydW4oXCJpbml0XCIsIFwic2hvd2luZ1wiLCBcInNob3duXCIpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBoaWRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jbG9zZSh0cnVlKVxuICAgIH1cblxuICAgIGNsb3NlKGZvcmNlID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKGZvcmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5ydW4oXCJkaXNwb3NpbmdcIiwgXCJkaXNwb3NlZFwiLCBcImNsZWFudXBcIilcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnN0YXRlLnJ1bihcImNsb3NpbmdcIiwgXCJkaXNwb3NpbmdcIiwgXCJkaXNwb3NlZFwiLCBcImNsZWFudXBcIilcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVtaXQoZXZlbnQ6IE9taXQ8QywgXCJmbG9hdGluZ1JlZlwiPikge1xuICAgICAgICB0aGlzLmNoYW5uZWwubmV4dCh7IC4uLmV2ZW50LCBmbG9hdGluZ1JlZjogdGhpcyB9IGFzIGFueSlcbiAgICB9XG5cbiAgICBzZXRSZXN1bHQoZGF0YTogYW55KSB7XG4gICAgICAgIHRoaXMuZW1pdCh7IHR5cGU6IFwicmVzdWx0XCIsIGRhdGEgfSBhcyBDKVxuICAgICAgICB0aGlzLmNsb3NlKHRydWUpLnN1YnNjcmliZSgpXG4gICAgfVxuXG4gICAgd2F0Y2hUcmFpdDxUPihuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhaXRTdGF0ZSQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLiN1bnRpbERpc3Bvc2VkKSxcbiAgICAgICAgICAgIG1hcChzdGF0ZSA9PiBzdGF0ZVtuYW1lXSksXG4gICAgICAgICAgICBmaWx0ZXIodmFsdWUgPT4gdmFsdWUgIT0gbnVsbClcbiAgICAgICAgKSBhcyBPYnNlcnZhYmxlPFQ+XG4gICAgfVxuXG4gICAgI3RyYWl0U3RhdGUoKTogT2JzZXJ2YWJsZTxUcmFpdFN0YXRlPiB7XG4gICAgICAgIGNvbnN0IHNyYzogeyBba2V5OiBzdHJpbmddOiBPYnNlcnZhYmxlPEZsb2F0aW5nVHJhaXRFdmVudCB8IG51bGw+IH0gPSB7fVxuXG4gICAgICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuI3RyYWl0cykpIHtcbiAgICAgICAgICAgIHNyY1trXSA9IHYuY29ubmVjdCh0aGlzKS5waXBlKHRha2VVbnRpbCh0aGlzLiN1bnRpbERpc3Bvc2VkKSwgc3RhcnRXaXRoKG51bGwpKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHNyYykubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHNyYykucGlwZShzaGFyZVJlcGxheSgxKSlcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2Zsb2F0aW5nL2Zsb2F0aW5nLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEUsT0FBTyxFQUNILGFBQWEsRUFDYixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixHQUFHLEVBRUgsYUFBYSxFQUNiLFdBQVcsRUFDWCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1osTUFBTSxNQUFNLENBQUE7QUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7OztBQUtyRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsUUFBUSxDQUFDLENBQUE7QUFlMUQsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFBO0FBR25CLE1BQU0sT0FBTyxXQUFXO0lBYVgsT0FBTyxDQUFhO0lBR3BCLGFBQWEsQ0FBa0M7SUFDL0MsY0FBYyxDQUFtQztJQUkxRCxZQUNhLFFBQXNCLEVBQ3RCLFNBQXVCLEVBQ2hCLE1BQWM7UUFGckIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBdEIzQixZQUFPLEdBQUcsSUFBSSxhQUFhLENBQWtCLENBQUMsQ0FBQyxDQUFBO1FBRS9DLFVBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUMzQixJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRSxFQUFFO1lBQ1gsS0FBSyxFQUFFLEVBQUU7WUFDVCxPQUFPLEVBQUUsRUFBRSxX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Q0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ2xGLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sS0FBSyxDQUFBO1FBQ2hCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2xELENBQUM7SUFDTCxDQUFDOzhHQXJHUSxXQUFXLDBFQXdCUixNQUFNO2tIQXhCVCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVOzswQkF5QkYsTUFBTTsyQkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHtcbiAgICBjb21iaW5lTGF0ZXN0LFxuICAgIGRlYm91bmNlVGltZSxcbiAgICBFTVBUWSxcbiAgICBmaWx0ZXIsXG4gICAgbWFwLFxuICAgIE9ic2VydmFibGUsXG4gICAgUmVwbGF5U3ViamVjdCxcbiAgICBzaGFyZVJlcGxheSxcbiAgICBzdGFydFdpdGgsXG4gICAgdGFrZSxcbiAgICB0YWtlVW50aWwsXG4gICAgdGFrZVdoaWxlXG59IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgTGlmZWN5Y2xlIH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcblxuaW1wb3J0IHsgQ29udGFpbmVyUmVmIH0gZnJvbSBcIi4uL2xheWVyL2NvbnRhaW5lci1yZWZcIlxuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL2xheWVyL2xheWVyLnNlcnZpY2VcIlxuaW1wb3J0IHsgRmxvYXRpbmdUcmFpdCB9IGZyb20gXCIuL3RyYWl0cy9fYmFzZVwiXG5cbmV4cG9ydCB0eXBlIFRyYWl0cyA9IHsgW2tleTogc3RyaW5nXTogRmxvYXRpbmdUcmFpdCB9XG5cbmV4cG9ydCBjb25zdCBUUkFJVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHJhaXRzPihcIlRSQUlUU1wiKVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb2F0aW5nQ2hhbm5lbCB7XG4gICAgZmxvYXRpbmdSZWY6IEZsb2F0aW5nUmVmXG4gICAgdHlwZTogc3RyaW5nXG4gICAgZGF0YT86IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb2F0aW5nVHJhaXRFdmVudCB7XG4gICAgbmFtZTogc3RyaW5nXG4gICAgZGF0YTogb2JqZWN0XG59XG5cbnR5cGUgVHJhaXRTdGF0ZSA9IHsgW2tleTogc3RyaW5nXTogRmxvYXRpbmdUcmFpdEV2ZW50IHwgbnVsbCB9XG5cbmxldCBVSURfQ09VTlRFUiA9IDBcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb2F0aW5nUmVmPEMgZXh0ZW5kcyBGbG9hdGluZ0NoYW5uZWwgPSBGbG9hdGluZ0NoYW5uZWwsIFQgZXh0ZW5kcyBIVE1MRWxlbWVudCA9IEhUTUxFbGVtZW50PiB7XG4gICAgcmVhZG9ubHkgY2hhbm5lbCA9IG5ldyBSZXBsYXlTdWJqZWN0PEZsb2F0aW5nQ2hhbm5lbD4oMSlcblxuICAgIHJlYWRvbmx5IHN0YXRlID0gbmV3IExpZmVjeWNsZSh7XG4gICAgICAgIGluaXQ6IHt9LFxuICAgICAgICBzaG93aW5nOiB7fSxcbiAgICAgICAgc2hvd246IHt9LFxuICAgICAgICBjbG9zaW5nOiB7IGNhbmNlbGxhYmxlOiBmYWxzZSwgb3JkZXI6IFwic2VxdWVudGlhbFwiIH0sXG4gICAgICAgIGRpc3Bvc2luZzogeyBjYW5jZWxsYWJsZTogZmFsc2UgfSxcbiAgICAgICAgZGlzcG9zZWQ6IHsgY2FuY2VsbGFibGU6IGZhbHNlLCBvcmRlcjogXCJzZXF1ZW50aWFsXCIgfSxcbiAgICAgICAgY2xlYW51cDogeyBjYW5jZWxsYWJsZTogZmFsc2UsIG9yZGVyOiBcInNlcXVlbnRpYWxcIiB9XG4gICAgfSlcblxuICAgIHJlYWRvbmx5ICN0cmFpdHM6IFRyYWl0cyA9IHt9XG4gICAgcmVhZG9ubHkgdHJhaXRTdGF0ZSQ6IE9ic2VydmFibGU8VHJhaXRTdGF0ZT5cblxuICAgIHJlYWRvbmx5ICN1bnRpbENsZWFudXAgPSB0aGlzLnN0YXRlLm9uRXhlY3V0ZShcImNsZWFudXBcIilcbiAgICByZWFkb25seSAjdW50aWxEaXNwb3NlZCA9IHRoaXMuc3RhdGUub25FeGVjdXRlKFwiZGlzcG9zZWRcIilcblxuICAgIHJlYWRvbmx5IHVpZCA9IGAkeysrVUlEX0NPVU5URVJ9YFxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IGxheWVyU3ZjOiBMYXllclNlcnZpY2UsXG4gICAgICAgIHJlYWRvbmx5IGNvbnRhaW5lcjogQ29udGFpbmVyUmVmLFxuICAgICAgICBASW5qZWN0KFRSQUlUUykgdHJhaXRzOiBUcmFpdHNcbiAgICApIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihjb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZSwge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBcImhpZGRlblwiLFxuICAgICAgICAgICAgcG9pbnRlckV2ZW50czogXCJub25lXCJcbiAgICAgICAgfSlcbiAgICAgICAgY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1mbG9hdGluZ1wiLCB0aGlzLnVpZClcblxuICAgICAgICB0aGlzLiN0cmFpdHMgPSB0cmFpdHNcbiAgICAgICAgdGhpcy50cmFpdFN0YXRlJCA9IHRoaXMuI3RyYWl0U3RhdGUoKS5waXBlKHNoYXJlUmVwbGF5KDEpKVxuXG4gICAgICAgIHRoaXMuc3RhdGUuY3VycmVudCQucGlwZSh0YWtlV2hpbGUoc3RhdGUgPT4gc3RhdGUgIT09IFwiY2xlYW51cFwiLCB0cnVlKSkuc3Vic2NyaWJlKHN0YXRlID0+IHtcbiAgICAgICAgICAgIHRoaXMuZW1pdCh7IHR5cGU6IHN0YXRlIH0gYXMgQylcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcImluaXRcIiwgKCkgPT4gdGhpcy50cmFpdFN0YXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLiN1bnRpbENsZWFudXApLCBkZWJvdW5jZVRpbWUoNSksIHRha2UoMSkpKVxuICAgICAgICB0aGlzLnN0YXRlLm9uKFwic2hvd2luZ1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBjb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gXCJ2aXNpYmxlXCJcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcInNob3duXCIsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLnBvaW50ZXJFdmVudHMgPSBudWxsIGFzIGFueVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLnN0YXRlLm9uKFwiZGlzcG9zaW5nXCIsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLnBvaW50ZXJFdmVudHMgPSBcIm5vbmVcIlxuICAgICAgICB9KVxuXG4gICAgICAgIHRoaXMuc3RhdGUuY29udHJvbChjb250YWluZXIuc3RhdGUpXG4gICAgfVxuXG4gICAgc2hvdygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUucnVuKFwiaW5pdFwiLCBcInNob3dpbmdcIiwgXCJzaG93blwiKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgaGlkZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xvc2UodHJ1ZSlcbiAgICB9XG5cbiAgICBjbG9zZShmb3JjZSA9IGZhbHNlKSB7XG4gICAgICAgIGlmIChmb3JjZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUucnVuKFwiZGlzcG9zaW5nXCIsIFwiZGlzcG9zZWRcIiwgXCJjbGVhbnVwXCIpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5ydW4oXCJjbG9zaW5nXCIsIFwiZGlzcG9zaW5nXCIsIFwiZGlzcG9zZWRcIiwgXCJjbGVhbnVwXCIpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbWl0KGV2ZW50OiBPbWl0PEMsIFwiZmxvYXRpbmdSZWZcIj4pIHtcbiAgICAgICAgdGhpcy5jaGFubmVsLm5leHQoeyAuLi5ldmVudCwgZmxvYXRpbmdSZWY6IHRoaXMgfSBhcyBhbnkpXG4gICAgfVxuXG4gICAgc2V0UmVzdWx0KGRhdGE6IGFueSkge1xuICAgICAgICB0aGlzLmVtaXQoeyB0eXBlOiBcInJlc3VsdFwiLCBkYXRhIH0gYXMgQylcbiAgICAgICAgdGhpcy5jbG9zZSh0cnVlKS5zdWJzY3JpYmUoKVxuICAgIH1cblxuICAgIHdhdGNoVHJhaXQ8VD4obmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYWl0U3RhdGUkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy4jdW50aWxEaXNwb3NlZCksXG4gICAgICAgICAgICBtYXAoc3RhdGUgPT4gc3RhdGVbbmFtZV0pLFxuICAgICAgICAgICAgZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9IG51bGwpXG4gICAgICAgICkgYXMgT2JzZXJ2YWJsZTxUPlxuICAgIH1cblxuICAgICN0cmFpdFN0YXRlKCk6IE9ic2VydmFibGU8VHJhaXRTdGF0ZT4ge1xuICAgICAgICBjb25zdCBzcmM6IHsgW2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTxGbG9hdGluZ1RyYWl0RXZlbnQgfCBudWxsPiB9ID0ge31cblxuICAgICAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyh0aGlzLiN0cmFpdHMpKSB7XG4gICAgICAgICAgICBzcmNba10gPSB2LmNvbm5lY3QodGhpcykucGlwZSh0YWtlVW50aWwodGhpcy4jdW50aWxEaXNwb3NlZCksIHN0YXJ0V2l0aChudWxsKSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhzcmMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIEVNUFRZXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChzcmMpLnBpcGUoc2hhcmVSZXBsYXkoMSkpXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
package/esm2022/index.mjs
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
|
+
import { FloatingService } from "./floating";
|
|
2
|
+
import { LAYER_CONTAINER_ZINDEX_START, LayerContainer, LayerService, RootLayer } from "./layer";
|
|
1
3
|
export * from "./floating";
|
|
2
4
|
export * from "./layer";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
+
const DEFAULTS = {
|
|
6
|
+
zIndexStart: 10000
|
|
7
|
+
};
|
|
8
|
+
export function provideFloating(options = {}) {
|
|
9
|
+
const opts = { ...DEFAULTS, ...options };
|
|
10
|
+
return [
|
|
11
|
+
{ provide: LAYER_CONTAINER_ZINDEX_START, useValue: opts.zIndexStart },
|
|
12
|
+
{ provide: LayerContainer, useClass: RootLayer },
|
|
13
|
+
LayerService,
|
|
14
|
+
FloatingService
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM1QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFL0YsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxTQUFTLENBQUE7QUFNdkIsTUFBTSxRQUFRLEdBQTJCO0lBQ3JDLFdBQVcsRUFBRSxLQUFLO0NBQ3JCLENBQUE7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLFVBQWtDLEVBQUU7SUFDaEUsTUFBTSxJQUFJLEdBQUcsRUFBRSxHQUFHLFFBQVEsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFBO0lBQ3hDLE9BQU87UUFDSCxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNyRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRTtRQUNoRCxZQUFZO1FBQ1osZUFBZTtLQUNsQixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyBGbG9hdGluZ1NlcnZpY2UgfSBmcm9tIFwiLi9mbG9hdGluZ1wiXG5pbXBvcnQgeyBMQVlFUl9DT05UQUlORVJfWklOREVYX1NUQVJULCBMYXllckNvbnRhaW5lciwgTGF5ZXJTZXJ2aWNlLCBSb290TGF5ZXIgfSBmcm9tIFwiLi9sYXllclwiXG5cbmV4cG9ydCAqIGZyb20gXCIuL2Zsb2F0aW5nXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xheWVyXCJcblxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlRmxvYXRpbmdPcHRpb25zIHtcbiAgICB6SW5kZXhTdGFydD86IG51bWJlclxufVxuXG5jb25zdCBERUZBVUxUUzogUHJvdmlkZUZsb2F0aW5nT3B0aW9ucyA9IHtcbiAgICB6SW5kZXhTdGFydDogMTAwMDBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVGbG9hdGluZyhvcHRpb25zOiBQcm92aWRlRmxvYXRpbmdPcHRpb25zID0ge30pOiBQcm92aWRlcltdIHtcbiAgICBjb25zdCBvcHRzID0geyAuLi5ERUZBVUxUUywgLi4ub3B0aW9ucyB9XG4gICAgcmV0dXJuIFtcbiAgICAgICAgeyBwcm92aWRlOiBMQVlFUl9DT05UQUlORVJfWklOREVYX1NUQVJULCB1c2VWYWx1ZTogb3B0cy56SW5kZXhTdGFydCB9LFxuICAgICAgICB7IHByb3ZpZGU6IExheWVyQ29udGFpbmVyLCB1c2VDbGFzczogUm9vdExheWVyIH0sXG4gICAgICAgIExheWVyU2VydmljZSxcbiAgICAgICAgRmxvYXRpbmdTZXJ2aWNlXG4gICAgXVxufVxuIl19
|
|
@@ -3,11 +3,26 @@ import { filter, of, share, take } from "rxjs";
|
|
|
3
3
|
import { Lifecycle } from "@ngutil/common";
|
|
4
4
|
export var AlwaysOnTop;
|
|
5
5
|
(function (AlwaysOnTop) {
|
|
6
|
+
/**
|
|
7
|
+
* Display as open order
|
|
8
|
+
*/
|
|
6
9
|
AlwaysOnTop[AlwaysOnTop["None"] = 0] = "None";
|
|
7
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Modals
|
|
12
|
+
*/
|
|
8
13
|
AlwaysOnTop[AlwaysOnTop["Modal"] = 2] = "Modal";
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
/**
|
|
15
|
+
* User access control
|
|
16
|
+
*/
|
|
17
|
+
AlwaysOnTop[AlwaysOnTop["UAC"] = 3] = "UAC";
|
|
18
|
+
/**
|
|
19
|
+
* Toast...
|
|
20
|
+
*/
|
|
21
|
+
AlwaysOnTop[AlwaysOnTop["Toast"] = 4] = "Toast";
|
|
22
|
+
/**
|
|
23
|
+
* Like select drop down, tooltip, stb...
|
|
24
|
+
*/
|
|
25
|
+
AlwaysOnTop[AlwaysOnTop["Control"] = 5] = "Control";
|
|
11
26
|
})(AlwaysOnTop || (AlwaysOnTop = {}));
|
|
12
27
|
// TODO: disposing, disposed
|
|
13
28
|
export class ChildRef extends ElementRef {
|
|
@@ -39,12 +54,6 @@ export class ChildRef extends ElementRef {
|
|
|
39
54
|
this.state.destroy();
|
|
40
55
|
delete this.state;
|
|
41
56
|
});
|
|
42
|
-
// this.state.current$.subscribe(state => {
|
|
43
|
-
// console.log(this, state)
|
|
44
|
-
// })
|
|
45
|
-
// this.state.status$.subscribe(status => {
|
|
46
|
-
// console.log(this.nativeElement, status)
|
|
47
|
-
// })
|
|
48
57
|
}
|
|
49
58
|
dispose() {
|
|
50
59
|
if (this.state == null) {
|
|
@@ -53,4 +62,4 @@ export class ChildRef extends ElementRef {
|
|
|
53
62
|
return this.state.run(["disposing", "disposed"]);
|
|
54
63
|
}
|
|
55
64
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGQtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2xheWVyL2NoaWxkLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTFDLE9BQU8sRUFBRSxNQUFNLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBSTFDLE1BQU0sQ0FBTixJQUFZLFdBeUJYO0FBekJELFdBQVksV0FBVztJQUNuQjs7T0FFRztJQUNILDZDQUFRLENBQUE7SUFFUjs7T0FFRztJQUNILCtDQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILDJDQUFPLENBQUE7SUFFUDs7T0FFRztJQUNILCtDQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILG1EQUFXLENBQUE7QUFDZixDQUFDLEVBekJXLFdBQVcsS0FBWCxXQUFXLFFBeUJ0QjtBQUVELDRCQUE0QjtBQUU1QixNQUFNLE9BQWdCLFFBQThDLFNBQVEsVUFBYTtJQVFyRjs7T0FFRztJQUNILElBQUksTUFBTSxDQUFDLEdBQVc7UUFDbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFBO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakQsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDdkIsQ0FBQztJQVNELFlBQ0ksYUFBZ0IsRUFDQSxjQUEyQixXQUFXLENBQUMsSUFBSTtRQUUzRCxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUE7UUFGSixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0M7UUE3QnRELFVBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUMzQixPQUFPLEVBQUUsRUFBRTtZQUNYLEtBQUssRUFBRSxFQUFFO1lBQ1QsU0FBUyxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtZQUNqQyxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7U0FDeEQsQ0FBQyxDQUFBO1FBY00sWUFBTyxHQUFXLENBQUMsQ0FBQyxDQUFBO1FBRVQsY0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbkQsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxFQUNyQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsS0FBSyxFQUFFLENBQ1YsQ0FBQTtRQU9HLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQ3BCLE9BQVEsSUFBWSxDQUFDLEtBQUssQ0FBQTtRQUM5QixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3JCLE9BQU8sRUFBRSxFQUFFLENBQUE7UUFDZixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQ3BELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlLCB0YWtlIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBMaWZlY3ljbGUgfSBmcm9tIFwiQG5ndXRpbC9jb21tb25cIlxuXG5leHBvcnQgdHlwZSBEaXNwb3NlSGFuZGxlcjxUPiA9IChyZWY6IFQpID0+IE9ic2VydmFibGU8dm9pZD5cblxuZXhwb3J0IGVudW0gQWx3YXlzT25Ub3Age1xuICAgIC8qKlxuICAgICAqIERpc3BsYXkgYXMgb3BlbiBvcmRlclxuICAgICAqL1xuICAgIE5vbmUgPSAwLFxuXG4gICAgLyoqXG4gICAgICogTW9kYWxzXG4gICAgICovXG4gICAgTW9kYWwgPSAyLFxuXG4gICAgLyoqXG4gICAgICogVXNlciBhY2Nlc3MgY29udHJvbFxuICAgICAqL1xuICAgIFVBQyA9IDMsXG5cbiAgICAvKipcbiAgICAgKiBUb2FzdC4uLlxuICAgICAqL1xuICAgIFRvYXN0ID0gNCxcblxuICAgIC8qKlxuICAgICAqIExpa2Ugc2VsZWN0IGRyb3AgZG93biwgdG9vbHRpcCwgc3RiLi4uXG4gICAgICovXG4gICAgQ29udHJvbCA9IDVcbn1cblxuLy8gVE9ETzogZGlzcG9zaW5nLCBkaXNwb3NlZFxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2hpbGRSZWY8VCBleHRlbmRzIEhUTUxFbGVtZW50ID0gSFRNTEVsZW1lbnQ+IGV4dGVuZHMgRWxlbWVudFJlZjxUPiB7XG4gICAgcmVhZG9ubHkgc3RhdGUgPSBuZXcgTGlmZWN5Y2xlKHtcbiAgICAgICAgc2hvd2luZzoge30sXG4gICAgICAgIHNob3duOiB7fSxcbiAgICAgICAgZGlzcG9zaW5nOiB7IGNhbmNlbGxhYmxlOiBmYWxzZSB9LFxuICAgICAgICBkaXNwb3NlZDogeyBjYW5jZWxsYWJsZTogZmFsc2UsIG9yZGVyOiBcInNlcXVlbnRpYWxcIiB9XG4gICAgfSlcblxuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHNldCB6SW5kZXgodmFsOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuX3pJbmRleCAhPT0gdmFsKSB7XG4gICAgICAgICAgICB0aGlzLl96SW5kZXggPSB2YWxcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zdHlsZS56SW5kZXggPSBTdHJpbmcodmFsKVxuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB6SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3pJbmRleFxuICAgIH1cbiAgICBwcml2YXRlIF96SW5kZXg6IG51bWJlciA9IC0xXG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlzcG9zZWQkID0gdGhpcy5zdGF0ZS5jdXJyZW50JC5waXBlKFxuICAgICAgICBmaWx0ZXIoc3RhdGUgPT4gc3RhdGUgPT09IFwiZGlzcG9zZWRcIiksXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHNoYXJlKClcbiAgICApXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgbmF0aXZlRWxlbWVudDogVCxcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGFsd2F5c09uVG9wOiBBbHdheXNPblRvcCA9IEFsd2F5c09uVG9wLk5vbmVcbiAgICApIHtcbiAgICAgICAgc3VwZXIobmF0aXZlRWxlbWVudClcbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcImRpc3Bvc2VkXCIsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Py5yZW1vdmVDaGlsZCh0aGlzLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgICB0aGlzLnN0YXRlLmRlc3Ryb3koKVxuICAgICAgICAgICAgZGVsZXRlICh0aGlzIGFzIGFueSkuc3RhdGVcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBkaXNwb3NlKCkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlLnJ1bihbXCJkaXNwb3NpbmdcIiwgXCJkaXNwb3NlZFwiXSlcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ChildRef } from "./child-ref";
|
|
2
|
+
export class ExternalRef extends ChildRef {
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2xheWVyL2V4dGVybmFsLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRXRDLE1BQU0sT0FBTyxXQUFZLFNBQVEsUUFBUTtDQUFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hpbGRSZWYgfSBmcm9tIFwiLi9jaGlsZC1yZWZcIlxuXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxSZWYgZXh0ZW5kcyBDaGlsZFJlZiB7fVxuIl19
|
package/esm2022/layer/index.mjs
CHANGED
|
@@ -3,4 +3,5 @@ export * from "./child-ref";
|
|
|
3
3
|
export * from "./layer.service";
|
|
4
4
|
export * from "./portal-ref";
|
|
5
5
|
export * from "./container-ref";
|
|
6
|
-
|
|
6
|
+
export * from "./layer-container";
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvbGF5ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMsY0FBYyxDQUFBO0FBQzVCLGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsY0FBYyxtQkFBbUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2JhY2tkcm9wLXJlZlwiXG5leHBvcnQgKiBmcm9tIFwiLi9jaGlsZC1yZWZcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGF5ZXIuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9wb3J0YWwtcmVmXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnRhaW5lci1yZWZcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGF5ZXItY29udGFpbmVyXCJcbiJdfQ==
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { DOCUMENT } from "@angular/common";
|
|
2
|
+
import { Directive, ElementRef, inject, Injectable, InjectionToken } from "@angular/core";
|
|
3
|
+
import { toSorted } from "@ngutil/common";
|
|
4
|
+
import { BackdropRef } from "./backdrop-ref";
|
|
5
|
+
import { AlwaysOnTop } from "./child-ref";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export const LAYER_CONTAINER_ZINDEX_START = new InjectionToken("LAYER_CONTAINER_ZINDEX_START");
|
|
8
|
+
export class LayerContainer {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.#children = [];
|
|
11
|
+
this.zIndexStart = inject(LAYER_CONTAINER_ZINDEX_START);
|
|
12
|
+
}
|
|
13
|
+
#children;
|
|
14
|
+
append(ref) {
|
|
15
|
+
if (!this.#children.includes(ref)) {
|
|
16
|
+
this.#children.push(ref);
|
|
17
|
+
this.#update();
|
|
18
|
+
this.root.appendChild(ref.nativeElement);
|
|
19
|
+
ref.state.on("disposing", () => this.#remove(ref));
|
|
20
|
+
}
|
|
21
|
+
return ref;
|
|
22
|
+
}
|
|
23
|
+
#remove(ref) {
|
|
24
|
+
const idx = this.#children.indexOf(ref);
|
|
25
|
+
if (idx > -1) {
|
|
26
|
+
this.#children.splice(idx, 1);
|
|
27
|
+
this.#update();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
#update() {
|
|
31
|
+
const children = toSorted(this.#children, sortChildren2);
|
|
32
|
+
let zIndex = this.zIndexStart;
|
|
33
|
+
for (const child of children) {
|
|
34
|
+
child.zIndex = zIndex;
|
|
35
|
+
zIndex += 1;
|
|
36
|
+
}
|
|
37
|
+
children.sort(sortByZIndexDesc);
|
|
38
|
+
let hasBackdrop = false;
|
|
39
|
+
for (const child of children) {
|
|
40
|
+
if (child instanceof BackdropRef && child.options.color !== "transparent") {
|
|
41
|
+
child.visible = !hasBackdrop;
|
|
42
|
+
hasBackdrop = true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LayerContainer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
47
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: LayerContainer, ngImport: i0 }); }
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LayerContainer, decorators: [{
|
|
50
|
+
type: Directive
|
|
51
|
+
}] });
|
|
52
|
+
export class RootLayer extends LayerContainer {
|
|
53
|
+
constructor() {
|
|
54
|
+
super(...arguments);
|
|
55
|
+
this.root = inject(DOCUMENT).body;
|
|
56
|
+
}
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RootLayer, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
58
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RootLayer }); }
|
|
59
|
+
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RootLayer, decorators: [{
|
|
61
|
+
type: Injectable
|
|
62
|
+
}] });
|
|
63
|
+
export class IndividualLayer extends LayerContainer {
|
|
64
|
+
constructor() {
|
|
65
|
+
super(...arguments);
|
|
66
|
+
this.root = inject(ElementRef).nativeElement;
|
|
67
|
+
}
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: IndividualLayer, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
69
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: IndividualLayer, isStandalone: true, providers: [{ provide: LayerContainer, useExisting: IndividualLayer }], usesInheritance: true, ngImport: i0 }); }
|
|
70
|
+
}
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: IndividualLayer, decorators: [{
|
|
72
|
+
type: Directive,
|
|
73
|
+
args: [{
|
|
74
|
+
standalone: true,
|
|
75
|
+
providers: [{ provide: LayerContainer, useExisting: IndividualLayer }]
|
|
76
|
+
}]
|
|
77
|
+
}] });
|
|
78
|
+
function sortChildren2(a, b) {
|
|
79
|
+
const alwaysOnTop = sortByAlwaysOnTop(a, b);
|
|
80
|
+
if (alwaysOnTop === 0) {
|
|
81
|
+
return sortByBackdrop(a, b);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return alwaysOnTop;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function sortByBackdrop(a, b) {
|
|
88
|
+
if (a instanceof BackdropRef && a.under === b) {
|
|
89
|
+
return -1;
|
|
90
|
+
}
|
|
91
|
+
else if (b instanceof BackdropRef && b.under === a) {
|
|
92
|
+
return 1;
|
|
93
|
+
}
|
|
94
|
+
return 0;
|
|
95
|
+
}
|
|
96
|
+
function sortByZIndexDesc(a, b) {
|
|
97
|
+
return b.zIndex - a.zIndex;
|
|
98
|
+
}
|
|
99
|
+
function sortByAlwaysOnTop(a, b) {
|
|
100
|
+
return getAlwaysOnTop(a) - getAlwaysOnTop(b);
|
|
101
|
+
}
|
|
102
|
+
function getAlwaysOnTop(child) {
|
|
103
|
+
if (child instanceof BackdropRef) {
|
|
104
|
+
return child.under.alwaysOnTop || AlwaysOnTop.None;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
return child.alwaysOnTop || AlwaysOnTop.None;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2xheWVyL2xheWVyLWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXpDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFZLE1BQU0sYUFBYSxDQUFBOztBQUVuRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FBUyw4QkFBOEIsQ0FBQyxDQUFBO0FBR3RHLE1BQU0sT0FBZ0IsY0FBYztJQURwQztRQUlhLGNBQVMsR0FBb0IsRUFBRSxDQUFBO1FBQy9CLGdCQUFXLEdBQVcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUE7S0F1Q3RFO0lBeENZLFNBQVMsQ0FBc0I7SUFHeEMsTUFBTSxDQUFxQixHQUFNO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3hCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUN4QyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8s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Q0FBQyxDQUFBO0FBQ1osQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsQ0FBVyxFQUFFLENBQVc7SUFDOUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUE7QUFDOUIsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsQ0FBVyxFQUFFLENBQVc7SUFDL0MsT0FBTyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2hELENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxLQUFlO0lBQ25DLElBQUksS0FBSyxZQUFZLFdBQVcsRUFBRSxDQUFDO1FBQy9CLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQTtJQUN0RCxDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sS0FBSyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFBO0lBQ2hELENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHsgdG9Tb3J0ZWQgfSBmcm9tIFwiQG5ndXRpbC9jb21tb25cIlxuXG5pbXBvcnQgeyBCYWNrZHJvcFJlZiB9IGZyb20gXCIuL2JhY2tkcm9wLXJlZlwiXG5pbXBvcnQgeyBBbHdheXNPblRvcCwgQ2hpbGRSZWYgfSBmcm9tIFwiLi9jaGlsZC1yZWZcIlxuXG5leHBvcnQgY29uc3QgTEFZRVJfQ09OVEFJTkVSX1pJTkRFWF9TVEFSVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxudW1iZXI+KFwiTEFZRVJfQ09OVEFJTkVSX1pJTkRFWF9TVEFSVFwiKVxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMYXllckNvbnRhaW5lciB7XG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgcm9vdDogSFRNTEVsZW1lbnRcblxuICAgIHJlYWRvbmx5ICNjaGlsZHJlbjogQXJyYXk8Q2hpbGRSZWY+ID0gW11cbiAgICByZWFkb25seSB6SW5kZXhTdGFydDogbnVtYmVyID0gaW5qZWN0KExBWUVSX0NPTlRBSU5FUl9aSU5ERVhfU1RBUlQpXG5cbiAgICBhcHBlbmQ8VCBleHRlbmRzIENoaWxkUmVmPihyZWY6IFQpOiBUIHtcbiAgICAgICAgaWYgKCF0aGlzLiNjaGlsZHJlbi5pbmNsdWRlcyhyZWYpKSB7XG4gICAgICAgICAgICB0aGlzLiNjaGlsZHJlbi5wdXNoKHJlZilcbiAgICAgICAgICAgIHRoaXMuI3VwZGF0ZSgpXG4gICAgICAgICAgICB0aGlzLnJvb3QuYXBwZW5kQ2hpbGQocmVmLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgICByZWYuc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT4gdGhpcy4jcmVtb3ZlKHJlZikpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlZlxuICAgIH1cblxuICAgICNyZW1vdmUocmVmOiBDaGlsZFJlZikge1xuICAgICAgICBjb25zdCBpZHggPSB0aGlzLiNjaGlsZHJlbi5pbmRleE9mKHJlZilcbiAgICAgICAgaWYgKGlkeCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLiNjaGlsZHJlbi5zcGxpY2UoaWR4LCAxKVxuICAgICAgICAgICAgdGhpcy4jdXBkYXRlKClcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN1cGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gdG9Tb3J0ZWQodGhpcy4jY2hpbGRyZW4sIHNvcnRDaGlsZHJlbjIpXG5cbiAgICAgICAgbGV0IHpJbmRleCA9IHRoaXMuekluZGV4U3RhcnRcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgICAgY2hpbGQuekluZGV4ID0gekluZGV4XG4gICAgICAgICAgICB6SW5kZXggKz0gMVxuICAgICAgICB9XG5cbiAgICAgICAgY2hpbGRyZW4uc29ydChzb3J0QnlaSW5kZXhEZXNjKVxuXG4gICAgICAgIGxldCBoYXNCYWNrZHJvcCA9IGZhbHNlXG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIEJhY2tkcm9wUmVmICYmIGNoaWxkLm9wdGlvbnMuY29sb3IgIT09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICAgICAgICAgIGNoaWxkLnZpc2libGUgPSAhaGFzQmFja2Ryb3BcbiAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcCA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJvb3RMYXllciBleHRlbmRzIExheWVyQ29udGFpbmVyIHtcbiAgICByZWFkb25seSByb290ID0gaW5qZWN0KERPQ1VNRU5UKS5ib2R5XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMYXllckNvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IEluZGl2aWR1YWxMYXllciB9XVxufSlcbmV4cG9ydCBjbGFzcyBJbmRpdmlkdWFsTGF5ZXIgZXh0ZW5kcyBMYXllckNvbnRhaW5lciB7XG4gICAgcmVhZG9ubHkgcm9vdCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50XG59XG5cbmZ1bmN0aW9uIHNvcnRDaGlsZHJlbjIoYTogQ2hpbGRSZWYsIGI6IENoaWxkUmVmKSB7XG4gICAgY29uc3QgYWx3YXlzT25Ub3AgPSBzb3J0QnlBbHdheXNPblRvcChhLCBiKVxuICAgIGlmIChhbHdheXNPblRvcCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gc29ydEJ5QmFja2Ryb3AoYSwgYilcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gYWx3YXlzT25Ub3BcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHNvcnRCeUJhY2tkcm9wKGE6IENoaWxkUmVmLCBiOiBDaGlsZFJlZikge1xuICAgIGlmIChhIGluc3RhbmNlb2YgQmFja2Ryb3BSZWYgJiYgYS51bmRlciA9PT0gYikge1xuICAgICAgICByZXR1cm4gLTFcbiAgICB9IGVsc2UgaWYgKGIgaW5zdGFuY2VvZiBCYWNrZHJvcFJlZiAmJiBiLnVuZGVyID09PSBhKSB7XG4gICAgICAgIHJldHVybiAxXG4gICAgfVxuICAgIHJldHVybiAwXG59XG5cbmZ1bmN0aW9uIHNvcnRCeVpJbmRleERlc2MoYTogQ2hpbGRSZWYsIGI6IENoaWxkUmVmKSB7XG4gICAgcmV0dXJuIGIuekluZGV4IC0gYS56SW5kZXhcbn1cblxuZnVuY3Rpb24gc29ydEJ5QWx3YXlzT25Ub3AoYTogQ2hpbGRSZWYsIGI6IENoaWxkUmVmKSB7XG4gICAgcmV0dXJuIGdldEFsd2F5c09uVG9wKGEpIC0gZ2V0QWx3YXlzT25Ub3AoYilcbn1cblxuZnVuY3Rpb24gZ2V0QWx3YXlzT25Ub3AoY2hpbGQ6IENoaWxkUmVmKTogbnVtYmVyIHtcbiAgICBpZiAoY2hpbGQgaW5zdGFuY2VvZiBCYWNrZHJvcFJlZikge1xuICAgICAgICByZXR1cm4gY2hpbGQudW5kZXIuYWx3YXlzT25Ub3AgfHwgQWx3YXlzT25Ub3AuTm9uZVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjaGlsZC5hbHdheXNPblRvcCB8fCBBbHdheXNPblRvcC5Ob25lXG4gICAgfVxufVxuIl19
|
|
@@ -1,150 +1,65 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { toSorted } from "@ngutil/common";
|
|
1
|
+
import { ApplicationRef, inject, Injectable, Injector, ViewContainerRef } from "@angular/core";
|
|
2
|
+
import { coerceElement } from "@ngutil/common";
|
|
4
3
|
import { CoverService } from "@ngutil/graphics";
|
|
5
4
|
import { BackdropRef } from "./backdrop-ref";
|
|
6
5
|
import { AlwaysOnTop } from "./child-ref";
|
|
7
6
|
import { ContainerRef } from "./container-ref";
|
|
7
|
+
import { ExternalRef } from "./external-ref";
|
|
8
|
+
import { LayerContainer } from "./layer-container";
|
|
8
9
|
import { ComponentPortalRef, TemplatePortalRef } from "./portal-ref";
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
|
-
export const LAYER_ZINDEX_START = new InjectionToken("LAYER_ZINDEX_START");
|
|
11
11
|
// TODO: ELEVATION_STEP config with injection
|
|
12
12
|
// TODO: ELEVATION_START config with injection
|
|
13
13
|
export class LayerService {
|
|
14
|
+
#container = inject(LayerContainer);
|
|
14
15
|
#cover = inject(CoverService);
|
|
15
16
|
#injector = inject(Injector);
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if (zIndexStart != null) {
|
|
20
|
-
this.#zIndexStart = zIndexStart;
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
this.#zIndexStart = 10000;
|
|
24
|
-
}
|
|
17
|
+
#appRef = inject(ApplicationRef);
|
|
18
|
+
get root() {
|
|
19
|
+
return this.#container.root;
|
|
25
20
|
}
|
|
26
21
|
newComponentPortal(component, options) {
|
|
27
22
|
if (!options.injector) {
|
|
28
|
-
options = { ...options, injector: this.#
|
|
23
|
+
options = { ...options, injector: this.#getInjector() };
|
|
29
24
|
}
|
|
30
|
-
return this.append(new ComponentPortalRef(component, options));
|
|
25
|
+
return this.#container.append(new ComponentPortalRef(component, options));
|
|
31
26
|
}
|
|
32
27
|
newTemplatePortal(tpl, options) {
|
|
33
28
|
if (!options.injector) {
|
|
34
|
-
options = { ...options, injector: this.#
|
|
29
|
+
options = { ...options, injector: this.#getInjector() };
|
|
35
30
|
}
|
|
36
|
-
return this.append(new TemplatePortalRef(tpl, options));
|
|
31
|
+
return this.#container.append(new TemplatePortalRef(tpl, options));
|
|
37
32
|
}
|
|
38
33
|
newContainer(options) {
|
|
39
34
|
if (!options.injector) {
|
|
40
|
-
options = { ...options, injector: this.#
|
|
35
|
+
options = { ...options, injector: this.#getInjector() };
|
|
41
36
|
}
|
|
42
|
-
return this.append(new ContainerRef(options));
|
|
37
|
+
return this.#container.append(new ContainerRef(options));
|
|
43
38
|
}
|
|
44
39
|
newBackdrop(under, options) {
|
|
45
40
|
const coverRef = this.#cover.create(this.root, options);
|
|
46
|
-
return this.append(new BackdropRef(coverRef, under, options));
|
|
41
|
+
return this.#container.append(new BackdropRef(coverRef, under, options));
|
|
47
42
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this.#children.push(ref);
|
|
51
|
-
this.#update();
|
|
52
|
-
this.root.appendChild(ref.nativeElement);
|
|
53
|
-
ref.state.on("disposed", () => this.#remove(ref));
|
|
54
|
-
}
|
|
55
|
-
return ref;
|
|
56
|
-
}
|
|
57
|
-
#remove(ref) {
|
|
58
|
-
const idx = this.#children.indexOf(ref);
|
|
59
|
-
if (idx > -1) {
|
|
60
|
-
this.#children.splice(idx, 1);
|
|
61
|
-
this.#update();
|
|
62
|
-
}
|
|
43
|
+
addExternal(element, alwaysOnTop = AlwaysOnTop.None) {
|
|
44
|
+
return this.#container.append(new ExternalRef(coerceElement(element), alwaysOnTop));
|
|
63
45
|
}
|
|
64
|
-
#
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
zIndex += 1;
|
|
46
|
+
#getInjector() {
|
|
47
|
+
try {
|
|
48
|
+
this.#injector.get(ViewContainerRef);
|
|
49
|
+
return this.#injector;
|
|
50
|
+
// eslint-disable-next-line no-empty
|
|
70
51
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
child.visible = !hasBackdrop;
|
|
76
|
-
hasBackdrop = true;
|
|
77
|
-
}
|
|
52
|
+
catch (err) { }
|
|
53
|
+
const root = this.#appRef.components[0];
|
|
54
|
+
if (root == null) {
|
|
55
|
+
throw new Error("Root component not found");
|
|
78
56
|
}
|
|
57
|
+
return root.injector;
|
|
79
58
|
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LayerService, deps: [
|
|
81
|
-
static { this.ɵ
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LayerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
60
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LayerService }); }
|
|
82
61
|
}
|
|
83
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LayerService, decorators: [{
|
|
84
|
-
type:
|
|
85
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
86
|
-
type: Inject,
|
|
87
|
-
args: [LAYER_ZINDEX_START]
|
|
88
|
-
}, {
|
|
89
|
-
type: Optional
|
|
90
|
-
}] }] });
|
|
91
|
-
export class RootLayer extends LayerService {
|
|
92
|
-
#doc = inject(DOCUMENT);
|
|
93
|
-
get root() {
|
|
94
|
-
return this.#doc.body;
|
|
95
|
-
}
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RootLayer, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
97
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RootLayer, providedIn: "root" }); }
|
|
98
|
-
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RootLayer, decorators: [{
|
|
100
|
-
type: Injectable,
|
|
101
|
-
args: [{ providedIn: "root" }]
|
|
102
|
-
}] });
|
|
103
|
-
export class IndividualLayer extends LayerService {
|
|
104
|
-
#el = inject(ElementRef);
|
|
105
|
-
get root() {
|
|
106
|
-
return this.#el.nativeElement;
|
|
107
|
-
}
|
|
108
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: IndividualLayer, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
109
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: IndividualLayer, isStandalone: true, providers: [{ provide: LayerService, useExisting: IndividualLayer }], usesInheritance: true, ngImport: i0 }); }
|
|
110
|
-
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: IndividualLayer, decorators: [{
|
|
112
|
-
type: Directive,
|
|
113
|
-
args: [{
|
|
114
|
-
standalone: true,
|
|
115
|
-
providers: [{ provide: LayerService, useExisting: IndividualLayer }]
|
|
116
|
-
}]
|
|
63
|
+
type: Injectable
|
|
117
64
|
}] });
|
|
118
|
-
|
|
119
|
-
const alwaysOnTop = sortByAlwaysOnTop(a, b);
|
|
120
|
-
if (alwaysOnTop === 0) {
|
|
121
|
-
return sortByBackdrop(a, b);
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
return alwaysOnTop;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
function sortByBackdrop(a, b) {
|
|
128
|
-
if (a instanceof BackdropRef && a.under === b) {
|
|
129
|
-
return -1;
|
|
130
|
-
}
|
|
131
|
-
else if (b instanceof BackdropRef && b.under === a) {
|
|
132
|
-
return 1;
|
|
133
|
-
}
|
|
134
|
-
return 0;
|
|
135
|
-
}
|
|
136
|
-
function sortByZIndexDesc(a, b) {
|
|
137
|
-
return b.zIndex - a.zIndex;
|
|
138
|
-
}
|
|
139
|
-
function sortByAlwaysOnTop(a, b) {
|
|
140
|
-
return getAlwaysOnTop(a) - getAlwaysOnTop(b);
|
|
141
|
-
}
|
|
142
|
-
function getAlwaysOnTop(child) {
|
|
143
|
-
if (child instanceof BackdropRef) {
|
|
144
|
-
return child.under.alwaysOnTop || AlwaysOnTop.None;
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
return child.alwaysOnTop || AlwaysOnTop.None;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9sYXllci9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sTUFBTSxFQUNOLFVBQVUsRUFDVixjQUFjLEVBQ2QsUUFBUSxFQUNSLFFBQVEsRUFFWCxNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRS9DLE9BQU8sRUFBbUIsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBWSxNQUFNLGFBQWEsQ0FBQTtBQUNuRCxPQUFPLEVBQW9CLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2hFLE9BQU8sRUFBMEIsa0JBQWtCLEVBQXlCLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFBOztBQUVuSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxvQkFBb0IsQ0FBQyxDQUFBO0FBRWxGLDZDQUE2QztBQUM3Qyw4Q0FBOEM7QUFHOUMsTUFBTSxPQUFnQixZQUFZO0lBQ3JCLE1BQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDN0IsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM1QixTQUFTLEdBQW9CLEVBQUUsQ0FBQTtJQUMvQixZQUFZLENBQVE7SUFJN0IsWUFBb0QsV0FBb0I7UUFDcEUsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFX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SyxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQTtJQUN0RCxDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sS0FBSyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFBO0lBQ2hELENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiXG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbmplY3RvcixcbiAgICBPcHRpb25hbCxcbiAgICBUZW1wbGF0ZVJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7IHRvU29ydGVkIH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcbmltcG9ydCB7IENvdmVyU2VydmljZSB9IGZyb20gXCJAbmd1dGlsL2dyYXBoaWNzXCJcblxuaW1wb3J0IHsgQmFja2Ryb3BPcHRpb25zLCBCYWNrZHJvcFJlZiB9IGZyb20gXCIuL2JhY2tkcm9wLXJlZlwiXG5pbXBvcnQgeyBBbHdheXNPblRvcCwgQ2hpbGRSZWYgfSBmcm9tIFwiLi9jaGlsZC1yZWZcIlxuaW1wb3J0IHsgQ29udGFpbmVyT3B0aW9ucywgQ29udGFpbmVyUmVmIH0gZnJvbSBcIi4vY29udGFpbmVyLXJlZlwiXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWxPcHRpb25zLCBDb21wb25lbnRQb3J0YWxSZWYsIFRlbXBsYXRlUG9ydGFsT3B0aW9ucywgVGVtcGxhdGVQb3J0YWxSZWYgfSBmcm9tIFwiLi9wb3J0YWwtcmVmXCJcblxuZXhwb3J0IGNvbnN0IExBWUVSX1pJTkRFWF9TVEFSVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxudW1iZXI+KFwiTEFZRVJfWklOREVYX1NUQVJUXCIpXG5cbi8vIFRPRE86IEVMRVZBVElPTl9TVEVQIGNvbmZpZyB3aXRoIGluamVjdGlvblxuLy8gVE9ETzogRUxFVkFUSU9OX1NUQVJUIGNvbmZpZyB3aXRoIGluamVjdGlvblxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMYXllclNlcnZpY2Uge1xuICAgIHJlYWRvbmx5ICNjb3ZlciA9IGluamVjdChDb3ZlclNlcnZpY2UpXG4gICAgcmVhZG9ubHkgI2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKVxuICAgIHJlYWRvbmx5ICNjaGlsZHJlbjogQXJyYXk8Q2hpbGRSZWY+ID0gW11cbiAgICByZWFkb25seSAjekluZGV4U3RhcnQ6IG51bWJlclxuXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgcm9vdDogSFRNTEVsZW1lbnRcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTEFZRVJfWklOREVYX1NUQVJUKSBAT3B0aW9uYWwoKSB6SW5kZXhTdGFydD86IG51bWJlcikge1xuICAgICAgICBpZiAoekluZGV4U3RhcnQgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy4jekluZGV4U3RhcnQgPSB6SW5kZXhTdGFydFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy4jekluZGV4U3RhcnQgPSAxMDAwMFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmV3Q29tcG9uZW50UG9ydGFsPFQ+KGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPiwgb3B0aW9uczogQ29tcG9uZW50UG9ydGFsT3B0aW9uczxUPik6IENvbXBvbmVudFBvcnRhbFJlZjxUPiB7XG4gICAgICAgIGlmICghb3B0aW9ucy5pbmplY3Rvcikge1xuICAgICAgICAgICAgb3B0aW9ucyA9IHsgLi4ub3B0aW9ucywgaW5qZWN0b3I6IHRoaXMuI2luamVjdG9yIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5hcHBlbmQobmV3IENvbXBvbmVudFBvcnRhbFJlZihjb21wb25lbnQsIG9wdGlvbnMpKVxuICAgIH1cblxuICAgIG5ld1RlbXBsYXRlUG9ydGFsPFQ+KHRwbDogVGVtcGxhdGVSZWY8VD4sIG9wdGlvbnM6IFRlbXBsYXRlUG9ydGFsT3B0aW9uczxUPik6IFRlbXBsYXRlUG9ydGFsUmVmPFQ+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zLmluamVjdG9yKSB7XG4gICAgICAgICAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBpbmplY3RvcjogdGhpcy4jaW5qZWN0b3IgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmFwcGVuZChuZXcgVGVtcGxhdGVQb3J0YWxSZWYodHBsLCBvcHRpb25zKSlcbiAgICB9XG5cbiAgICBuZXdDb250YWluZXIob3B0aW9uczogQ29udGFpbmVyT3B0aW9ucyk6IENvbnRhaW5lclJlZiB7XG4gICAgICAgIGlmICghb3B0aW9ucy5pbmplY3Rvcikge1xuICAgICAgICAgICAgb3B0aW9ucyA9IHsgLi4ub3B0aW9ucywgaW5qZWN0b3I6IHRoaXMuI2luamVjdG9yIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5hcHBlbmQobmV3IENvbnRhaW5lclJlZihvcHRpb25zKSlcbiAgICB9XG5cbiAgICBuZXdCYWNrZHJvcCh1bmRlcjogQ2hpbGRSZWYsIG9wdGlvbnM6IEJhY2tkcm9wT3B0aW9ucyk6IEJhY2tkcm9wUmVmIHtcbiAgICAgICAgY29uc3QgY292ZXJSZWYgPSB0aGlzLiNjb3Zlci5jcmVhdGUodGhpcy5yb290LCBvcHRpb25zKVxuICAgICAgICByZXR1cm4gdGhpcy5hcHBlbmQobmV3IEJhY2tkcm9wUmVmKGNvdmVyUmVmLCB1bmRlciwgb3B0aW9ucykpXG4gICAgfVxuXG4gICAgYXBwZW5kPFQgZXh0ZW5kcyBDaGlsZFJlZj4ocmVmOiBUKTogVCB7XG4gICAgICAgIGlmICghdGhpcy4jY2hpbGRyZW4uaW5jbHVkZXMocmVmKSkge1xuICAgICAgICAgICAgdGhpcy4jY2hpbGRyZW4ucHVzaChyZWYpXG4gICAgICAgICAgICB0aGlzLiN1cGRhdGUoKVxuICAgICAgICAgICAgdGhpcy5yb290LmFwcGVuZENoaWxkKHJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgcmVmLnN0YXRlLm9uKFwiZGlzcG9zZWRcIiwgKCkgPT4gdGhpcy4jcmVtb3ZlKHJlZikpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlZlxuICAgIH1cblxuICAgICNyZW1vdmUocmVmOiBDaGlsZFJlZikge1xuICAgICAgICBjb25zdCBpZHggPSB0aGlzLiNjaGlsZHJlbi5pbmRleE9mKHJlZilcbiAgICAgICAgaWYgKGlkeCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLiNjaGlsZHJlbi5zcGxpY2UoaWR4LCAxKVxuICAgICAgICAgICAgdGhpcy4jdXBkYXRlKClcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN1cGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gdG9Tb3J0ZWQodGhpcy4jY2hpbGRyZW4sIHNvcnRDaGlsZHJlbjIpXG5cbiAgICAgICAgbGV0IHpJbmRleCA9IHRoaXMuI3pJbmRleFN0YXJ0XG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIGNoaWxkLnpJbmRleCA9IHpJbmRleFxuICAgICAgICAgICAgekluZGV4ICs9IDFcbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkcmVuLnNvcnQoc29ydEJ5WkluZGV4RGVzYylcblxuICAgICAgICBsZXQgaGFzQmFja2Ryb3AgPSBmYWxzZVxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICBpZiAoY2hpbGQgaW5zdGFuY2VvZiBCYWNrZHJvcFJlZiAmJiBjaGlsZC5vcHRpb25zLmNvbG9yICE9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgICAgICAgICBjaGlsZC52aXNpYmxlID0gIWhhc0JhY2tkcm9wXG4gICAgICAgICAgICAgICAgaGFzQmFja2Ryb3AgPSB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcbmV4cG9ydCBjbGFzcyBSb290TGF5ZXIgZXh0ZW5kcyBMYXllclNlcnZpY2Uge1xuICAgIHJlYWRvbmx5ICNkb2MgPSBpbmplY3QoRE9DVU1FTlQpXG4gICAgZ2V0IHJvb3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLiNkb2MuYm9keVxuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IExheWVyU2VydmljZSwgdXNlRXhpc3Rpbmc6IEluZGl2aWR1YWxMYXllciB9XVxufSlcbmV4cG9ydCBjbGFzcyBJbmRpdmlkdWFsTGF5ZXIgZXh0ZW5kcyBMYXllclNlcnZpY2Uge1xuICAgIHJlYWRvbmx5ICNlbCA9IGluamVjdChFbGVtZW50UmVmKVxuICAgIGdldCByb290KCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jZWwubmF0aXZlRWxlbWVudFxuICAgIH1cbn1cblxuZnVuY3Rpb24gc29ydENoaWxkcmVuMihhOiBDaGlsZFJlZiwgYjogQ2hpbGRSZWYpIHtcbiAgICBjb25zdCBhbHdheXNPblRvcCA9IHNvcnRCeUFsd2F5c09uVG9wKGEsIGIpXG4gICAgaWYgKGFsd2F5c09uVG9wID09PSAwKSB7XG4gICAgICAgIHJldHVybiBzb3J0QnlCYWNrZHJvcChhLCBiKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBhbHdheXNPblRvcFxuICAgIH1cbn1cblxuZnVuY3Rpb24gc29ydEJ5QmFja2Ryb3AoYTogQ2hpbGRSZWYsIGI6IENoaWxkUmVmKSB7XG4gICAgaWYgKGEgaW5zdGFuY2VvZiBCYWNrZHJvcFJlZiAmJiBhLnVuZGVyID09PSBiKSB7XG4gICAgICAgIHJldHVybiAtMVxuICAgIH0gZWxzZSBpZiAoYiBpbnN0YW5jZW9mIEJhY2tkcm9wUmVmICYmIGIudW5kZXIgPT09IGEpIHtcbiAgICAgICAgcmV0dXJuIDFcbiAgICB9XG4gICAgcmV0dXJuIDBcbn1cblxuZnVuY3Rpb24gc29ydEJ5WkluZGV4RGVzYyhhOiBDaGlsZFJlZiwgYjogQ2hpbGRSZWYpIHtcbiAgICByZXR1cm4gYi56SW5kZXggLSBhLnpJbmRleFxufVxuXG5mdW5jdGlvbiBzb3J0QnlBbHdheXNPblRvcChhOiBDaGlsZFJlZiwgYjogQ2hpbGRSZWYpIHtcbiAgICByZXR1cm4gZ2V0QWx3YXlzT25Ub3AoYSkgLSBnZXRBbHdheXNPblRvcChiKVxufVxuXG5mdW5jdGlvbiBnZXRBbHdheXNPblRvcChjaGlsZDogQ2hpbGRSZWYpOiBudW1iZXIge1xuICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIEJhY2tkcm9wUmVmKSB7XG4gICAgICAgIHJldHVybiBjaGlsZC51bmRlci5hbHdheXNPblRvcCB8fCBBbHdheXNPblRvcC5Ob25lXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGNoaWxkLmFsd2F5c09uVG9wIHx8IEFsd2F5c09uVG9wLk5vbmVcbiAgICB9XG59XG4iXX0=
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9sYXllci9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFM0csT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFL0MsT0FBTyxFQUFtQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFZLE1BQU0sYUFBYSxDQUFBO0FBQ25ELE9BQU8sRUFBb0IsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRCxPQUFPLEVBQTBCLGtCQUFrQixFQUF5QixpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTs7QUFFbkgsNkNBQTZDO0FBQzdDLDhDQUE4QztBQUc5QyxNQUFNLE9BQU8sWUFBWTtJQUNaLFVBQVUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDbkMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUM3QixTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzVCLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7SUFFekMsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQTtJQUMvQixDQUFDO0lBRUQsa0JBQWtCLENBQUksU0FBMkIsRUFBRSxPQUFrQztRQUNqRixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQTtRQUMzRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFFRCxpQkFBaUIsQ0FBSSxHQUFtQixFQUFFLE9BQWlDO1FBQ3ZFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsT0FBTyxHQUFHLEVBQUUsR0FBRyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFBO1FBQzNELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksaUJBQWlCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUF5QjtRQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQTtRQUMzRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBZSxFQUFFLE9BQXdCO1FBQ2pELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDdkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDNUUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFxQixFQUFFLGNBQTJCLFdBQVcsQ0FBQyxJQUFJO1FBQzFFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUE7SUFDdkYsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQTtZQUNyQixvQ0FBb0M7UUFDeEMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQSxDQUFDO1FBRWhCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO1FBQy9DLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDeEIsQ0FBQzs4R0FyRFEsWUFBWTtrSEFBWixZQUFZOzsyRkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCJcbmltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHsgY29lcmNlRWxlbWVudCwgRWxlbWVudElucHV0IH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcbmltcG9ydCB7IENvdmVyU2VydmljZSB9IGZyb20gXCJAbmd1dGlsL2dyYXBoaWNzXCJcblxuaW1wb3J0IHsgQmFja2Ryb3BPcHRpb25zLCBCYWNrZHJvcFJlZiB9IGZyb20gXCIuL2JhY2tkcm9wLXJlZlwiXG5pbXBvcnQgeyBBbHdheXNPblRvcCwgQ2hpbGRSZWYgfSBmcm9tIFwiLi9jaGlsZC1yZWZcIlxuaW1wb3J0IHsgQ29udGFpbmVyT3B0aW9ucywgQ29udGFpbmVyUmVmIH0gZnJvbSBcIi4vY29udGFpbmVyLXJlZlwiXG5pbXBvcnQgeyBFeHRlcm5hbFJlZiB9IGZyb20gXCIuL2V4dGVybmFsLXJlZlwiXG5pbXBvcnQgeyBMYXllckNvbnRhaW5lciB9IGZyb20gXCIuL2xheWVyLWNvbnRhaW5lclwiXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWxPcHRpb25zLCBDb21wb25lbnRQb3J0YWxSZWYsIFRlbXBsYXRlUG9ydGFsT3B0aW9ucywgVGVtcGxhdGVQb3J0YWxSZWYgfSBmcm9tIFwiLi9wb3J0YWwtcmVmXCJcblxuLy8gVE9ETzogRUxFVkFUSU9OX1NURVAgY29uZmlnIHdpdGggaW5qZWN0aW9uXG4vLyBUT0RPOiBFTEVWQVRJT05fU1RBUlQgY29uZmlnIHdpdGggaW5qZWN0aW9uXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMYXllclNlcnZpY2Uge1xuICAgIHJlYWRvbmx5ICNjb250YWluZXIgPSBpbmplY3QoTGF5ZXJDb250YWluZXIpXG4gICAgcmVhZG9ubHkgI2NvdmVyID0gaW5qZWN0KENvdmVyU2VydmljZSlcbiAgICByZWFkb25seSAjaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpXG4gICAgcmVhZG9ubHkgI2FwcFJlZiA9IGluamVjdChBcHBsaWNhdGlvblJlZilcblxuICAgIGdldCByb290KCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jY29udGFpbmVyLnJvb3RcbiAgICB9XG5cbiAgICBuZXdDb21wb25lbnRQb3J0YWw8VD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBvcHRpb25zOiBDb21wb25lbnRQb3J0YWxPcHRpb25zPFQ+KTogQ29tcG9uZW50UG9ydGFsUmVmPFQ+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zLmluamVjdG9yKSB7XG4gICAgICAgICAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBpbmplY3RvcjogdGhpcy4jZ2V0SW5qZWN0b3IoKSB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuI2NvbnRhaW5lci5hcHBlbmQobmV3IENvbXBvbmVudFBvcnRhbFJlZihjb21wb25lbnQsIG9wdGlvbnMpKVxuICAgIH1cblxuICAgIG5ld1RlbXBsYXRlUG9ydGFsPFQ+KHRwbDogVGVtcGxhdGVSZWY8VD4sIG9wdGlvbnM6IFRlbXBsYXRlUG9ydGFsT3B0aW9uczxUPik6IFRlbXBsYXRlUG9ydGFsUmVmPFQ+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zLmluamVjdG9yKSB7XG4gICAgICAgICAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBpbmplY3RvcjogdGhpcy4jZ2V0SW5qZWN0b3IoKSB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuI2NvbnRhaW5lci5hcHBlbmQobmV3IFRlbXBsYXRlUG9ydGFsUmVmKHRwbCwgb3B0aW9ucykpXG4gICAgfVxuXG4gICAgbmV3Q29udGFpbmVyKG9wdGlvbnM6IENvbnRhaW5lck9wdGlvbnMpOiBDb250YWluZXJSZWYge1xuICAgICAgICBpZiAoIW9wdGlvbnMuaW5qZWN0b3IpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IC4uLm9wdGlvbnMsIGluamVjdG9yOiB0aGlzLiNnZXRJbmplY3RvcigpIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy4jY29udGFpbmVyLmFwcGVuZChuZXcgQ29udGFpbmVyUmVmKG9wdGlvbnMpKVxuICAgIH1cblxuICAgIG5ld0JhY2tkcm9wKHVuZGVyOiBDaGlsZFJlZiwgb3B0aW9uczogQmFja2Ryb3BPcHRpb25zKTogQmFja2Ryb3BSZWYge1xuICAgICAgICBjb25zdCBjb3ZlclJlZiA9IHRoaXMuI2NvdmVyLmNyZWF0ZSh0aGlzLnJvb3QsIG9wdGlvbnMpXG4gICAgICAgIHJldHVybiB0aGlzLiNjb250YWluZXIuYXBwZW5kKG5ldyBCYWNrZHJvcFJlZihjb3ZlclJlZiwgdW5kZXIsIG9wdGlvbnMpKVxuICAgIH1cblxuICAgIGFkZEV4dGVybmFsKGVsZW1lbnQ6IEVsZW1lbnRJbnB1dCwgYWx3YXlzT25Ub3A6IEFsd2F5c09uVG9wID0gQWx3YXlzT25Ub3AuTm9uZSkge1xuICAgICAgICByZXR1cm4gdGhpcy4jY29udGFpbmVyLmFwcGVuZChuZXcgRXh0ZXJuYWxSZWYoY29lcmNlRWxlbWVudChlbGVtZW50KSwgYWx3YXlzT25Ub3ApKVxuICAgIH1cblxuICAgICNnZXRJbmplY3RvcigpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuI2luamVjdG9yLmdldChWaWV3Q29udGFpbmVyUmVmKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuI2luamVjdG9yXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHlcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7fVxuXG4gICAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLiNhcHBSZWYuY29tcG9uZW50c1swXVxuICAgICAgICBpZiAocm9vdCA9PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSb290IGNvbXBvbmVudCBub3QgZm91bmRcIilcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByb290LmluamVjdG9yXG4gICAgfVxufVxuIl19
|