@ngutil/floating 0.0.51 → 0.0.53

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,5 +1,5 @@
1
1
  import { Inject, Injectable, InjectionToken } from "@angular/core";
2
- import { debounceTime, EMPTY, filter, map, merge, ReplaySubject, shareReplay, take, takeUntil, takeWhile } from "rxjs";
2
+ import { combineLatest, debounceTime, EMPTY, filter, map, ReplaySubject, shareReplay, startWith, take, takeUntil, takeWhile } from "rxjs";
3
3
  import { Lifecycle } from "@ngutil/common";
4
4
  import { ContainerRef } from "../layer/container-ref";
5
5
  import { LayerService } from "../layer/layer.service";
@@ -7,6 +7,7 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "../layer/layer.service";
8
8
  import * as i2 from "../layer/container-ref";
9
9
  export const TRAITS = new InjectionToken("TRAITS");
10
+ let UID_COUNTER = 0;
10
11
  export class FloatingRef {
11
12
  #traits;
12
13
  #untilCleanup;
@@ -27,8 +28,13 @@ export class FloatingRef {
27
28
  this.#traits = {};
28
29
  this.#untilCleanup = this.state.onExecute("cleanup");
29
30
  this.#untilDisposed = this.state.onExecute("disposed");
30
- container.nativeElement.style.overflow = "hidden";
31
- container.nativeElement.style.visibility = "hidden";
31
+ this.uid = `${++UID_COUNTER}`;
32
+ Object.assign(container.nativeElement.style, {
33
+ overflow: "hidden",
34
+ visibility: "hidden",
35
+ pointerEvents: "none"
36
+ });
37
+ container.nativeElement.setAttribute("data-floating", this.uid);
32
38
  this.#traits = traits;
33
39
  this.traitState$ = this.#traitState().pipe(shareReplay(1));
34
40
  this.state.current$.pipe(takeWhile(state => state !== "cleanup", true)).subscribe(state => {
@@ -38,6 +44,9 @@ export class FloatingRef {
38
44
  this.state.on("showing", () => {
39
45
  container.nativeElement.style.visibility = "visible";
40
46
  });
47
+ this.state.on("shown", () => {
48
+ container.nativeElement.style.pointerEvents = null;
49
+ });
41
50
  this.state.on("disposing", () => {
42
51
  container.nativeElement.style.pointerEvents = "none";
43
52
  });
@@ -72,23 +81,18 @@ export class FloatingRef {
72
81
  this.close(true).subscribe();
73
82
  }
74
83
  watchTrait(name) {
75
- return this.traitState$.pipe(takeUntil(this.#untilDisposed), filter(event => event.name === name), map(event => event.data), shareReplay(1));
84
+ return this.traitState$.pipe(takeUntil(this.#untilDisposed), map(state => state[name]), filter(value => value != null));
76
85
  }
77
86
  #traitState() {
78
- const src = [];
87
+ const src = {};
79
88
  for (const [k, v] of Object.entries(this.#traits)) {
80
- src.push(v.connect(this).pipe(takeUntil(this.#untilCleanup), map(result => {
81
- return { name: k, data: result };
82
- })));
89
+ src[k] = v.connect(this).pipe(takeUntil(this.#untilDisposed), startWith(null));
83
90
  }
84
- if (src.length === 0) {
91
+ if (Object.keys(src).length === 0) {
85
92
  return EMPTY;
86
93
  }
87
- else if (src.length === 1) {
88
- return src[0];
89
- }
90
94
  else {
91
- return merge(...src);
95
+ return combineLatest(src).pipe(shareReplay(1));
92
96
  }
93
97
  }
94
98
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: FloatingRef, deps: [{ token: i1.LayerService }, { token: i2.ContainerRef }, { token: TRAITS }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -100,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
100
104
  type: Inject,
101
105
  args: [TRAITS]
102
106
  }] }] });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2Zsb2F0aW5nL2Zsb2F0aW5nLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEUsT0FBTyxFQUNILFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLEdBQUcsRUFDSCxLQUFLLEVBRUwsYUFBYSxFQUNiLFdBQVcsRUFDWCxJQUFJLEVBQ0osU0FBUyxFQUNULFNBQVMsRUFDWixNQUFNLE1BQU0sQ0FBQTtBQUViLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7O0FBS3JELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBUyxRQUFRLENBQUMsQ0FBQTtBQWMxRCxNQUFNLE9BQU8sV0FBVztJQWFYLE9BQU8sQ0FBYTtJQUdwQixhQUFhLENBQWtDO0lBQy9DLGNBQWMsQ0FBbUM7SUFFMUQsWUFDYSxRQUFzQixFQUN0QixTQUF1QixFQUNoQixNQUFjO1FBRnJCLGFBQVEsR0FBUixRQUFRLENBQWM7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQXBCM0IsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFrQixDQUFDLENBQUMsQ0FBQTtRQUUvQyxVQUFLLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDM0IsSUFBSSxFQUFFLEVBQUU7WUFDUixPQUFPLEVBQUUsRUFBRTtZQUNYLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO1lB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LEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkIsT0FBTyxLQUFLLENBQUE7UUFDaEIsQ0FBQzthQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNqQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUE7UUFDeEIsQ0FBQztJQUNMLENBQUM7OEdBM0dRLFdBQVcsMEVBc0JSLE1BQU07a0hBdEJULFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVU7OzBCQXVCRixNQUFNOzJCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQge1xuICAgIGRlYm91bmNlVGltZSxcbiAgICBFTVBUWSxcbiAgICBmaWx0ZXIsXG4gICAgbWFwLFxuICAgIG1lcmdlLFxuICAgIE9ic2VydmFibGUsXG4gICAgUmVwbGF5U3ViamVjdCxcbiAgICBzaGFyZVJlcGxheSxcbiAgICB0YWtlLFxuICAgIHRha2VVbnRpbCxcbiAgICB0YWtlV2hpbGVcbn0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBMaWZlY3ljbGUgfSBmcm9tIFwiQG5ndXRpbC9jb21tb25cIlxuXG5pbXBvcnQgeyBDb250YWluZXJSZWYgfSBmcm9tIFwiLi4vbGF5ZXIvY29udGFpbmVyLXJlZlwiXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tIFwiLi4vbGF5ZXIvbGF5ZXIuc2VydmljZVwiXG5pbXBvcnQgeyBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vdHJhaXRzL19iYXNlXCJcblxuZXhwb3J0IHR5cGUgVHJhaXRzID0geyBba2V5OiBzdHJpbmddOiBGbG9hdGluZ1RyYWl0IH1cblxuZXhwb3J0IGNvbnN0IFRSQUlUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUcmFpdHM+KFwiVFJBSVRTXCIpXG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdDaGFubmVsIHtcbiAgICBmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWZcbiAgICB0eXBlOiBzdHJpbmdcbiAgICBkYXRhPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdUcmFpdEV2ZW50IHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBkYXRhOiBvYmplY3Rcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb2F0aW5nUmVmPEMgZXh0ZW5kcyBGbG9hdGluZ0NoYW5uZWwgPSBGbG9hdGluZ0NoYW5uZWwsIFQgZXh0ZW5kcyBIVE1MRWxlbWVudCA9IEhUTUxFbGVtZW50PiB7XG4gICAgcmVhZG9ubHkgY2hhbm5lbCA9IG5ldyBSZXBsYXlTdWJqZWN0PEZsb2F0aW5nQ2hhbm5lbD4oMSlcblxuICAgIHJlYWRvbmx5IHN0YXRlID0gbmV3IExpZmVjeWNsZSh7XG4gICAgICAgIGluaXQ6IHt9LFxuICAgICAgICBzaG93aW5nOiB7fSxcbiAgICAgICAgc2hvd246IHt9LFxuICAgICAgICBjbG9zaW5nOiB7IGNhbmNlbGxhYmxlOiBmYWxzZSwgb3JkZXI6IFwic2VxdWVudGlhbFwiIH0sXG4gICAgICAgIGRpc3Bvc2luZzogeyBjYW5jZWxsYWJsZTogZmFsc2UgfSxcbiAgICAgICAgZGlzcG9zZWQ6IHsgY2FuY2VsbGFibGU6IGZhbHNlLCBvcmRlcjogXCJzZXF1ZW50aWFsXCIgfSxcbiAgICAgICAgY2xlYW51cDogeyBjYW5jZWxsYWJsZTogZmFsc2UsIG9yZGVyOiBcInNlcXVlbnRpYWxcIiB9XG4gICAgfSlcblxuICAgIHJlYWRvbmx5ICN0cmFpdHM6IFRyYWl0cyA9IHt9XG4gICAgcmVhZG9ubHkgdHJhaXRTdGF0ZSQ6IE9ic2VydmFibGU8RmxvYXRpbmdUcmFpdEV2ZW50PlxuXG4gICAgcmVhZG9ubHkgI3VudGlsQ2xlYW51cCA9IHRoaXMuc3RhdGUub25FeGVjdXRlKFwiY2xlYW51cFwiKVxuICAgIHJlYWRvbmx5ICN1bnRpbERpc3Bvc2VkID0gdGhpcy5zdGF0ZS5vbkV4ZWN1dGUoXCJkaXNwb3NlZFwiKVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IGxheWVyU3ZjOiBMYXllclNlcnZpY2UsXG4gICAgICAgIHJlYWRvbmx5IGNvbnRhaW5lcjogQ29udGFpbmVyUmVmLFxuICAgICAgICBASW5qZWN0KFRSQUlUUykgdHJhaXRzOiBUcmFpdHNcbiAgICApIHtcbiAgICAgICAgY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSBcImhpZGRlblwiXG4gICAgICAgIGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiXG5cbiAgICAgICAgdGhpcy4jdHJhaXRzID0gdHJhaXRzXG4gICAgICAgIHRoaXMudHJhaXRTdGF0ZSQgPSB0aGlzLiN0cmFpdFN0YXRlKCkucGlwZShzaGFyZVJlcGxheSgxKSlcblxuICAgICAgICB0aGlzLnN0YXRlLmN1cnJlbnQkLnBpcGUodGFrZVdoaWxlKHN0YXRlID0+IHN0YXRlICE9PSBcImNsZWFudXBcIiwgdHJ1ZSkpLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVtaXQoeyB0eXBlOiBzdGF0ZSB9IGFzIEMpXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuc3RhdGUub24oXCJpbml0XCIsICgpID0+IHRoaXMudHJhaXRTdGF0ZSQucGlwZSh0YWtlVW50aWwodGhpcy4jdW50aWxDbGVhbnVwKSwgZGVib3VuY2VUaW1lKDUpLCB0YWtlKDEpKSlcbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcInNob3dpbmdcIiwgKCkgPT4ge1xuICAgICAgICAgICAgY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9IFwidmlzaWJsZVwiXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT4ge1xuICAgICAgICAgICAgY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9IFwibm9uZVwiXG4gICAgICAgIH0pXG5cbiAgICAgICAgdGhpcy5zdGF0ZS5jb250cm9sKGNvbnRhaW5lci5zdGF0ZSlcblxuICAgICAgICAvLyBUT0RPOiByZW1vdmVcbiAgICAgICAgLy8gdGhpcy5zdGF0ZS5zdGF0dXMkLnN1YnNjcmliZShzdGF0dXMgPT4ge1xuICAgICAgICAvLyAgICAgY29uc29sZS5sb2coXCJmbG9hdGluZ1wiLCBzdGF0dXMpXG4gICAgICAgIC8vIH0pXG4gICAgfVxuXG4gICAgc2hvdygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUucnVuKFwiaW5pdFwiLCBcInNob3dpbmdcIiwgXCJzaG93blwiKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgaGlkZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xvc2UodHJ1ZSlcbiAgICB9XG5cbiAgICBjbG9zZShmb3JjZSA9IGZhbHNlKSB7XG4gICAgICAgIGlmIChmb3JjZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUucnVuKFwiZGlzcG9zaW5nXCIsIFwiZGlzcG9zZWRcIiwgXCJjbGVhbnVwXCIpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5ydW4oXCJjbG9zaW5nXCIsIFwiZGlzcG9zaW5nXCIsIFwiZGlzcG9zZWRcIiwgXCJjbGVhbnVwXCIpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbWl0KGV2ZW50OiBPbWl0PEMsIFwiZmxvYXRpbmdSZWZcIj4pIHtcbiAgICAgICAgdGhpcy5jaGFubmVsLm5leHQoeyAuLi5ldmVudCwgZmxvYXRpbmdSZWY6IHRoaXMgfSBhcyBhbnkpXG4gICAgfVxuXG4gICAgc2V0UmVzdWx0KGRhdGE6IGFueSkge1xuICAgICAgICB0aGlzLmVtaXQoeyB0eXBlOiBcInJlc3VsdFwiLCBkYXRhIH0gYXMgQylcbiAgICAgICAgdGhpcy5jbG9zZSh0cnVlKS5zdWJzY3JpYmUoKVxuICAgIH1cblxuICAgIHdhdGNoVHJhaXQ8VD4obmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYWl0U3RhdGUkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy4jdW50aWxEaXNwb3NlZCksXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQubmFtZSA9PT0gbmFtZSksXG4gICAgICAgICAgICBtYXAoZXZlbnQgPT4gZXZlbnQuZGF0YSBhcyBUKSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICAjdHJhaXRTdGF0ZSgpOiBPYnNlcnZhYmxlPEZsb2F0aW5nVHJhaXRFdmVudD4ge1xuICAgICAgICBjb25zdCBzcmMgPSBbXVxuXG4gICAgICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuI3RyYWl0cykpIHtcbiAgICAgICAgICAgIHNyYy5wdXNoKFxuICAgICAgICAgICAgICAgIHYuY29ubmVjdCh0aGlzKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy4jdW50aWxDbGVhbnVwKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBuYW1lOiBrLCBkYXRhOiByZXN1bHQgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzcmMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFlcbiAgICAgICAgfSBlbHNlIGlmIChzcmMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gc3JjWzBdXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbWVyZ2UoLi4uc3JjKVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2Zsb2F0aW5nL2Zsb2F0aW5nLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEUsT0FBTyxFQUNILGFBQWEsRUFDYixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixHQUFHLEVBRUgsYUFBYSxFQUNiLFdBQVcsRUFDWCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1osTUFBTSxNQUFNLENBQUE7QUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7OztBQUtyRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsUUFBUSxDQUFDLENBQUE7QUFlMUQsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFBO0FBR25CLE1BQU0sT0FBTyxXQUFXO0lBYVgsT0FBTyxDQUFhO0lBR3BCLGFBQWEsQ0FBa0M7SUFDL0MsY0FBYyxDQUFtQztJQUkxRCxZQUNhLFFBQXNCLEVBQ3RCLFNBQXVCLEVBQ2hCLE1BQWM7UUFGckIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBdEIzQixZQUFPLEdBQUcsSUFBSSxhQUFhLENBQWtCLENBQUMsQ0FBQyxDQUFBO1FBRS9DLFVBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUMzQixJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRSxFQUFFO1lBQ1gsS0FBSyxFQUFFLEVBQUU7WUFDVCxPQUFPLEVBQUUsRUFBRSxX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Q0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsRixDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEtBQUssQ0FBQTtRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsRCxDQUFDO0lBQ0wsQ0FBQzs4R0ExR1EsV0FBVywwRUF3QlIsTUFBTTtrSEF4QlQsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVTs7MEJBeUJGLE1BQU07MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7XG4gICAgY29tYmluZUxhdGVzdCxcbiAgICBkZWJvdW5jZVRpbWUsXG4gICAgRU1QVFksXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIFJlcGxheVN1YmplY3QsXG4gICAgc2hhcmVSZXBsYXksXG4gICAgc3RhcnRXaXRoLFxuICAgIHRha2UsXG4gICAgdGFrZVVudGlsLFxuICAgIHRha2VXaGlsZVxufSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IExpZmVjeWNsZSB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5cbmltcG9ydCB7IENvbnRhaW5lclJlZiB9IGZyb20gXCIuLi9sYXllci9jb250YWluZXItcmVmXCJcbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gXCIuLi9sYXllci9sYXllci5zZXJ2aWNlXCJcbmltcG9ydCB7IEZsb2F0aW5nVHJhaXQgfSBmcm9tIFwiLi90cmFpdHMvX2Jhc2VcIlxuXG5leHBvcnQgdHlwZSBUcmFpdHMgPSB7IFtrZXk6IHN0cmluZ106IEZsb2F0aW5nVHJhaXQgfVxuXG5leHBvcnQgY29uc3QgVFJBSVRTID0gbmV3IEluamVjdGlvblRva2VuPFRyYWl0cz4oXCJUUkFJVFNcIilcblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ0NoYW5uZWwge1xuICAgIGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZlxuICAgIHR5cGU6IHN0cmluZ1xuICAgIGRhdGE/OiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ1RyYWl0RXZlbnQge1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGRhdGE6IG9iamVjdFxufVxuXG50eXBlIFRyYWl0U3RhdGUgPSB7IFtrZXk6IHN0cmluZ106IEZsb2F0aW5nVHJhaXRFdmVudCB8IG51bGwgfVxuXG5sZXQgVUlEX0NPVU5URVIgPSAwXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGbG9hdGluZ1JlZjxDIGV4dGVuZHMgRmxvYXRpbmdDaGFubmVsID0gRmxvYXRpbmdDaGFubmVsLCBUIGV4dGVuZHMgSFRNTEVsZW1lbnQgPSBIVE1MRWxlbWVudD4ge1xuICAgIHJlYWRvbmx5IGNoYW5uZWwgPSBuZXcgUmVwbGF5U3ViamVjdDxGbG9hdGluZ0NoYW5uZWw+KDEpXG5cbiAgICByZWFkb25seSBzdGF0ZSA9IG5ldyBMaWZlY3ljbGUoe1xuICAgICAgICBpbml0OiB7fSxcbiAgICAgICAgc2hvd2luZzoge30sXG4gICAgICAgIHNob3duOiB7fSxcbiAgICAgICAgY2xvc2luZzogeyBjYW5jZWxsYWJsZTogZmFsc2UsIG9yZGVyOiBcInNlcXVlbnRpYWxcIiB9LFxuICAgICAgICBkaXNwb3Npbmc6IHsgY2FuY2VsbGFibGU6IGZhbHNlIH0sXG4gICAgICAgIGRpc3Bvc2VkOiB7IGNhbmNlbGxhYmxlOiBmYWxzZSwgb3JkZXI6IFwic2VxdWVudGlhbFwiIH0sXG4gICAgICAgIGNsZWFudXA6IHsgY2FuY2VsbGFibGU6IGZhbHNlLCBvcmRlcjogXCJzZXF1ZW50aWFsXCIgfVxuICAgIH0pXG5cbiAgICByZWFkb25seSAjdHJhaXRzOiBUcmFpdHMgPSB7fVxuICAgIHJlYWRvbmx5IHRyYWl0U3RhdGUkOiBPYnNlcnZhYmxlPFRyYWl0U3RhdGU+XG5cbiAgICByZWFkb25seSAjdW50aWxDbGVhbnVwID0gdGhpcy5zdGF0ZS5vbkV4ZWN1dGUoXCJjbGVhbnVwXCIpXG4gICAgcmVhZG9ubHkgI3VudGlsRGlzcG9zZWQgPSB0aGlzLnN0YXRlLm9uRXhlY3V0ZShcImRpc3Bvc2VkXCIpXG5cbiAgICByZWFkb25seSB1aWQgPSBgJHsrK1VJRF9DT1VOVEVSfWBcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZWFkb25seSBsYXllclN2YzogTGF5ZXJTZXJ2aWNlLFxuICAgICAgICByZWFkb25seSBjb250YWluZXI6IENvbnRhaW5lclJlZixcbiAgICAgICAgQEluamVjdChUUkFJVFMpIHRyYWl0czogVHJhaXRzXG4gICAgKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUsIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogXCJoaWRkZW5cIixcbiAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtZmxvYXRpbmdcIiwgdGhpcy51aWQpXG5cbiAgICAgICAgdGhpcy4jdHJhaXRzID0gdHJhaXRzXG4gICAgICAgIHRoaXMudHJhaXRTdGF0ZSQgPSB0aGlzLiN0cmFpdFN0YXRlKCkucGlwZShzaGFyZVJlcGxheSgxKSlcblxuICAgICAgICB0aGlzLnN0YXRlLmN1cnJlbnQkLnBpcGUodGFrZVdoaWxlKHN0YXRlID0+IHN0YXRlICE9PSBcImNsZWFudXBcIiwgdHJ1ZSkpLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVtaXQoeyB0eXBlOiBzdGF0ZSB9IGFzIEMpXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuc3RhdGUub24oXCJpbml0XCIsICgpID0+IHRoaXMudHJhaXRTdGF0ZSQucGlwZSh0YWtlVW50aWwodGhpcy4jdW50aWxDbGVhbnVwKSwgZGVib3VuY2VUaW1lKDUpLCB0YWtlKDEpKSlcbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcInNob3dpbmdcIiwgKCkgPT4ge1xuICAgICAgICAgICAgY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9IFwidmlzaWJsZVwiXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuc3RhdGUub24oXCJzaG93blwiLCAoKSA9PiB7XG4gICAgICAgICAgICBjb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gbnVsbCBhcyBhbnlcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcImRpc3Bvc2luZ1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBjb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gXCJub25lXCJcbiAgICAgICAgfSlcblxuICAgICAgICB0aGlzLnN0YXRlLmNvbnRyb2woY29udGFpbmVyLnN0YXRlKVxuXG4gICAgICAgIC8vIFRPRE86IHJlbW92ZVxuICAgICAgICAvLyB0aGlzLnN0YXRlLnN0YXR1cyQuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhcImZsb2F0aW5nXCIsIHN0YXR1cylcbiAgICAgICAgLy8gfSlcbiAgICB9XG5cbiAgICBzaG93KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5ydW4oXCJpbml0XCIsIFwic2hvd2luZ1wiLCBcInNob3duXCIpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBoaWRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jbG9zZSh0cnVlKVxuICAgIH1cblxuICAgIGNsb3NlKGZvcmNlID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKGZvcmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5ydW4oXCJkaXNwb3NpbmdcIiwgXCJkaXNwb3NlZFwiLCBcImNsZWFudXBcIilcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnN0YXRlLnJ1bihcImNsb3NpbmdcIiwgXCJkaXNwb3NpbmdcIiwgXCJkaXNwb3NlZFwiLCBcImNsZWFudXBcIilcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVtaXQoZXZlbnQ6IE9taXQ8QywgXCJmbG9hdGluZ1JlZlwiPikge1xuICAgICAgICB0aGlzLmNoYW5uZWwubmV4dCh7IC4uLmV2ZW50LCBmbG9hdGluZ1JlZjogdGhpcyB9IGFzIGFueSlcbiAgICB9XG5cbiAgICBzZXRSZXN1bHQoZGF0YTogYW55KSB7XG4gICAgICAgIHRoaXMuZW1pdCh7IHR5cGU6IFwicmVzdWx0XCIsIGRhdGEgfSBhcyBDKVxuICAgICAgICB0aGlzLmNsb3NlKHRydWUpLnN1YnNjcmliZSgpXG4gICAgfVxuXG4gICAgd2F0Y2hUcmFpdDxUPihuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhaXRTdGF0ZSQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLiN1bnRpbERpc3Bvc2VkKSxcbiAgICAgICAgICAgIG1hcChzdGF0ZSA9PiBzdGF0ZVtuYW1lXSksXG4gICAgICAgICAgICBmaWx0ZXIodmFsdWUgPT4gdmFsdWUgIT0gbnVsbClcbiAgICAgICAgKSBhcyBPYnNlcnZhYmxlPFQ+XG4gICAgfVxuXG4gICAgI3RyYWl0U3RhdGUoKTogT2JzZXJ2YWJsZTxUcmFpdFN0YXRlPiB7XG4gICAgICAgIGNvbnN0IHNyYzogeyBba2V5OiBzdHJpbmddOiBPYnNlcnZhYmxlPEZsb2F0aW5nVHJhaXRFdmVudCB8IG51bGw+IH0gPSB7fVxuXG4gICAgICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuI3RyYWl0cykpIHtcbiAgICAgICAgICAgIHNyY1trXSA9IHYuY29ubmVjdCh0aGlzKS5waXBlKHRha2VVbnRpbCh0aGlzLiN1bnRpbERpc3Bvc2VkKSwgc3RhcnRXaXRoKG51bGwpKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHNyYykubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHNyYykucGlwZShzaGFyZVJlcGxheSgxKSlcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,25 +1,49 @@
1
1
  import { animate, AnimationBuilder, style } from "@angular/animations";
2
- import { Observable, tap } from "rxjs";
2
+ import { map, Observable, switchMap, take, tap, timer } from "rxjs";
3
3
  import { animationObservable } from "@ngutil/graphics";
4
- import { Duration, Ease } from "@ngutil/style";
4
+ import { alignmentToTransformOrigin, Duration, Ease } from "@ngutil/style";
5
5
  // https://tympanus.net/Development/ModalWindowEffects/
6
- const transitionDuration = Duration.FastMs;
6
+ const timing = `${Duration.FastMs}ms ${Ease.Deceleration}`;
7
7
  export class AnimationTrait {
8
- constructor(animation) {
8
+ constructor(animation, options) {
9
9
  this.animation = animation;
10
+ this.options = options;
10
11
  this.name = "animation";
11
12
  }
12
13
  connect(floatingRef) {
13
14
  return new Observable((dst) => {
14
15
  const builder = floatingRef.container.injector.get(AnimationBuilder);
15
16
  const element = floatingRef.container.nativeElement;
16
- floatingRef.state.on("showing", () => animationObservable({ builder, element, animation: this.animation.show }));
17
- floatingRef.state.on("disposing", () => animationObservable({ builder, element, animation: this.animation.hide }).pipe(tap(() => (element.style.display = "none"))));
17
+ const options = this.options || {};
18
+ floatingRef.state.on("showing", () => animationParams(floatingRef, 0, options.params).pipe(switchMap(params => animationObservable({
19
+ builder,
20
+ element,
21
+ animation: this.animation.show,
22
+ options: { ...options, params }
23
+ }))));
24
+ floatingRef.state.on("disposing", () => animationParams(floatingRef, 0, options.params).pipe(switchMap(params => animationObservable({
25
+ builder,
26
+ element,
27
+ animation: this.animation.hide,
28
+ options: { ...options, params }
29
+ })), tap(() => (element.style.display = "none"))));
18
30
  floatingRef.state.on("disposing", () => dst.complete());
19
31
  dst.next();
20
32
  });
21
33
  }
22
34
  }
35
+ function animationParams(floatingRef, delay, overrides) {
36
+ const src = delay > 0
37
+ ? timer(delay).pipe(switchMap(() => floatingRef.watchTrait("position")))
38
+ : floatingRef.watchTrait("position");
39
+ return src.pipe(take(1), map(position => {
40
+ const origin = position.computed ? alignmentToTransformOrigin(position.computed.content.align) : "center";
41
+ return {
42
+ origin,
43
+ ...overrides
44
+ };
45
+ }));
46
+ }
23
47
  export const FallAnimation = {
24
48
  show: [
25
49
  style({
@@ -27,27 +51,58 @@ export const FallAnimation = {
27
51
  visibility: "visible",
28
52
  opacity: "0"
29
53
  }),
30
- animate(`${transitionDuration}ms ${Ease.Deceleration}`, style({
54
+ animate(timing, style({
31
55
  transform: "scale(1)",
32
56
  opacity: "1"
33
57
  }))
34
58
  ],
35
59
  hide: [
36
- animate(`${transitionDuration}ms ${Ease.Deceleration}`, style({
60
+ animate(timing, style({
37
61
  transform: "scale(1.5)",
38
62
  visibility: "visible",
39
63
  opacity: "0"
40
64
  }))
41
65
  ]
42
66
  };
43
- export function fallAnimation() {
44
- return new AnimationTrait(FallAnimation);
67
+ export function fallAnimation(options) {
68
+ return new AnimationTrait(FallAnimation, options);
45
69
  }
46
70
  export const FadeAnimation = {
47
- show: [style({ opacity: 0 }), animate(`${transitionDuration}ms ${Ease.Deceleration}`, style({ opacity: 1 }))],
48
- hide: [animate(`${transitionDuration}ms ${Ease.Deceleration}`, style({ opacity: 0 }))]
71
+ show: [style({ opacity: 0 }), animate(timing, style({ opacity: 1 }))],
72
+ hide: [animate(timing, style({ opacity: 0 }))]
49
73
  };
50
- export function fadeAnimation() {
51
- return new AnimationTrait(FadeAnimation);
74
+ export function fadeAnimation(options) {
75
+ return new AnimationTrait(FadeAnimation, options);
76
+ }
77
+ export const DropAnimation = {
78
+ show: [
79
+ style({
80
+ transform: "translate({{ translateX }}, {{ translateY }})",
81
+ opacity: "0",
82
+ transformOrigin: "{{ origin }}",
83
+ visibility: "visible"
84
+ }),
85
+ animate(timing, style({
86
+ opacity: "1",
87
+ transform: "scale(1, 1) translate(0px, 0px)"
88
+ }))
89
+ ],
90
+ hide: [
91
+ animate(timing, style({ opacity: 0, transform: "translate(calc({{ translateX }} * -1), calc({{ translateY }} * -1))" }))
92
+ ]
93
+ };
94
+ export function dropAnimation(options) {
95
+ if (!options) {
96
+ options = {};
97
+ }
98
+ if (!options.params) {
99
+ options.params = {};
100
+ }
101
+ else {
102
+ options.params = { ...options.params };
103
+ }
104
+ options.params["translateX"] = "0px";
105
+ options.params["translateY"] = "-40px";
106
+ return new AnimationTrait(DropAnimation, options);
52
107
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2Zsb2F0aW5nL3RyYWl0cy9hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBcUIsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFekYsT0FBTyxFQUFFLFVBQVUsRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFPOUMsdURBQXVEO0FBRXZELE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQTtBQUUxQyxNQUFNLE9BQU8sY0FBYztJQUd2QixZQUFxQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBRm5DLFNBQUksR0FBRyxXQUFXLENBQUE7SUFFb0IsQ0FBQztJQUVoRCxPQUFPLENBQUMsV0FBd0I7UUFDNUIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQXdCLEVBQUUsRUFBRTtZQUMvQyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtZQUNwRSxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQTtZQUNuRCxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQ2pDLG1CQUFtQixDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUM1RSxDQUFBO1lBQ0QsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUNuQyxtQkFBbUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQzlDLENBQ0osQ0FBQTtZQUNELFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUN2RCxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDZCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBaUI7SUFDdkMsSUFBSSxFQUFFO1FBQ0YsS0FBSyxDQUFDO1lBQ0YsU0FBUyxFQUFFLFlBQVk7WUFDdkIsVUFBVSxFQUFFLFNBQVM7WUFDckIsT0FBTyxFQUFFLEdBQUc7U0FDZixDQUFDO1FBQ0YsT0FBTyxDQUNILEdBQUcsa0JBQWtCLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxFQUM5QyxLQUFLLENBQUM7WUFDRixTQUFTLEVBQUUsVUFBVTtZQUNyQixPQUFPLEVBQUUsR0FBRztTQUNmLENBQUMsQ0FDTDtLQUNKO0lBQ0QsSUFBSSxFQUFFO1FBQ0YsT0FBTyxDQUNILEdBQUcsa0JBQWtCLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxFQUM5QyxLQUFLLENBQUM7WUFDRixTQUFTLEVBQUUsWUFBWTtZQUN2QixVQUFVLEVBQUUsU0FBUztZQUNyQixPQUFPLEVBQUUsR0FBRztTQUNmLENBQUMsQ0FDTDtLQUNKO0NBQ0osQ0FBQTtBQUVELE1BQU0sVUFBVSxhQUFhO0lBQ3pCLE9BQU8sSUFBSSxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDNUMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBaUI7SUFDdkMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsa0JBQWtCLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0csSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsa0JBQWtCLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Q0FDekYsQ0FBQTtBQUVELE1BQU0sVUFBVSxhQUFhO0lBQ3pCLE9BQU8sSUFBSSxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkJ1aWxkZXIsIEFuaW1hdGlvbk1ldGFkYXRhLCBzdHlsZSB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCJcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaWJlciwgdGFwIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBhbmltYXRpb25PYnNlcnZhYmxlIH0gZnJvbSBcIkBuZ3V0aWwvZ3JhcGhpY3NcIlxuaW1wb3J0IHsgRHVyYXRpb24sIEVhc2UgfSBmcm9tIFwiQG5ndXRpbC9zdHlsZVwiXG5cbmltcG9ydCB7IEZsb2F0aW5nUmVmIH0gZnJvbSBcIi4uL2Zsb2F0aW5nLXJlZlwiXG5pbXBvcnQgeyBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vX2Jhc2VcIlxuXG5leHBvcnQgdHlwZSBBbmltYXRpb25TZXQgPSB7IHNob3c6IEFuaW1hdGlvbk1ldGFkYXRhW107IGhpZGU6IEFuaW1hdGlvbk1ldGFkYXRhW10gfVxuXG4vLyBodHRwczovL3R5bXBhbnVzLm5ldC9EZXZlbG9wbWVudC9Nb2RhbFdpbmRvd0VmZmVjdHMvXG5cbmNvbnN0IHRyYW5zaXRpb25EdXJhdGlvbiA9IER1cmF0aW9uLkZhc3RNc1xuXG5leHBvcnQgY2xhc3MgQW5pbWF0aW9uVHJhaXQgaW1wbGVtZW50cyBGbG9hdGluZ1RyYWl0PHVua25vd24+IHtcbiAgICByZWFkb25seSBuYW1lID0gXCJhbmltYXRpb25cIlxuXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgYW5pbWF0aW9uOiBBbmltYXRpb25TZXQpIHt9XG5cbiAgICBjb25uZWN0KGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZik6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRzdDogU3Vic2NyaWJlcjx1bmtub3duPikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYnVpbGRlciA9IGZsb2F0aW5nUmVmLmNvbnRhaW5lci5pbmplY3Rvci5nZXQoQW5pbWF0aW9uQnVpbGRlcilcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBmbG9hdGluZ1JlZi5jb250YWluZXIubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJzaG93aW5nXCIsICgpID0+XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uT2JzZXJ2YWJsZSh7IGJ1aWxkZXIsIGVsZW1lbnQsIGFuaW1hdGlvbjogdGhpcy5hbmltYXRpb24uc2hvdyB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT5cbiAgICAgICAgICAgICAgICBhbmltYXRpb25PYnNlcnZhYmxlKHsgYnVpbGRlciwgZWxlbWVudCwgYW5pbWF0aW9uOiB0aGlzLmFuaW1hdGlvbi5oaWRlIH0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiAoZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCIpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGZsb2F0aW5nUmVmLnN0YXRlLm9uKFwiZGlzcG9zaW5nXCIsICgpID0+IGRzdC5jb21wbGV0ZSgpKVxuICAgICAgICAgICAgZHN0Lm5leHQoKVxuICAgICAgICB9KVxuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEZhbGxBbmltYXRpb246IEFuaW1hdGlvblNldCA9IHtcbiAgICBzaG93OiBbXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogXCJzY2FsZSgxLjUpXCIsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBcInZpc2libGVcIixcbiAgICAgICAgICAgIG9wYWNpdHk6IFwiMFwiXG4gICAgICAgIH0pLFxuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgYCR7dHJhbnNpdGlvbkR1cmF0aW9ufW1zICR7RWFzZS5EZWNlbGVyYXRpb259YCxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IFwic2NhbGUoMSlcIixcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiBcIjFcIlxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIF0sXG4gICAgaGlkZTogW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgYCR7dHJhbnNpdGlvbkR1cmF0aW9ufW1zICR7RWFzZS5EZWNlbGVyYXRpb259YCxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IFwic2NhbGUoMS41KVwiLFxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IFwidmlzaWJsZVwiLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IFwiMFwiXG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFsbEFuaW1hdGlvbigpIHtcbiAgICByZXR1cm4gbmV3IEFuaW1hdGlvblRyYWl0KEZhbGxBbmltYXRpb24pXG59XG5cbmV4cG9ydCBjb25zdCBGYWRlQW5pbWF0aW9uOiBBbmltYXRpb25TZXQgPSB7XG4gICAgc2hvdzogW3N0eWxlKHsgb3BhY2l0eTogMCB9KSwgYW5pbWF0ZShgJHt0cmFuc2l0aW9uRHVyYXRpb259bXMgJHtFYXNlLkRlY2VsZXJhdGlvbn1gLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXSxcbiAgICBoaWRlOiBbYW5pbWF0ZShgJHt0cmFuc2l0aW9uRHVyYXRpb259bXMgJHtFYXNlLkRlY2VsZXJhdGlvbn1gLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFkZUFuaW1hdGlvbigpIHtcbiAgICByZXR1cm4gbmV3IEFuaW1hdGlvblRyYWl0KEZhZGVBbmltYXRpb24pXG59XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2Zsb2F0aW5nL3RyYWl0cy9hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBdUMsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFM0csT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQWMsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRS9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBUTFFLHVEQUF1RDtBQUV2RCxNQUFNLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO0FBRTFELE1BQU0sT0FBTyxjQUFjO0lBR3ZCLFlBQ2EsU0FBdUIsRUFDdkIsT0FBMEI7UUFEMUIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUo5QixTQUFJLEdBQUcsV0FBVyxDQUFBO0lBS3hCLENBQUM7SUFFSixPQUFPLENBQUMsV0FBd0I7UUFDNUIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQXdCLEVBQUUsRUFBRTtZQUMvQyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtZQUNwRSxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQTtZQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQTtZQUVsQyxX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RUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixPQUFPLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQTtJQUN2QixDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxLQUFLLENBQUE7SUFDcEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxPQUFPLENBQUE7SUFFdEMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkJ1aWxkZXIsIEFuaW1hdGlvbk1ldGFkYXRhLCBBbmltYXRpb25PcHRpb25zLCBzdHlsZSB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCJcblxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCwgdGltZXIgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IGFuaW1hdGlvbk9ic2VydmFibGUgfSBmcm9tIFwiQG5ndXRpbC9ncmFwaGljc1wiXG5pbXBvcnQgeyBhbGlnbm1lbnRUb1RyYW5zZm9ybU9yaWdpbiwgRHVyYXRpb24sIEVhc2UgfSBmcm9tIFwiQG5ndXRpbC9zdHlsZVwiXG5cbmltcG9ydCB7IEZsb2F0aW5nUmVmIH0gZnJvbSBcIi4uL2Zsb2F0aW5nLXJlZlwiXG5pbXBvcnQgeyBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vX2Jhc2VcIlxuaW1wb3J0IHsgRmxvYXRpbmdQb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCJcblxuZXhwb3J0IHR5cGUgQW5pbWF0aW9uU2V0ID0geyBzaG93OiBBbmltYXRpb25NZXRhZGF0YVtdOyBoaWRlOiBBbmltYXRpb25NZXRhZGF0YVtdIH1cblxuLy8gaHR0cHM6Ly90eW1wYW51cy5uZXQvRGV2ZWxvcG1lbnQvTW9kYWxXaW5kb3dFZmZlY3RzL1xuXG5jb25zdCB0aW1pbmcgPSBgJHtEdXJhdGlvbi5GYXN0TXN9bXMgJHtFYXNlLkRlY2VsZXJhdGlvbn1gXG5cbmV4cG9ydCBjbGFzcyBBbmltYXRpb25UcmFpdCBpbXBsZW1lbnRzIEZsb2F0aW5nVHJhaXQ8dW5rbm93bj4ge1xuICAgIHJlYWRvbmx5IG5hbWUgPSBcImFuaW1hdGlvblwiXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgYW5pbWF0aW9uOiBBbmltYXRpb25TZXQsXG4gICAgICAgIHJlYWRvbmx5IG9wdGlvbnM/OiBBbmltYXRpb25PcHRpb25zXG4gICAgKSB7fVxuXG4gICAgY29ubmVjdChmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWYpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChkc3Q6IFN1YnNjcmliZXI8dW5rbm93bj4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmbG9hdGluZ1JlZi5jb250YWluZXIuaW5qZWN0b3IuZ2V0KEFuaW1hdGlvbkJ1aWxkZXIpXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgfHwge31cblxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJzaG93aW5nXCIsICgpID0+XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uUGFyYW1zKGZsb2F0aW5nUmVmLCAwLCBvcHRpb25zLnBhcmFtcykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKHBhcmFtcyA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uT2JzZXJ2YWJsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogdGhpcy5hbmltYXRpb24uc2hvdyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7IC4uLm9wdGlvbnMsIHBhcmFtcyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT5cbiAgICAgICAgICAgICAgICBhbmltYXRpb25QYXJhbXMoZmxvYXRpbmdSZWYsIDAsIG9wdGlvbnMucGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocGFyYW1zID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb25PYnNlcnZhYmxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiB0aGlzLmFuaW1hdGlvbi5oaWRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHsgLi4ub3B0aW9ucywgcGFyYW1zIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiAoZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCIpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGZsb2F0aW5nUmVmLnN0YXRlLm9uKFwiZGlzcG9zaW5nXCIsICgpID0+IGRzdC5jb21wbGV0ZSgpKVxuICAgICAgICAgICAgZHN0Lm5leHQoKVxuICAgICAgICB9KVxuICAgIH1cbn1cblxuZnVuY3Rpb24gYW5pbWF0aW9uUGFyYW1zKFxuICAgIGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZixcbiAgICBkZWxheTogbnVtYmVyLFxuICAgIG92ZXJyaWRlczogQW5pbWF0aW9uT3B0aW9uc1tcInBhcmFtc1wiXVxuKTogT2JzZXJ2YWJsZTxBbmltYXRpb25PcHRpb25zW1wicGFyYW1zXCJdPiB7XG4gICAgY29uc3Qgc3JjID1cbiAgICAgICAgZGVsYXkgPiAwXG4gICAgICAgICAgICA/IHRpbWVyKGRlbGF5KS5waXBlKHN3aXRjaE1hcCgoKSA9PiBmbG9hdGluZ1JlZi53YXRjaFRyYWl0PEZsb2F0aW5nUG9zaXRpb24+KFwicG9zaXRpb25cIikpKVxuICAgICAgICAgICAgOiBmbG9hdGluZ1JlZi53YXRjaFRyYWl0PEZsb2F0aW5nUG9zaXRpb24+KFwicG9zaXRpb25cIilcblxuICAgIHJldHVybiBzcmMucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgbWFwKHBvc2l0aW9uID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbiA9IHBvc2l0aW9uLmNvbXB1dGVkID8gYWxpZ25tZW50VG9UcmFuc2Zvcm1PcmlnaW4ocG9zaXRpb24uY29tcHV0ZWQhLmNvbnRlbnQuYWxpZ24pIDogXCJjZW50ZXJcIlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgICAgICAgLi4ub3ZlcnJpZGVzXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgKVxufVxuXG5leHBvcnQgY29uc3QgRmFsbEFuaW1hdGlvbjogQW5pbWF0aW9uU2V0ID0ge1xuICAgIHNob3c6IFtcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBcInNjYWxlKDEuNSlcIixcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IFwidmlzaWJsZVwiLFxuICAgICAgICAgICAgb3BhY2l0eTogXCIwXCJcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICB0aW1pbmcsXG4gICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBcInNjYWxlKDEpXCIsXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogXCIxXCJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICBdLFxuICAgIGhpZGU6IFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgIHRpbWluZyxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IFwic2NhbGUoMS41KVwiLFxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IFwidmlzaWJsZVwiLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IFwiMFwiXG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFsbEFuaW1hdGlvbihvcHRpb25zPzogQW5pbWF0aW9uT3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgQW5pbWF0aW9uVHJhaXQoRmFsbEFuaW1hdGlvbiwgb3B0aW9ucylcbn1cblxuZXhwb3J0IGNvbnN0IEZhZGVBbmltYXRpb246IEFuaW1hdGlvblNldCA9IHtcbiAgICBzaG93OiBbc3R5bGUoeyBvcGFjaXR5OiAwIH0pLCBhbmltYXRlKHRpbWluZywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKV0sXG4gICAgaGlkZTogW2FuaW1hdGUodGltaW5nLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFkZUFuaW1hdGlvbihvcHRpb25zPzogQW5pbWF0aW9uT3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgQW5pbWF0aW9uVHJhaXQoRmFkZUFuaW1hdGlvbiwgb3B0aW9ucylcbn1cblxuZXhwb3J0IGNvbnN0IERyb3BBbmltYXRpb246IEFuaW1hdGlvblNldCA9IHtcbiAgICBzaG93OiBbXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoe3sgdHJhbnNsYXRlWCB9fSwge3sgdHJhbnNsYXRlWSB9fSlcIixcbiAgICAgICAgICAgIG9wYWNpdHk6IFwiMFwiLFxuICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiBcInt7IG9yaWdpbiB9fVwiLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogXCJ2aXNpYmxlXCJcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICB0aW1pbmcsXG4gICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogXCIxXCIsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBcInNjYWxlKDEsIDEpIHRyYW5zbGF0ZSgwcHgsIDBweClcIlxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIF0sXG4gICAgaGlkZTogW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgdGltaW5nLFxuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKGNhbGMoe3sgdHJhbnNsYXRlWCB9fSAqIC0xKSwgY2FsYyh7eyB0cmFuc2xhdGVZIH19ICogLTEpKVwiIH0pXG4gICAgICAgIClcbiAgICBdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkcm9wQW5pbWF0aW9uKG9wdGlvbnM/OiBBbmltYXRpb25PcHRpb25zKSB7XG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICAgIG9wdGlvbnMgPSB7fVxuICAgIH1cblxuICAgIGlmICghb3B0aW9ucy5wYXJhbXMpIHtcbiAgICAgICAgb3B0aW9ucy5wYXJhbXMgPSB7fVxuICAgIH0gZWxzZSB7XG4gICAgICAgIG9wdGlvbnMucGFyYW1zID0geyAuLi5vcHRpb25zLnBhcmFtcyB9XG4gICAgfVxuXG4gICAgb3B0aW9ucy5wYXJhbXNbXCJ0cmFuc2xhdGVYXCJdID0gXCIwcHhcIlxuICAgIG9wdGlvbnMucGFyYW1zW1widHJhbnNsYXRlWVwiXSA9IFwiLTQwcHhcIlxuXG4gICAgcmV0dXJuIG5ldyBBbmltYXRpb25UcmFpdChEcm9wQW5pbWF0aW9uLCBvcHRpb25zKVxufVxuIl19
@@ -1,12 +1,7 @@
1
1
  import { AnimationBuilder } from "@angular/animations";
2
- import { exhaustMap, map, Observable, Subject } from "rxjs";
2
+ import { Observable } from "rxjs";
3
3
  import { animationObservable } from "@ngutil/graphics";
4
4
  import { FadeAnimation } from "./animation";
5
- export class BackdropState {
6
- constructor() {
7
- this.onClick = new Subject();
8
- }
9
- }
10
5
  export class BackdropTrait {
11
6
  constructor(options) {
12
7
  this.options = options;
@@ -15,24 +10,10 @@ export class BackdropTrait {
15
10
  connect(floatingRef) {
16
11
  return new Observable((dest) => {
17
12
  const animationBuilder = floatingRef.container.injector.get(AnimationBuilder);
18
- const options = {
19
- type: this.options.type,
20
- under: floatingRef.container,
21
- color: this.options.color,
22
- style: this.options.style
23
- };
24
- if (this.options.type === "crop") {
25
- ;
26
- options.crop = floatingRef
27
- .watchTrait("position")
28
- .pipe(map(position => position.anchor));
29
- }
30
- const state = new BackdropState();
31
- const backdrop = floatingRef.layerSvc.newBackdrop(options);
32
- if (this.options.closeOnClick) {
33
- dest.add(this.#installClickHandler(floatingRef, backdrop, state));
34
- dest.add(state.onClick.pipe(exhaustMap(() => floatingRef.close())).subscribe());
35
- }
13
+ const options = { ...this.options };
14
+ const backdrop = floatingRef.layerSvc.newBackdrop(floatingRef.container, options);
15
+ floatingRef.container.nativeElement.setAttribute("data-floating-has-backdrop", "true");
16
+ backdrop.nativeElement.setAttribute("data-floating-backdrop", floatingRef.uid);
36
17
  backdrop.state.on("showing", () => animationObservable({
37
18
  builder: animationBuilder,
38
19
  element: backdrop.nativeElement,
@@ -46,26 +27,11 @@ export class BackdropTrait {
46
27
  backdrop.state.on("disposed", () => dest.complete());
47
28
  floatingRef.state.on("disposing", () => backdrop.dispose());
48
29
  dest.add(backdrop.show().subscribe());
49
- dest.next(state);
30
+ dest.next(backdrop);
50
31
  });
51
32
  }
52
- #installClickHandler(floatingRef, backdrop, state) {
53
- const handler = (event) => {
54
- if (event.defaultPrevented) {
55
- return;
56
- }
57
- if (event.target === backdrop.nativeElement || backdrop.nativeElement.contains(event.target)) {
58
- ;
59
- state.onClick.next();
60
- }
61
- };
62
- document.addEventListener("click", handler);
63
- return () => {
64
- document.removeEventListener("click", handler);
65
- };
66
- }
67
33
  }
68
34
  export function backdrop(options) {
69
35
  return new BackdropTrait(options);
70
36
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2Ryb3AuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL2JhY2tkcm9wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFLdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQVczQyxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUNJLFlBQU8sR0FBcUIsSUFBSSxPQUFPLEVBQVEsQ0FBQTtJQUNuRCxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sYUFBYTtJQUd0QixZQUFxQixPQUE2QjtRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUZ6QyxTQUFJLEdBQUcsVUFBVSxDQUFBO0lBRTJCLENBQUM7SUFFdEQsT0FBTyxDQUFDLFdBQTZCO1FBQ2pDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxJQUErQixFQUFFLEVBQUU7WUFDdEQsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtZQUM3RSxNQUFNLE9BQU8sR0FBb0I7Z0JBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7Z0JBQ3ZCLEtBQUssRUFBRSxXQUFXLENBQUMsU0FBUztnQkFDNUIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztnQkFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSzthQUNyQixDQUFBO1lBRVIsSUFBSSxJQUFJLENBQUMsT0FB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QUFPLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIlxuXG5pbXBvcnQgeyBleGhhdXN0TWFwLCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmliZXIgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IGFuaW1hdGlvbk9ic2VydmFibGUgfSBmcm9tIFwiQG5ndXRpbC9ncmFwaGljc1wiXG5cbmltcG9ydCB0eXBlIHsgQmFja2Ryb3BPcHRpb25zLCBCYWNrZHJvcFJlZiwgQ3JvcEJhY2tkcm9wT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9sYXllci9iYWNrZHJvcC1yZWZcIlxuaW1wb3J0IHsgdHlwZSBGbG9hdGluZ1JlZiB9IGZyb20gXCIuLi9mbG9hdGluZy1yZWZcIlxuaW1wb3J0IHsgRmxvYXRpbmdUcmFpdCB9IGZyb20gXCIuL19iYXNlXCJcbmltcG9ydCB7IEZhZGVBbmltYXRpb24gfSBmcm9tIFwiLi9hbmltYXRpb25cIlxuaW1wb3J0IHsgRmxvYXRpbmdQb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCJcblxuZXhwb3J0IGludGVyZmFjZSBCYWNrZHJvcFRyYWl0T3B0aW9ucyB7XG4gICAgdHlwZTogQmFja2Ryb3BPcHRpb25zW1widHlwZVwiXVxuICAgIGNvbG9yOiBCYWNrZHJvcE9wdGlvbnNbXCJjb2xvclwiXVxuICAgIHN0eWxlPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPlxuICAgIGNsb3NlT25DbGljaz86IGJvb2xlYW5cbiAgICAvLyBUT0RPOiBtYXliZSBjcm9wTWFyZ2luXG59XG5cbmV4cG9ydCBjbGFzcyBCYWNrZHJvcFN0YXRlIHtcbiAgICBvbkNsaWNrOiBPYnNlcnZhYmxlPHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxufVxuXG5leHBvcnQgY2xhc3MgQmFja2Ryb3BUcmFpdCBpbXBsZW1lbnRzIEZsb2F0aW5nVHJhaXQ8QmFja2Ryb3BTdGF0ZT4ge1xuICAgIHJlYWRvbmx5IG5hbWUgPSBcImJhY2tkcm9wXCJcblxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IG9wdGlvbnM6IEJhY2tkcm9wVHJhaXRPcHRpb25zKSB7fVxuXG4gICAgY29ubmVjdChmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWY8YW55Pik6IE9ic2VydmFibGU8QmFja2Ryb3BTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRlc3Q6IFN1YnNjcmliZXI8QmFja2Ryb3BTdGF0ZT4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFuaW1hdGlvbkJ1aWxkZXIgPSBmbG9hdGluZ1JlZi5jb250YWluZXIuaW5qZWN0b3IuZ2V0KEFuaW1hdGlvbkJ1aWxkZXIpXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zOiBCYWNrZHJvcE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogdGhpcy5vcHRpb25zLnR5cGUsXG4gICAgICAgICAgICAgICAgdW5kZXI6IGZsb2F0aW5nUmVmLmNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5vcHRpb25zLmNvbG9yLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB0aGlzLm9wdGlvbnMuc3R5bGVcbiAgICAgICAgICAgIH0gYXMgYW55XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudHlwZSA9PT0gXCJjcm9wXCIpIHtcbiAgICAgICAgICAgICAgICA7KG9wdGlvbnMgYXMgQ3JvcEJhY2tkcm9wT3B0aW9ucykuY3JvcCA9IGZsb2F0aW5nUmVmXG4gICAgICAgICAgICAgICAgICAgIC53YXRjaFRyYWl0PEZsb2F0aW5nUG9zaXRpb24+KFwicG9zaXRpb25cIilcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUobWFwKHBvc2l0aW9uID0+IHBvc2l0aW9uLmFuY2hvcikpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gbmV3IEJhY2tkcm9wU3RhdGUoKVxuICAgICAgICAgICAgY29uc3QgYmFja2Ryb3AgPSBmbG9hdGluZ1JlZi5sYXllclN2Yy5uZXdCYWNrZHJvcChvcHRpb25zKVxuXG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmNsb3NlT25DbGljaykge1xuICAgICAgICAgICAgICAgIGRlc3QuYWRkKHRoaXMuI2luc3RhbGxDbGlja0hhbmRsZXIoZmxvYXRpbmdSZWYsIGJhY2tkcm9wLCBzdGF0ZSkpXG4gICAgICAgICAgICAgICAgZGVzdC5hZGQoc3RhdGUub25DbGljay5waXBlKGV4aGF1c3RNYXAoKCkgPT4gZmxvYXRpbmdSZWYuY2xvc2UoKSkpLnN1YnNjcmliZSgpKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBiYWNrZHJvcC5zdGF0ZS5vbihcInNob3dpbmdcIiwgKCkgPT5cbiAgICAgICAgICAgICAgICBhbmltYXRpb25PYnNlcnZhYmxlKHtcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRlcjogYW5pbWF0aW9uQnVpbGRlcixcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogYmFja2Ryb3AubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBGYWRlQW5pbWF0aW9uLnNob3dcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgYmFja2Ryb3Auc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT5cbiAgICAgICAgICAgICAgICBhbmltYXRpb25PYnNlcnZhYmxlKHtcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRlcjogYW5pbWF0aW9uQnVpbGRlcixcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogYmFja2Ryb3AubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBGYWRlQW5pbWF0aW9uLmhpZGVcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBiYWNrZHJvcC5zdGF0ZS5vbihcImRpc3Bvc2VkXCIsICgpID0+IGRlc3QuY29tcGxldGUoKSlcblxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT4gYmFja2Ryb3AuZGlzcG9zZSgpKVxuXG4gICAgICAgICAgICBkZXN0LmFkZChiYWNrZHJvcC5zaG93KCkuc3Vic2NyaWJlKCkpXG4gICAgICAgICAgICBkZXN0Lm5leHQoc3RhdGUpXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgI2luc3RhbGxDbGlja0hhbmRsZXIoZmxvYXRpbmdSZWY6IEZsb2F0aW5nUmVmPGFueT4sIGJhY2tkcm9wOiBCYWNrZHJvcFJlZiwgc3RhdGU6IEJhY2tkcm9wU3RhdGUpIHtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gYmFja2Ryb3AubmF0aXZlRWxlbWVudCB8fCBiYWNrZHJvcC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSkge1xuICAgICAgICAgICAgICAgIDsoc3RhdGUub25DbGljayBhcyBTdWJqZWN0PHZvaWQ+KS5uZXh0KClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBoYW5kbGVyKVxuXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlcilcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJhY2tkcm9wKG9wdGlvbnM6IEJhY2tkcm9wVHJhaXRPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyBCYWNrZHJvcFRyYWl0KG9wdGlvbnMpXG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2Ryb3AuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL2JhY2tkcm9wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFFN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFnQixNQUFNLGtCQUFrQixDQUFBO0FBS3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFNM0MsTUFBTSxPQUFPLGFBQWE7SUFHdEIsWUFBcUIsT0FBNkI7UUFBN0IsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFGekMsU0FBSSxHQUFHLFVBQVUsQ0FBQTtJQUUyQixDQUFDO0lBRXRELE9BQU8sQ0FBQyxXQUE2QjtRQUNqQyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsSUFBNkIsRUFBRSxFQUFFO1lBQ3BELE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUE7WUFDN0UsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtZQUNuQyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBRWpGLFdBQVcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUN0RixRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUE7WUFFOUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUM5QixtQkFBbUIsQ0FBQztnQkFDaEIsT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxhQUFhO2dCQUMvQixTQUFTLEVBQUUsYUFBYSxDQUFDLElBQUk7YUFDaEMsQ0FBQyxDQUNMLENBQUE7WUFDRCxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQ2hDLG1CQUFtQixDQUFDO2dCQUNoQixPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixPQUFPLEVBQUUsUUFBUSxDQUFDLGFBQWE7Z0JBQy9CLFNBQVMsRUFBRSxhQUFhLENBQUMsSUFBSTthQUNoQyxDQUFDLENBQ0wsQ0FBQTtZQUVELFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUVwRCxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7WUFFM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtZQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3ZCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUE2QjtJQUNsRCxPQUFPLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIlxuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBhbmltYXRpb25PYnNlcnZhYmxlLCBDb3Zlck9wdGlvbnMgfSBmcm9tIFwiQG5ndXRpbC9ncmFwaGljc1wiXG5cbmltcG9ydCB7IEJhY2tkcm9wUmVmIH0gZnJvbSBcIi4uLy4uL2xheWVyXCJcbmltcG9ydCB7IHR5cGUgRmxvYXRpbmdSZWYgfSBmcm9tIFwiLi4vZmxvYXRpbmctcmVmXCJcbmltcG9ydCB7IEZsb2F0aW5nVHJhaXQgfSBmcm9tIFwiLi9fYmFzZVwiXG5pbXBvcnQgeyBGYWRlQW5pbWF0aW9uIH0gZnJvbSBcIi4vYW5pbWF0aW9uXCJcblxuaW50ZXJmYWNlIENvbW1vbk9wdGlvbnMge31cblxuZXhwb3J0IHR5cGUgQmFja2Ryb3BUcmFpdE9wdGlvbnMgPSBDb3Zlck9wdGlvbnMgJiBDb21tb25PcHRpb25zXG5cbmV4cG9ydCBjbGFzcyBCYWNrZHJvcFRyYWl0IGltcGxlbWVudHMgRmxvYXRpbmdUcmFpdDxCYWNrZHJvcFJlZj4ge1xuICAgIHJlYWRvbmx5IG5hbWUgPSBcImJhY2tkcm9wXCJcblxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IG9wdGlvbnM6IEJhY2tkcm9wVHJhaXRPcHRpb25zKSB7fVxuXG4gICAgY29ubmVjdChmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWY8YW55Pik6IE9ic2VydmFibGU8QmFja2Ryb3BSZWY+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChkZXN0OiBTdWJzY3JpYmVyPEJhY2tkcm9wUmVmPikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYW5pbWF0aW9uQnVpbGRlciA9IGZsb2F0aW5nUmVmLmNvbnRhaW5lci5pbmplY3Rvci5nZXQoQW5pbWF0aW9uQnVpbGRlcilcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucyB9XG4gICAgICAgICAgICBjb25zdCBiYWNrZHJvcCA9IGZsb2F0aW5nUmVmLmxheWVyU3ZjLm5ld0JhY2tkcm9wKGZsb2F0aW5nUmVmLmNvbnRhaW5lciwgb3B0aW9ucylcblxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1mbG9hdGluZy1oYXMtYmFja2Ryb3BcIiwgXCJ0cnVlXCIpXG4gICAgICAgICAgICBiYWNrZHJvcC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtZmxvYXRpbmctYmFja2Ryb3BcIiwgZmxvYXRpbmdSZWYudWlkKVxuXG4gICAgICAgICAgICBiYWNrZHJvcC5zdGF0ZS5vbihcInNob3dpbmdcIiwgKCkgPT5cbiAgICAgICAgICAgICAgICBhbmltYXRpb25PYnNlcnZhYmxlKHtcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRlcjogYW5pbWF0aW9uQnVpbGRlcixcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogYmFja2Ryb3AubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBGYWRlQW5pbWF0aW9uLnNob3dcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgYmFja2Ryb3Auc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT5cbiAgICAgICAgICAgICAgICBhbmltYXRpb25PYnNlcnZhYmxlKHtcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRlcjogYW5pbWF0aW9uQnVpbGRlcixcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogYmFja2Ryb3AubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBGYWRlQW5pbWF0aW9uLmhpZGVcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBiYWNrZHJvcC5zdGF0ZS5vbihcImRpc3Bvc2VkXCIsICgpID0+IGRlc3QuY29tcGxldGUoKSlcblxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT4gYmFja2Ryb3AuZGlzcG9zZSgpKVxuXG4gICAgICAgICAgICBkZXN0LmFkZChiYWNrZHJvcC5zaG93KCkuc3Vic2NyaWJlKCkpXG4gICAgICAgICAgICBkZXN0Lm5leHQoYmFja2Ryb3ApXG4gICAgICAgIH0pXG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFja2Ryb3Aob3B0aW9uczogQmFja2Ryb3BUcmFpdE9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmV3IEJhY2tkcm9wVHJhaXQob3B0aW9ucylcbn1cbiJdfQ==
@@ -0,0 +1,86 @@
1
+ import { distinctUntilChanged, exhaustMap, filter, finalize, from, fromEvent, map, of, race } from "rxjs";
2
+ import { KeystrokeService } from "@ngutil/aria";
3
+ import { coerceElement } from "@ngutil/common";
4
+ class CloseTriggerTrait {
5
+ constructor(options = {}) {
6
+ this.options = options;
7
+ this.name = "close-trigger";
8
+ }
9
+ connect(floatingRef) {
10
+ const { keystroke, clickOutside, trigger } = this.options;
11
+ const container = floatingRef.container.nativeElement;
12
+ const triggers = [];
13
+ const selfUid = Number(floatingRef.uid);
14
+ if (keystroke) {
15
+ const ks = floatingRef.container.injector.get(KeystrokeService);
16
+ triggers.push(ks.watch(container, { key: "Escape", state: "up" }).pipe(map(() => {
17
+ return { source: "keystroke" };
18
+ })));
19
+ // TODO: angular auxiliary route
20
+ }
21
+ if (clickOutside) {
22
+ const allowedElements = typeof clickOutside === "boolean" ? [] : clickOutside.allowedElements?.map(coerceElement) || [];
23
+ triggers.push(fromEvent(document, "click", { capture: true, passive: true }).pipe(filter(event => {
24
+ if (!(event.target instanceof HTMLElement)) {
25
+ return false;
26
+ }
27
+ const target = event.target;
28
+ for (const allowed of allowedElements) {
29
+ if (target === allowed || allowed.contains(target)) {
30
+ return false;
31
+ }
32
+ }
33
+ const floatingUid = getFloatingUid(target, "data-floating", "floating");
34
+ const backdropUid = getFloatingUid(target, "data-floating-backdrop", "floatingBackdrop");
35
+ const otherBackdropUid = floatingUid != null && floatingUid !== selfUid
36
+ ? getFloatingUid(document.querySelector(`[data-floating-backdrop="${floatingUid}"]`), "data-floating-backdrop", "floatingBackdrop")
37
+ : undefined;
38
+ // console.log({ floatingUid, backdropUid, otherBackdropUid, self: selfUid })
39
+ if (floatingUid == null && backdropUid == null) {
40
+ return true;
41
+ }
42
+ else {
43
+ return (
44
+ // click on self backdrop
45
+ (backdropUid != null && backdropUid === selfUid) ||
46
+ // click on other floating element, whitout backdrop
47
+ (floatingUid != null && otherBackdropUid == null && floatingUid !== selfUid) ||
48
+ // click on other floating element that opened erlier
49
+ (floatingUid != null && floatingUid < selfUid));
50
+ }
51
+ }), map(() => {
52
+ return { source: "click" };
53
+ })));
54
+ }
55
+ if (trigger) {
56
+ triggers.push(from(trigger).pipe(map(() => {
57
+ return { source: "trigger" };
58
+ })));
59
+ }
60
+ if (triggers.length === 0) {
61
+ return of();
62
+ }
63
+ else {
64
+ return race(...triggers).pipe(finalize(() => console.log("CLOSED", floatingRef.uid)), exhaustMap(event => floatingRef.close().pipe(map(() => event), distinctUntilChanged())));
65
+ }
66
+ }
67
+ }
68
+ export function closeTrigger(options = { clickOutside: true, keystroke: true }) {
69
+ return new CloseTriggerTrait(options);
70
+ }
71
+ function getFloatingUid(el, attr, dataset) {
72
+ if (el == null) {
73
+ return undefined;
74
+ }
75
+ if (el.matches(`[${attr}]`)) {
76
+ return Number(el.dataset[dataset]) || undefined;
77
+ }
78
+ else {
79
+ const parent = el.closest(`[${attr}]`);
80
+ if (parent) {
81
+ return Number(parent.dataset[dataset]) || undefined;
82
+ }
83
+ }
84
+ return undefined;
85
+ }
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvc2UtdHJpZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9mbG9hdGluZy90cmFpdHMvY2xvc2UtdHJpZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsR0FBRyxFQUdILEVBQUUsRUFDRixJQUFJLEVBQ1AsTUFBTSxNQUFNLENBQUE7QUFFYixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQTtBQWlDNUQsTUFBTSxpQkFBaUI7SUFHbkIsWUFBcUIsVUFBK0IsRUFBRTtRQUFqQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQUY3QyxTQUFJLEdBQUcsZUFBZSxDQUFBO0lBRTBCLENBQUM7SUFFMUQsT0FBTyxDQUFDLFdBQXdCO1FBQzVCLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUE7UUFFekQsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUE7UUFDckQsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFBO1FBQ25CLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFdkMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1lBRS9ELFFBQVEsQ0FBQyxJQUFJLENBQ1QsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUss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QTtRQUN2RCxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFBO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGV4aGF1c3RNYXAsXG4gICAgZmlsdGVyLFxuICAgIGZpbmFsaXplLFxuICAgIGZyb20sXG4gICAgZnJvbUV2ZW50LFxuICAgIG1hcCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIE9ic2VydmFibGVJbnB1dCxcbiAgICBvZixcbiAgICByYWNlXG59IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgS2V5c3Ryb2tlU2VydmljZSB9IGZyb20gXCJAbmd1dGlsL2FyaWFcIlxuaW1wb3J0IHsgY29lcmNlRWxlbWVudCwgRWxlbWVudElucHV0IH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcblxuaW1wb3J0IHsgRmxvYXRpbmdSZWYgfSBmcm9tIFwiLi4vZmxvYXRpbmctcmVmXCJcbmltcG9ydCB7IEZsb2F0aW5nVHJhaXQgfSBmcm9tIFwiLi9fYmFzZVwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpY2tPdXRzaWRlT3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICogSWYgY2xpY2tzIGhhcHBlbmVkIG9uIHRoaXMgZWxlbWVudCwgdGhhdCBub3QgdHJpZ2dlciB0aGUgY2xvc2UgZXZlbnRcbiAgICAgKi9cbiAgICBhbGxvd2VkRWxlbWVudHM/OiBFbGVtZW50SW5wdXRbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3NlVHJpZ2dlck9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIENsb3NlIGZsb2F0aW5nIHdoZW4gY2xpY2sgb3V0c2lkZSBvZiBmbG9hdGluZyBlbGVtZW50XG4gICAgICovXG4gICAgY2xpY2tPdXRzaWRlPzogYm9vbGVhbiB8IENsaWNrT3V0c2lkZU9wdGlvbnNcblxuICAgIC8qKlxuICAgICAqIE9ubHkgd29ya3Mgd2hlbiB0aGUgZmxvYXRpbmcgZWxlbWVudCBpcyBmb2N1c2VkXG4gICAgICovXG4gICAga2V5c3Ryb2tlPzogYm9vbGVhblxuXG4gICAgLyoqXG4gICAgICogQ2xvc2Ugd2hlbiBlbWl0dGluZyBhbnkgdmFsdWVcbiAgICAgKi9cbiAgICB0cmlnZ2VyPzogT2JzZXJ2YWJsZUlucHV0PGFueT5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG9zZVRyaWdnZXJFdmVudCB7XG4gICAgc291cmNlOiBcImNsaWNrXCIgfCBcImtleXN0cm9rZVwiIHwgXCJiYWNrYnV0dG9uXCIgfCBcInRyaWdnZXJcIlxufVxuXG5jbGFzcyBDbG9zZVRyaWdnZXJUcmFpdCBpbXBsZW1lbnRzIEZsb2F0aW5nVHJhaXQge1xuICAgIHJlYWRvbmx5IG5hbWUgPSBcImNsb3NlLXRyaWdnZXJcIlxuXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgb3B0aW9uczogQ2xvc2VUcmlnZ2VyT3B0aW9ucyA9IHt9KSB7fVxuXG4gICAgY29ubmVjdChmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWYpOiBPYnNlcnZhYmxlPENsb3NlVHJpZ2dlckV2ZW50IHwgdm9pZD4ge1xuICAgICAgICBjb25zdCB7IGtleXN0cm9rZSwgY2xpY2tPdXRzaWRlLCB0cmlnZ2VyIH0gPSB0aGlzLm9wdGlvbnNcblxuICAgICAgICBjb25zdCBjb250YWluZXIgPSBmbG9hdGluZ1JlZi5jb250YWluZXIubmF0aXZlRWxlbWVudFxuICAgICAgICBjb25zdCB0cmlnZ2VycyA9IFtdXG4gICAgICAgIGNvbnN0IHNlbGZVaWQgPSBOdW1iZXIoZmxvYXRpbmdSZWYudWlkKVxuXG4gICAgICAgIGlmIChrZXlzdHJva2UpIHtcbiAgICAgICAgICAgIGNvbnN0IGtzID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLmluamVjdG9yLmdldChLZXlzdHJva2VTZXJ2aWNlKVxuXG4gICAgICAgICAgICB0cmlnZ2Vycy5wdXNoKFxuICAgICAgICAgICAgICAgIGtzLndhdGNoKGNvbnRhaW5lciwgeyBrZXk6IFwiRXNjYXBlXCIsIHN0YXRlOiBcInVwXCIgfSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHNvdXJjZTogXCJrZXlzdHJva2VcIiBhcyBjb25zdCB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAvLyBUT0RPOiBhbmd1bGFyIGF1eGlsaWFyeSByb3V0ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNsaWNrT3V0c2lkZSkge1xuICAgICAgICAgICAgY29uc3QgYWxsb3dlZEVsZW1lbnRzID1cbiAgICAgICAgICAgICAgICB0eXBlb2YgY2xpY2tPdXRzaWRlID09PSBcImJvb2xlYW5cIiA/IFtdIDogY2xpY2tPdXRzaWRlLmFsbG93ZWRFbGVtZW50cz8ubWFwKGNvZXJjZUVsZW1lbnQpIHx8IFtdXG5cbiAgICAgICAgICAgIHRyaWdnZXJzLnB1c2goXG4gICAgICAgICAgICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCBcImNsaWNrXCIsIHsgY2FwdHVyZTogdHJ1ZSwgcGFzc2l2ZTogdHJ1ZSB9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXRcblxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBhbGxvd2VkIG9mIGFsbG93ZWRFbGVtZW50cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXQgPT09IGFsbG93ZWQgfHwgYWxsb3dlZC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmxvYXRpbmdVaWQgPSBnZXRGbG9hdGluZ1VpZCh0YXJnZXQsIFwiZGF0YS1mbG9hdGluZ1wiLCBcImZsb2F0aW5nXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBiYWNrZHJvcFVpZCA9IGdldEZsb2F0aW5nVWlkKHRhcmdldCwgXCJkYXRhLWZsb2F0aW5nLWJhY2tkcm9wXCIsIFwiZmxvYXRpbmdCYWNrZHJvcFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3RoZXJCYWNrZHJvcFVpZCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXRpbmdVaWQgIT0gbnVsbCAmJiBmbG9hdGluZ1VpZCAhPT0gc2VsZlVpZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGdldEZsb2F0aW5nVWlkKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1mbG9hdGluZy1iYWNrZHJvcD1cIiR7ZmxvYXRpbmdVaWR9XCJdYCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YS1mbG9hdGluZy1iYWNrZHJvcFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZsb2F0aW5nQmFja2Ryb3BcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coeyBmbG9hdGluZ1VpZCwgYmFja2Ryb3BVaWQsIG90aGVyQmFja2Ryb3BVaWQsIHNlbGY6IHNlbGZVaWQgfSlcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZsb2F0aW5nVWlkID09IG51bGwgJiYgYmFja2Ryb3BVaWQgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNsaWNrIG9uIHNlbGYgYmFja2Ryb3BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhY2tkcm9wVWlkICE9IG51bGwgJiYgYmFja2Ryb3BVaWQgPT09IHNlbGZVaWQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNsaWNrIG9uIG90aGVyIGZsb2F0aW5nIGVsZW1lbnQsIHdoaXRvdXQgYmFja2Ryb3BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZsb2F0aW5nVWlkICE9IG51bGwgJiYgb3RoZXJCYWNrZHJvcFVpZCA9PSBudWxsICYmIGZsb2F0aW5nVWlkICE9PSBzZWxmVWlkKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjbGljayBvbiBvdGhlciBmbG9hdGluZyBlbGVtZW50IHRoYXQgb3BlbmVkIGVybGllclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmxvYXRpbmdVaWQgIT0gbnVsbCAmJiBmbG9hdGluZ1VpZCA8IHNlbGZVaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHNvdXJjZTogXCJjbGlja1wiIGFzIGNvbnN0IH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHJpZ2dlcikge1xuICAgICAgICAgICAgdHJpZ2dlcnMucHVzaChcbiAgICAgICAgICAgICAgICBmcm9tKHRyaWdnZXIpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzb3VyY2U6IFwidHJpZ2dlclwiIGFzIGNvbnN0IH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHJpZ2dlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHJhY2UoLi4udHJpZ2dlcnMpLnBpcGUoXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gY29uc29sZS5sb2coXCJDTE9TRURcIiwgZmxvYXRpbmdSZWYudWlkKSksXG4gICAgICAgICAgICAgICAgZXhoYXVzdE1hcChldmVudCA9PlxuICAgICAgICAgICAgICAgICAgICBmbG9hdGluZ1JlZi5jbG9zZSgpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gZXZlbnQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvc2VUcmlnZ2VyKG9wdGlvbnM6IENsb3NlVHJpZ2dlck9wdGlvbnMgPSB7IGNsaWNrT3V0c2lkZTogdHJ1ZSwga2V5c3Ryb2tlOiB0cnVlIH0pIHtcbiAgICByZXR1cm4gbmV3IENsb3NlVHJpZ2dlclRyYWl0KG9wdGlvbnMpXG59XG5cbmZ1bmN0aW9uIGdldEZsb2F0aW5nVWlkKGVsOiBIVE1MRWxlbWVudCB8IG51bGwsIGF0dHI6IHN0cmluZywgZGF0YXNldDogc3RyaW5nKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZWwgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgaWYgKGVsLm1hdGNoZXMoYFske2F0dHJ9XWApKSB7XG4gICAgICAgIHJldHVybiBOdW1iZXIoZWwuZGF0YXNldFtkYXRhc2V0XSkgfHwgdW5kZWZpbmVkXG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gZWwuY2xvc2VzdChgWyR7YXR0cn1dYCkgYXMgSFRNTEVsZW1lbnRcbiAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlcihwYXJlbnQuZGF0YXNldFtkYXRhc2V0XSkgfHwgdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxufVxuIl19
@@ -24,7 +24,7 @@ export class DimensionConstraintTrait {
24
24
  refDim: refDim,
25
25
  position: floatingRef.watchTrait("position")
26
26
  }).subscribe(({ refDim, position }) => {
27
- const floating = position.computed?.floating;
27
+ const floating = position.computed?.content;
28
28
  if (!floating) {
29
29
  return;
30
30
  }
@@ -33,7 +33,7 @@ export class DimensionConstraintTrait {
33
33
  }
34
34
  else {
35
35
  return floatingRef.watchTrait("position").subscribe(position => {
36
- const floating = position.computed?.floating;
36
+ const floating = position.computed?.content;
37
37
  if (!floating) {
38
38
  return;
39
39
  }
@@ -41,7 +41,7 @@ export class DimensionConstraintTrait {
41
41
  dst.next(floating[this.#map.computedRef][this.#map.dimension]);
42
42
  }
43
43
  else {
44
- dst.next(clamp(this.value, floating?.min[this.#map.dimension] || 0, floating?.max[this.#map.dimension] || Infinity));
44
+ dst.next(clamp(this.value, floating.min[this.#map.dimension] || 0, floating.max[this.#map.dimension] || Infinity));
45
45
  }
46
46
  });
47
47
  }
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltLWNvbnRyYWludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9mbG9hdGluZy90cmFpdHMvZGltLWNvbnRyYWludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQWMsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUV2RyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBRTlCLE9BQU8sRUFBZ0IsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDN0QsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBYTNELE1BQU0sT0FBTyxHQUFtQztJQUM1QyxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUU7SUFDcEQsU0FBUyxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFO0lBQ3RELFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRTtJQUNwRCxTQUFTLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUU7Q0FDekQsQ0FBQTtBQUVELE1BQU0sT0FBTyx3QkFBd0I7SUFFeEIsSUFBSSxDQUFhO0lBQzFCLFlBQ0ksSUFBMEIsRUFDakIsS0FBK0I7UUFBL0IsVUFBSyxHQUFMLEtBQUssQ0FBMEI7UUFFeEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFjLENBQUE7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxXQUE2QjtRQUNqQyxPQUFPLElBQUksVUFBVSxDQUFD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QUE7QUFDMUQsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBK0I7SUFDckQsT0FBTyxJQUFJLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUErQjtJQUNwRCxPQUFPLElBQUksd0JBQXdCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQzFELENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQStCO0lBQ3JELE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmliZXIsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBjbGFtcCB9IGZyb20gXCJsb2Rhc2hcIlxuXG5pbXBvcnQgeyBFbGVtZW50SW5wdXQsIGlzRWxlbWVudElucHV0IH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcbmltcG9ydCB7IERpbWVuc2lvbiwgRGltZW5zaW9uV2F0Y2hlciB9IGZyb20gXCJAbmd1dGlsL3N0eWxlXCJcblxuaW1wb3J0IHsgRmxvYXRpbmdSZWYgfSBmcm9tIFwiLi4vZmxvYXRpbmctcmVmXCJcbmltcG9ydCB7IEZsb2F0aW5nVHJhaXQgfSBmcm9tIFwiLi9fYmFzZVwiXG5pbXBvcnQgdHlwZSB7IEZsb2F0aW5nUG9zaXRpb24gfSBmcm9tIFwiLi9wb3NpdGlvblwiXG5cbmV4cG9ydCB0eXBlIERpbWVuc2lvbkNvbnN0cmFpbnRJbnB1dCA9IEVsZW1lbnRJbnB1dCB8IG51bWJlclxuXG5pbnRlcmZhY2UgRGltTWFwRW50cnkge1xuICAgIGNvbXB1dGVkUmVmOiBcIm1pblwiIHwgXCJtYXhcIlxuICAgIGRpbWVuc2lvbjoga2V5b2YgRGltZW5zaW9uXG59XG5cbmNvbnN0IERJTV9NQVA6IHsgW2tleTogc3RyaW5nXTogRGltTWFwRW50cnkgfSA9IHtcbiAgICBtYXhXaWR0aDogeyBjb21wdXRlZFJlZjogXCJtYXhcIiwgZGltZW5zaW9uOiBcIndpZHRoXCIgfSxcbiAgICBtYXhIZWlnaHQ6IHsgY29tcHV0ZWRSZWY6IFwibWF4XCIsIGRpbWVuc2lvbjogXCJoZWlnaHRcIiB9LFxuICAgIG1pbldpZHRoOiB7IGNvbXB1dGVkUmVmOiBcIm1pblwiLCBkaW1lbnNpb246IFwid2lkdGhcIiB9LFxuICAgIG1pbkhlaWdodDogeyBjb21wdXRlZFJlZjogXCJtaW5cIiwgZGltZW5zaW9uOiBcImhlaWdodFwiIH1cbn1cblxuZXhwb3J0IGNsYXNzIERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdCBpbXBsZW1lbnRzIEZsb2F0aW5nVHJhaXQ8bnVtYmVyPiB7XG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nXG4gICAgcmVhZG9ubHkgI21hcDogRGltTWFwRW50cnlcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgbmFtZToga2V5b2YgdHlwZW9mIERJTV9NQVAsXG4gICAgICAgIHJlYWRvbmx5IHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXRcbiAgICApIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZSBhcyBzdHJpbmdcbiAgICAgICAgdGhpcy4jbWFwID0gRElNX01BUFtuYW1lXVxuICAgIH1cblxuICAgIGNvbm5lY3QoZmxvYXRpbmdSZWY6IEZsb2F0aW5nUmVmPGFueT4pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRzdDogU3Vic2NyaWJlcjxudW1iZXI+KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNFbGVtZW50SW5wdXQodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB3YXRjaGVyID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLmluamVjdG9yLmdldChEaW1lbnNpb25XYXRjaGVyKVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlZkRpbSA9IHdhdGNoZXIud2F0Y2godGhpcy52YWx1ZSwgXCJib3JkZXItYm94XCIpLnBpcGUobWFwKHZhbHVlID0+IHZhbHVlW3RoaXMuI21hcC5kaW1lbnNpb25dKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh7XG4gICAgICAgICAgICAgICAgICAgIHJlZkRpbTogcmVmRGltLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZmxvYXRpbmdSZWYud2F0Y2hUcmFpdDxGbG9hdGluZ1Bvc2l0aW9uPihcInBvc2l0aW9uXCIpXG4gICAgICAgICAgICAgICAgfSkuc3Vic2NyaWJlKCh7IHJlZkRpbSwgcG9zaXRpb24gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmbG9hdGluZyA9IHBvc2l0aW9uLmNvbXB1dGVkPy5mbG9hdGluZ1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWZsb2F0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkc3QubmV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYW1wKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZkRpbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdGluZy5taW5bdGhpcy4jbWFwLmRpbWVuc2lvbl0gfHwgMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdGluZy5tYXhbdGhpcy4jbWFwLmRpbWVuc2lvbl0gfHwgSW5maW5pdHlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBmbG9hdGluZ1JlZi53YXRjaFRyYWl0PEZsb2F0aW5nUG9zaXRpb24+KFwicG9zaXRpb25cIikuc3Vic2NyaWJlKHBvc2l0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmxvYXRpbmcgPSBwb3NpdGlvbi5jb21wdXRlZD8uZmxvYXRpbmdcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFmbG9hdGluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzTmFOKHRoaXMudmFsdWUgYXMgbnVtYmVyKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZHN0Lm5leHQoZmxvYXRpbmdbdGhpcy4jbWFwLmNvbXB1dGVkUmVmXVt0aGlzLiNtYXAuZGltZW5zaW9uXSlcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRzdC5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYW1wKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlIGFzIG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXRpbmc/Lm1pblt0aGlzLiNtYXAuZGltZW5zaW9uXSB8fCAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdGluZz8ubWF4W3RoaXMuI21hcC5kaW1lbnNpb25dIHx8IEluZmluaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbChmbG9hdGluZ1JlZi5zdGF0ZS5vbkV4ZWN1dGUoXCJkaXNwb3NpbmdcIikpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIHRhcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmxvYXRpbmdFbCA9IGZsb2F0aW5nUmVmLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAgICAgZmxvYXRpbmdFbC5zdHlsZVt0aGlzLm5hbWUgYXMgYW55XSA9IGAke3ZhbHVlfXB4YFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1heFdpZHRoKHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdChcIm1heFdpZHRoXCIsIHZhbHVlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4SGVpZ2h0KHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdChcIm1heEhlaWdodFwiLCB2YWx1ZSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1pbldpZHRoKHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdChcIm1pbldpZHRoXCIsIHZhbHVlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWluSGVpZ2h0KHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdChcIm1pbkhlaWdodFwiLCB2YWx1ZSlcbn1cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltLWNvbnRyYWludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9mbG9hdGluZy90cmFpdHMvZGltLWNvbnRyYWludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQWMsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUV2RyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBRTlCLE9BQU8sRUFBZ0IsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDN0QsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBYTNELE1BQU0sT0FBTyxHQUFtQztJQUM1QyxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUU7SUFDcEQsU0FBUyxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFO0lBQ3RELFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRTtJQUNwRCxTQUFTLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUU7Q0FDekQsQ0FBQTtBQUVELE1BQU0sT0FBTyx3QkFBd0I7SUFFeEIsSUFBSSxDQUFhO0lBQzFCLFlBQ0ksSUFBMEIsRUFDakIsS0FBK0I7UUFBL0IsVUFBSyxHQUFMLEtBQUssQ0FBMEI7UUFFeEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFjLENBQUE7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxXQUE2QjtRQUNqQyxPQUFPLElBQUksVUFBVSxDQUFD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QUE7QUFDMUQsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBK0I7SUFDckQsT0FBTyxJQUFJLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUErQjtJQUNwRCxPQUFPLElBQUksd0JBQXdCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQzFELENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQStCO0lBQ3JELE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmliZXIsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBjbGFtcCB9IGZyb20gXCJsb2Rhc2hcIlxuXG5pbXBvcnQgeyBFbGVtZW50SW5wdXQsIGlzRWxlbWVudElucHV0IH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcbmltcG9ydCB7IERpbWVuc2lvbiwgRGltZW5zaW9uV2F0Y2hlciB9IGZyb20gXCJAbmd1dGlsL3N0eWxlXCJcblxuaW1wb3J0IHsgRmxvYXRpbmdSZWYgfSBmcm9tIFwiLi4vZmxvYXRpbmctcmVmXCJcbmltcG9ydCB7IEZsb2F0aW5nVHJhaXQgfSBmcm9tIFwiLi9fYmFzZVwiXG5pbXBvcnQgdHlwZSB7IEZsb2F0aW5nUG9zaXRpb24gfSBmcm9tIFwiLi9wb3NpdGlvblwiXG5cbmV4cG9ydCB0eXBlIERpbWVuc2lvbkNvbnN0cmFpbnRJbnB1dCA9IEVsZW1lbnRJbnB1dCB8IG51bWJlclxuXG5pbnRlcmZhY2UgRGltTWFwRW50cnkge1xuICAgIGNvbXB1dGVkUmVmOiBcIm1pblwiIHwgXCJtYXhcIlxuICAgIGRpbWVuc2lvbjoga2V5b2YgRGltZW5zaW9uXG59XG5cbmNvbnN0IERJTV9NQVA6IHsgW2tleTogc3RyaW5nXTogRGltTWFwRW50cnkgfSA9IHtcbiAgICBtYXhXaWR0aDogeyBjb21wdXRlZFJlZjogXCJtYXhcIiwgZGltZW5zaW9uOiBcIndpZHRoXCIgfSxcbiAgICBtYXhIZWlnaHQ6IHsgY29tcHV0ZWRSZWY6IFwibWF4XCIsIGRpbWVuc2lvbjogXCJoZWlnaHRcIiB9LFxuICAgIG1pbldpZHRoOiB7IGNvbXB1dGVkUmVmOiBcIm1pblwiLCBkaW1lbnNpb246IFwid2lkdGhcIiB9LFxuICAgIG1pbkhlaWdodDogeyBjb21wdXRlZFJlZjogXCJtaW5cIiwgZGltZW5zaW9uOiBcImhlaWdodFwiIH1cbn1cblxuZXhwb3J0IGNsYXNzIERpbWVuc2lvbkNvbnN0cmFpbnRUcmFpdCBpbXBsZW1lbnRzIEZsb2F0aW5nVHJhaXQ8bnVtYmVyPiB7XG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nXG4gICAgcmVhZG9ubHkgI21hcDogRGltTWFwRW50cnlcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgbmFtZToga2V5b2YgdHlwZW9mIERJTV9NQVAsXG4gICAgICAgIHJlYWRvbmx5IHZhbHVlOiBEaW1lbnNpb25Db25zdHJhaW50SW5wdXRcbiAgICApIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZSBhcyBzdHJpbmdcbiAgICAgICAgdGhpcy4jbWFwID0gRElNX01BUFtuYW1lXVxuICAgIH1cblxuICAgIGNvbm5lY3QoZmxvYXRpbmdSZWY6IEZsb2F0aW5nUmVmPGFueT4pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRzdDogU3Vic2NyaWJlcjxudW1iZXI+KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNFbGVtZW50SW5wdXQodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB3YXRjaGVyID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLmluamVjdG9yLmdldChEaW1lbnNpb25XYXRjaGVyKVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlZkRpbSA9IHdhdGNoZXIud2F0Y2godGhpcy52YWx1ZSwgXCJib3JkZXItYm94XCIpLnBpcGUobWFwKHZhbHVlID0+IHZhbHVlW3RoaXMuI21hcC5kaW1lbnNpb25dKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh7XG4gICAgICAgICAgICAgICAgICAgIHJlZkRpbTogcmVmRGltLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZmxvYXRpbmdSZWYud2F0Y2hUcmFpdDxGbG9hdGluZ1Bvc2l0aW9uPihcInBvc2l0aW9uXCIpXG4gICAgICAgICAgICAgICAgfSkuc3Vic2NyaWJlKCh7IHJlZkRpbSwgcG9zaXRpb24gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmbG9hdGluZyA9IHBvc2l0aW9uLmNvbXB1dGVkPy5jb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGlmICghZmxvYXRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRzdC5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhbXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmRGltLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0aW5nLm1pblt0aGlzLiNtYXAuZGltZW5zaW9uXSB8fCAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0aW5nLm1heFt0aGlzLiNtYXAuZGltZW5zaW9uXSB8fCBJbmZpbml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZsb2F0aW5nUmVmLndhdGNoVHJhaXQ8RmxvYXRpbmdQb3NpdGlvbj4oXCJwb3NpdGlvblwiKS5zdWJzY3JpYmUocG9zaXRpb24gPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmbG9hdGluZyA9IHBvc2l0aW9uLmNvbXB1dGVkPy5jb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGlmICghZmxvYXRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc05hTih0aGlzLnZhbHVlIGFzIG51bWJlcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRzdC5uZXh0KGZsb2F0aW5nW3RoaXMuI21hcC5jb21wdXRlZFJlZl1bdGhpcy4jbWFwLmRpbWVuc2lvbl0pXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkc3QubmV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFtcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSBhcyBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0aW5nIS5taW5bdGhpcy4jbWFwLmRpbWVuc2lvbl0gfHwgMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXRpbmchLm1heFt0aGlzLiNtYXAuZGltZW5zaW9uXSB8fCBJbmZpbml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwoZmxvYXRpbmdSZWYuc3RhdGUub25FeGVjdXRlKFwiZGlzcG9zaW5nXCIpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICB0YXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0aW5nRWwgPSBmbG9hdGluZ1JlZi5jb250YWluZXIubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgIGZsb2F0aW5nRWwuc3R5bGVbdGhpcy5uYW1lIGFzIGFueV0gPSBgJHt2YWx1ZX1weGBcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXhXaWR0aCh2YWx1ZTogRGltZW5zaW9uQ29uc3RyYWludElucHV0KSB7XG4gICAgcmV0dXJuIG5ldyBEaW1lbnNpb25Db25zdHJhaW50VHJhaXQoXCJtYXhXaWR0aFwiLCB2YWx1ZSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1heEhlaWdodCh2YWx1ZTogRGltZW5zaW9uQ29uc3RyYWludElucHV0KSB7XG4gICAgcmV0dXJuIG5ldyBEaW1lbnNpb25Db25zdHJhaW50VHJhaXQoXCJtYXhIZWlnaHRcIiwgdmFsdWUpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW5XaWR0aCh2YWx1ZTogRGltZW5zaW9uQ29uc3RyYWludElucHV0KSB7XG4gICAgcmV0dXJuIG5ldyBEaW1lbnNpb25Db25zdHJhaW50VHJhaXQoXCJtaW5XaWR0aFwiLCB2YWx1ZSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1pbkhlaWdodCh2YWx1ZTogRGltZW5zaW9uQ29uc3RyYWludElucHV0KSB7XG4gICAgcmV0dXJuIG5ldyBEaW1lbnNpb25Db25zdHJhaW50VHJhaXQoXCJtaW5IZWlnaHRcIiwgdmFsdWUpXG59XG4iXX0=
@@ -1,12 +1,12 @@
1
1
  export * from "./_base";
2
2
  export * from "./animation";
3
3
  export * from "./backdrop";
4
+ export * from "./close-trigger";
4
5
  export * from "./dim-contraint";
5
6
  export * from "./focus";
6
- export * from "./keystroke";
7
7
  export * from "./modal";
8
8
  export * from "./position-calc";
9
9
  export * from "./position";
10
10
  export * from "./style";
11
11
  export * from "./attribute";
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLGFBQWEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL19iYXNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2FuaW1hdGlvblwiXG5leHBvcnQgKiBmcm9tIFwiLi9iYWNrZHJvcFwiXG5leHBvcnQgKiBmcm9tIFwiLi9kaW0tY29udHJhaW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2ZvY3VzXCJcbmV4cG9ydCAqIGZyb20gXCIuL2tleXN0cm9rZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9tb2RhbFwiXG5leHBvcnQgKiBmcm9tIFwiLi9wb3NpdGlvbi1jYWxjXCJcbmV4cG9ydCAqIGZyb20gXCIuL3Bvc2l0aW9uXCJcbmV4cG9ydCAqIGZyb20gXCIuL3N0eWxlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2F0dHJpYnV0ZVwiXG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsYUFBYSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vX2Jhc2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vYW5pbWF0aW9uXCJcbmV4cG9ydCAqIGZyb20gXCIuL2JhY2tkcm9wXCJcbmV4cG9ydCAqIGZyb20gXCIuL2Nsb3NlLXRyaWdnZXJcIlxuZXhwb3J0ICogZnJvbSBcIi4vZGltLWNvbnRyYWludFwiXG5leHBvcnQgKiBmcm9tIFwiLi9mb2N1c1wiXG5leHBvcnQgKiBmcm9tIFwiLi9tb2RhbFwiXG5leHBvcnQgKiBmcm9tIFwiLi9wb3NpdGlvbi1jYWxjXCJcbmV4cG9ydCAqIGZyb20gXCIuL3Bvc2l0aW9uXCJcbmV4cG9ydCAqIGZyb20gXCIuL3N0eWxlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2F0dHJpYnV0ZVwiXG4iXX0=
@@ -1,9 +1,9 @@
1
1
  import { fallAnimation } from "./animation";
2
2
  import { backdrop } from "./backdrop";
3
+ import { closeTrigger } from "./close-trigger";
3
4
  import { focus } from "./focus";
4
- import { keystroke } from "./keystroke";
5
5
  import { position } from "./position";
6
- export function modal(options = {}) {
6
+ export function modal() {
7
7
  return [
8
8
  position({
9
9
  anchor: {
@@ -15,10 +15,10 @@ export function modal(options = {}) {
15
15
  padding: "16px"
16
16
  }
17
17
  }),
18
- backdrop({ type: "solid", color: "rgba(0, 0, 0, .3)", closeOnClick: options.closeOnBackdropClick }),
18
+ backdrop({ type: "solid", color: "rgba(0, 0, 0, .3)" }),
19
19
  focus({ trap: true }),
20
- keystroke(),
20
+ closeTrigger(),
21
21
  fallAnimation()
22
22
  ];
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL21vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQU1yQyxNQUFNLFVBQVUsS0FBSyxDQUFDLFVBQXdCLEVBQUU7SUFDNUMsT0FBTztRQUNILFFBQVEsQ0FBQztZQUNMLE1BQU0sRUFBRTtnQkFDSixHQUFHLEVBQUUsVUFBVTtnQkFDZixLQUFLLEVBQUUsZUFBZTthQUN6QjtZQUNELFNBQVMsRUFBRTtnQkFDUCxHQUFHLEVBQUUsVUFBVTtnQkFDZixPQUFPLEVBQUUsTUFBTTthQUNsQjtTQUNKLENBQUM7UUFDRixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDbkcsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3JCLFNBQVMsRUFBRTtRQUNYLGFBQWEsRUFBRTtLQUNsQixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZhbGxBbmltYXRpb24gfSBmcm9tIFwiLi9hbmltYXRpb25cIlxuaW1wb3J0IHsgYmFja2Ryb3AgfSBmcm9tIFwiLi9iYWNrZHJvcFwiXG5pbXBvcnQgeyBmb2N1cyB9IGZyb20gXCIuL2ZvY3VzXCJcbmltcG9ydCB7IGtleXN0cm9rZSB9IGZyb20gXCIuL2tleXN0cm9rZVwiXG5pbXBvcnQgeyBwb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCJcblxuZXhwb3J0IGludGVyZmFjZSBNb2RhbE9wdGlvbnMge1xuICAgIGNsb3NlT25CYWNrZHJvcENsaWNrPzogYm9vbGVhblxufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9kYWwob3B0aW9uczogTW9kYWxPcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gW1xuICAgICAgICBwb3NpdGlvbih7XG4gICAgICAgICAgICBhbmNob3I6IHtcbiAgICAgICAgICAgICAgICByZWY6IFwidmlld3BvcnRcIixcbiAgICAgICAgICAgICAgICBhbGlnbjogXCJjZW50ZXIgbWlkZGxlXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwbGFjZW1lbnQ6IHtcbiAgICAgICAgICAgICAgICByZWY6IFwidmlld3BvcnRcIixcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBcIjE2cHhcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgYmFja2Ryb3AoeyB0eXBlOiBcInNvbGlkXCIsIGNvbG9yOiBcInJnYmEoMCwgMCwgMCwgLjMpXCIsIGNsb3NlT25DbGljazogb3B0aW9ucy5jbG9zZU9uQmFja2Ryb3BDbGljayB9KSxcbiAgICAgICAgZm9jdXMoeyB0cmFwOiB0cnVlIH0pLFxuICAgICAgICBrZXlzdHJva2UoKSxcbiAgICAgICAgZmFsbEFuaW1hdGlvbigpXG4gICAgXVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL21vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXJDLE1BQU0sVUFBVSxLQUFLO0lBQ2pCLE9BQU87UUFDSCxRQUFRLENBQUM7WUFDTCxNQUFNLEVBQUU7Z0JBQ0osR0FBRyxFQUFFLFVBQVU7Z0JBQ2YsS0FBSyxFQUFFLGVBQWU7YUFDekI7WUFDRCxTQUFTLEVBQUU7Z0JBQ1AsR0FBRyxFQUFFLFVBQVU7Z0JBQ2YsT0FBTyxFQUFFLE1BQU07YUFDbEI7U0FDSixDQUFDO1FBQ0YsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztRQUN2RCxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDckIsWUFBWSxFQUFFO1FBQ2QsYUFBYSxFQUFFO0tBQ2xCLENBQUE7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmFsbEFuaW1hdGlvbiB9IGZyb20gXCIuL2FuaW1hdGlvblwiXG5pbXBvcnQgeyBiYWNrZHJvcCB9IGZyb20gXCIuL2JhY2tkcm9wXCJcbmltcG9ydCB7IGNsb3NlVHJpZ2dlciB9IGZyb20gXCIuL2Nsb3NlLXRyaWdnZXJcIlxuaW1wb3J0IHsgZm9jdXMgfSBmcm9tIFwiLi9mb2N1c1wiXG5pbXBvcnQgeyBwb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCJcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGFsKCkge1xuICAgIHJldHVybiBbXG4gICAgICAgIHBvc2l0aW9uKHtcbiAgICAgICAgICAgIGFuY2hvcjoge1xuICAgICAgICAgICAgICAgIHJlZjogXCJ2aWV3cG9ydFwiLFxuICAgICAgICAgICAgICAgIGFsaWduOiBcImNlbnRlciBtaWRkbGVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBsYWNlbWVudDoge1xuICAgICAgICAgICAgICAgIHJlZjogXCJ2aWV3cG9ydFwiLFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IFwiMTZweFwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBiYWNrZHJvcCh7IHR5cGU6IFwic29saWRcIiwgY29sb3I6IFwicmdiYSgwLCAwLCAwLCAuMylcIiB9KSxcbiAgICAgICAgZm9jdXMoeyB0cmFwOiB0cnVlIH0pLFxuICAgICAgICBjbG9zZVRyaWdnZXIoKSxcbiAgICAgICAgZmFsbEFuaW1hdGlvbigpXG4gICAgXVxufVxuIl19