@ngutil/floating 0.0.48 → 0.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { Inject, Injectable, InjectionToken } from "@angular/core";
2
- import { debounceTime, EMPTY, filter, map, merge, Observable, ReplaySubject, shareReplay, takeUntil } from "rxjs";
3
- import { StateChain } from "@ngutil/common";
2
+ import { debounceTime, EMPTY, filter, map, merge, ReplaySubject, shareReplay, take, takeUntil, takeWhile } from "rxjs";
3
+ import { Lifecycle } from "@ngutil/common";
4
4
  import { ContainerRef } from "../layer/container-ref";
5
5
  import { LayerService } from "../layer/layer.service";
6
6
  import * as i0 from "@angular/core";
@@ -15,7 +15,7 @@ export class FloatingRef {
15
15
  this.layerSvc = layerSvc;
16
16
  this.container = container;
17
17
  this.channel = new ReplaySubject(1);
18
- this.state = new StateChain({
18
+ this.state = new Lifecycle({
19
19
  init: {},
20
20
  showing: {},
21
21
  shown: {},
@@ -25,47 +25,51 @@ export class FloatingRef {
25
25
  cleanup: { cancellable: false, order: "sequential" }
26
26
  });
27
27
  this.#traits = {};
28
- this.#untilCleanup = this.state.current$.pipe(filter(state => state === "cleanup"), shareReplay(1));
29
- this.#untilDisposed = this.state.current$.pipe(filter(state => state === "cleanup"), shareReplay(1));
28
+ this.#untilCleanup = this.state.onExecute("cleanup");
29
+ this.#untilDisposed = this.state.onExecute("disposed");
30
30
  container.nativeElement.style.overflow = "hidden";
31
31
  container.nativeElement.style.visibility = "hidden";
32
32
  this.#traits = traits;
33
33
  this.traitState$ = this.#traitState().pipe(shareReplay(1));
34
- const sub = this.state.current$.subscribe(state => {
34
+ this.state.current$.pipe(takeWhile(state => state !== "cleanup", true)).subscribe(state => {
35
35
  this.emit({ type: state });
36
36
  });
37
- this.state.on("init", () => new Observable(dst => {
38
- // TODO: angular render is stabilized
39
- this.traitState$.pipe(takeUntil(this.#untilCleanup), debounceTime(5)).subscribe(() => {
40
- dst.complete();
41
- });
42
- }));
37
+ this.state.on("init", () => this.traitState$.pipe(takeUntil(this.#untilCleanup), debounceTime(5), take(1)));
43
38
  this.state.on("showing", () => {
44
39
  container.nativeElement.style.visibility = "visible";
45
40
  });
46
41
  this.state.on("disposing", () => {
47
42
  container.nativeElement.style.pointerEvents = "none";
48
43
  });
49
- this.state.on("disposed", () => {
50
- sub.unsubscribe();
51
- });
52
44
  this.state.control(container.state);
45
+ // TODO: remove
46
+ // this.state.status$.subscribe(status => {
47
+ // console.log("floating", status)
48
+ // })
53
49
  }
54
50
  show() {
55
- return this.state.run(["init", "showing", "shown"]);
51
+ return this.state.run("init", "showing", "shown");
56
52
  }
53
+ /**
54
+ * @deprecated
55
+ */
57
56
  hide() {
58
- return this.state.run(["disposing", "disposed", "cleanup"]);
57
+ return this.close(true);
59
58
  }
60
- close() {
61
- return this.state.run(["closing", "disposing", "disposed", "cleanup"]);
59
+ close(force = false) {
60
+ if (force) {
61
+ return this.state.run("disposing", "disposed", "cleanup");
62
+ }
63
+ else {
64
+ return this.state.run("closing", "disposing", "disposed", "cleanup");
65
+ }
62
66
  }
63
67
  emit(event) {
64
68
  this.channel.next({ ...event, floatingRef: this });
65
69
  }
66
70
  setResult(data) {
67
71
  this.emit({ type: "result", data });
68
- this.hide().subscribe();
72
+ this.close(true).subscribe();
69
73
  }
70
74
  watchTrait(name) {
71
75
  return this.traitState$.pipe(takeUntil(this.#untilDisposed), filter(event => event.name === name), map(event => event.data), shareReplay(1));
@@ -96,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
96
100
  type: Inject,
97
101
  args: [TRAITS]
98
102
  }] }] });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2Zsb2F0aW5nL2Zsb2F0aW5nLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRWpILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7O0FBS3JELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBUyxRQUFRLENBQUMsQ0FBQTtBQWMxRCxNQUFNLE9BQU8sV0FBVztJQWFYLE9BQU8sQ0FBYTtJQUdwQixhQUFhLENBR3JCO0lBRVEsY0FBYyxDQUd0QjtJQUVELFlBQ2EsUUFBc0IsRUFDdEIsU0FBdUIsRUFDaEIsTUFBYztRQUZyQixhQUFRLEdBQVIsUUFBUSxDQUFjO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUEzQjNCLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBa0IsQ0FBQyxDQUFDLENBQUE7UUFFL0MsVUFBSyxHQUFHLElBQUksVUFBVSxDQUFDO1lBQzVCLElBQUksRUFBRSxFQUFFO1lBQ1IsT0FBTyxFQUFFLEVBQUU7WUFDWCxLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtZQUNwRCxTQUFTLEVB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LGFBQWEsQ0FBQyxFQUM3QixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFBO1lBQ3BDLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FBQTtRQUNMLENBQUM7UUFFRCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkIsT0FBTyxLQUFLLENBQUE7UUFDaEIsQ0FBQzthQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNqQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUE7UUFDeEIsQ0FBQztJQUNMLENBQUM7OEdBakhRLFdBQVcsMEVBNkJSLE1BQU07a0hBN0JULFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVU7OzBCQThCRixNQUFNOzJCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIEVNUFRZLCBmaWx0ZXIsIG1hcCwgbWVyZ2UsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIHNoYXJlUmVwbGF5LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IFN0YXRlQ2hhaW4gfSBmcm9tIFwiQG5ndXRpbC9jb21tb25cIlxuXG5pbXBvcnQgeyBDb250YWluZXJSZWYgfSBmcm9tIFwiLi4vbGF5ZXIvY29udGFpbmVyLXJlZlwiXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tIFwiLi4vbGF5ZXIvbGF5ZXIuc2VydmljZVwiXG5pbXBvcnQgeyBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vdHJhaXRzL19iYXNlXCJcblxuZXhwb3J0IHR5cGUgVHJhaXRzID0geyBba2V5OiBzdHJpbmddOiBGbG9hdGluZ1RyYWl0IH1cblxuZXhwb3J0IGNvbnN0IFRSQUlUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUcmFpdHM+KFwiVFJBSVRTXCIpXG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdDaGFubmVsIHtcbiAgICBmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWZcbiAgICB0eXBlOiBzdHJpbmdcbiAgICBkYXRhPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdUcmFpdEV2ZW50IHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBkYXRhOiBvYmplY3Rcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb2F0aW5nUmVmPEMgZXh0ZW5kcyBGbG9hdGluZ0NoYW5uZWwgPSBGbG9hdGluZ0NoYW5uZWwsIFQgZXh0ZW5kcyBIVE1MRWxlbWVudCA9IEhUTUxFbGVtZW50PiB7XG4gICAgcmVhZG9ubHkgY2hhbm5lbCA9IG5ldyBSZXBsYXlTdWJqZWN0PEZsb2F0aW5nQ2hhbm5lbD4oMSlcblxuICAgIHJlYWRvbmx5IHN0YXRlID0gbmV3IFN0YXRlQ2hhaW4oe1xuICAgICAgICBpbml0OiB7fSxcbiAgICAgICAgc2hvd2luZzoge30sXG4gICAgICAgIHNob3duOiB7fSxcbiAgICAgICAgY2xvc2luZzogeyBjYW5jZWxsYWJsZTogZmFsc2UsIG9yZGVyOiBcInNlcXVlbnRpYWxcIiB9LFxuICAgICAgICBkaXNwb3Npbmc6IHsgY2FuY2VsbGFibGU6IGZhbHNlIH0sXG4gICAgICAgIGRpc3Bvc2VkOiB7IGNhbmNlbGxhYmxlOiBmYWxzZSwgb3JkZXI6IFwic2VxdWVudGlhbFwiIH0sXG4gICAgICAgIGNsZWFudXA6IHsgY2FuY2VsbGFibGU6IGZhbHNlLCBvcmRlcjogXCJzZXF1ZW50aWFsXCIgfVxuICAgIH0pXG5cbiAgICByZWFkb25seSAjdHJhaXRzOiBUcmFpdHMgPSB7fVxuICAgIHJlYWRvbmx5IHRyYWl0U3RhdGUkOiBPYnNlcnZhYmxlPEZsb2F0aW5nVHJhaXRFdmVudD5cblxuICAgIHJlYWRvbmx5ICN1bnRpbENsZWFudXAgPSB0aGlzLnN0YXRlLmN1cnJlbnQkLnBpcGUoXG4gICAgICAgIGZpbHRlcihzdGF0ZSA9PiBzdGF0ZSA9PT0gXCJjbGVhbnVwXCIpLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgIClcblxuICAgIHJlYWRvbmx5ICN1bnRpbERpc3Bvc2VkID0gdGhpcy5zdGF0ZS5jdXJyZW50JC5waXBlKFxuICAgICAgICBmaWx0ZXIoc3RhdGUgPT4gc3RhdGUgPT09IFwiY2xlYW51cFwiKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgbGF5ZXJTdmM6IExheWVyU2VydmljZSxcbiAgICAgICAgcmVhZG9ubHkgY29udGFpbmVyOiBDb250YWluZXJSZWYsXG4gICAgICAgIEBJbmplY3QoVFJBSVRTKSB0cmFpdHM6IFRyYWl0c1xuICAgICkge1xuICAgICAgICBjb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9IFwiaGlkZGVuXCJcbiAgICAgICAgY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9IFwiaGlkZGVuXCJcblxuICAgICAgICB0aGlzLiN0cmFpdHMgPSB0cmFpdHNcbiAgICAgICAgdGhpcy50cmFpdFN0YXRlJCA9IHRoaXMuI3RyYWl0U3RhdGUoKS5waXBlKHNoYXJlUmVwbGF5KDEpKVxuXG4gICAgICAgIGNvbnN0IHN1YiA9IHRoaXMuc3RhdGUuY3VycmVudCQuc3Vic2NyaWJlKHN0YXRlID0+IHtcbiAgICAgICAgICAgIHRoaXMuZW1pdCh7IHR5cGU6IHN0YXRlIH0gYXMgQylcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcbiAgICAgICAgICAgIFwiaW5pdFwiLFxuICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICBuZXcgT2JzZXJ2YWJsZShkc3QgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBhbmd1bGFyIHJlbmRlciBpcyBzdGFiaWxpemVkXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJhaXRTdGF0ZSQucGlwZSh0YWtlVW50aWwodGhpcy4jdW50aWxDbGVhbnVwKSwgZGVib3VuY2VUaW1lKDUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZHN0LmNvbXBsZXRlKClcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIHRoaXMuc3RhdGUub24oXCJzaG93aW5nXCIsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSBcInZpc2libGVcIlxuICAgICAgICB9KVxuICAgICAgICB0aGlzLnN0YXRlLm9uKFwiZGlzcG9zaW5nXCIsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLnBvaW50ZXJFdmVudHMgPSBcIm5vbmVcIlxuICAgICAgICB9KVxuICAgICAgICB0aGlzLnN0YXRlLm9uKFwiZGlzcG9zZWRcIiwgKCkgPT4ge1xuICAgICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKClcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5zdGF0ZS5jb250cm9sKGNvbnRhaW5lci5zdGF0ZSlcbiAgICB9XG5cbiAgICBzaG93KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5ydW4oW1wiaW5pdFwiLCBcInNob3dpbmdcIiwgXCJzaG93blwiXSlcbiAgICB9XG5cbiAgICBoaWRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5ydW4oW1wiZGlzcG9zaW5nXCIsIFwiZGlzcG9zZWRcIiwgXCJjbGVhbnVwXCJdKVxuICAgIH1cblxuICAgIGNsb3NlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5ydW4oW1wiY2xvc2luZ1wiLCBcImRpc3Bvc2luZ1wiLCBcImRpc3Bvc2VkXCIsIFwiY2xlYW51cFwiXSlcbiAgICB9XG5cbiAgICBlbWl0KGV2ZW50OiBPbWl0PEMsIFwiZmxvYXRpbmdSZWZcIj4pIHtcbiAgICAgICAgdGhpcy5jaGFubmVsLm5leHQoeyAuLi5ldmVudCwgZmxvYXRpbmdSZWY6IHRoaXMgfSBhcyBhbnkpXG4gICAgfVxuXG4gICAgc2V0UmVzdWx0KGRhdGE6IGFueSkge1xuICAgICAgICB0aGlzLmVtaXQoeyB0eXBlOiBcInJlc3VsdFwiLCBkYXRhIH0gYXMgQylcbiAgICAgICAgdGhpcy5oaWRlKCkuc3Vic2NyaWJlKClcbiAgICB9XG5cbiAgICB3YXRjaFRyYWl0PFQ+KG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFpdFN0YXRlJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuI3VudGlsRGlzcG9zZWQpLFxuICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50Lm5hbWUgPT09IG5hbWUpLFxuICAgICAgICAgICAgbWFwKGV2ZW50ID0+IGV2ZW50LmRhdGEgYXMgVCksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgICApXG4gICAgfVxuXG4gICAgI3RyYWl0U3RhdGUoKTogT2JzZXJ2YWJsZTxGbG9hdGluZ1RyYWl0RXZlbnQ+IHtcbiAgICAgICAgY29uc3Qgc3JjID0gW11cblxuICAgICAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyh0aGlzLiN0cmFpdHMpKSB7XG4gICAgICAgICAgICBzcmMucHVzaChcbiAgICAgICAgICAgICAgICB2LmNvbm5lY3QodGhpcykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuI3VudGlsQ2xlYW51cCksXG4gICAgICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgbmFtZTogaywgZGF0YTogcmVzdWx0IH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3JjLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIEVNUFRZXG4gICAgICAgIH0gZWxzZSBpZiAoc3JjLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHNyY1swXVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlKC4uLnNyYylcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2Zsb2F0aW5nL2Zsb2F0aW5nLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEUsT0FBTyxFQUNILFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLEdBQUcsRUFDSCxLQUFLLEVBRUwsYUFBYSxFQUNiLFdBQVcsRUFDWCxJQUFJLEVBQ0osU0FBUyxFQUNULFNBQVMsRUFDWixNQUFNLE1BQU0sQ0FBQTtBQUViLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7O0FBS3JELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBUyxRQUFRLENBQUMsQ0FBQTtBQWMxRCxNQUFNLE9BQU8sV0FBVztJQWFYLE9BQU8sQ0FBYTtJQUdwQixhQUFhLENBQWtDO0lBQy9DLGNBQWMsQ0FBbUM7SUFFMUQsWUFDYSxRQUFzQixFQUN0QixTQUF1QixFQUNoQixNQUFjO1FBRnJCLGFBQVEsR0FBUixRQUFRLENBQWM7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQXBCM0IsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFrQixDQUFDLENBQUMsQ0FBQTtRQUUvQyxVQUFLLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDM0IsSUFBSSxFQUFFLEVBQUU7WUFDUixPQUFPLEVBQUUsRUFBRTtZQUNYLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO1lB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LEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkIsT0FBTyxLQUFLLENBQUE7UUFDaEIsQ0FBQzthQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNqQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUE7UUFDeEIsQ0FBQztJQUNMLENBQUM7OEdBM0dRLFdBQVcsMEVBc0JSLE1BQU07a0hBdEJULFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVU7OzBCQXVCRixNQUFNOzJCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQge1xuICAgIGRlYm91bmNlVGltZSxcbiAgICBFTVBUWSxcbiAgICBmaWx0ZXIsXG4gICAgbWFwLFxuICAgIG1lcmdlLFxuICAgIE9ic2VydmFibGUsXG4gICAgUmVwbGF5U3ViamVjdCxcbiAgICBzaGFyZVJlcGxheSxcbiAgICB0YWtlLFxuICAgIHRha2VVbnRpbCxcbiAgICB0YWtlV2hpbGVcbn0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBMaWZlY3ljbGUgfSBmcm9tIFwiQG5ndXRpbC9jb21tb25cIlxuXG5pbXBvcnQgeyBDb250YWluZXJSZWYgfSBmcm9tIFwiLi4vbGF5ZXIvY29udGFpbmVyLXJlZlwiXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tIFwiLi4vbGF5ZXIvbGF5ZXIuc2VydmljZVwiXG5pbXBvcnQgeyBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vdHJhaXRzL19iYXNlXCJcblxuZXhwb3J0IHR5cGUgVHJhaXRzID0geyBba2V5OiBzdHJpbmddOiBGbG9hdGluZ1RyYWl0IH1cblxuZXhwb3J0IGNvbnN0IFRSQUlUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUcmFpdHM+KFwiVFJBSVRTXCIpXG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdDaGFubmVsIHtcbiAgICBmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWZcbiAgICB0eXBlOiBzdHJpbmdcbiAgICBkYXRhPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdUcmFpdEV2ZW50IHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBkYXRhOiBvYmplY3Rcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb2F0aW5nUmVmPEMgZXh0ZW5kcyBGbG9hdGluZ0NoYW5uZWwgPSBGbG9hdGluZ0NoYW5uZWwsIFQgZXh0ZW5kcyBIVE1MRWxlbWVudCA9IEhUTUxFbGVtZW50PiB7XG4gICAgcmVhZG9ubHkgY2hhbm5lbCA9IG5ldyBSZXBsYXlTdWJqZWN0PEZsb2F0aW5nQ2hhbm5lbD4oMSlcblxuICAgIHJlYWRvbmx5IHN0YXRlID0gbmV3IExpZmVjeWNsZSh7XG4gICAgICAgIGluaXQ6IHt9LFxuICAgICAgICBzaG93aW5nOiB7fSxcbiAgICAgICAgc2hvd246IHt9LFxuICAgICAgICBjbG9zaW5nOiB7IGNhbmNlbGxhYmxlOiBmYWxzZSwgb3JkZXI6IFwic2VxdWVudGlhbFwiIH0sXG4gICAgICAgIGRpc3Bvc2luZzogeyBjYW5jZWxsYWJsZTogZmFsc2UgfSxcbiAgICAgICAgZGlzcG9zZWQ6IHsgY2FuY2VsbGFibGU6IGZhbHNlLCBvcmRlcjogXCJzZXF1ZW50aWFsXCIgfSxcbiAgICAgICAgY2xlYW51cDogeyBjYW5jZWxsYWJsZTogZmFsc2UsIG9yZGVyOiBcInNlcXVlbnRpYWxcIiB9XG4gICAgfSlcblxuICAgIHJlYWRvbmx5ICN0cmFpdHM6IFRyYWl0cyA9IHt9XG4gICAgcmVhZG9ubHkgdHJhaXRTdGF0ZSQ6IE9ic2VydmFibGU8RmxvYXRpbmdUcmFpdEV2ZW50PlxuXG4gICAgcmVhZG9ubHkgI3VudGlsQ2xlYW51cCA9IHRoaXMuc3RhdGUub25FeGVjdXRlKFwiY2xlYW51cFwiKVxuICAgIHJlYWRvbmx5ICN1bnRpbERpc3Bvc2VkID0gdGhpcy5zdGF0ZS5vbkV4ZWN1dGUoXCJkaXNwb3NlZFwiKVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IGxheWVyU3ZjOiBMYXllclNlcnZpY2UsXG4gICAgICAgIHJlYWRvbmx5IGNvbnRhaW5lcjogQ29udGFpbmVyUmVmLFxuICAgICAgICBASW5qZWN0KFRSQUlUUykgdHJhaXRzOiBUcmFpdHNcbiAgICApIHtcbiAgICAgICAgY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSBcImhpZGRlblwiXG4gICAgICAgIGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiXG5cbiAgICAgICAgdGhpcy4jdHJhaXRzID0gdHJhaXRzXG4gICAgICAgIHRoaXMudHJhaXRTdGF0ZSQgPSB0aGlzLiN0cmFpdFN0YXRlKCkucGlwZShzaGFyZVJlcGxheSgxKSlcblxuICAgICAgICB0aGlzLnN0YXRlLmN1cnJlbnQkLnBpcGUodGFrZVdoaWxlKHN0YXRlID0+IHN0YXRlICE9PSBcImNsZWFudXBcIiwgdHJ1ZSkpLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVtaXQoeyB0eXBlOiBzdGF0ZSB9IGFzIEMpXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuc3RhdGUub24oXCJpbml0XCIsICgpID0+IHRoaXMudHJhaXRTdGF0ZSQucGlwZSh0YWtlVW50aWwodGhpcy4jdW50aWxDbGVhbnVwKSwgZGVib3VuY2VUaW1lKDUpLCB0YWtlKDEpKSlcbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcInNob3dpbmdcIiwgKCkgPT4ge1xuICAgICAgICAgICAgY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9IFwidmlzaWJsZVwiXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT4ge1xuICAgICAgICAgICAgY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9IFwibm9uZVwiXG4gICAgICAgIH0pXG5cbiAgICAgICAgdGhpcy5zdGF0ZS5jb250cm9sKGNvbnRhaW5lci5zdGF0ZSlcblxuICAgICAgICAvLyBUT0RPOiByZW1vdmVcbiAgICAgICAgLy8gdGhpcy5zdGF0ZS5zdGF0dXMkLnN1YnNjcmliZShzdGF0dXMgPT4ge1xuICAgICAgICAvLyAgICAgY29uc29sZS5sb2coXCJmbG9hdGluZ1wiLCBzdGF0dXMpXG4gICAgICAgIC8vIH0pXG4gICAgfVxuXG4gICAgc2hvdygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUucnVuKFwiaW5pdFwiLCBcInNob3dpbmdcIiwgXCJzaG93blwiKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgaGlkZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xvc2UodHJ1ZSlcbiAgICB9XG5cbiAgICBjbG9zZShmb3JjZSA9IGZhbHNlKSB7XG4gICAgICAgIGlmIChmb3JjZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUucnVuKFwiZGlzcG9zaW5nXCIsIFwiZGlzcG9zZWRcIiwgXCJjbGVhbnVwXCIpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5ydW4oXCJjbG9zaW5nXCIsIFwiZGlzcG9zaW5nXCIsIFwiZGlzcG9zZWRcIiwgXCJjbGVhbnVwXCIpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbWl0KGV2ZW50OiBPbWl0PEMsIFwiZmxvYXRpbmdSZWZcIj4pIHtcbiAgICAgICAgdGhpcy5jaGFubmVsLm5leHQoeyAuLi5ldmVudCwgZmxvYXRpbmdSZWY6IHRoaXMgfSBhcyBhbnkpXG4gICAgfVxuXG4gICAgc2V0UmVzdWx0KGRhdGE6IGFueSkge1xuICAgICAgICB0aGlzLmVtaXQoeyB0eXBlOiBcInJlc3VsdFwiLCBkYXRhIH0gYXMgQylcbiAgICAgICAgdGhpcy5jbG9zZSh0cnVlKS5zdWJzY3JpYmUoKVxuICAgIH1cblxuICAgIHdhdGNoVHJhaXQ8VD4obmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYWl0U3RhdGUkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy4jdW50aWxEaXNwb3NlZCksXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQubmFtZSA9PT0gbmFtZSksXG4gICAgICAgICAgICBtYXAoZXZlbnQgPT4gZXZlbnQuZGF0YSBhcyBUKSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICAjdHJhaXRTdGF0ZSgpOiBPYnNlcnZhYmxlPEZsb2F0aW5nVHJhaXRFdmVudD4ge1xuICAgICAgICBjb25zdCBzcmMgPSBbXVxuXG4gICAgICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuI3RyYWl0cykpIHtcbiAgICAgICAgICAgIHNyYy5wdXNoKFxuICAgICAgICAgICAgICAgIHYuY29ubmVjdCh0aGlzKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy4jdW50aWxDbGVhbnVwKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBuYW1lOiBrLCBkYXRhOiByZXN1bHQgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzcmMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFlcbiAgICAgICAgfSBlbHNlIGlmIChzcmMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gc3JjWzBdXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbWVyZ2UoLi4uc3JjKVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { animate, AnimationBuilder, style } from "@angular/animations";
2
- import { Observable } from "rxjs";
2
+ import { Observable, tap } from "rxjs";
3
3
  import { animationObservable } from "@ngutil/graphics";
4
4
  import { Duration, Ease } from "@ngutil/style";
5
5
  // https://tympanus.net/Development/ModalWindowEffects/
@@ -14,7 +14,8 @@ export class AnimationTrait {
14
14
  const builder = floatingRef.container.injector.get(AnimationBuilder);
15
15
  const element = floatingRef.container.nativeElement;
16
16
  floatingRef.state.on("showing", () => animationObservable({ builder, element, animation: this.animation.show }));
17
- floatingRef.state.on("disposing", () => animationObservable({ builder, element, animation: this.animation.hide }));
17
+ floatingRef.state.on("disposing", () => animationObservable({ builder, element, animation: this.animation.hide }).pipe(tap(() => (element.style.display = "none"))));
18
+ floatingRef.state.on("disposing", () => dst.complete());
18
19
  dst.next();
19
20
  });
20
21
  }
@@ -22,7 +23,6 @@ export class AnimationTrait {
22
23
  export const FallAnimation = {
23
24
  show: [
24
25
  style({
25
- // "perspective:": "1300px",
26
26
  transform: "scale(1.5)",
27
27
  visibility: "visible",
28
28
  opacity: "0"
@@ -50,4 +50,4 @@ export const FadeAnimation = {
50
50
  export function fadeAnimation() {
51
51
  return new AnimationTrait(FadeAnimation);
52
52
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2Zsb2F0aW5nL3RyYWl0cy9hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBcUIsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFekYsT0FBTyxFQUFFLFVBQVUsRUFBYyxNQUFNLE1BQU0sQ0FBQTtBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQU85Qyx1REFBdUQ7QUFFdkQsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFBO0FBRTFDLE1BQU0sT0FBTyxjQUFjO0lBR3ZCLFlBQXFCLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFGbkMsU0FBSSxHQUFHLFdBQVcsQ0FBQTtJQUVvQixDQUFDO0lBRWhELE9BQU8sQ0FBQyxXQUF3QjtRQUM1QixPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsR0FBd0IsRUFBRSxFQUFFO1lBQy9DLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1lBQ3BFLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFBO1lBQ25ELFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FDakMsbUJBQW1CLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQzVFLENBQUE7WUFDRCxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQ25DLG1CQUFtQixDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUM1RSxDQUFBO1lBQ0QsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ2QsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0o7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWlCO0lBQ3ZDLElBQUksRUFBRTtRQUNGLEtBQUssQ0FBQztZQUNGLDRCQUE0QjtZQUM1QixTQUFTLEVBQUUsWUFBWTtZQUN2QixVQUFVLEVBQUUsU0FBUztZQUNyQixPQUFPLEVBQUUsR0FBRztTQUNmLENBQUM7UUFDRixPQUFPLENBQ0gsR0FBRyxrQkFBa0IsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQzlDLEtBQUssQ0FBQztZQUNGLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLE9BQU8sRUFBRSxHQUFHO1NBQ2YsQ0FBQyxDQUNMO0tBQ0o7SUFDRCxJQUFJLEVBQUU7UUFDRixPQUFPLENBQ0gsR0FBRyxrQkFBa0IsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQzlDLEtBQUssQ0FBQztZQUNGLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLE9BQU8sRUFBRSxHQUFHO1NBQ2YsQ0FBQyxDQUNMO0tBQ0o7Q0FDSixDQUFBO0FBRUQsTUFBTSxVQUFVLGFBQWE7SUFDekIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUM1QyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFpQjtJQUN2QyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxrQkFBa0IsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxrQkFBa0IsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztDQUN6RixDQUFBO0FBRUQsTUFBTSxVQUFVLGFBQWE7SUFDekIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uQnVpbGRlciwgQW5pbWF0aW9uTWV0YWRhdGEsIHN0eWxlIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIlxuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBhbmltYXRpb25PYnNlcnZhYmxlIH0gZnJvbSBcIkBuZ3V0aWwvZ3JhcGhpY3NcIlxuaW1wb3J0IHsgRHVyYXRpb24sIEVhc2UgfSBmcm9tIFwiQG5ndXRpbC9zdHlsZVwiXG5cbmltcG9ydCB7IEZsb2F0aW5nUmVmIH0gZnJvbSBcIi4uL2Zsb2F0aW5nLXJlZlwiXG5pbXBvcnQgeyBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vX2Jhc2VcIlxuXG5leHBvcnQgdHlwZSBBbmltYXRpb25TZXQgPSB7IHNob3c6IEFuaW1hdGlvbk1ldGFkYXRhW107IGhpZGU6IEFuaW1hdGlvbk1ldGFkYXRhW10gfVxuXG4vLyBodHRwczovL3R5bXBhbnVzLm5ldC9EZXZlbG9wbWVudC9Nb2RhbFdpbmRvd0VmZmVjdHMvXG5cbmNvbnN0IHRyYW5zaXRpb25EdXJhdGlvbiA9IER1cmF0aW9uLkZhc3RNc1xuXG5leHBvcnQgY2xhc3MgQW5pbWF0aW9uVHJhaXQgaW1wbGVtZW50cyBGbG9hdGluZ1RyYWl0PHVua25vd24+IHtcbiAgICByZWFkb25seSBuYW1lID0gXCJhbmltYXRpb25cIlxuXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgYW5pbWF0aW9uOiBBbmltYXRpb25TZXQpIHt9XG5cbiAgICBjb25uZWN0KGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZik6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRzdDogU3Vic2NyaWJlcjx1bmtub3duPikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYnVpbGRlciA9IGZsb2F0aW5nUmVmLmNvbnRhaW5lci5pbmplY3Rvci5nZXQoQW5pbWF0aW9uQnVpbGRlcilcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBmbG9hdGluZ1JlZi5jb250YWluZXIubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJzaG93aW5nXCIsICgpID0+XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uT2JzZXJ2YWJsZSh7IGJ1aWxkZXIsIGVsZW1lbnQsIGFuaW1hdGlvbjogdGhpcy5hbmltYXRpb24uc2hvdyB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT5cbiAgICAgICAgICAgICAgICBhbmltYXRpb25PYnNlcnZhYmxlKHsgYnVpbGRlciwgZWxlbWVudCwgYW5pbWF0aW9uOiB0aGlzLmFuaW1hdGlvbi5oaWRlIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBkc3QubmV4dCgpXG4gICAgICAgIH0pXG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgRmFsbEFuaW1hdGlvbjogQW5pbWF0aW9uU2V0ID0ge1xuICAgIHNob3c6IFtcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgLy8gXCJwZXJzcGVjdGl2ZTpcIjogXCIxMzAwcHhcIixcbiAgICAgICAgICAgIHRyYW5zZm9ybTogXCJzY2FsZSgxLjUpXCIsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBcInZpc2libGVcIixcbiAgICAgICAgICAgIG9wYWNpdHk6IFwiMFwiXG4gICAgICAgIH0pLFxuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgYCR7dHJhbnNpdGlvbkR1cmF0aW9ufW1zICR7RWFzZS5EZWNlbGVyYXRpb259YCxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IFwic2NhbGUoMSlcIixcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiBcIjFcIlxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIF0sXG4gICAgaGlkZTogW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgYCR7dHJhbnNpdGlvbkR1cmF0aW9ufW1zICR7RWFzZS5EZWNlbGVyYXRpb259YCxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IFwic2NhbGUoMS41KVwiLFxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IFwidmlzaWJsZVwiLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IFwiMFwiXG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFsbEFuaW1hdGlvbigpIHtcbiAgICByZXR1cm4gbmV3IEFuaW1hdGlvblRyYWl0KEZhbGxBbmltYXRpb24pXG59XG5cbmV4cG9ydCBjb25zdCBGYWRlQW5pbWF0aW9uOiBBbmltYXRpb25TZXQgPSB7XG4gICAgc2hvdzogW3N0eWxlKHsgb3BhY2l0eTogMCB9KSwgYW5pbWF0ZShgJHt0cmFuc2l0aW9uRHVyYXRpb259bXMgJHtFYXNlLkRlY2VsZXJhdGlvbn1gLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXSxcbiAgICBoaWRlOiBbYW5pbWF0ZShgJHt0cmFuc2l0aW9uRHVyYXRpb259bXMgJHtFYXNlLkRlY2VsZXJhdGlvbn1gLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFkZUFuaW1hdGlvbigpIHtcbiAgICByZXR1cm4gbmV3IEFuaW1hdGlvblRyYWl0KEZhZGVBbmltYXRpb24pXG59XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2Zsb2F0aW5nL3RyYWl0cy9hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBcUIsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFekYsT0FBTyxFQUFFLFVBQVUsRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFPOUMsdURBQXVEO0FBRXZELE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQTtBQUUxQyxNQUFNLE9BQU8sY0FBYztJQUd2QixZQUFxQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBRm5DLFNBQUksR0FBRyxXQUFXLENBQUE7SUFFb0IsQ0FBQztJQUVoRCxPQUFPLENBQUMsV0FBd0I7UUFDNUIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQXdCLEVBQUUsRUFBRTtZQUMvQyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtZQUNwRSxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQTtZQUNuRCxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQ2pDLG1CQUFtQixDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUM1RSxDQUFBO1lBQ0QsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUNuQyxtQkFBbUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQzlDLENBQ0osQ0FBQTtZQUNELFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUN2RCxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDZCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBaUI7SUFDdkMsSUFBSSxFQUFFO1FBQ0YsS0FBSyxDQUFDO1lBQ0YsU0FBUyxFQUFFLFlBQVk7WUFDdkIsVUFBVSxFQUFFLFNBQVM7WUFDckIsT0FBTyxFQUFFLEdBQUc7U0FDZixDQUFDO1FBQ0YsT0FBTyxDQUNILEdBQUcsa0JBQWtCLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxFQUM5QyxLQUFLLENBQUM7WUFDRixTQUFTLEVBQUUsVUFBVTtZQUNyQixPQUFPLEVBQUUsR0FBRztTQUNmLENBQUMsQ0FDTDtLQUNKO0lBQ0QsSUFBSSxFQUFFO1FBQ0YsT0FBTyxDQUNILEdBQUcsa0JBQWtCLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxFQUM5QyxLQUFLLENBQUM7WUFDRixTQUFTLEVBQUUsWUFBWTtZQUN2QixVQUFVLEVBQUUsU0FBUztZQUNyQixPQUFPLEVBQUUsR0FBRztTQUNmLENBQUMsQ0FDTDtLQUNKO0NBQ0osQ0FBQTtBQUVELE1BQU0sVUFBVSxhQUFhO0lBQ3pCLE9BQU8sSUFBSSxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDNUMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBaUI7SUFDdkMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsa0JBQWtCLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0csSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsa0JBQWtCLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Q0FDekYsQ0FBQTtBQUVELE1BQU0sVUFBVSxhQUFhO0lBQ3pCLE9BQU8sSUFBSSxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkJ1aWxkZXIsIEFuaW1hdGlvbk1ldGFkYXRhLCBzdHlsZSB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCJcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaWJlciwgdGFwIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBhbmltYXRpb25PYnNlcnZhYmxlIH0gZnJvbSBcIkBuZ3V0aWwvZ3JhcGhpY3NcIlxuaW1wb3J0IHsgRHVyYXRpb24sIEVhc2UgfSBmcm9tIFwiQG5ndXRpbC9zdHlsZVwiXG5cbmltcG9ydCB7IEZsb2F0aW5nUmVmIH0gZnJvbSBcIi4uL2Zsb2F0aW5nLXJlZlwiXG5pbXBvcnQgeyBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vX2Jhc2VcIlxuXG5leHBvcnQgdHlwZSBBbmltYXRpb25TZXQgPSB7IHNob3c6IEFuaW1hdGlvbk1ldGFkYXRhW107IGhpZGU6IEFuaW1hdGlvbk1ldGFkYXRhW10gfVxuXG4vLyBodHRwczovL3R5bXBhbnVzLm5ldC9EZXZlbG9wbWVudC9Nb2RhbFdpbmRvd0VmZmVjdHMvXG5cbmNvbnN0IHRyYW5zaXRpb25EdXJhdGlvbiA9IER1cmF0aW9uLkZhc3RNc1xuXG5leHBvcnQgY2xhc3MgQW5pbWF0aW9uVHJhaXQgaW1wbGVtZW50cyBGbG9hdGluZ1RyYWl0PHVua25vd24+IHtcbiAgICByZWFkb25seSBuYW1lID0gXCJhbmltYXRpb25cIlxuXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgYW5pbWF0aW9uOiBBbmltYXRpb25TZXQpIHt9XG5cbiAgICBjb25uZWN0KGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZik6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRzdDogU3Vic2NyaWJlcjx1bmtub3duPikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYnVpbGRlciA9IGZsb2F0aW5nUmVmLmNvbnRhaW5lci5pbmplY3Rvci5nZXQoQW5pbWF0aW9uQnVpbGRlcilcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBmbG9hdGluZ1JlZi5jb250YWluZXIubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJzaG93aW5nXCIsICgpID0+XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uT2JzZXJ2YWJsZSh7IGJ1aWxkZXIsIGVsZW1lbnQsIGFuaW1hdGlvbjogdGhpcy5hbmltYXRpb24uc2hvdyB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT5cbiAgICAgICAgICAgICAgICBhbmltYXRpb25PYnNlcnZhYmxlKHsgYnVpbGRlciwgZWxlbWVudCwgYW5pbWF0aW9uOiB0aGlzLmFuaW1hdGlvbi5oaWRlIH0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiAoZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCIpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGZsb2F0aW5nUmVmLnN0YXRlLm9uKFwiZGlzcG9zaW5nXCIsICgpID0+IGRzdC5jb21wbGV0ZSgpKVxuICAgICAgICAgICAgZHN0Lm5leHQoKVxuICAgICAgICB9KVxuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEZhbGxBbmltYXRpb246IEFuaW1hdGlvblNldCA9IHtcbiAgICBzaG93OiBbXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogXCJzY2FsZSgxLjUpXCIsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBcInZpc2libGVcIixcbiAgICAgICAgICAgIG9wYWNpdHk6IFwiMFwiXG4gICAgICAgIH0pLFxuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgYCR7dHJhbnNpdGlvbkR1cmF0aW9ufW1zICR7RWFzZS5EZWNlbGVyYXRpb259YCxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IFwic2NhbGUoMSlcIixcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiBcIjFcIlxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIF0sXG4gICAgaGlkZTogW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgYCR7dHJhbnNpdGlvbkR1cmF0aW9ufW1zICR7RWFzZS5EZWNlbGVyYXRpb259YCxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IFwic2NhbGUoMS41KVwiLFxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IFwidmlzaWJsZVwiLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IFwiMFwiXG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFsbEFuaW1hdGlvbigpIHtcbiAgICByZXR1cm4gbmV3IEFuaW1hdGlvblRyYWl0KEZhbGxBbmltYXRpb24pXG59XG5cbmV4cG9ydCBjb25zdCBGYWRlQW5pbWF0aW9uOiBBbmltYXRpb25TZXQgPSB7XG4gICAgc2hvdzogW3N0eWxlKHsgb3BhY2l0eTogMCB9KSwgYW5pbWF0ZShgJHt0cmFuc2l0aW9uRHVyYXRpb259bXMgJHtFYXNlLkRlY2VsZXJhdGlvbn1gLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXSxcbiAgICBoaWRlOiBbYW5pbWF0ZShgJHt0cmFuc2l0aW9uRHVyYXRpb259bXMgJHtFYXNlLkRlY2VsZXJhdGlvbn1gLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFkZUFuaW1hdGlvbigpIHtcbiAgICByZXR1cm4gbmV3IEFuaW1hdGlvblRyYWl0KEZhZGVBbmltYXRpb24pXG59XG4iXX0=
@@ -28,12 +28,10 @@ export class BackdropTrait {
28
28
  }
29
29
  const state = new BackdropState();
30
30
  const backdrop = floatingRef.layerSvc.newBackdrop(options);
31
- const removeOnClick = this.options.closeOnClick
32
- ? this.#installClickHandler(floatingRef, backdrop, state)
33
- : null;
34
- const onClickSub = this.options.closeOnClick
35
- ? state.onClick.pipe(exhaustMap(() => floatingRef.close())).subscribe()
36
- : null;
31
+ if (this.options.closeOnClick) {
32
+ dest.add(this.#installClickHandler(floatingRef, backdrop, state));
33
+ dest.add(state.onClick.pipe(exhaustMap(() => floatingRef.close())).subscribe());
34
+ }
37
35
  backdrop.state.on("showing", () => animationObservable({
38
36
  builder: animationBuilder,
39
37
  element: backdrop.nativeElement,
@@ -44,14 +42,10 @@ export class BackdropTrait {
44
42
  element: backdrop.nativeElement,
45
43
  animation: FadeAnimation.hide
46
44
  }));
45
+ backdrop.state.on("disposed", () => dest.complete());
47
46
  floatingRef.state.on("disposing", () => backdrop.dispose());
48
- const backdropShowSub = backdrop.show().subscribe();
47
+ dest.add(backdrop.show().subscribe());
49
48
  dest.next(state);
50
- return () => {
51
- removeOnClick && removeOnClick();
52
- onClickSub?.unsubscribe();
53
- backdropShowSub.unsubscribe();
54
- };
55
49
  });
56
50
  }
57
51
  #installClickHandler(floatingRef, backdrop, state) {
@@ -73,4 +67,4 @@ export class BackdropTrait {
73
67
  export function backdrop(options) {
74
68
  return new BackdropTrait(options);
75
69
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2Ryb3AuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL2JhY2tkcm9wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFLdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQVUzQyxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUNJLFlBQU8sR0FBcUIsSUFBSSxPQUFPLEVBQVEsQ0FBQTtJQUNuRCxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sYUFBYTtJQUd0QixZQUFxQixPQUE2QjtRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUZ6QyxTQUFJLEdBQUcsVUFBVSxDQUFBO0lBRTJCLENBQUM7SUFFdEQsT0FBTyxDQUFDLFdBQTZCO1FBQ2pDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxJQUErQixFQUFFLEVBQUU7WUFDdEQsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtZQUM3RSxNQUFNLE9BQU8sR0FBb0I7Z0JBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7Z0JBQ3ZCLEtBQUssRUFBRSxXQUFXLENBQUMsU0FBUztnQkFDNUIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSzthQUNyQixDQUFBO1lBRVIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsQ0FB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RUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUE2QjtJQUNsRCxPQUFPLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIlxuXG5pbXBvcnQgeyBleGhhdXN0TWFwLCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmliZXIgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IGFuaW1hdGlvbk9ic2VydmFibGUgfSBmcm9tIFwiQG5ndXRpbC9ncmFwaGljc1wiXG5cbmltcG9ydCB0eXBlIHsgQmFja2Ryb3BPcHRpb25zLCBCYWNrZHJvcFJlZiwgQ3JvcEJhY2tkcm9wT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9sYXllci9iYWNrZHJvcC1yZWZcIlxuaW1wb3J0IHsgdHlwZSBGbG9hdGluZ1JlZiB9IGZyb20gXCIuLi9mbG9hdGluZy1yZWZcIlxuaW1wb3J0IHsgRmxvYXRpbmdUcmFpdCB9IGZyb20gXCIuL19iYXNlXCJcbmltcG9ydCB7IEZhZGVBbmltYXRpb24gfSBmcm9tIFwiLi9hbmltYXRpb25cIlxuaW1wb3J0IHsgRmxvYXRpbmdQb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCJcblxuZXhwb3J0IGludGVyZmFjZSBCYWNrZHJvcFRyYWl0T3B0aW9ucyB7XG4gICAgdHlwZTogQmFja2Ryb3BPcHRpb25zW1widHlwZVwiXVxuICAgIGNvbG9yOiBCYWNrZHJvcE9wdGlvbnNbXCJjb2xvclwiXVxuICAgIGNsb3NlT25DbGljaz86IGJvb2xlYW5cbiAgICAvLyBUT0RPOiBtYXliZSBjcm9wTWFyZ2luXG59XG5cbmV4cG9ydCBjbGFzcyBCYWNrZHJvcFN0YXRlIHtcbiAgICBvbkNsaWNrOiBPYnNlcnZhYmxlPHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxufVxuXG5leHBvcnQgY2xhc3MgQmFja2Ryb3BUcmFpdCBpbXBsZW1lbnRzIEZsb2F0aW5nVHJhaXQ8QmFja2Ryb3BTdGF0ZT4ge1xuICAgIHJlYWRvbmx5IG5hbWUgPSBcImJhY2tkcm9wXCJcblxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IG9wdGlvbnM6IEJhY2tkcm9wVHJhaXRPcHRpb25zKSB7fVxuXG4gICAgY29ubmVjdChmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWY8YW55Pik6IE9ic2VydmFibGU8QmFja2Ryb3BTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRlc3Q6IFN1YnNjcmliZXI8QmFja2Ryb3BTdGF0ZT4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFuaW1hdGlvbkJ1aWxkZXIgPSBmbG9hdGluZ1JlZi5jb250YWluZXIuaW5qZWN0b3IuZ2V0KEFuaW1hdGlvbkJ1aWxkZXIpXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zOiBCYWNrZHJvcE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogdGhpcy5vcHRpb25zLnR5cGUsXG4gICAgICAgICAgICAgICAgdW5kZXI6IGZsb2F0aW5nUmVmLmNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5vcHRpb25zLmNvbG9yXG4gICAgICAgICAgICB9IGFzIGFueVxuXG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnR5cGUgPT09IFwiY3JvcFwiKSB7XG4gICAgICAgICAgICAgICAgOyhvcHRpb25zIGFzIENyb3BCYWNrZHJvcE9wdGlvbnMpLmNyb3AgPSBmbG9hdGluZ1JlZlxuICAgICAgICAgICAgICAgICAgICAud2F0Y2hUcmFpdDxGbG9hdGluZ1Bvc2l0aW9uPihcInBvc2l0aW9uXCIpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKG1hcChwb3NpdGlvbiA9PiBwb3NpdGlvbi5hbmNob3IpKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzdGF0ZSA9IG5ldyBCYWNrZHJvcFN0YXRlKClcbiAgICAgICAgICAgIGNvbnN0IGJhY2tkcm9wID0gZmxvYXRpbmdSZWYubGF5ZXJTdmMubmV3QmFja2Ryb3Aob3B0aW9ucylcbiAgICAgICAgICAgIGNvbnN0IHJlbW92ZU9uQ2xpY2sgPSB0aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrXG4gICAgICAgICAgICAgICAgPyB0aGlzLiNpbnN0YWxsQ2xpY2tIYW5kbGVyKGZsb2F0aW5nUmVmLCBiYWNrZHJvcCwgc3RhdGUpXG4gICAgICAgICAgICAgICAgOiBudWxsXG5cbiAgICAgICAgICAgIGNvbnN0IG9uQ2xpY2tTdWIgPSB0aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrXG4gICAgICAgICAgICAgICAgPyBzdGF0ZS5vbkNsaWNrLnBpcGUoZXhoYXVzdE1hcCgoKSA9PiBmbG9hdGluZ1JlZi5jbG9zZSgpKSkuc3Vic2NyaWJlKClcbiAgICAgICAgICAgICAgICA6IG51bGxcblxuICAgICAgICAgICAgYmFja2Ryb3Auc3RhdGUub24oXCJzaG93aW5nXCIsICgpID0+XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uT2JzZXJ2YWJsZSh7XG4gICAgICAgICAgICAgICAgICAgIGJ1aWxkZXI6IGFuaW1hdGlvbkJ1aWxkZXIsXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGJhY2tkcm9wLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogRmFkZUFuaW1hdGlvbi5zaG93XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGJhY2tkcm9wLnN0YXRlLm9uKFwiZGlzcG9zaW5nXCIsICgpID0+XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uT2JzZXJ2YWJsZSh7XG4gICAgICAgICAgICAgICAgICAgIGJ1aWxkZXI6IGFuaW1hdGlvbkJ1aWxkZXIsXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGJhY2tkcm9wLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogRmFkZUFuaW1hdGlvbi5oaWRlXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT4gYmFja2Ryb3AuZGlzcG9zZSgpKVxuXG4gICAgICAgICAgICBjb25zdCBiYWNrZHJvcFNob3dTdWIgPSBiYWNrZHJvcC5zaG93KCkuc3Vic2NyaWJlKClcbiAgICAgICAgICAgIGRlc3QubmV4dChzdGF0ZSlcblxuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICByZW1vdmVPbkNsaWNrICYmIHJlbW92ZU9uQ2xpY2soKVxuICAgICAgICAgICAgICAgIG9uQ2xpY2tTdWI/LnVuc3Vic2NyaWJlKClcbiAgICAgICAgICAgICAgICBiYWNrZHJvcFNob3dTdWIudW5zdWJzY3JpYmUoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxuICAgICNpbnN0YWxsQ2xpY2tIYW5kbGVyKGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZjxhbnk+LCBiYWNrZHJvcDogQmFja2Ryb3BSZWYsIHN0YXRlOiBCYWNrZHJvcFN0YXRlKSB7XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChldmVudC50YXJnZXQgPT09IGJhY2tkcm9wLm5hdGl2ZUVsZW1lbnQgfHwgYmFja2Ryb3AubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpIHtcbiAgICAgICAgICAgICAgICA7KHN0YXRlLm9uQ2xpY2sgYXMgU3ViamVjdDx2b2lkPikubmV4dCgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlcilcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZXIpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrZHJvcChvcHRpb25zOiBCYWNrZHJvcFRyYWl0T3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgQmFja2Ryb3BUcmFpdChvcHRpb25zKVxufVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2Ryb3AuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL2JhY2tkcm9wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFLdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQVUzQyxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUNJLFlBQU8sR0FBcUIsSUFBSSxPQUFPLEVBQVEsQ0FBQTtJQUNuRCxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sYUFBYTtJQUd0QixZQUFxQixPQUE2QjtRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUZ6QyxTQUFJLEdBQUcsVUFBVSxDQUFBO0lBRTJCLENBQUM7SUFFdEQsT0FBTyxDQUFDLFdBQTZCO1FBQ2pDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxJQUErQixFQUFFLEVBQUU7WUFDdEQsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtZQUM3RSxNQUFNLE9BQU8sR0FBb0I7Z0JBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7Z0JBQ3ZCLEtBQUssRUFBRSxXQUFXLENBQUMsU0FBUztnQkFDNUIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSzthQUNyQixDQUFBO1lBRVIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsQ0FB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QUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIlxuXG5pbXBvcnQgeyBleGhhdXN0TWFwLCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmliZXIgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IGFuaW1hdGlvbk9ic2VydmFibGUgfSBmcm9tIFwiQG5ndXRpbC9ncmFwaGljc1wiXG5cbmltcG9ydCB0eXBlIHsgQmFja2Ryb3BPcHRpb25zLCBCYWNrZHJvcFJlZiwgQ3JvcEJhY2tkcm9wT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9sYXllci9iYWNrZHJvcC1yZWZcIlxuaW1wb3J0IHsgdHlwZSBGbG9hdGluZ1JlZiB9IGZyb20gXCIuLi9mbG9hdGluZy1yZWZcIlxuaW1wb3J0IHsgRmxvYXRpbmdUcmFpdCB9IGZyb20gXCIuL19iYXNlXCJcbmltcG9ydCB7IEZhZGVBbmltYXRpb24gfSBmcm9tIFwiLi9hbmltYXRpb25cIlxuaW1wb3J0IHsgRmxvYXRpbmdQb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCJcblxuZXhwb3J0IGludGVyZmFjZSBCYWNrZHJvcFRyYWl0T3B0aW9ucyB7XG4gICAgdHlwZTogQmFja2Ryb3BPcHRpb25zW1widHlwZVwiXVxuICAgIGNvbG9yOiBCYWNrZHJvcE9wdGlvbnNbXCJjb2xvclwiXVxuICAgIGNsb3NlT25DbGljaz86IGJvb2xlYW5cbiAgICAvLyBUT0RPOiBtYXliZSBjcm9wTWFyZ2luXG59XG5cbmV4cG9ydCBjbGFzcyBCYWNrZHJvcFN0YXRlIHtcbiAgICBvbkNsaWNrOiBPYnNlcnZhYmxlPHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxufVxuXG5leHBvcnQgY2xhc3MgQmFja2Ryb3BUcmFpdCBpbXBsZW1lbnRzIEZsb2F0aW5nVHJhaXQ8QmFja2Ryb3BTdGF0ZT4ge1xuICAgIHJlYWRvbmx5IG5hbWUgPSBcImJhY2tkcm9wXCJcblxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IG9wdGlvbnM6IEJhY2tkcm9wVHJhaXRPcHRpb25zKSB7fVxuXG4gICAgY29ubmVjdChmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWY8YW55Pik6IE9ic2VydmFibGU8QmFja2Ryb3BTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRlc3Q6IFN1YnNjcmliZXI8QmFja2Ryb3BTdGF0ZT4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFuaW1hdGlvbkJ1aWxkZXIgPSBmbG9hdGluZ1JlZi5jb250YWluZXIuaW5qZWN0b3IuZ2V0KEFuaW1hdGlvbkJ1aWxkZXIpXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zOiBCYWNrZHJvcE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogdGhpcy5vcHRpb25zLnR5cGUsXG4gICAgICAgICAgICAgICAgdW5kZXI6IGZsb2F0aW5nUmVmLmNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5vcHRpb25zLmNvbG9yXG4gICAgICAgICAgICB9IGFzIGFueVxuXG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnR5cGUgPT09IFwiY3JvcFwiKSB7XG4gICAgICAgICAgICAgICAgOyhvcHRpb25zIGFzIENyb3BCYWNrZHJvcE9wdGlvbnMpLmNyb3AgPSBmbG9hdGluZ1JlZlxuICAgICAgICAgICAgICAgICAgICAud2F0Y2hUcmFpdDxGbG9hdGluZ1Bvc2l0aW9uPihcInBvc2l0aW9uXCIpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKG1hcChwb3NpdGlvbiA9PiBwb3NpdGlvbi5hbmNob3IpKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzdGF0ZSA9IG5ldyBCYWNrZHJvcFN0YXRlKClcbiAgICAgICAgICAgIGNvbnN0IGJhY2tkcm9wID0gZmxvYXRpbmdSZWYubGF5ZXJTdmMubmV3QmFja2Ryb3Aob3B0aW9ucylcblxuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgICBkZXN0LmFkZCh0aGlzLiNpbnN0YWxsQ2xpY2tIYW5kbGVyKGZsb2F0aW5nUmVmLCBiYWNrZHJvcCwgc3RhdGUpKVxuICAgICAgICAgICAgICAgIGRlc3QuYWRkKHN0YXRlLm9uQ2xpY2sucGlwZShleGhhdXN0TWFwKCgpID0+IGZsb2F0aW5nUmVmLmNsb3NlKCkpKS5zdWJzY3JpYmUoKSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYmFja2Ryb3Auc3RhdGUub24oXCJzaG93aW5nXCIsICgpID0+XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uT2JzZXJ2YWJsZSh7XG4gICAgICAgICAgICAgICAgICAgIGJ1aWxkZXI6IGFuaW1hdGlvbkJ1aWxkZXIsXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGJhY2tkcm9wLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogRmFkZUFuaW1hdGlvbi5zaG93XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGJhY2tkcm9wLnN0YXRlLm9uKFwiZGlzcG9zaW5nXCIsICgpID0+XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uT2JzZXJ2YWJsZSh7XG4gICAgICAgICAgICAgICAgICAgIGJ1aWxkZXI6IGFuaW1hdGlvbkJ1aWxkZXIsXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGJhY2tkcm9wLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogRmFkZUFuaW1hdGlvbi5oaWRlXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgYmFja2Ryb3Auc3RhdGUub24oXCJkaXNwb3NlZFwiLCAoKSA9PiBkZXN0LmNvbXBsZXRlKCkpXG5cbiAgICAgICAgICAgIGZsb2F0aW5nUmVmLnN0YXRlLm9uKFwiZGlzcG9zaW5nXCIsICgpID0+IGJhY2tkcm9wLmRpc3Bvc2UoKSlcblxuICAgICAgICAgICAgZGVzdC5hZGQoYmFja2Ryb3Auc2hvdygpLnN1YnNjcmliZSgpKVxuICAgICAgICAgICAgZGVzdC5uZXh0KHN0YXRlKVxuICAgICAgICB9KVxuICAgIH1cblxuICAgICNpbnN0YWxsQ2xpY2tIYW5kbGVyKGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZjxhbnk+LCBiYWNrZHJvcDogQmFja2Ryb3BSZWYsIHN0YXRlOiBCYWNrZHJvcFN0YXRlKSB7XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChldmVudC50YXJnZXQgPT09IGJhY2tkcm9wLm5hdGl2ZUVsZW1lbnQgfHwgYmFja2Ryb3AubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpIHtcbiAgICAgICAgICAgICAgICA7KHN0YXRlLm9uQ2xpY2sgYXMgU3ViamVjdDx2b2lkPikubmV4dCgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlcilcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZXIpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrZHJvcChvcHRpb25zOiBCYWNrZHJvcFRyYWl0T3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgQmFja2Ryb3BUcmFpdChvcHRpb25zKVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { combineLatest, distinctUntilChanged, map, Observable, tap } from "rxjs";
1
+ import { combineLatest, distinctUntilChanged, map, Observable, takeUntil, tap } from "rxjs";
2
2
  import { clamp } from "lodash";
3
3
  import { isElementInput } from "@ngutil/common";
4
4
  import { DimensionWatcher } from "@ngutil/style";
@@ -45,7 +45,7 @@ export class DimensionConstraintTrait {
45
45
  }
46
46
  });
47
47
  }
48
- }).pipe(distinctUntilChanged(), tap(value => {
48
+ }).pipe(takeUntil(floatingRef.state.onExecute("disposing")), distinctUntilChanged(), tap(value => {
49
49
  const floatingEl = floatingRef.container.nativeElement;
50
50
  floatingEl.style[this.name] = `${value}px`;
51
51
  }));
@@ -63,4 +63,4 @@ export function minWidth(value) {
63
63
  export function minHeight(value) {
64
64
  return new DimensionConstraintTrait("minHeight", value);
65
65
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltLWNvbnRyYWludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9mbG9hdGluZy90cmFpdHMvZGltLWNvbnRyYWludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRTVGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFOUIsT0FBTyxFQUFnQixjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3RCxPQUFPLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFhM0QsTUFBTSxPQUFPLEdBQW1DO0lBQzVDLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRTtJQUNwRCxTQUFTLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUU7SUFDdEQsUUFBUSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFO0lBQ3BELFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRTtDQUN6RCxDQUFBO0FBRUQsTUFBTSxPQUFPLHdCQUF3QjtJQUV4QixJQUFJLENBQWE7SUFDMUIsWUFDSSxJQUEwQixFQUNqQixLQUErQjtRQUEvQixVQUFLLEdBQUwsS0FBSyxDQUEwQjtRQUV4QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQWMsQ0FBQTtRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBRUQsT0FBTyxDQUFDLFdBQTZCO1FBQ2pDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxHQUF1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QyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDM0QsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBK0I7SUFDcEQsT0FBTyxJQUFJLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUMxRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUErQjtJQUNyRCxPQUFPLElBQUksd0JBQXdCLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyLCB0YXAgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IGNsYW1wIH0gZnJvbSBcImxvZGFzaFwiXG5cbmltcG9ydCB7IEVsZW1lbnRJbnB1dCwgaXNFbGVtZW50SW5wdXQgfSBmcm9tIFwiQG5ndXRpbC9jb21tb25cIlxuaW1wb3J0IHsgRGltZW5zaW9uLCBEaW1lbnNpb25XYXRjaGVyIH0gZnJvbSBcIkBuZ3V0aWwvc3R5bGVcIlxuXG5pbXBvcnQgeyBGbG9hdGluZ1JlZiB9IGZyb20gXCIuLi9mbG9hdGluZy1yZWZcIlxuaW1wb3J0IHsgRmxvYXRpbmdUcmFpdCB9IGZyb20gXCIuL19iYXNlXCJcbmltcG9ydCB0eXBlIHsgRmxvYXRpbmdQb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCJcblxuZXhwb3J0IHR5cGUgRGltZW5zaW9uQ29uc3RyYWludElucHV0ID0gRWxlbWVudElucHV0IHwgbnVtYmVyXG5cbmludGVyZmFjZSBEaW1NYXBFbnRyeSB7XG4gICAgY29tcHV0ZWRSZWY6IFwibWluXCIgfCBcIm1heFwiXG4gICAgZGltZW5zaW9uOiBrZXlvZiBEaW1lbnNpb25cbn1cblxuY29uc3QgRElNX01BUDogeyBba2V5OiBzdHJpbmddOiBEaW1NYXBFbnRyeSB9ID0ge1xuICAgIG1heFdpZHRoOiB7IGNvbXB1dGVkUmVmOiBcIm1heFwiLCBkaW1lbnNpb246IFwid2lkdGhcIiB9LFxuICAgIG1heEhlaWdodDogeyBjb21wdXRlZFJlZjogXCJtYXhcIiwgZGltZW5zaW9uOiBcImhlaWdodFwiIH0sXG4gICAgbWluV2lkdGg6IHsgY29tcHV0ZWRSZWY6IFwibWluXCIsIGRpbWVuc2lvbjogXCJ3aWR0aFwiIH0sXG4gICAgbWluSGVpZ2h0OiB7IGNvbXB1dGVkUmVmOiBcIm1pblwiLCBkaW1lbnNpb246IFwiaGVpZ2h0XCIgfVxufVxuXG5leHBvcnQgY2xhc3MgRGltZW5zaW9uQ29uc3RyYWludFRyYWl0IGltcGxlbWVudHMgRmxvYXRpbmdUcmFpdDxudW1iZXI+IHtcbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmdcbiAgICByZWFkb25seSAjbWFwOiBEaW1NYXBFbnRyeVxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBuYW1lOiBrZXlvZiB0eXBlb2YgRElNX01BUCxcbiAgICAgICAgcmVhZG9ubHkgdmFsdWU6IERpbWVuc2lvbkNvbnN0cmFpbnRJbnB1dFxuICAgICkge1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lIGFzIHN0cmluZ1xuICAgICAgICB0aGlzLiNtYXAgPSBESU1fTUFQW25hbWVdXG4gICAgfVxuXG4gICAgY29ubmVjdChmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWY8YW55Pik6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZHN0OiBTdWJzY3JpYmVyPG51bWJlcj4pID0+IHtcbiAgICAgICAgICAgIGlmIChpc0VsZW1lbnRJbnB1dCh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdhdGNoZXIgPSBmbG9hdGluZ1JlZi5jb250YWluZXIuaW5qZWN0b3IuZ2V0KERpbWVuc2lvbldhdGNoZXIpXG4gICAgICAgICAgICAgICAgY29uc3QgcmVmRGltID0gd2F0Y2hlci53YXRjaCh0aGlzLnZhbHVlLCBcImJvcmRlci1ib3hcIikucGlwZShtYXAodmFsdWUgPT4gdmFsdWVbdGhpcy4jbWFwLmRpbWVuc2lvbl0pKVxuICAgICAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHtcbiAgICAgICAgICAgICAgICAgICAgcmVmRGltOiByZWZEaW0sXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmbG9hdGluZ1JlZi53YXRjaFRyYWl0PEZsb2F0aW5nUG9zaXRpb24+KFwicG9zaXRpb25cIilcbiAgICAgICAgICAgICAgICB9KS5zdWJzY3JpYmUoKHsgcmVmRGltLCBwb3NpdGlvbiB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0aW5nID0gcG9zaXRpb24uY29tcHV0ZWQ/LmZsb2F0aW5nXG4gICAgICAgICAgICAgICAgICAgIGlmICghZmxvYXRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRzdC5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhbXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmRGltLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0aW5nLm1pblt0aGlzLiNtYXAuZGltZW5zaW9uXSB8fCAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0aW5nLm1heFt0aGlzLiNtYXAuZGltZW5zaW9uXSB8fCBJbmZpbml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZsb2F0aW5nUmVmLndhdGNoVHJhaXQ8RmxvYXRpbmdQb3NpdGlvbj4oXCJwb3NpdGlvblwiKS5zdWJzY3JpYmUocG9zaXRpb24gPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmbG9hdGluZyA9IHBvc2l0aW9uLmNvbXB1dGVkPy5mbG9hdGluZ1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWZsb2F0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNOYU4odGhpcy52YWx1ZSBhcyBudW1iZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkc3QubmV4dChmbG9hdGluZ1t0aGlzLiNtYXAuY29tcHV0ZWRSZWZdW3RoaXMuI21hcC5kaW1lbnNpb25dKVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZHN0Lm5leHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhbXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgYXMgbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdGluZz8ubWluW3RoaXMuI21hcC5kaW1lbnNpb25dIHx8IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0aW5nPy5tYXhbdGhpcy4jbWFwLmRpbWVuc2lvbl0gfHwgSW5maW5pdHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIHRhcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmxvYXRpbmdFbCA9IGZsb2F0aW5nUmVmLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAgICAgZmxvYXRpbmdFbC5zdHlsZVt0aGlzLm5hbWUgYXMgYW55XSA9IGAke3ZhbHVlfXB4YFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1heFdpZHRoKHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdChcIm1heFdpZHRoXCIsIHZhbHVlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4SGVpZ2h0KHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdChcIm1heEhlaWdodFwiLCB2YWx1ZSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1pbldpZHRoKHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdChcIm1pbldpZHRoXCIsIHZhbHVlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWluSGVpZ2h0KHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdChcIm1pbkhlaWdodFwiLCB2YWx1ZSlcbn1cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltLWNvbnRyYWludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9mbG9hdGluZy90cmFpdHMvZGltLWNvbnRyYWludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQWMsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUV2RyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBRTlCLE9BQU8sRUFBZ0IsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDN0QsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBYTNELE1BQU0sT0FBTyxHQUFtQztJQUM1QyxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUU7SUFDcEQsU0FBUyxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFO0lBQ3RELFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRTtJQUNwRCxTQUFTLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUU7Q0FDekQsQ0FBQTtBQUVELE1BQU0sT0FBTyx3QkFBd0I7SUFFeEIsSUFBSSxDQUFhO0lBQzFCLFlBQ0ksSUFBMEIsRUFDakIsS0FBK0I7UUFBL0IsVUFBSyxHQUFMLEtBQUssQ0FBMEI7UUFFeEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFjLENBQUE7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxXQUE2QjtRQUNqQyxPQUFPLElBQUksVUFBVSxDQUFD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QUE7QUFDMUQsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBK0I7SUFDckQsT0FBTyxJQUFJLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUErQjtJQUNwRCxPQUFPLElBQUksd0JBQXdCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQzFELENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQStCO0lBQ3JELE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmliZXIsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBjbGFtcCB9IGZyb20gXCJsb2Rhc2hcIlxuXG5pbXBvcnQgeyBFbGVtZW50SW5wdXQsIGlzRWxlbWVudElucHV0IH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcbmltcG9ydCB7IERpbWVuc2lvbiwgRGltZW5zaW9uV2F0Y2hlciB9IGZyb20gXCJAbmd1dGlsL3N0eWxlXCJcblxuaW1wb3J0IHsgRmxvYXRpbmdSZWYgfSBmcm9tIFwiLi4vZmxvYXRpbmctcmVmXCJcbmltcG9ydCB7IEZsb2F0aW5nVHJhaXQgfSBmcm9tIFwiLi9fYmFzZVwiXG5pbXBvcnQgdHlwZSB7IEZsb2F0aW5nUG9zaXRpb24gfSBmcm9tIFwiLi9wb3NpdGlvblwiXG5cbmV4cG9ydCB0eXBlIERpbWVuc2lvbkNvbnN0cmFpbnRJbnB1dCA9IEVsZW1lbnRJbnB1dCB8IG51bWJlclxuXG5pbnRlcmZhY2UgRGltTWFwRW50cnkge1xuICAgIGNvbXB1dGVkUmVmOiBcIm1pblwiIHwgXCJtYXhcIlxuICAgIGRpbWVuc2lvbjoga2V5b2YgRGltZW5zaW9uXG59XG5cbmNvbnN0IERJTV9NQVA6IHsgW2tleTogc3RyaW5nXTogRGltTWFwRW50cnkgfSA9IHtcbiAgICBtYXhXaWR0aDogeyBjb21wdXRlZFJlZjogXCJtYXhcIiwgZGltZW5zaW9uOiBcIndpZHRoXCIgfSxcbiAgICBtYXhIZWlnaHQ6IHsgY29tcHV0ZWRSZWY6IFwibWF4XCIsIGRpbWVuc2lvbjogXCJoZWlnaHRcIiB9LFxuICAgIG1pbldpZHRoOiB7IGNvbXB1dGVkUmVmOiBcIm1pblwiLCBkaW1lbnNpb246IFwid2lkdGhcIiB9LFxuICAgIG1pbkhlaWdodDogeyBjb21wdXRlZFJlZjogXCJtaW5cIiwgZGltZW5zaW9uOiBcImhlaWdodFwiIH1cbn1cblxuZXhwb3J0IGNsYXNzIERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdCBpbXBsZW1lbnRzIEZsb2F0aW5nVHJhaXQ8bnVtYmVyPiB7XG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nXG4gICAgcmVhZG9ubHkgI21hcDogRGltTWFwRW50cnlcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgbmFtZToga2V5b2YgdHlwZW9mIERJTV9NQVAsXG4gICAgICAgIHJlYWRvbmx5IHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXRcbiAgICApIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZSBhcyBzdHJpbmdcbiAgICAgICAgdGhpcy4jbWFwID0gRElNX01BUFtuYW1lXVxuICAgIH1cblxuICAgIGNvbm5lY3QoZmxvYXRpbmdSZWY6IEZsb2F0aW5nUmVmPGFueT4pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRzdDogU3Vic2NyaWJlcjxudW1iZXI+KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNFbGVtZW50SW5wdXQodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB3YXRjaGVyID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLmluamVjdG9yLmdldChEaW1lbnNpb25XYXRjaGVyKVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlZkRpbSA9IHdhdGNoZXIud2F0Y2godGhpcy52YWx1ZSwgXCJib3JkZXItYm94XCIpLnBpcGUobWFwKHZhbHVlID0+IHZhbHVlW3RoaXMuI21hcC5kaW1lbnNpb25dKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh7XG4gICAgICAgICAgICAgICAgICAgIHJlZkRpbTogcmVmRGltLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZmxvYXRpbmdSZWYud2F0Y2hUcmFpdDxGbG9hdGluZ1Bvc2l0aW9uPihcInBvc2l0aW9uXCIpXG4gICAgICAgICAgICAgICAgfSkuc3Vic2NyaWJlKCh7IHJlZkRpbSwgcG9zaXRpb24gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmbG9hdGluZyA9IHBvc2l0aW9uLmNvbXB1dGVkPy5mbG9hdGluZ1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWZsb2F0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkc3QubmV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYW1wKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZkRpbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdGluZy5taW5bdGhpcy4jbWFwLmRpbWVuc2lvbl0gfHwgMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdGluZy5tYXhbdGhpcy4jbWFwLmRpbWVuc2lvbl0gfHwgSW5maW5pdHlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBmbG9hdGluZ1JlZi53YXRjaFRyYWl0PEZsb2F0aW5nUG9zaXRpb24+KFwicG9zaXRpb25cIikuc3Vic2NyaWJlKHBvc2l0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmxvYXRpbmcgPSBwb3NpdGlvbi5jb21wdXRlZD8uZmxvYXRpbmdcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFmbG9hdGluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzTmFOKHRoaXMudmFsdWUgYXMgbnVtYmVyKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZHN0Lm5leHQoZmxvYXRpbmdbdGhpcy4jbWFwLmNvbXB1dGVkUmVmXVt0aGlzLiNtYXAuZGltZW5zaW9uXSlcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRzdC5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYW1wKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlIGFzIG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXRpbmc/Lm1pblt0aGlzLiNtYXAuZGltZW5zaW9uXSB8fCAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdGluZz8ubWF4W3RoaXMuI21hcC5kaW1lbnNpb25dIHx8IEluZmluaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbChmbG9hdGluZ1JlZi5zdGF0ZS5vbkV4ZWN1dGUoXCJkaXNwb3NpbmdcIikpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIHRhcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmxvYXRpbmdFbCA9IGZsb2F0aW5nUmVmLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAgICAgZmxvYXRpbmdFbC5zdHlsZVt0aGlzLm5hbWUgYXMgYW55XSA9IGAke3ZhbHVlfXB4YFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1heFdpZHRoKHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdChcIm1heFdpZHRoXCIsIHZhbHVlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4SGVpZ2h0KHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdChcIm1heEhlaWdodFwiLCB2YWx1ZSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1pbldpZHRoKHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdChcIm1pbldpZHRoXCIsIHZhbHVlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWluSGVpZ2h0KHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdChcIm1pbkhlaWdodFwiLCB2YWx1ZSlcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Observable, Subscription } from "rxjs";
1
+ import { Observable } from "rxjs";
2
2
  import { FocusService } from "@ngutil/aria";
3
3
  export class FocusTrait {
4
4
  constructor(options) {
@@ -6,17 +6,16 @@ export class FocusTrait {
6
6
  this.name = "focus";
7
7
  }
8
8
  connect(floatingRef) {
9
- return new Observable(() => {
10
- const subs = new Subscription();
9
+ return new Observable(dest => {
11
10
  const originallyFocused = document.activeElement;
12
11
  const svc = floatingRef.container.injector.get(FocusService);
13
12
  if (this.options.connect) {
14
13
  const tabindex = this.options.tabindex == null ? 0 : this.options.tabindex;
15
14
  floatingRef.container.nativeElement.setAttribute("tabindex", tabindex.toString());
16
- subs.add(this.options.connect.connect(floatingRef.container).subscribe());
15
+ dest.add(this.options.connect.connect(floatingRef.container).subscribe());
17
16
  }
18
17
  if (this.options.trap) {
19
- subs.add(this.#trap(floatingRef, svc).subscribe());
18
+ dest.add(this.#trap(floatingRef, svc).subscribe());
20
19
  }
21
20
  floatingRef.state.on("disposing", () => {
22
21
  const active = document.activeElement;
@@ -24,10 +23,9 @@ export class FocusTrait {
24
23
  if (active === floating || floating.contains(active)) {
25
24
  originallyFocused && document.contains(originallyFocused) && svc.focus(originallyFocused, "program");
26
25
  }
26
+ dest.complete();
27
27
  });
28
- return () => {
29
- subs.unsubscribe();
30
- };
28
+ dest.next();
31
29
  });
32
30
  }
33
31
  #trap(floatingRef, svc) {
@@ -45,4 +43,4 @@ export class FocusTrait {
45
43
  export function focus(options) {
46
44
  return new FocusTrait(options);
47
45
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL2ZvY3VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRS9DLE9BQU8sRUFBYSxZQUFZLEVBQWMsTUFBTSxjQUFjLENBQUE7QUFhbEUsTUFBTSxPQUFPLFVBQVU7SUFHbkIsWUFBcUIsT0FBcUI7UUFBckIsWUFBTyxHQUFQLE9BQU8sQ0FBYztRQUZqQyxTQUFJLEdBQUcsT0FBTyxDQUFBO0lBRXNCLENBQUM7SUFFOUMsT0FBTyxDQUFDLFdBQXdCO1FBQzVCLE9BQU8sSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7WUFDL0IsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsYUFBNEIsQ0FBQTtZQUMvRCxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUE7WUFFNUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN2QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUE7Z0JBQzFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7Z0JBQ2pGLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1lBQzdFLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtZQUN0RCxDQUFDO1lBRUQsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtnQkFDbkMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQTtnQkFDckMsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUE7Z0JBQ3BELElBQUksTUFBTSxLQUFLLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQ25ELGlCQUFpQixJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxDQUFBO2dCQUN4RyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUE7WUFFRixPQUFPLEdBQUcsRUFBRTtnQkFDUixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7WUFDdEIsQ0FBQyxDQUFBO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQXdCLEVBQUUsR0FBaUI7UUFDN0MsT0FBTyxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1lBRS9ELFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFBO1lBQzlCLENBQUMsQ0FBQyxDQUFBO1lBRUYsT0FBTyxHQUFHLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQ2xCLENBQUMsQ0FBQTtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FBQyxPQUFxQjtJQUN2QyxPQUFPLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IEZvY3VzYWJsZSwgRm9jdXNTZXJ2aWNlLCBGb2N1c1N0YXRlIH0gZnJvbSBcIkBuZ3V0aWwvYXJpYVwiXG5pbXBvcnQgeyBFbGVtZW50SW5wdXQgfSBmcm9tIFwiQG5ndXRpbC9jb21tb25cIlxuXG5pbXBvcnQgeyBGbG9hdGluZ1JlZiB9IGZyb20gXCIuLi9mbG9hdGluZy1yZWZcIlxuaW1wb3J0IHsgRmxvYXRpbmdUcmFpdCB9IGZyb20gXCIuL19iYXNlXCJcblxuZXhwb3J0IGludGVyZmFjZSBGb2N1c09wdGlvbnMge1xuICAgIHRyYXA/OiBib29sZWFuXG4gICAgY29ubmVjdD86IEZvY3VzYWJsZSB8IEZvY3VzU3RhdGVcbiAgICB0YWJpbmRleD86IG51bWJlclxuICAgIGZvY3VzT25DbG9zZT86IEVsZW1lbnRJbnB1dFxufVxuXG5leHBvcnQgY2xhc3MgRm9jdXNUcmFpdCBpbXBsZW1lbnRzIEZsb2F0aW5nVHJhaXQ8dW5rbm93bj4ge1xuICAgIHJlYWRvbmx5IG5hbWUgPSBcImZvY3VzXCJcblxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IG9wdGlvbnM6IEZvY3VzT3B0aW9ucykge31cblxuICAgIGNvbm5lY3QoZmxvYXRpbmdSZWY6IEZsb2F0aW5nUmVmKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdWJzID0gbmV3IFN1YnNjcmlwdGlvbigpXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbGx5Rm9jdXNlZCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcbiAgICAgICAgICAgIGNvbnN0IHN2YyA9IGZsb2F0aW5nUmVmLmNvbnRhaW5lci5pbmplY3Rvci5nZXQoRm9jdXNTZXJ2aWNlKVxuXG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmNvbm5lY3QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWJpbmRleCA9IHRoaXMub3B0aW9ucy50YWJpbmRleCA9PSBudWxsID8gMCA6IHRoaXMub3B0aW9ucy50YWJpbmRleFxuICAgICAgICAgICAgICAgIGZsb2F0aW5nUmVmLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsIHRhYmluZGV4LnRvU3RyaW5nKCkpXG4gICAgICAgICAgICAgICAgc3Vicy5hZGQodGhpcy5vcHRpb25zLmNvbm5lY3QuY29ubmVjdChmbG9hdGluZ1JlZi5jb250YWluZXIpLnN1YnNjcmliZSgpKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnRyYXApIHtcbiAgICAgICAgICAgICAgICBzdWJzLmFkZCh0aGlzLiN0cmFwKGZsb2F0aW5nUmVmLCBzdmMpLnN1YnNjcmliZSgpKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbG9hdGluZ1JlZi5zdGF0ZS5vbihcImRpc3Bvc2luZ1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0aW5nID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlID09PSBmbG9hdGluZyB8fCBmbG9hdGluZy5jb250YWlucyhhY3RpdmUpKSB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsbHlGb2N1c2VkICYmIGRvY3VtZW50LmNvbnRhaW5zKG9yaWdpbmFsbHlGb2N1c2VkKSAmJiBzdmMuZm9jdXMob3JpZ2luYWxseUZvY3VzZWQsIFwicHJvZ3JhbVwiKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc3Vicy51bnN1YnNjcmliZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgI3RyYXAoZmxvYXRpbmdSZWY6IEZsb2F0aW5nUmVmLCBzdmM6IEZvY3VzU2VydmljZSkge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJhcCA9IHN2Yy5mb2N1c1RyYXAoZmxvYXRpbmdSZWYuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpXG5cbiAgICAgICAgICAgIGZsb2F0aW5nUmVmLnN0YXRlLm9uKFwic2hvd25cIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyYXAuZm9jdXNJbml0aWFsRWxlbWVudCgpXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyYXAuZGVzdHJveSgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9jdXMob3B0aW9uczogRm9jdXNPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyBGb2N1c1RyYWl0KG9wdGlvbnMpXG59XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL2ZvY3VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFakMsT0FBTyxFQUFhLFlBQVksRUFBYyxNQUFNLGNBQWMsQ0FBQTtBQWFsRSxNQUFNLE9BQU8sVUFBVTtJQUduQixZQUFxQixPQUFxQjtRQUFyQixZQUFPLEdBQVAsT0FBTyxDQUFjO1FBRmpDLFNBQUksR0FBRyxPQUFPLENBQUE7SUFFc0IsQ0FBQztJQUU5QyxPQUFPLENBQUMsV0FBd0I7UUFDNUIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxhQUE0QixDQUFBO1lBQy9ELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUU1RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQTtnQkFDMUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtnQkFDakYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7WUFDN0UsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1lBQ3RELENBQUM7WUFFRCxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFO2dCQUNuQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFBO2dCQUNyQyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQTtnQkFDcEQsSUFBSSxNQUFNLEtBQUssUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztvQkFDbkQsaUJBQWlCLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLENBQUE7Z0JBQ3hHLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQ25CLENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ2YsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQXdCLEVBQUUsR0FBaUI7UUFDN0MsT0FBTyxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1lBRS9ELFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFBO1lBQzlCLENBQUMsQ0FBQyxDQUFBO1lBRUYsT0FBTyxHQUFHLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQ2xCLENBQUMsQ0FBQTtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FBQyxPQUFxQjtJQUN2QyxPQUFPLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBGb2N1c2FibGUsIEZvY3VzU2VydmljZSwgRm9jdXNTdGF0ZSB9IGZyb20gXCJAbmd1dGlsL2FyaWFcIlxuaW1wb3J0IHsgRWxlbWVudElucHV0IH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcblxuaW1wb3J0IHsgRmxvYXRpbmdSZWYgfSBmcm9tIFwiLi4vZmxvYXRpbmctcmVmXCJcbmltcG9ydCB7IEZsb2F0aW5nVHJhaXQgfSBmcm9tIFwiLi9fYmFzZVwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9jdXNPcHRpb25zIHtcbiAgICB0cmFwPzogYm9vbGVhblxuICAgIGNvbm5lY3Q/OiBGb2N1c2FibGUgfCBGb2N1c1N0YXRlXG4gICAgdGFiaW5kZXg/OiBudW1iZXJcbiAgICBmb2N1c09uQ2xvc2U/OiBFbGVtZW50SW5wdXRcbn1cblxuZXhwb3J0IGNsYXNzIEZvY3VzVHJhaXQgaW1wbGVtZW50cyBGbG9hdGluZ1RyYWl0PHVua25vd24+IHtcbiAgICByZWFkb25seSBuYW1lID0gXCJmb2N1c1wiXG5cbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBvcHRpb25zOiBGb2N1c09wdGlvbnMpIHt9XG5cbiAgICBjb25uZWN0KGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZik6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoZGVzdCA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbGx5Rm9jdXNlZCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcbiAgICAgICAgICAgIGNvbnN0IHN2YyA9IGZsb2F0aW5nUmVmLmNvbnRhaW5lci5pbmplY3Rvci5nZXQoRm9jdXNTZXJ2aWNlKVxuXG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmNvbm5lY3QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWJpbmRleCA9IHRoaXMub3B0aW9ucy50YWJpbmRleCA9PSBudWxsID8gMCA6IHRoaXMub3B0aW9ucy50YWJpbmRleFxuICAgICAgICAgICAgICAgIGZsb2F0aW5nUmVmLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsIHRhYmluZGV4LnRvU3RyaW5nKCkpXG4gICAgICAgICAgICAgICAgZGVzdC5hZGQodGhpcy5vcHRpb25zLmNvbm5lY3QuY29ubmVjdChmbG9hdGluZ1JlZi5jb250YWluZXIpLnN1YnNjcmliZSgpKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnRyYXApIHtcbiAgICAgICAgICAgICAgICBkZXN0LmFkZCh0aGlzLiN0cmFwKGZsb2F0aW5nUmVmLCBzdmMpLnN1YnNjcmliZSgpKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbG9hdGluZ1JlZi5zdGF0ZS5vbihcImRpc3Bvc2luZ1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0aW5nID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlID09PSBmbG9hdGluZyB8fCBmbG9hdGluZy5jb250YWlucyhhY3RpdmUpKSB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsbHlGb2N1c2VkICYmIGRvY3VtZW50LmNvbnRhaW5zKG9yaWdpbmFsbHlGb2N1c2VkKSAmJiBzdmMuZm9jdXMob3JpZ2luYWxseUZvY3VzZWQsIFwicHJvZ3JhbVwiKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZXN0LmNvbXBsZXRlKClcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBkZXN0Lm5leHQoKVxuICAgICAgICB9KVxuICAgIH1cblxuICAgICN0cmFwKGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZiwgc3ZjOiBGb2N1c1NlcnZpY2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRyYXAgPSBzdmMuZm9jdXNUcmFwKGZsb2F0aW5nUmVmLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50KVxuXG4gICAgICAgICAgICBmbG9hdGluZ1JlZi5zdGF0ZS5vbihcInNob3duXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0cmFwLmZvY3VzSW5pdGlhbEVsZW1lbnQoKVxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICB0cmFwLmRlc3Ryb3koKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvY3VzKG9wdGlvbnM6IEZvY3VzT3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgRm9jdXNUcmFpdChvcHRpb25zKVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { ElementRef } from "@angular/core";
2
- import { combineLatest, Observable } from "rxjs";
2
+ import { combineLatest, Observable, takeUntil } from "rxjs";
3
3
  import { DimensionWatcher, RectWatcher } from "@ngutil/style";
4
4
  import { maxHeight, maxWidth } from "./dim-contraint";
5
5
  import { computePosition } from "./position-calc";
@@ -37,7 +37,7 @@ export class PositionTrait {
37
37
  res.apply(floatingRef);
38
38
  dest.next(res);
39
39
  });
40
- });
40
+ }).pipe(takeUntil(floatingRef.state.onExecute("disposing")));
41
41
  }
42
42
  }
43
43
  function refWatcher(rectWatcher, ref, floatingRef) {
@@ -72,4 +72,4 @@ export class FloatingPosition {
72
72
  floatingEl.style.top = `${this.computed.floating.current.y}px`;
73
73
  }
74
74
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL3Bvc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFHNUQsT0FBTyxFQUE2QixnQkFBZ0IsRUFBUSxXQUFXLEVBQWMsTUFBTSxlQUFlLENBQUE7QUFLMUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNyRCxPQUFPLEVBQW1CLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBZ0JsRSxNQUFNLE9BQU8saUJBQWtDLFNBQVEsVUFBYTtDQUFHO0FBZ0J2RSxNQUFNLE9BQU8sb0JBQXNFLFNBQVEsVUFBYTtDQUFHO0FBb0IzRyxNQUFNLE9BQU8sYUFBYTtJQUt0QixZQUFZLE9BQWdDO1FBSm5DLFNBQUksR0FBRyxVQUFVLENBQUE7UUFLdEIsTUFBTSxNQUFNLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFBO1FBRTdCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxDQUFDLFNBQVMsR0FBRyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQTtRQUMxQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixNQUFNLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQTtRQUN6RSxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixNQUFNLENBQUMsT0FB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QUUsQ0FBQztZQUN4QixPQUFNO1FBQ1YsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFBO1FBQ3RELFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFBO1FBQy9ELFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBQ2xFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YnNjcmliZXIgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IEVsZW1lbnRJbnB1dCB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5pbXBvcnQgeyBBbGlnbm1lbnRJbnB1dCwgRGltZW5zaW9uLCBEaW1lbnNpb25XYXRjaGVyLCBSZWN0LCBSZWN0V2F0Y2hlciwgU2lkZXNJbnB1dCB9IGZyb20gXCJAbmd1dGlsL3N0eWxlXCJcblxuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2xheWVyL2xheWVyLnNlcnZpY2VcIlxuaW1wb3J0IHsgRmxvYXRpbmdSZWYgfSBmcm9tIFwiLi4vZmxvYXRpbmctcmVmXCJcbmltcG9ydCB7IEZsb2F0aW5nVHJhaXQgfSBmcm9tIFwiLi9fYmFzZVwiXG5pbXBvcnQgeyBtYXhIZWlnaHQsIG1heFdpZHRoIH0gZnJvbSBcIi4vZGltLWNvbnRyYWludFwiXG5pbXBvcnQgeyBDb21wdXRlZFBvc2l0b24sIGNvbXB1dGVQb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uLWNhbGNcIlxuXG5leHBvcnQgdHlwZSBGbG9hdGluZ1RhcmdldEVsZW1lbnRSZWYgPSBFbGVtZW50SW5wdXQgfCBXaW5kb3cgfCBcImxheWVyXCIgfCBcInZpZXdwb3J0XCJcblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ0FsaWduIHtcbiAgICBhbGlnbjogQWxpZ25tZW50SW5wdXRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ0FuY2hvclBvc2l0aW9uIGV4dGVuZHMgRmxvYXRpbmdBbGlnbiB7XG4gICAgbWFyZ2luPzogU2lkZXNJbnB1dFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb2F0aW5nQW5jaG9yIGV4dGVuZHMgRmxvYXRpbmdBbmNob3JQb3NpdGlvbiB7XG4gICAgcmVmOiBGbG9hdGluZ1RhcmdldEVsZW1lbnRSZWZcbn1cblxuZXhwb3J0IGNsYXNzIEZsb2F0aW5nQW5jaG9yUmVmPFQgZXh0ZW5kcyBOb2RlPiBleHRlbmRzIEVsZW1lbnRSZWY8VD4ge31cblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ0NvbnRlbnRQb3NpdGlvbiBleHRlbmRzIEZsb2F0aW5nQWxpZ24ge1xuICAgIG1hcmdpbj86IFNpZGVzSW5wdXRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ0NvbnRlbnQgZXh0ZW5kcyBGbG9hdGluZ0NvbnRlbnRQb3NpdGlvbiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb2F0aW5nUGxhY2VtZW50UG9zaXRpb24ge1xuICAgIHBhZGRpbmc/OiBTaWRlc0lucHV0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdQbGFjZW1lbnQgZXh0ZW5kcyBGbG9hdGluZ1BsYWNlbWVudFBvc2l0aW9uIHtcbiAgICByZWY6IEZsb2F0aW5nVGFyZ2V0RWxlbWVudFJlZlxufVxuXG5leHBvcnQgY2xhc3MgRmxvYXRpbmdQbGFjZW1lbnRSZWY8VCBleHRlbmRzIExheWVyU2VydmljZVtcInJvb3RcIl1bXCJuYXRpdmVFbGVtZW50XCJdPiBleHRlbmRzIEVsZW1lbnRSZWY8VD4ge31cblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ1Bvc2l0aW9uT3B0aW9ucyB7XG4gICAgYW5jaG9yPzogRmxvYXRpbmdBbmNob3JcbiAgICBjb250ZW50PzogRmxvYXRpbmdDb250ZW50XG4gICAgcGxhY2VtZW50PzogRmxvYXRpbmdQbGFjZW1lbnRcbn1cblxuZXhwb3J0IHR5cGUgRmxvYXRpbmdQb3NpdGlvbk9wdGlvbnNOb3JtYWxpemVkID0gRmxvYXRpbmdQb3NpdGlvbk9wdGlvbnMgJiB7XG4gICAgYW5jaG9yOiBGbG9hdGluZ0FuY2hvclxuICAgIGNvbnRlbnQ6IEZsb2F0aW5nQ29udGVudFxuICAgIHBsYWNlbWVudDogRmxvYXRpbmdQbGFjZW1lbnRcbn1cblxudHlwZSBXYXRjaGVzID0ge1xuICAgIGZsb2F0aW5nOiBPYnNlcnZhYmxlPERpbWVuc2lvbj5cbiAgICBhbmNob3I6IE9ic2VydmFibGU8UmVjdD5cbiAgICBwbGFjZW1lbnQ6IE9ic2VydmFibGU8UmVjdD5cbn1cblxuZXhwb3J0IGNsYXNzIFBvc2l0aW9uVHJhaXQgaW1wbGVtZW50cyBGbG9hdGluZ1RyYWl0PEZsb2F0aW5nUG9zaXRpb24+IHtcbiAgICByZWFkb25seSBuYW1lID0gXCJwb3NpdGlvblwiXG5cbiAgICByZWFkb25seSBvcHRpb25zOiBGbG9hdGluZ1Bvc2l0aW9uT3B0aW9uc05vcm1hbGl6ZWRcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEZsb2F0aW5nUG9zaXRpb25PcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IGNsb25lZCA9IHsgLi4ub3B0aW9ucyB9XG5cbiAgICAgICAgaWYgKCFjbG9uZWQucGxhY2VtZW50KSB7XG4gICAgICAgICAgICBjbG9uZWQucGxhY2VtZW50ID0geyByZWY6IFwidmlld3BvcnRcIiB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNsb25lZC5hbmNob3IpIHtcbiAgICAgICAgICAgIGNsb25lZC5hbmNob3IgPSB7IHJlZjogY2xvbmVkLnBsYWNlbWVudC5yZWYsIGFsaWduOiBcImNlbnRlciBtaWRkbGVcIiB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNsb25lZC5jb250ZW50KSB7XG4gICAgICAgICAgICBjbG9uZWQuY29udGVudCA9IHsgYWxpZ246IFwiY2VudGVyIG1pZGRsZVwiIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IGNsb25lZCBhcyBhbnlcbiAgICB9XG5cbiAgICBjb25uZWN0KGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZjxhbnk+KTogT2JzZXJ2YWJsZTxGbG9hdGluZ1Bvc2l0aW9uPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZGVzdDogU3Vic2NyaWJlcjxGbG9hdGluZ1Bvc2l0aW9uPikgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBmbG9hdGluZ1JlZi5jb250YWluZXIuaW5qZWN0b3JcbiAgICAgICAgICAgIGNvbnN0IGRpbVdhdGNoZXIgPSBpbmplY3Rvci5nZXQoRGltZW5zaW9uV2F0Y2hlcilcbiAgICAgICAgICAgIGNvbnN0IHJlY3RXYXRjaGVyID0gaW5qZWN0b3IuZ2V0KFJlY3RXYXRjaGVyKVxuXG4gICAgICAgICAgICBjb25zdCB3YXRjaGVzOiBXYXRjaGVzID0ge1xuICAgICAgICAgICAgICAgIGZsb2F0aW5nOiBkaW1XYXRjaGVyLndhdGNoKGZsb2F0aW5nUmVmLmNvbnRhaW5lciwgXCJib3JkZXItYm94XCIpLFxuICAgICAgICAgICAgICAgIGFuY2hvcjogcmVmV2F0Y2hlcihyZWN0V2F0Y2hlciwgdGhpcy5vcHRpb25zLmFuY2hvci5yZWYsIGZsb2F0aW5nUmVmKSxcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHJlZldhdGNoZXIocmVjdFdhdGNoZXIsIHRoaXMub3B0aW9ucy5wbGFjZW1lbnQucmVmLCBmbG9hdGluZ1JlZilcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3Qod2F0Y2hlcykuc3Vic2NyaWJlKCh7IGZsb2F0aW5nLCBhbmNob3IsIHBsYWNlbWVudCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gbmV3IEZsb2F0aW5nUG9zaXRpb24odGhpcy5vcHRpb25zLCBmbG9hdGluZywgYW5jaG9yLCBwbGFjZW1lbnQpXG4gICAgICAgICAgICAgICAgcmVzLmFwcGx5KGZsb2F0aW5nUmVmKVxuICAgICAgICAgICAgICAgIGRlc3QubmV4dChyZXMpXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgIH1cbn1cblxuZnVuY3Rpb24gcmVmV2F0Y2hlcihyZWN0V2F0Y2hlcjogUmVjdFdhdGNoZXIsIHJlZjogRmxvYXRpbmdUYXJnZXRFbGVtZW50UmVmLCBmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWY8YW55Pikge1xuICAgIGlmIChyZWYgPT09IFwibGF5ZXJcIikge1xuICAgICAgICByZXR1cm4gcmVjdFdhdGNoZXIud2F0Y2goZmxvYXRpbmdSZWYubGF5ZXJTdmMucm9vdCwgXCJib3JkZXItYm94XCIpXG4gICAgfSBlbHNlIGlmIChyZWYgPT09IFwidmlld3BvcnRcIiB8fCByZWYgaW5zdGFuY2VvZiBXaW5kb3cpIHtcbiAgICAgICAgcmV0dXJuIHJlY3RXYXRjaGVyLndhdGNoKHdpbmRvdywgXCJib3JkZXItYm94XCIpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlY3RXYXRjaGVyLndhdGNoKHJlZiwgXCJib3JkZXItYm94XCIpXG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9zaXRpb24ob3B0aW9uczogRmxvYXRpbmdQb3NpdGlvbk9wdGlvbnMpIHtcbiAgICByZXR1cm4gW25ldyBQb3NpdGlvblRyYWl0KG9wdGlvbnMpLCBtYXhXaWR0aChOYU4pLCBtYXhIZWlnaHQoTmFOKV1cbn1cblxuZXhwb3J0IGNsYXNzIEZsb2F0aW5nUG9zaXRpb24ge1xuICAgIHJlYWRvbmx5IGNvbXB1dGVkPzogQ29tcHV0ZWRQb3NpdG9uXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IG9wdGlvbnM6IEZsb2F0aW5nUG9zaXRpb25PcHRpb25zTm9ybWFsaXplZCxcbiAgICAgICAgcmVhZG9ubHkgZmxvYXRpbmc6IERpbWVuc2lvbixcbiAgICAgICAgcmVhZG9ubHkgYW5jaG9yOiBSZWN0LFxuICAgICAgICByZWFkb25seSBwbGFjZW1lbnQ6IFJlY3RcbiAgICApIHtcbiAgICAgICAgLy8gY29uc3QgZnJlY3Q6IFJlY3QgPSB7IHg6IDAsIHk6IDAsIC4uLmZsb2F0aW5nIH1cbiAgICAgICAgdGhpcy5jb21wdXRlZCA9IGNvbXB1dGVQb3NpdGlvbih7IGZsb2F0aW5nLCBhbmNob3IsIHBsYWNlbWVudCwgb3B0aW9ucyB9KVxuICAgIH1cblxuICAgIGFwcGx5KGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZikge1xuICAgICAgICBpZiAodGhpcy5jb21wdXRlZCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZsb2F0aW5nRWwgPSBmbG9hdGluZ1JlZi5jb250YWluZXIubmF0aXZlRWxlbWVudFxuICAgICAgICBmbG9hdGluZ0VsLnN0eWxlLmxlZnQgPSBgJHt0aGlzLmNvbXB1dGVkLmZsb2F0aW5nLmN1cnJlbnQueH1weGBcbiAgICAgICAgZmxvYXRpbmdFbC5zdHlsZS50b3AgPSBgJHt0aGlzLmNvbXB1dGVkLmZsb2F0aW5nLmN1cnJlbnQueX1weGBcbiAgICB9XG59XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL3Bvc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBR3ZFLE9BQU8sRUFBNkIsZ0JBQWdCLEVBQVEsV0FBVyxFQUFjLE1BQU0sZUFBZSxDQUFBO0FBSzFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDckQsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQWdCbEUsTUFBTSxPQUFPLGlCQUFrQyxTQUFRLFVBQWE7Q0FBRztBQWdCdkUsTUFBTSxPQUFPLG9CQUFzRSxTQUFRLFVBQWE7Q0FBRztBQW9CM0csTUFBTSxPQUFPLGFBQWE7SUFLdEIsWUFBWSxPQUFnQztRQUpuQyxTQUFJLEdBQUcsVUFBVSxDQUFBO1FBS3RCLE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQTtRQUU3QixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUE7UUFDMUMsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsTUFBTSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUE7UUFDekUsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsTUFB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LEVBQUUsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBd0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hCLE9BQU07UUFDVixDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUE7UUFDdEQsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUE7UUFDL0QsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDbEUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaWJlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBFbGVtZW50SW5wdXQgfSBmcm9tIFwiQG5ndXRpbC9jb21tb25cIlxuaW1wb3J0IHsgQWxpZ25tZW50SW5wdXQsIERpbWVuc2lvbiwgRGltZW5zaW9uV2F0Y2hlciwgUmVjdCwgUmVjdFdhdGNoZXIsIFNpZGVzSW5wdXQgfSBmcm9tIFwiQG5ndXRpbC9zdHlsZVwiXG5cbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gXCIuLi8uLi9sYXllci9sYXllci5zZXJ2aWNlXCJcbmltcG9ydCB7IEZsb2F0aW5nUmVmIH0gZnJvbSBcIi4uL2Zsb2F0aW5nLXJlZlwiXG5pbXBvcnQgeyBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vX2Jhc2VcIlxuaW1wb3J0IHsgbWF4SGVpZ2h0LCBtYXhXaWR0aCB9IGZyb20gXCIuL2RpbS1jb250cmFpbnRcIlxuaW1wb3J0IHsgQ29tcHV0ZWRQb3NpdG9uLCBjb21wdXRlUG9zaXRpb24gfSBmcm9tIFwiLi9wb3NpdGlvbi1jYWxjXCJcblxuZXhwb3J0IHR5cGUgRmxvYXRpbmdUYXJnZXRFbGVtZW50UmVmID0gRWxlbWVudElucHV0IHwgV2luZG93IHwgXCJsYXllclwiIHwgXCJ2aWV3cG9ydFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdBbGlnbiB7XG4gICAgYWxpZ246IEFsaWdubWVudElucHV0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdBbmNob3JQb3NpdGlvbiBleHRlbmRzIEZsb2F0aW5nQWxpZ24ge1xuICAgIG1hcmdpbj86IFNpZGVzSW5wdXRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ0FuY2hvciBleHRlbmRzIEZsb2F0aW5nQW5jaG9yUG9zaXRpb24ge1xuICAgIHJlZjogRmxvYXRpbmdUYXJnZXRFbGVtZW50UmVmXG59XG5cbmV4cG9ydCBjbGFzcyBGbG9hdGluZ0FuY2hvclJlZjxUIGV4dGVuZHMgTm9kZT4gZXh0ZW5kcyBFbGVtZW50UmVmPFQ+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdDb250ZW50UG9zaXRpb24gZXh0ZW5kcyBGbG9hdGluZ0FsaWduIHtcbiAgICBtYXJnaW4/OiBTaWRlc0lucHV0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdDb250ZW50IGV4dGVuZHMgRmxvYXRpbmdDb250ZW50UG9zaXRpb24ge31cblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ1BsYWNlbWVudFBvc2l0aW9uIHtcbiAgICBwYWRkaW5nPzogU2lkZXNJbnB1dFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb2F0aW5nUGxhY2VtZW50IGV4dGVuZHMgRmxvYXRpbmdQbGFjZW1lbnRQb3NpdGlvbiB7XG4gICAgcmVmOiBGbG9hdGluZ1RhcmdldEVsZW1lbnRSZWZcbn1cblxuZXhwb3J0IGNsYXNzIEZsb2F0aW5nUGxhY2VtZW50UmVmPFQgZXh0ZW5kcyBMYXllclNlcnZpY2VbXCJyb290XCJdW1wibmF0aXZlRWxlbWVudFwiXT4gZXh0ZW5kcyBFbGVtZW50UmVmPFQ+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdQb3NpdGlvbk9wdGlvbnMge1xuICAgIGFuY2hvcj86IEZsb2F0aW5nQW5jaG9yXG4gICAgY29udGVudD86IEZsb2F0aW5nQ29udGVudFxuICAgIHBsYWNlbWVudD86IEZsb2F0aW5nUGxhY2VtZW50XG59XG5cbmV4cG9ydCB0eXBlIEZsb2F0aW5nUG9zaXRpb25PcHRpb25zTm9ybWFsaXplZCA9IEZsb2F0aW5nUG9zaXRpb25PcHRpb25zICYge1xuICAgIGFuY2hvcjogRmxvYXRpbmdBbmNob3JcbiAgICBjb250ZW50OiBGbG9hdGluZ0NvbnRlbnRcbiAgICBwbGFjZW1lbnQ6IEZsb2F0aW5nUGxhY2VtZW50XG59XG5cbnR5cGUgV2F0Y2hlcyA9IHtcbiAgICBmbG9hdGluZzogT2JzZXJ2YWJsZTxEaW1lbnNpb24+XG4gICAgYW5jaG9yOiBPYnNlcnZhYmxlPFJlY3Q+XG4gICAgcGxhY2VtZW50OiBPYnNlcnZhYmxlPFJlY3Q+XG59XG5cbmV4cG9ydCBjbGFzcyBQb3NpdGlvblRyYWl0IGltcGxlbWVudHMgRmxvYXRpbmdUcmFpdDxGbG9hdGluZ1Bvc2l0aW9uPiB7XG4gICAgcmVhZG9ubHkgbmFtZSA9IFwicG9zaXRpb25cIlxuXG4gICAgcmVhZG9ubHkgb3B0aW9uczogRmxvYXRpbmdQb3NpdGlvbk9wdGlvbnNOb3JtYWxpemVkXG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBGbG9hdGluZ1Bvc2l0aW9uT3B0aW9ucykge1xuICAgICAgICBjb25zdCBjbG9uZWQgPSB7IC4uLm9wdGlvbnMgfVxuXG4gICAgICAgIGlmICghY2xvbmVkLnBsYWNlbWVudCkge1xuICAgICAgICAgICAgY2xvbmVkLnBsYWNlbWVudCA9IHsgcmVmOiBcInZpZXdwb3J0XCIgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjbG9uZWQuYW5jaG9yKSB7XG4gICAgICAgICAgICBjbG9uZWQuYW5jaG9yID0geyByZWY6IGNsb25lZC5wbGFjZW1lbnQucmVmLCBhbGlnbjogXCJjZW50ZXIgbWlkZGxlXCIgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjbG9uZWQuY29udGVudCkge1xuICAgICAgICAgICAgY2xvbmVkLmNvbnRlbnQgPSB7IGFsaWduOiBcImNlbnRlciBtaWRkbGVcIiB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9wdGlvbnMgPSBjbG9uZWQgYXMgYW55XG4gICAgfVxuXG4gICAgY29ubmVjdChmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWY8YW55Pik6IE9ic2VydmFibGU8RmxvYXRpbmdQb3NpdGlvbj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRlc3Q6IFN1YnNjcmliZXI8RmxvYXRpbmdQb3NpdGlvbj4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluamVjdG9yID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLmluamVjdG9yXG4gICAgICAgICAgICBjb25zdCBkaW1XYXRjaGVyID0gaW5qZWN0b3IuZ2V0KERpbWVuc2lvbldhdGNoZXIpXG4gICAgICAgICAgICBjb25zdCByZWN0V2F0Y2hlciA9IGluamVjdG9yLmdldChSZWN0V2F0Y2hlcilcblxuICAgICAgICAgICAgY29uc3Qgd2F0Y2hlczogV2F0Y2hlcyA9IHtcbiAgICAgICAgICAgICAgICBmbG9hdGluZzogZGltV2F0Y2hlci53YXRjaChmbG9hdGluZ1JlZi5jb250YWluZXIsIFwiYm9yZGVyLWJveFwiKSxcbiAgICAgICAgICAgICAgICBhbmNob3I6IHJlZldhdGNoZXIocmVjdFdhdGNoZXIsIHRoaXMub3B0aW9ucy5hbmNob3IucmVmLCBmbG9hdGluZ1JlZiksXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50OiByZWZXYXRjaGVyKHJlY3RXYXRjaGVyLCB0aGlzLm9wdGlvbnMucGxhY2VtZW50LnJlZiwgZmxvYXRpbmdSZWYpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHdhdGNoZXMpLnN1YnNjcmliZSgoeyBmbG9hdGluZywgYW5jaG9yLCBwbGFjZW1lbnQgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IG5ldyBGbG9hdGluZ1Bvc2l0aW9uKHRoaXMub3B0aW9ucywgZmxvYXRpbmcsIGFuY2hvciwgcGxhY2VtZW50KVxuICAgICAgICAgICAgICAgIHJlcy5hcHBseShmbG9hdGluZ1JlZilcbiAgICAgICAgICAgICAgICBkZXN0Lm5leHQocmVzKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSkucGlwZSh0YWtlVW50aWwoZmxvYXRpbmdSZWYuc3RhdGUub25FeGVjdXRlKFwiZGlzcG9zaW5nXCIpKSlcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHJlZldhdGNoZXIocmVjdFdhdGNoZXI6IFJlY3RXYXRjaGVyLCByZWY6IEZsb2F0aW5nVGFyZ2V0RWxlbWVudFJlZiwgZmxvYXRpbmdSZWY6IEZsb2F0aW5nUmVmPGFueT4pIHtcbiAgICBpZiAocmVmID09PSBcImxheWVyXCIpIHtcbiAgICAgICAgcmV0dXJuIHJlY3RXYXRjaGVyLndhdGNoKGZsb2F0aW5nUmVmLmxheWVyU3ZjLnJvb3QsIFwiYm9yZGVyLWJveFwiKVxuICAgIH0gZWxzZSBpZiAocmVmID09PSBcInZpZXdwb3J0XCIgfHwgcmVmIGluc3RhbmNlb2YgV2luZG93KSB7XG4gICAgICAgIHJldHVybiByZWN0V2F0Y2hlci53YXRjaCh3aW5kb3csIFwiYm9yZGVyLWJveFwiKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZWN0V2F0Y2hlci53YXRjaChyZWYsIFwiYm9yZGVyLWJveFwiKVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvc2l0aW9uKG9wdGlvbnM6IEZsb2F0aW5nUG9zaXRpb25PcHRpb25zKSB7XG4gICAgcmV0dXJuIFtuZXcgUG9zaXRpb25UcmFpdChvcHRpb25zKSwgbWF4V2lkdGgoTmFOKSwgbWF4SGVpZ2h0KE5hTildXG59XG5cbmV4cG9ydCBjbGFzcyBGbG9hdGluZ1Bvc2l0aW9uIHtcbiAgICByZWFkb25seSBjb21wdXRlZD86IENvbXB1dGVkUG9zaXRvblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZWFkb25seSBvcHRpb25zOiBGbG9hdGluZ1Bvc2l0aW9uT3B0aW9uc05vcm1hbGl6ZWQsXG4gICAgICAgIHJlYWRvbmx5IGZsb2F0aW5nOiBEaW1lbnNpb24sXG4gICAgICAgIHJlYWRvbmx5IGFuY2hvcjogUmVjdCxcbiAgICAgICAgcmVhZG9ubHkgcGxhY2VtZW50OiBSZWN0XG4gICAgKSB7XG4gICAgICAgIC8vIGNvbnN0IGZyZWN0OiBSZWN0ID0geyB4OiAwLCB5OiAwLCAuLi5mbG9hdGluZyB9XG4gICAgICAgIHRoaXMuY29tcHV0ZWQgPSBjb21wdXRlUG9zaXRpb24oeyBmbG9hdGluZywgYW5jaG9yLCBwbGFjZW1lbnQsIG9wdGlvbnMgfSlcbiAgICB9XG5cbiAgICBhcHBseShmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWYpIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcHV0ZWQgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmbG9hdGluZ0VsID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgZmxvYXRpbmdFbC5zdHlsZS5sZWZ0ID0gYCR7dGhpcy5jb21wdXRlZC5mbG9hdGluZy5jdXJyZW50Lnh9cHhgXG4gICAgICAgIGZsb2F0aW5nRWwuc3R5bGUudG9wID0gYCR7dGhpcy5jb21wdXRlZC5mbG9hdGluZy5jdXJyZW50Lnl9cHhgXG4gICAgfVxufVxuIl19
@@ -1,3 +1,4 @@
1
+ import { takeUntil } from "rxjs";
1
2
  import { ChildRef } from "./child-ref";
2
3
  export class BackdropRef extends ChildRef {
3
4
  static from(cover, injector, options) {
@@ -6,7 +7,6 @@ export class BackdropRef extends ChildRef {
6
7
  // options.under.state.control(ref.state)
7
8
  return ref;
8
9
  }
9
- #coverSub;
10
10
  set visible(visible) {
11
11
  if (this.#visible !== visible) {
12
12
  this.#visible = visible;
@@ -30,21 +30,21 @@ export class BackdropRef extends ChildRef {
30
30
  "0px";
31
31
  this.under = options.under;
32
32
  if (options.type === "solid") {
33
- this.#coverSub = this.coverSvc.solid({ container: nativeElement, color: options.color }).subscribe();
33
+ this.coverSvc
34
+ .solid({ container: nativeElement, color: options.color })
35
+ .pipe(takeUntil(this.disposed$))
36
+ .subscribe();
34
37
  this.group = `${options.color === "transparent" ? "transparent" : "solid"}`;
35
38
  }
36
39
  else if (options.type === "crop") {
37
- this.#coverSub = this.coverSvc
40
+ this.coverSvc
38
41
  .crop({ container: nativeElement, color: options.color, crop: options.crop })
42
+ .pipe(takeUntil(this.disposed$))
39
43
  .subscribe();
40
44
  }
41
45
  }
42
46
  show() {
43
- return this.state.run(["showing", "shown"]);
44
- }
45
- destroy() {
46
- this.#coverSub?.unsubscribe();
47
- super.destroy();
47
+ return this.state.run("showing", "shown");
48
48
  }
49
49
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2Ryb3AtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2xheWVyL2JhY2tkcm9wLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBa0J0QyxNQUFNLE9BQU8sV0FBWSxTQUFRLFFBQVE7SUFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFtQixFQUFFLFFBQWtCLEVBQUUsT0FBd0I7UUFDekUsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3BGLGlCQUFpQjtRQUNqQix5Q0FBeUM7UUFDekMsT0FBTyxHQUFHLENBQUE7SUFDZCxDQUFDO0lBRVEsU0FBUyxDQUFlO0lBSWpDLElBQUksT0FBTyxDQUFDLE9BQWdCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtRQUN4RSxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN4QixDQUFDO0lBQ0QsUUFBUSxHQUFZLElBQUksQ0FBQTtJQUV4QixZQUNJLGFBQTBCLEVBQ2pCLFFBQXNCLEVBQ3RCLFFBQWtCLEVBQ2xCLE9BQXdCO1FBRWpDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUpYLGFBQVEsR0FBUixRQUFRLENBQWM7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUdqQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUE7UUFDekMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQ25CLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSztnQkFDekIsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNO29CQUMxQixhQUFhLENBQUMsS0FBSyxDQUFDLElBQUk7d0JBQ3BCLEtBQUssQ0FBQTtRQUViLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQTtRQUUxQixJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO1lBQ3BHLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUMvRSxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVE7aUJBQ3pCLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztpQkFDNUUsU0FBUyxFQUFFLENBQUE7UUFDcEIsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0EsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFa0IsT0FBTztRQUN0QixJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFBO1FBQzdCLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBDb3ZlclNlcnZpY2UgfSBmcm9tIFwiQG5ndXRpbC9ncmFwaGljc1wiXG5pbXBvcnQgeyBDb3Zlck9wdGlvbnMsIENyb3BDb3Zlck9wdGlvbnMgfSBmcm9tIFwiQG5ndXRpbC9ncmFwaGljc1wiXG5cbmltcG9ydCB7IENoaWxkUmVmIH0gZnJvbSBcIi4vY2hpbGQtcmVmXCJcblxuZXhwb3J0IGludGVyZmFjZSBCYXNpY0JhY2tkcm9wT3B0aW9ucyB7XG4gICAgdW5kZXI6IENoaWxkUmVmXG4gICAgY29sb3I6IENvdmVyT3B0aW9uc1tcImNvbG9yXCJdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29saWRCYWNrZHJvcE9wdGlvbnMgZXh0ZW5kcyBCYXNpY0JhY2tkcm9wT3B0aW9ucyB7XG4gICAgdHlwZTogXCJzb2xpZFwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JvcEJhY2tkcm9wT3B0aW9ucyBleHRlbmRzIEJhc2ljQmFja2Ryb3BPcHRpb25zIHtcbiAgICB0eXBlOiBcImNyb3BcIlxuICAgIGNyb3A6IENyb3BDb3Zlck9wdGlvbnNbXCJjcm9wXCJdXG59XG5cbmV4cG9ydCB0eXBlIEJhY2tkcm9wT3B0aW9ucyA9IFNvbGlkQmFja2Ryb3BPcHRpb25zIHwgQ3JvcEJhY2tkcm9wT3B0aW9uc1xuXG5leHBvcnQgY2xhc3MgQmFja2Ryb3BSZWYgZXh0ZW5kcyBDaGlsZFJlZiB7XG4gICAgc3RhdGljIGZyb20oY292ZXI6IENvdmVyU2VydmljZSwgaW5qZWN0b3I6IEluamVjdG9yLCBvcHRpb25zOiBCYWNrZHJvcE9wdGlvbnMpOiBCYWNrZHJvcFJlZiB7XG4gICAgICAgIGNvbnN0IHJlZiA9IG5ldyBCYWNrZHJvcFJlZihkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLCBjb3ZlciwgaW5qZWN0b3IsIG9wdGlvbnMpXG4gICAgICAgIC8vIFRPRE86IGvDqXJkw6lzZXNcbiAgICAgICAgLy8gb3B0aW9ucy51bmRlci5zdGF0ZS5jb250cm9sKHJlZi5zdGF0ZSlcbiAgICAgICAgcmV0dXJuIHJlZlxuICAgIH1cblxuICAgIHJlYWRvbmx5ICNjb3ZlclN1Yj86IFN1YnNjcmlwdGlvblxuICAgIHJlYWRvbmx5IHVuZGVyOiBDaGlsZFJlZlxuICAgIHJlYWRvbmx5IGdyb3VwPzogc3RyaW5nXG5cbiAgICBzZXQgdmlzaWJsZSh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLiN2aXNpYmxlICE9PSB2aXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLiN2aXNpYmxlID0gdmlzaWJsZVxuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSB2aXNpYmxlID8gXCJ2aXNpYmxlXCIgOiBcImhpZGRlblwiXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3Zpc2libGVcbiAgICB9XG4gICAgI3Zpc2libGU6IGJvb2xlYW4gPSB0cnVlXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgICAgIHJlYWRvbmx5IGNvdmVyU3ZjOiBDb3ZlclNlcnZpY2UsXG4gICAgICAgIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcmVhZG9ubHkgb3B0aW9uczogQmFja2Ryb3BPcHRpb25zXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG5hdGl2ZUVsZW1lbnQpXG4gICAgICAgIG5hdGl2ZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSBcImFic29sdXRlXCJcbiAgICAgICAgbmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPVxuICAgICAgICAgICAgbmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50LnN0eWxlLmJvdHRvbSA9XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPVxuICAgICAgICAgICAgICAgIFwiMHB4XCJcblxuICAgICAgICB0aGlzLnVuZGVyID0gb3B0aW9ucy51bmRlclxuXG4gICAgICAgIGlmIChvcHRpb25zLnR5cGUgPT09IFwic29saWRcIikge1xuICAgICAgICAgICAgdGhpcy4jY292ZXJTdWIgPSB0aGlzLmNvdmVyU3ZjLnNvbGlkKHsgY29udGFpbmVyOiBuYXRpdmVFbGVtZW50LCBjb2xvcjogb3B0aW9ucy5jb2xvciB9KS5zdWJzY3JpYmUoKVxuICAgICAgICAgICAgdGhpcy5ncm91cCA9IGAke29wdGlvbnMuY29sb3IgPT09IFwidHJhbnNwYXJlbnRcIiA/IFwidHJhbnNwYXJlbnRcIiA6IFwic29saWRcIn1gXG4gICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy50eXBlID09PSBcImNyb3BcIikge1xuICAgICAgICAgICAgdGhpcy4jY292ZXJTdWIgPSB0aGlzLmNvdmVyU3ZjXG4gICAgICAgICAgICAgICAgLmNyb3AoeyBjb250YWluZXI6IG5hdGl2ZUVsZW1lbnQsIGNvbG9yOiBvcHRpb25zLmNvbG9yLCBjcm9wOiBvcHRpb25zLmNyb3AgfSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3coKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlLnJ1bihbXCJzaG93aW5nXCIsIFwic2hvd25cIl0pXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuI2NvdmVyU3ViPy51bnN1YnNjcmliZSgpXG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKVxuICAgIH1cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2Ryb3AtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2xheWVyL2JhY2tkcm9wLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBS2hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFrQnRDLE1BQU0sT0FBTyxXQUFZLFNBQVEsUUFBUTtJQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQW1CLEVBQUUsUUFBa0IsRUFBRSxPQUF3QjtRQUN6RSxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDcEYsaUJBQWlCO1FBQ2pCLHlDQUF5QztRQUN6QyxPQUFPLEdBQUcsQ0FBQTtJQUNkLENBQUM7SUFLRCxJQUFJLE9BQU8sQ0FBQyxPQUFnQjtRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7UUFDeEUsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDeEIsQ0FBQztJQUNELFFBQVEsR0FBWSxJQUFJLENBQUE7SUFFeEIsWUFDSSxhQUEwQixFQUNqQixRQUFzQixFQUN0QixRQUFrQixFQUNsQixPQUF3QjtRQUVqQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUE7UUFKWCxhQUFRLEdBQVIsUUFBUSxDQUFjO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFHakMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFBO1FBQ3pDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRztZQUNuQixhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUs7Z0JBQ3pCLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTTtvQkFDMUIsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJO3dCQUNwQixLQUFLLENBQUE7UUFFYixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUE7UUFFMUIsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRO2lCQUNSLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQy9CLFNBQVMsRUFBRSxDQUFBO1lBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUMvRSxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRO2lCQUNSLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztpQkFDNUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQy9CLFNBQVMsRUFBRSxDQUFBO1FBQ3BCLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSTtRQUNBLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzdDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IENvdmVyU2VydmljZSB9IGZyb20gXCJAbmd1dGlsL2dyYXBoaWNzXCJcbmltcG9ydCB7IENvdmVyT3B0aW9ucywgQ3JvcENvdmVyT3B0aW9ucyB9IGZyb20gXCJAbmd1dGlsL2dyYXBoaWNzXCJcblxuaW1wb3J0IHsgQ2hpbGRSZWYgfSBmcm9tIFwiLi9jaGlsZC1yZWZcIlxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2ljQmFja2Ryb3BPcHRpb25zIHtcbiAgICB1bmRlcjogQ2hpbGRSZWZcbiAgICBjb2xvcjogQ292ZXJPcHRpb25zW1wiY29sb3JcIl1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb2xpZEJhY2tkcm9wT3B0aW9ucyBleHRlbmRzIEJhc2ljQmFja2Ryb3BPcHRpb25zIHtcbiAgICB0eXBlOiBcInNvbGlkXCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcm9wQmFja2Ryb3BPcHRpb25zIGV4dGVuZHMgQmFzaWNCYWNrZHJvcE9wdGlvbnMge1xuICAgIHR5cGU6IFwiY3JvcFwiXG4gICAgY3JvcDogQ3JvcENvdmVyT3B0aW9uc1tcImNyb3BcIl1cbn1cblxuZXhwb3J0IHR5cGUgQmFja2Ryb3BPcHRpb25zID0gU29saWRCYWNrZHJvcE9wdGlvbnMgfCBDcm9wQmFja2Ryb3BPcHRpb25zXG5cbmV4cG9ydCBjbGFzcyBCYWNrZHJvcFJlZiBleHRlbmRzIENoaWxkUmVmIHtcbiAgICBzdGF0aWMgZnJvbShjb3ZlcjogQ292ZXJTZXJ2aWNlLCBpbmplY3RvcjogSW5qZWN0b3IsIG9wdGlvbnM6IEJhY2tkcm9wT3B0aW9ucyk6IEJhY2tkcm9wUmVmIHtcbiAgICAgICAgY29uc3QgcmVmID0gbmV3IEJhY2tkcm9wUmVmKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksIGNvdmVyLCBpbmplY3Rvciwgb3B0aW9ucylcbiAgICAgICAgLy8gVE9ETzoga8OpcmTDqXNlc1xuICAgICAgICAvLyBvcHRpb25zLnVuZGVyLnN0YXRlLmNvbnRyb2wocmVmLnN0YXRlKVxuICAgICAgICByZXR1cm4gcmVmXG4gICAgfVxuXG4gICAgcmVhZG9ubHkgdW5kZXI6IENoaWxkUmVmXG4gICAgcmVhZG9ubHkgZ3JvdXA/OiBzdHJpbmdcblxuICAgIHNldCB2aXNpYmxlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMuI3Zpc2libGUgIT09IHZpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuI3Zpc2libGUgPSB2aXNpYmxlXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9IHZpc2libGUgPyBcInZpc2libGVcIiA6IFwiaGlkZGVuXCJcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy4jdmlzaWJsZVxuICAgIH1cbiAgICAjdmlzaWJsZTogYm9vbGVhbiA9IHRydWVcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgICAgICAgcmVhZG9ubHkgY292ZXJTdmM6IENvdmVyU2VydmljZSxcbiAgICAgICAgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICByZWFkb25seSBvcHRpb25zOiBCYWNrZHJvcE9wdGlvbnNcbiAgICApIHtcbiAgICAgICAgc3VwZXIobmF0aXZlRWxlbWVudClcbiAgICAgICAgbmF0aXZlRWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIlxuICAgICAgICBuYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50LnN0eWxlLnJpZ2h0ID1cbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuc3R5bGUuYm90dG9tID1cbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9XG4gICAgICAgICAgICAgICAgXCIwcHhcIlxuXG4gICAgICAgIHRoaXMudW5kZXIgPSBvcHRpb25zLnVuZGVyXG5cbiAgICAgICAgaWYgKG9wdGlvbnMudHlwZSA9PT0gXCJzb2xpZFwiKSB7XG4gICAgICAgICAgICB0aGlzLmNvdmVyU3ZjXG4gICAgICAgICAgICAgICAgLnNvbGlkKHsgY29udGFpbmVyOiBuYXRpdmVFbGVtZW50LCBjb2xvcjogb3B0aW9ucy5jb2xvciB9KVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRpc3Bvc2VkJCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpXG4gICAgICAgICAgICB0aGlzLmdyb3VwID0gYCR7b3B0aW9ucy5jb2xvciA9PT0gXCJ0cmFuc3BhcmVudFwiID8gXCJ0cmFuc3BhcmVudFwiIDogXCJzb2xpZFwifWBcbiAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLnR5cGUgPT09IFwiY3JvcFwiKSB7XG4gICAgICAgICAgICB0aGlzLmNvdmVyU3ZjXG4gICAgICAgICAgICAgICAgLmNyb3AoeyBjb250YWluZXI6IG5hdGl2ZUVsZW1lbnQsIGNvbG9yOiBvcHRpb25zLmNvbG9yLCBjcm9wOiBvcHRpb25zLmNyb3AgfSlcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kaXNwb3NlZCQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvdygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUucnVuKFwic2hvd2luZ1wiLCBcInNob3duXCIpXG4gICAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { ElementRef } from "@angular/core";
2
- import { of } from "rxjs";
3
- import { StateChain } from "@ngutil/common";
2
+ import { filter, of, share, take } from "rxjs";
3
+ import { Lifecycle } from "@ngutil/common";
4
4
  // TODO: disposing, disposed
5
5
  export class ChildRef extends ElementRef {
6
6
  /**
@@ -15,30 +15,34 @@ export class ChildRef extends ElementRef {
15
15
  get zIndex() {
16
16
  return this._zIndex;
17
17
  }
18
- constructor(nativeElement) {
18
+ constructor(nativeElement, alwaysOnTop = 0 /* AlwaysOnTop.None */) {
19
19
  super(nativeElement);
20
- this.state = new StateChain({
20
+ this.alwaysOnTop = alwaysOnTop;
21
+ this.state = new Lifecycle({
21
22
  showing: {},
22
23
  shown: {},
23
24
  disposing: { cancellable: false },
24
25
  disposed: { cancellable: false, order: "sequential" }
25
26
  });
26
27
  this._zIndex = -1;
27
- this.state.on("disposed", () => this.destroy());
28
+ this.disposed$ = this.state.current$.pipe(filter(state => state === "disposed"), take(1), share());
29
+ this.state.on("disposed", () => {
30
+ this.nativeElement.parentElement?.removeChild(this.nativeElement);
31
+ this.state.destroy();
32
+ delete this.state;
33
+ });
28
34
  // this.state.current$.subscribe(state => {
29
35
  // console.log(this, state)
30
36
  // })
37
+ // this.state.status$.subscribe(status => {
38
+ // console.log(this.nativeElement, status)
39
+ // })
31
40
  }
32
41
  dispose() {
33
42
  if (this.state == null) {
34
- return of(null);
43
+ return of();
35
44
  }
36
45
  return this.state.run(["disposing", "disposed"]);
37
46
  }
38
- destroy() {
39
- this.nativeElement.parentElement?.removeChild(this.nativeElement);
40
- this.state.destroy();
41
- delete this.state;
42
- }
43
47
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGQtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2xheWVyL2NoaWxkLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTFDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBSTNDLDRCQUE0QjtBQUU1QixNQUFNLE9BQWdCLFFBQThDLFNBQVEsVUFBYTtJQVFyRjs7T0FFRztJQUNILElBQUksTUFBTSxDQUFDLEdBQVc7UUFDbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFBO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakQsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDdkIsQ0FBQztJQUdELFlBQVksYUFBZ0I7UUFDeEIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBdEJmLFVBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUM1QixPQUFPLEVBQUUsRUFBRTtZQUNYLEtBQUssRUFBRSxFQUFFO1lBQ1QsU0FBUyxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtZQUNqQyxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7U0FDeEQsQ0FBQyxDQUFBO1FBY00sWUFBTyxHQUFXLENBQUMsQ0FBQyxDQUFBO1FBSXhCLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUUvQywyQ0FBMkM7UUFDM0MsK0JBQStCO1FBQy9CLEtBQUs7SUFDVCxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNyQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNuQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQ3BELENBQUM7SUFFUyxPQUFPO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ3BCLE9BQVEsSUFBWSxDQUFDLEtBQUssQ0FBQTtJQUM5QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgU3RhdGVDaGFpbiB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5cbmV4cG9ydCB0eXBlIERpc3Bvc2VIYW5kbGVyPFQ+ID0gKHJlZjogVCkgPT4gT2JzZXJ2YWJsZTx2b2lkPlxuXG4vLyBUT0RPOiBkaXNwb3NpbmcsIGRpc3Bvc2VkXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDaGlsZFJlZjxUIGV4dGVuZHMgSFRNTEVsZW1lbnQgPSBIVE1MRWxlbWVudD4gZXh0ZW5kcyBFbGVtZW50UmVmPFQ+IHtcbiAgICByZWFkb25seSBzdGF0ZSA9IG5ldyBTdGF0ZUNoYWluKHtcbiAgICAgICAgc2hvd2luZzoge30sXG4gICAgICAgIHNob3duOiB7fSxcbiAgICAgICAgZGlzcG9zaW5nOiB7IGNhbmNlbGxhYmxlOiBmYWxzZSB9LFxuICAgICAgICBkaXNwb3NlZDogeyBjYW5jZWxsYWJsZTogZmFsc2UsIG9yZGVyOiBcInNlcXVlbnRpYWxcIiB9XG4gICAgfSlcblxuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHNldCB6SW5kZXgodmFsOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuX3pJbmRleCAhPT0gdmFsKSB7XG4gICAgICAgICAgICB0aGlzLl96SW5kZXggPSB2YWxcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zdHlsZS56SW5kZXggPSBTdHJpbmcodmFsKVxuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB6SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3pJbmRleFxuICAgIH1cbiAgICBwcml2YXRlIF96SW5kZXg6IG51bWJlciA9IC0xXG5cbiAgICBjb25zdHJ1Y3RvcihuYXRpdmVFbGVtZW50OiBUKSB7XG4gICAgICAgIHN1cGVyKG5hdGl2ZUVsZW1lbnQpXG4gICAgICAgIHRoaXMuc3RhdGUub24oXCJkaXNwb3NlZFwiLCAoKSA9PiB0aGlzLmRlc3Ryb3koKSlcblxuICAgICAgICAvLyB0aGlzLnN0YXRlLmN1cnJlbnQkLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyh0aGlzLCBzdGF0ZSlcbiAgICAgICAgLy8gfSlcbiAgICB9XG5cbiAgICBkaXNwb3NlKCkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5ydW4oW1wiZGlzcG9zaW5nXCIsIFwiZGlzcG9zZWRcIl0pXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Py5yZW1vdmVDaGlsZCh0aGlzLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgIHRoaXMuc3RhdGUuZGVzdHJveSgpXG4gICAgICAgIGRlbGV0ZSAodGhpcyBhcyBhbnkpLnN0YXRlXG4gICAgfVxufVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGQtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2xheWVyL2NoaWxkLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTFDLE9BQU8sRUFBRSxNQUFNLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBWTFDLDRCQUE0QjtBQUU1QixNQUFNLE9BQWdCLFFBQThDLFNBQVEsVUFBYTtJQVFyRjs7T0FFRztJQUNILElBQUksTUFBTSxDQUFDLEdBQVc7UUFDbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFBO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakQsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDdkIsQ0FBQztJQVNELFlBQ0ksYUFBZ0IsRUFDQSxzQ0FBMkM7UUFFM0QsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBRkosZ0JBQVcsR0FBWCxXQUFXLENBQWdDO1FBN0J0RCxVQUFLLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDM0IsT0FBTyxFQUFFLEVBQUU7WUFDWCxLQUFLLEVBQUUsRUFBRTtZQUNULFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7WUFDakMsUUFBUSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO1NBQ3hELENBQUMsQ0FBQTtRQWNNLFlBQU8sR0FBVyxDQUFDLENBQUMsQ0FBQTtRQUVULGNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ25ELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsRUFDckMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEtBQUssRUFBRSxDQUNWLENBQUE7UUFPRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7WUFDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQTtZQUNwQixPQUFRLElBQVksQ0FBQyxLQUFLLENBQUE7UUFDOUIsQ0FBQyxDQUFDLENBQUE7UUFFRiwyQ0FBMkM7UUFDM0MsK0JBQStCO1FBQy9CLEtBQUs7UUFDTCwyQ0FBMkM7UUFDM0MsOENBQThDO1FBQzlDLEtBQUs7SUFDVCxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNyQixPQUFPLEVBQUUsRUFBRSxDQUFBO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtJQUNwRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyBmaWx0ZXIsIE9ic2VydmFibGUsIG9mLCBzaGFyZSwgdGFrZSB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgTGlmZWN5Y2xlIH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcblxuZXhwb3J0IHR5cGUgRGlzcG9zZUhhbmRsZXI8VD4gPSAocmVmOiBUKSA9PiBPYnNlcnZhYmxlPHZvaWQ+XG5cbmV4cG9ydCBjb25zdCBlbnVtIEFsd2F5c09uVG9wIHtcbiAgICBOb25lID0gMCxcbiAgICBOb3JtYWwgPSAxLFxuICAgIE1vZGFsID0gMixcbiAgICBUb2FzdCA9IDMsXG4gICAgVUFDID0gMTAwXG59XG5cbi8vIFRPRE86IGRpc3Bvc2luZywgZGlzcG9zZWRcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENoaWxkUmVmPFQgZXh0ZW5kcyBIVE1MRWxlbWVudCA9IEhUTUxFbGVtZW50PiBleHRlbmRzIEVsZW1lbnRSZWY8VD4ge1xuICAgIHJlYWRvbmx5IHN0YXRlID0gbmV3IExpZmVjeWNsZSh7XG4gICAgICAgIHNob3dpbmc6IHt9LFxuICAgICAgICBzaG93bjoge30sXG4gICAgICAgIGRpc3Bvc2luZzogeyBjYW5jZWxsYWJsZTogZmFsc2UgfSxcbiAgICAgICAgZGlzcG9zZWQ6IHsgY2FuY2VsbGFibGU6IGZhbHNlLCBvcmRlcjogXCJzZXF1ZW50aWFsXCIgfVxuICAgIH0pXG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBzZXQgekluZGV4KHZhbDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLl96SW5kZXggIT09IHZhbCkge1xuICAgICAgICAgICAgdGhpcy5fekluZGV4ID0gdmFsXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc3R5bGUuekluZGV4ID0gU3RyaW5nKHZhbClcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgekluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl96SW5kZXhcbiAgICB9XG4gICAgcHJpdmF0ZSBfekluZGV4OiBudW1iZXIgPSAtMVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc3Bvc2VkJCA9IHRoaXMuc3RhdGUuY3VycmVudCQucGlwZShcbiAgICAgICAgZmlsdGVyKHN0YXRlID0+IHN0YXRlID09PSBcImRpc3Bvc2VkXCIpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBzaGFyZSgpXG4gICAgKVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIG5hdGl2ZUVsZW1lbnQ6IFQsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBhbHdheXNPblRvcDogQWx3YXlzT25Ub3AgPSBBbHdheXNPblRvcC5Ob25lXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG5hdGl2ZUVsZW1lbnQpXG4gICAgICAgIHRoaXMuc3RhdGUub24oXCJkaXNwb3NlZFwiLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudD8ucmVtb3ZlQ2hpbGQodGhpcy5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5kZXN0cm95KClcbiAgICAgICAgICAgIGRlbGV0ZSAodGhpcyBhcyBhbnkpLnN0YXRlXG4gICAgICAgIH0pXG5cbiAgICAgICAgLy8gdGhpcy5zdGF0ZS5jdXJyZW50JC5zdWJzY3JpYmUoc3RhdGUgPT4ge1xuICAgICAgICAvLyAgICAgY29uc29sZS5sb2codGhpcywgc3RhdGUpXG4gICAgICAgIC8vIH0pXG4gICAgICAgIC8vIHRoaXMuc3RhdGUuc3RhdHVzJC5zdWJzY3JpYmUoc3RhdHVzID0+IHtcbiAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKHRoaXMubmF0aXZlRWxlbWVudCwgc3RhdHVzKVxuICAgICAgICAvLyB9KVxuICAgIH1cblxuICAgIGRpc3Bvc2UoKSB7XG4gICAgICAgIGlmICh0aGlzLnN0YXRlID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBvZigpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUucnVuKFtcImRpc3Bvc2luZ1wiLCBcImRpc3Bvc2VkXCJdKVxuICAgIH1cbn1cbiJdfQ==