@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.
- package/esm2022/floating/floating-ref.mjs +25 -21
- package/esm2022/floating/traits/animation.mjs +4 -4
- package/esm2022/floating/traits/backdrop.mjs +7 -13
- package/esm2022/floating/traits/dim-contraint.mjs +3 -3
- package/esm2022/floating/traits/focus.mjs +7 -9
- package/esm2022/floating/traits/position.mjs +3 -3
- package/esm2022/layer/backdrop-ref.mjs +9 -9
- package/esm2022/layer/child-ref.mjs +16 -12
- package/esm2022/layer/container-ref.mjs +2 -2
- package/esm2022/layer/index.mjs +2 -1
- package/esm2022/layer/layer.service.mjs +22 -2
- package/fesm2022/ngutil-floating.mjs +82 -63
- package/fesm2022/ngutil-floating.mjs.map +1 -1
- package/floating/floating-ref.d.ts +8 -5
- package/layer/backdrop-ref.d.ts +1 -2
- package/layer/child-ref.d.ts +13 -5
- package/layer/container-ref.d.ts +2 -2
- package/layer/index.d.ts +1 -0
- package/package.json +4 -4
|
@@ -2,7 +2,7 @@ import { Injector } from "@angular/core";
|
|
|
2
2
|
import { ChildRef } from "./child-ref";
|
|
3
3
|
export class ContainerRef extends ChildRef {
|
|
4
4
|
constructor(options) {
|
|
5
|
-
super(createElement(options));
|
|
5
|
+
super(createElement(options), options.alwaysOnTop || 0 /* AlwaysOnTop.None */);
|
|
6
6
|
this.options = options;
|
|
7
7
|
this.injectorName = "ContainerRef";
|
|
8
8
|
const providers = options.providers || [];
|
|
@@ -38,4 +38,4 @@ function createElement(options) {
|
|
|
38
38
|
}
|
|
39
39
|
return div;
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9sYXllci9jb250YWluZXItcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUE7QUFFbEQsT0FBTyxFQUFlLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQVduRCxNQUFNLE9BQU8sWUFBYSxTQUFRLFFBQVE7SUFLdEMsWUFBNEIsT0FBeUI7UUFDakQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsV0FBVyw0QkFBb0IsQ0FBQyxDQUFBO1FBRDlDLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBRjNDLGlCQUFZLEdBQUcsY0FBYyxDQUFBO1FBS25DLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFBO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUM1QixTQUFTLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxHQUFHLFNBQVMsQ0FBQztZQUNqRCxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQzFCLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUU7WUFDM0IsT0FBUSxJQUFZLENBQUMsT0FBTyxDQUFBO1lBQzVCLE9BQVEsSUFBWSxDQUFDLFFBQVEsQ0FBQTtRQUNqQyxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFUyxZQUFZO1FBQ2xCLE9BQU87WUFDSCxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUNyQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtTQUM1QyxDQUFBO0lBQ0wsQ0FBQztDQUNKO0FBRUQsU0FBUyxhQUFhLENBQUMsT0FBeUI7SUFDNUMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN6QyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUE7SUFDL0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ25CLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQTtJQUNwQixHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUE7SUFDL0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFBO0lBQ2pDLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQTtJQUNsQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7SUFDaEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFBO0lBRXBDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQTtBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgUHJvdmlkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7IEFsd2F5c09uVG9wLCBDaGlsZFJlZiB9IGZyb20gXCIuL2NoaWxkLXJlZlwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFpbmVyT3B0aW9ucyB7XG4gICAgYWx3YXlzT25Ub3A/OiBBbHdheXNPblRvcFxuICAgIGVsZXZhdGlvbj86IG51bWJlclxuICAgIGNsYXNzZXM/OiBzdHJpbmdbXVxuICAgIGF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgaW5qZWN0b3I/OiBJbmplY3RvclxuICAgIHByb3ZpZGVycz86IFByb3ZpZGVyW11cbn1cblxuZXhwb3J0IGNsYXNzIENvbnRhaW5lclJlZiBleHRlbmRzIENoaWxkUmVmIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yXG5cbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3JOYW1lID0gXCJDb250YWluZXJSZWZcIlxuXG4gICAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG9wdGlvbnM6IENvbnRhaW5lck9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoY3JlYXRlRWxlbWVudChvcHRpb25zKSwgb3B0aW9ucy5hbHdheXNPblRvcCB8fCBBbHdheXNPblRvcC5Ob25lKVxuXG4gICAgICAgIGNvbnN0IHByb3ZpZGVycyA9IG9wdGlvbnMucHJvdmlkZXJzIHx8IFtdXG4gICAgICAgIHRoaXMuaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcHJvdmlkZXJzOiBbLi4udGhpcy5nZXRQcm92aWRlcnMoKSwgLi4ucHJvdmlkZXJzXSxcbiAgICAgICAgICAgIHBhcmVudDogb3B0aW9ucy5pbmplY3RvcixcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuaW5qZWN0b3JOYW1lXG4gICAgICAgIH0pXG5cbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcImRpc3Bvc2VkXCIsICgpID0+IHtcbiAgICAgICAgICAgIGRlbGV0ZSAodGhpcyBhcyBhbnkpLm9wdGlvbnNcbiAgICAgICAgICAgIGRlbGV0ZSAodGhpcyBhcyBhbnkpLmluamVjdG9yXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFByb3ZpZGVycygpOiBQcm92aWRlcltdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgcHJvdmlkZTogQ2hpbGRSZWYsIHVzZVZhbHVlOiB0aGlzIH0sXG4gICAgICAgICAgICB7IHByb3ZpZGU6IENvbnRhaW5lclJlZiwgdXNlVmFsdWU6IHRoaXMgfVxuICAgICAgICBdXG4gICAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50KG9wdGlvbnM6IENvbnRhaW5lck9wdGlvbnMpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKVxuICAgIGRpdi5zdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIlxuICAgIGRpdi5zdHlsZS50b3AgPSBcIjBcIlxuICAgIGRpdi5zdHlsZS5sZWZ0ID0gXCIwXCJcbiAgICBkaXYuc3R5bGUud2lkdGggPSBcIm1heC1jb250ZW50XCJcbiAgICBkaXYuc3R5bGUuZGlzcGxheSA9IFwiaW5saW5lLWZsZXhcIlxuICAgIGRpdi5zdHlsZS5mbGV4RGlyZWN0aW9uID0gXCJjb2x1bW5cIlxuICAgIGRpdi5zdHlsZS5hbGlnbkl0ZW1zID0gXCJzdHJldGNoXCJcbiAgICBkaXYuc3R5bGUuanVzdGlmeUNvbnRlbnQgPSBcInN0cmV0Y2hcIlxuXG4gICAgaWYgKG9wdGlvbnMuY2xhc3Nlcykge1xuICAgICAgICBkaXYuY2xhc3NMaXN0LmFkZCguLi5vcHRpb25zLmNsYXNzZXMpXG4gICAgfVxuXG4gICAgcmV0dXJuIGRpdlxufVxuIl19
|
package/esm2022/layer/index.mjs
CHANGED
|
@@ -2,4 +2,5 @@ export * from "./backdrop-ref";
|
|
|
2
2
|
export * from "./child-ref";
|
|
3
3
|
export * from "./layer.service";
|
|
4
4
|
export * from "./portal-ref";
|
|
5
|
-
|
|
5
|
+
export * from "./container-ref";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvbGF5ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMsY0FBYyxDQUFBO0FBQzVCLGNBQWMsaUJBQWlCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9iYWNrZHJvcC1yZWZcIlxuZXhwb3J0ICogZnJvbSBcIi4vY2hpbGQtcmVmXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xheWVyLnNlcnZpY2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vcG9ydGFsLXJlZlwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb250YWluZXItcmVmXCJcbiJdfQ==
|
|
@@ -66,7 +66,7 @@ export class LayerService {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
#update() {
|
|
69
|
-
const children = toSorted(this.#children,
|
|
69
|
+
const children = toSorted(this.#children, sortChildren2);
|
|
70
70
|
let zIndex = this.#zIndexStart;
|
|
71
71
|
for (const child of children) {
|
|
72
72
|
child.zIndex = zIndex;
|
|
@@ -115,6 +115,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
|
|
|
115
115
|
providers: [{ provide: LayerService, useExisting: IndividualLayer }]
|
|
116
116
|
}]
|
|
117
117
|
}] });
|
|
118
|
+
function sortChildren2(a, b) {
|
|
119
|
+
const alwaysOnTop = sortByAlwaysOnTop(a, b);
|
|
120
|
+
if (alwaysOnTop === 0) {
|
|
121
|
+
return sortByBackdrop(a, b);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
return alwaysOnTop;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
118
127
|
function sortByBackdrop(a, b) {
|
|
119
128
|
if (a instanceof BackdropRef && a.under === b) {
|
|
120
129
|
return -1;
|
|
@@ -127,4 +136,15 @@ function sortByBackdrop(a, b) {
|
|
|
127
136
|
function sortByZIndexDesc(a, b) {
|
|
128
137
|
return b.zIndex - a.zIndex;
|
|
129
138
|
}
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9sYXllci9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWUsTUFBTSxlQUFlLENBQUE7QUFFdEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUvQyxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTdELE9BQU8sRUFBb0IsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEUsT0FBTyxFQUEwQixrQkFBa0IsRUFBeUIsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7O0FBRW5ILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFTLG9CQUFvQixDQUFDLENBQUE7QUFFbEYsNkNBQTZDO0FBQzdDLDhDQUE4QztBQUc5QyxNQUFNLE9BQWdCLFlBQVk7SUFDckIsTUFBTSxDQUF1QjtJQUM3QixTQUFTLENBQW1CO0lBR3JDLHlDQUF5QztJQUVoQyxTQUFTLENBQXNCO0lBQy9CLFlBQVksQ0FBUTtJQUM3Qiw0QkFBNEI7SUFFNUIsWUFBb0QsV0FBb0I7UUFWL0QsV0FBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM3QixjQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRTVCLFNBQUksR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFBO1FBQzNELHlDQUF5QztRQUVoQyxjQUFTLEdBQW9CLEVBQUUsQ0FBQTtRQUtwQyxJQUFJLFdBQVcsSUFBSSxJQUFJLEVB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QWlCLEVBQUUsQ0FBQztpQkFDdkU7O0FBR0QsU0FBUyxjQUFjLENBQUMsQ0FBVyxFQUFFLENBQVc7SUFDNUMsSUFBSSxDQUFDLFlBQVksV0FBVyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUNiLENBQUM7U0FBTSxJQUFJLENBQUMsWUFBWSxXQUFXLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuRCxPQUFPLENBQUMsQ0FBQTtJQUNaLENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQTtBQUNaLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLENBQVcsRUFBRSxDQUFXO0lBQzlDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFBO0FBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIlxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBPcHRpb25hbCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7IHRvU29ydGVkIH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcbmltcG9ydCB7IENvdmVyU2VydmljZSB9IGZyb20gXCJAbmd1dGlsL2dyYXBoaWNzXCJcblxuaW1wb3J0IHsgQmFja2Ryb3BPcHRpb25zLCBCYWNrZHJvcFJlZiB9IGZyb20gXCIuL2JhY2tkcm9wLXJlZlwiXG5pbXBvcnQgeyBDaGlsZFJlZiB9IGZyb20gXCIuL2NoaWxkLXJlZlwiXG5pbXBvcnQgeyBDb250YWluZXJPcHRpb25zLCBDb250YWluZXJSZWYgfSBmcm9tIFwiLi9jb250YWluZXItcmVmXCJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbE9wdGlvbnMsIENvbXBvbmVudFBvcnRhbFJlZiwgVGVtcGxhdGVQb3J0YWxPcHRpb25zLCBUZW1wbGF0ZVBvcnRhbFJlZiB9IGZyb20gXCIuL3BvcnRhbC1yZWZcIlxuXG5leHBvcnQgY29uc3QgTEFZRVJfWklOREVYX1NUQVJUID0gbmV3IEluamVjdGlvblRva2VuPG51bWJlcj4oXCJMQVlFUl9aSU5ERVhfU1RBUlRcIilcblxuLy8gVE9ETzogRUxFVkFUSU9OX1NURVAgY29uZmlnIHdpdGggaW5qZWN0aW9uXG4vLyBUT0RPOiBFTEVWQVRJT05fU1RBUlQgY29uZmlnIHdpdGggaW5qZWN0aW9uXG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExheWVyU2VydmljZSB7XG4gICAgcmVhZG9ubHkgI2NvdmVyID0gaW5qZWN0KENvdmVyU2VydmljZSlcbiAgICByZWFkb25seSAjaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpXG5cbiAgICByZWFkb25seSByb290ID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKVxuICAgIC8vIHJlYWRvbmx5ICNlbCA9IHRoaXMucm9vdC5uYXRpdmVFbGVtZW50XG5cbiAgICByZWFkb25seSAjY2hpbGRyZW46IEFycmF5PENoaWxkUmVmPiA9IFtdXG4gICAgcmVhZG9ubHkgI3pJbmRleFN0YXJ0OiBudW1iZXJcbiAgICAvLyByZWFkb25seSAjYmFja2Ryb3A6IE1hcDw+XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KExBWUVSX1pJTkRFWF9TVEFSVCkgQE9wdGlvbmFsKCkgekluZGV4U3RhcnQ/OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHpJbmRleFN0YXJ0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuI3pJbmRleFN0YXJ0ID0gekluZGV4U3RhcnRcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuI3pJbmRleFN0YXJ0ID0gMTAwMDBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5ld0NvbXBvbmVudFBvcnRhbDxUPihjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM6IENvbXBvbmVudFBvcnRhbE9wdGlvbnM8VD4pOiBDb21wb25lbnRQb3J0YWxSZWY8VD4ge1xuICAgICAgICBpZiAoIW9wdGlvbnMuaW5qZWN0b3IpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IC4uLm9wdGlvbnMsIGluamVjdG9yOiB0aGlzLiNpbmplY3RvciB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwZW5kKG5ldyBDb21wb25lbnRQb3J0YWxSZWYoY29tcG9uZW50LCBvcHRpb25zKSlcbiAgICB9XG5cbiAgICBuZXdUZW1wbGF0ZVBvcnRhbDxUPih0cGw6IFRlbXBsYXRlUmVmPFQ+LCBvcHRpb25zOiBUZW1wbGF0ZVBvcnRhbE9wdGlvbnM8VD4pOiBUZW1wbGF0ZVBvcnRhbFJlZjxUPiB7XG4gICAgICAgIGlmICghb3B0aW9ucy5pbmplY3Rvcikge1xuICAgICAgICAgICAgb3B0aW9ucyA9IHsgLi4ub3B0aW9ucywgaW5qZWN0b3I6IHRoaXMuI2luamVjdG9yIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5hcHBlbmQobmV3IFRlbXBsYXRlUG9ydGFsUmVmKHRwbCwgb3B0aW9ucykpXG4gICAgfVxuXG4gICAgbmV3Q29udGFpbmVyKG9wdGlvbnM6IENvbnRhaW5lck9wdGlvbnMpOiBDb250YWluZXJSZWYge1xuICAgICAgICBpZiAoIW9wdGlvbnMuaW5qZWN0b3IpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IC4uLm9wdGlvbnMsIGluamVjdG9yOiB0aGlzLiNpbmplY3RvciB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwZW5kKG5ldyBDb250YWluZXJSZWYob3B0aW9ucykpXG4gICAgfVxuXG4gICAgbmV3QmFja2Ryb3Aob3B0aW9uczogQmFja2Ryb3BPcHRpb25zKTogQmFja2Ryb3BSZWYge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBlbmQoQmFja2Ryb3BSZWYuZnJvbSh0aGlzLiNjb3ZlciwgdGhpcy4jaW5qZWN0b3IsIG9wdGlvbnMpKVxuICAgIH1cblxuICAgIGFwcGVuZDxUIGV4dGVuZHMgQ2hpbGRSZWY+KHJlZjogVCk6IFQge1xuICAgICAgICBpZiAoIXRoaXMuI2NoaWxkcmVuLmluY2x1ZGVzKHJlZikpIHtcbiAgICAgICAgICAgIHRoaXMuI2NoaWxkcmVuLnB1c2gocmVmKVxuICAgICAgICAgICAgdGhpcy4jdXBkYXRlKClcbiAgICAgICAgICAgIHRoaXMucm9vdC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgcmVmLnN0YXRlLm9uKFwiZGlzcG9zZWRcIiwgKCkgPT4gdGhpcy4jcmVtb3ZlKHJlZikpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlZlxuICAgIH1cblxuICAgICNyZW1vdmUocmVmOiBDaGlsZFJlZikge1xuICAgICAgICBjb25zdCBpZHggPSB0aGlzLiNjaGlsZHJlbi5pbmRleE9mKHJlZilcbiAgICAgICAgaWYgKGlkeCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLiNjaGlsZHJlbi5zcGxpY2UoaWR4LCAxKVxuICAgICAgICAgICAgdGhpcy4jdXBkYXRlKClcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN1cGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gdG9Tb3J0ZWQodGhpcy4jY2hpbGRyZW4sIHNvcnRCeUJhY2tkcm9wKVxuXG4gICAgICAgIGxldCB6SW5kZXggPSB0aGlzLiN6SW5kZXhTdGFydFxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICBjaGlsZC56SW5kZXggPSB6SW5kZXhcbiAgICAgICAgICAgIHpJbmRleCArPSAxXG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZHJlbi5zb3J0KHNvcnRCeVpJbmRleERlc2MpXG5cbiAgICAgICAgbGV0IGhhc0JhY2tkcm9wID0gZmFsc2VcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgQmFja2Ryb3BSZWYgJiYgY2hpbGQub3B0aW9ucy50eXBlID09PSBcInNvbGlkXCIpIHtcbiAgICAgICAgICAgICAgICBjaGlsZC52aXNpYmxlID0gIWhhc0JhY2tkcm9wXG4gICAgICAgICAgICAgICAgaGFzQmFja2Ryb3AgPSB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcImJvZHlcIixcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTGF5ZXJTZXJ2aWNlLCB1c2VFeGlzdGluZzogUm9vdExheWVyIH1dXG59KVxuZXhwb3J0IGNsYXNzIFJvb3RMYXllciBleHRlbmRzIExheWVyU2VydmljZSB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTGF5ZXJTZXJ2aWNlLCB1c2VFeGlzdGluZzogSW5kaXZpZHVhbExheWVyIH1dXG59KVxuZXhwb3J0IGNsYXNzIEluZGl2aWR1YWxMYXllciBleHRlbmRzIExheWVyU2VydmljZSB7fVxuXG5mdW5jdGlvbiBzb3J0QnlCYWNrZHJvcChhOiBDaGlsZFJlZiwgYjogQ2hpbGRSZWYpIHtcbiAgICBpZiAoYSBpbnN0YW5jZW9mIEJhY2tkcm9wUmVmICYmIGEudW5kZXIgPT09IGIpIHtcbiAgICAgICAgcmV0dXJuIC0xXG4gICAgfSBlbHNlIGlmIChiIGluc3RhbmNlb2YgQmFja2Ryb3BSZWYgJiYgYi51bmRlciA9PT0gYSkge1xuICAgICAgICByZXR1cm4gMVxuICAgIH1cbiAgICByZXR1cm4gMFxufVxuXG5mdW5jdGlvbiBzb3J0QnlaSW5kZXhEZXNjKGE6IENoaWxkUmVmLCBiOiBDaGlsZFJlZikge1xuICAgIHJldHVybiBiLnpJbmRleCAtIGEuekluZGV4XG59XG4iXX0=
|
|
139
|
+
function sortByAlwaysOnTop(a, b) {
|
|
140
|
+
return getAlwaysOnTop(a) - getAlwaysOnTop(b);
|
|
141
|
+
}
|
|
142
|
+
function getAlwaysOnTop(child) {
|
|
143
|
+
if (child instanceof BackdropRef) {
|
|
144
|
+
return child.under.alwaysOnTop || 0 /* AlwaysOnTop.None */;
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
return child.alwaysOnTop || 0 /* AlwaysOnTop.None */;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9sYXllci9sYXllci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWUsTUFBTSxlQUFlLENBQUE7QUFFdEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUvQyxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTdELE9BQU8sRUFBb0IsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEUsT0FBTyxFQUEwQixrQkFBa0IsRUFBeUIsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7O0FBRW5ILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFTLG9CQUFvQixDQUFDLENBQUE7QUFFbEYsNkNBQTZDO0FBQzdDLDhDQUE4QztBQUc5QyxNQUFNLE9BQWdCLFlBQVk7SUFDckIsTUFBTSxDQUF1QjtJQUM3QixTQUFTLENBQW1CO0lBR3JDLHlDQUF5QztJQUVoQyxTQUFTLENBQXNCO0lBQy9CLFlBQVksQ0FBUTtJQUM3Qiw0QkFBNEI7SUFFNUIsWUFBb0QsV0FBb0I7UUFWL0QsV0FBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM3QixjQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRTVCLFNBQUksR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFBO1FBQzNELHlDQUF5QztRQUVoQyxjQUFTLEdBQW9CLEVBQUUsQ0FBQTtRQUtwQyxJQUFJLFdBQVcsSUFBSSxJQUFJLEVB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aEQsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIlxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBPcHRpb25hbCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7IHRvU29ydGVkIH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcbmltcG9ydCB7IENvdmVyU2VydmljZSB9IGZyb20gXCJAbmd1dGlsL2dyYXBoaWNzXCJcblxuaW1wb3J0IHsgQmFja2Ryb3BPcHRpb25zLCBCYWNrZHJvcFJlZiB9IGZyb20gXCIuL2JhY2tkcm9wLXJlZlwiXG5pbXBvcnQgeyBBbHdheXNPblRvcCwgQ2hpbGRSZWYgfSBmcm9tIFwiLi9jaGlsZC1yZWZcIlxuaW1wb3J0IHsgQ29udGFpbmVyT3B0aW9ucywgQ29udGFpbmVyUmVmIH0gZnJvbSBcIi4vY29udGFpbmVyLXJlZlwiXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWxPcHRpb25zLCBDb21wb25lbnRQb3J0YWxSZWYsIFRlbXBsYXRlUG9ydGFsT3B0aW9ucywgVGVtcGxhdGVQb3J0YWxSZWYgfSBmcm9tIFwiLi9wb3J0YWwtcmVmXCJcblxuZXhwb3J0IGNvbnN0IExBWUVSX1pJTkRFWF9TVEFSVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxudW1iZXI+KFwiTEFZRVJfWklOREVYX1NUQVJUXCIpXG5cbi8vIFRPRE86IEVMRVZBVElPTl9TVEVQIGNvbmZpZyB3aXRoIGluamVjdGlvblxuLy8gVE9ETzogRUxFVkFUSU9OX1NUQVJUIGNvbmZpZyB3aXRoIGluamVjdGlvblxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMYXllclNlcnZpY2Uge1xuICAgIHJlYWRvbmx5ICNjb3ZlciA9IGluamVjdChDb3ZlclNlcnZpY2UpXG4gICAgcmVhZG9ubHkgI2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKVxuXG4gICAgcmVhZG9ubHkgcm9vdCA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZilcbiAgICAvLyByZWFkb25seSAjZWwgPSB0aGlzLnJvb3QubmF0aXZlRWxlbWVudFxuXG4gICAgcmVhZG9ubHkgI2NoaWxkcmVuOiBBcnJheTxDaGlsZFJlZj4gPSBbXVxuICAgIHJlYWRvbmx5ICN6SW5kZXhTdGFydDogbnVtYmVyXG4gICAgLy8gcmVhZG9ubHkgI2JhY2tkcm9wOiBNYXA8PlxuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMQVlFUl9aSU5ERVhfU1RBUlQpIEBPcHRpb25hbCgpIHpJbmRleFN0YXJ0PzogbnVtYmVyKSB7XG4gICAgICAgIGlmICh6SW5kZXhTdGFydCAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLiN6SW5kZXhTdGFydCA9IHpJbmRleFN0YXJ0XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLiN6SW5kZXhTdGFydCA9IDEwMDAwXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdDb21wb25lbnRQb3J0YWw8VD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBvcHRpb25zOiBDb21wb25lbnRQb3J0YWxPcHRpb25zPFQ+KTogQ29tcG9uZW50UG9ydGFsUmVmPFQ+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zLmluamVjdG9yKSB7XG4gICAgICAgICAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBpbmplY3RvcjogdGhpcy4jaW5qZWN0b3IgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmFwcGVuZChuZXcgQ29tcG9uZW50UG9ydGFsUmVmKGNvbXBvbmVudCwgb3B0aW9ucykpXG4gICAgfVxuXG4gICAgbmV3VGVtcGxhdGVQb3J0YWw8VD4odHBsOiBUZW1wbGF0ZVJlZjxUPiwgb3B0aW9uczogVGVtcGxhdGVQb3J0YWxPcHRpb25zPFQ+KTogVGVtcGxhdGVQb3J0YWxSZWY8VD4ge1xuICAgICAgICBpZiAoIW9wdGlvbnMuaW5qZWN0b3IpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IC4uLm9wdGlvbnMsIGluamVjdG9yOiB0aGlzLiNpbmplY3RvciB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwZW5kKG5ldyBUZW1wbGF0ZVBvcnRhbFJlZih0cGwsIG9wdGlvbnMpKVxuICAgIH1cblxuICAgIG5ld0NvbnRhaW5lcihvcHRpb25zOiBDb250YWluZXJPcHRpb25zKTogQ29udGFpbmVyUmVmIHtcbiAgICAgICAgaWYgKCFvcHRpb25zLmluamVjdG9yKSB7XG4gICAgICAgICAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBpbmplY3RvcjogdGhpcy4jaW5qZWN0b3IgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmFwcGVuZChuZXcgQ29udGFpbmVyUmVmKG9wdGlvbnMpKVxuICAgIH1cblxuICAgIG5ld0JhY2tkcm9wKG9wdGlvbnM6IEJhY2tkcm9wT3B0aW9ucyk6IEJhY2tkcm9wUmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwZW5kKEJhY2tkcm9wUmVmLmZyb20odGhpcy4jY292ZXIsIHRoaXMuI2luamVjdG9yLCBvcHRpb25zKSlcbiAgICB9XG5cbiAgICBhcHBlbmQ8VCBleHRlbmRzIENoaWxkUmVmPihyZWY6IFQpOiBUIHtcbiAgICAgICAgaWYgKCF0aGlzLiNjaGlsZHJlbi5pbmNsdWRlcyhyZWYpKSB7XG4gICAgICAgICAgICB0aGlzLiNjaGlsZHJlbi5wdXNoKHJlZilcbiAgICAgICAgICAgIHRoaXMuI3VwZGF0ZSgpXG4gICAgICAgICAgICB0aGlzLnJvb3QubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChyZWYubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAgIHJlZi5zdGF0ZS5vbihcImRpc3Bvc2VkXCIsICgpID0+IHRoaXMuI3JlbW92ZShyZWYpKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWZcbiAgICB9XG5cbiAgICAjcmVtb3ZlKHJlZjogQ2hpbGRSZWYpIHtcbiAgICAgICAgY29uc3QgaWR4ID0gdGhpcy4jY2hpbGRyZW4uaW5kZXhPZihyZWYpXG4gICAgICAgIGlmIChpZHggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy4jY2hpbGRyZW4uc3BsaWNlKGlkeCwgMSlcbiAgICAgICAgICAgIHRoaXMuI3VwZGF0ZSgpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjdXBkYXRlKCkge1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHRvU29ydGVkKHRoaXMuI2NoaWxkcmVuLCBzb3J0Q2hpbGRyZW4yKVxuXG4gICAgICAgIGxldCB6SW5kZXggPSB0aGlzLiN6SW5kZXhTdGFydFxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICBjaGlsZC56SW5kZXggPSB6SW5kZXhcbiAgICAgICAgICAgIHpJbmRleCArPSAxXG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZHJlbi5zb3J0KHNvcnRCeVpJbmRleERlc2MpXG5cbiAgICAgICAgbGV0IGhhc0JhY2tkcm9wID0gZmFsc2VcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgQmFja2Ryb3BSZWYgJiYgY2hpbGQub3B0aW9ucy50eXBlID09PSBcInNvbGlkXCIpIHtcbiAgICAgICAgICAgICAgICBjaGlsZC52aXNpYmxlID0gIWhhc0JhY2tkcm9wXG4gICAgICAgICAgICAgICAgaGFzQmFja2Ryb3AgPSB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcImJvZHlcIixcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTGF5ZXJTZXJ2aWNlLCB1c2VFeGlzdGluZzogUm9vdExheWVyIH1dXG59KVxuZXhwb3J0IGNsYXNzIFJvb3RMYXllciBleHRlbmRzIExheWVyU2VydmljZSB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTGF5ZXJTZXJ2aWNlLCB1c2VFeGlzdGluZzogSW5kaXZpZHVhbExheWVyIH1dXG59KVxuZXhwb3J0IGNsYXNzIEluZGl2aWR1YWxMYXllciBleHRlbmRzIExheWVyU2VydmljZSB7fVxuXG5mdW5jdGlvbiBzb3J0Q2hpbGRyZW4yKGE6IENoaWxkUmVmLCBiOiBDaGlsZFJlZikge1xuICAgIGNvbnN0IGFsd2F5c09uVG9wID0gc29ydEJ5QWx3YXlzT25Ub3AoYSwgYilcbiAgICBpZiAoYWx3YXlzT25Ub3AgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHNvcnRCeUJhY2tkcm9wKGEsIGIpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGFsd2F5c09uVG9wXG4gICAgfVxufVxuXG5mdW5jdGlvbiBzb3J0QnlCYWNrZHJvcChhOiBDaGlsZFJlZiwgYjogQ2hpbGRSZWYpIHtcbiAgICBpZiAoYSBpbnN0YW5jZW9mIEJhY2tkcm9wUmVmICYmIGEudW5kZXIgPT09IGIpIHtcbiAgICAgICAgcmV0dXJuIC0xXG4gICAgfSBlbHNlIGlmIChiIGluc3RhbmNlb2YgQmFja2Ryb3BSZWYgJiYgYi51bmRlciA9PT0gYSkge1xuICAgICAgICByZXR1cm4gMVxuICAgIH1cbiAgICByZXR1cm4gMFxufVxuXG5mdW5jdGlvbiBzb3J0QnlaSW5kZXhEZXNjKGE6IENoaWxkUmVmLCBiOiBDaGlsZFJlZikge1xuICAgIHJldHVybiBiLnpJbmRleCAtIGEuekluZGV4XG59XG5cbmZ1bmN0aW9uIHNvcnRCeUFsd2F5c09uVG9wKGE6IENoaWxkUmVmLCBiOiBDaGlsZFJlZikge1xuICAgIHJldHVybiBnZXRBbHdheXNPblRvcChhKSAtIGdldEFsd2F5c09uVG9wKGIpXG59XG5cbmZ1bmN0aW9uIGdldEFsd2F5c09uVG9wKGNoaWxkOiBDaGlsZFJlZik6IG51bWJlciB7XG4gICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgQmFja2Ryb3BSZWYpIHtcbiAgICAgICAgcmV0dXJuIGNoaWxkLnVuZGVyLmFsd2F5c09uVG9wIHx8IEFsd2F5c09uVG9wLk5vbmVcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY2hpbGQuYWx3YXlzT25Ub3AgfHwgQWx3YXlzT25Ub3AuTm9uZVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AnimationBuilder, style as style$1, animate } from '@angular/animations';
|
|
2
|
-
import { Observable, Subject, map, exhaustMap, combineLatest, distinctUntilChanged,
|
|
2
|
+
import { Observable, tap, Subject, map, exhaustMap, combineLatest, takeUntil, distinctUntilChanged, of, filter, take, share, ReplaySubject, shareReplay, takeWhile, debounceTime, EMPTY, merge } from 'rxjs';
|
|
3
3
|
import { animationObservable, CoverService } from '@ngutil/graphics';
|
|
4
4
|
import { Duration, Ease, DimensionWatcher, rectExpand, rectOrigin, rectMoveOrigin, rectContract, RectWatcher } from '@ngutil/style';
|
|
5
5
|
import { clamp } from 'lodash';
|
|
6
|
-
import { isElementInput,
|
|
6
|
+
import { isElementInput, Lifecycle, toSorted } from '@ngutil/common';
|
|
7
7
|
import { FocusService, KeystrokeService } from '@ngutil/aria';
|
|
8
8
|
import * as i0 from '@angular/core';
|
|
9
9
|
import { ElementRef, Injector, ComponentFactoryResolver, ViewContainerRef, InjectionToken, inject, Directive, Inject, Optional, Injectable, TemplateRef, NgModule } from '@angular/core';
|
|
@@ -21,7 +21,8 @@ class AnimationTrait {
|
|
|
21
21
|
const builder = floatingRef.container.injector.get(AnimationBuilder);
|
|
22
22
|
const element = floatingRef.container.nativeElement;
|
|
23
23
|
floatingRef.state.on("showing", () => animationObservable({ builder, element, animation: this.animation.show }));
|
|
24
|
-
floatingRef.state.on("disposing", () => animationObservable({ builder, element, animation: this.animation.hide }));
|
|
24
|
+
floatingRef.state.on("disposing", () => animationObservable({ builder, element, animation: this.animation.hide }).pipe(tap(() => (element.style.display = "none"))));
|
|
25
|
+
floatingRef.state.on("disposing", () => dst.complete());
|
|
25
26
|
dst.next();
|
|
26
27
|
});
|
|
27
28
|
}
|
|
@@ -29,7 +30,6 @@ class AnimationTrait {
|
|
|
29
30
|
const FallAnimation = {
|
|
30
31
|
show: [
|
|
31
32
|
style$1({
|
|
32
|
-
// "perspective:": "1300px",
|
|
33
33
|
transform: "scale(1.5)",
|
|
34
34
|
visibility: "visible",
|
|
35
35
|
opacity: "0"
|
|
@@ -84,12 +84,10 @@ class BackdropTrait {
|
|
|
84
84
|
}
|
|
85
85
|
const state = new BackdropState();
|
|
86
86
|
const backdrop = floatingRef.layerSvc.newBackdrop(options);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
? state.onClick.pipe(exhaustMap(() => floatingRef.close())).subscribe()
|
|
92
|
-
: null;
|
|
87
|
+
if (this.options.closeOnClick) {
|
|
88
|
+
dest.add(this.#installClickHandler(floatingRef, backdrop, state));
|
|
89
|
+
dest.add(state.onClick.pipe(exhaustMap(() => floatingRef.close())).subscribe());
|
|
90
|
+
}
|
|
93
91
|
backdrop.state.on("showing", () => animationObservable({
|
|
94
92
|
builder: animationBuilder,
|
|
95
93
|
element: backdrop.nativeElement,
|
|
@@ -100,14 +98,10 @@ class BackdropTrait {
|
|
|
100
98
|
element: backdrop.nativeElement,
|
|
101
99
|
animation: FadeAnimation.hide
|
|
102
100
|
}));
|
|
101
|
+
backdrop.state.on("disposed", () => dest.complete());
|
|
103
102
|
floatingRef.state.on("disposing", () => backdrop.dispose());
|
|
104
|
-
|
|
103
|
+
dest.add(backdrop.show().subscribe());
|
|
105
104
|
dest.next(state);
|
|
106
|
-
return () => {
|
|
107
|
-
removeOnClick && removeOnClick();
|
|
108
|
-
onClickSub?.unsubscribe();
|
|
109
|
-
backdropShowSub.unsubscribe();
|
|
110
|
-
};
|
|
111
105
|
});
|
|
112
106
|
}
|
|
113
107
|
#installClickHandler(floatingRef, backdrop, state) {
|
|
@@ -173,7 +167,7 @@ class DimensionConstraintTrait {
|
|
|
173
167
|
}
|
|
174
168
|
});
|
|
175
169
|
}
|
|
176
|
-
}).pipe(distinctUntilChanged(), tap(value => {
|
|
170
|
+
}).pipe(takeUntil(floatingRef.state.onExecute("disposing")), distinctUntilChanged(), tap(value => {
|
|
177
171
|
const floatingEl = floatingRef.container.nativeElement;
|
|
178
172
|
floatingEl.style[this.name] = `${value}px`;
|
|
179
173
|
}));
|
|
@@ -198,17 +192,16 @@ class FocusTrait {
|
|
|
198
192
|
this.name = "focus";
|
|
199
193
|
}
|
|
200
194
|
connect(floatingRef) {
|
|
201
|
-
return new Observable(
|
|
202
|
-
const subs = new Subscription();
|
|
195
|
+
return new Observable(dest => {
|
|
203
196
|
const originallyFocused = document.activeElement;
|
|
204
197
|
const svc = floatingRef.container.injector.get(FocusService);
|
|
205
198
|
if (this.options.connect) {
|
|
206
199
|
const tabindex = this.options.tabindex == null ? 0 : this.options.tabindex;
|
|
207
200
|
floatingRef.container.nativeElement.setAttribute("tabindex", tabindex.toString());
|
|
208
|
-
|
|
201
|
+
dest.add(this.options.connect.connect(floatingRef.container).subscribe());
|
|
209
202
|
}
|
|
210
203
|
if (this.options.trap) {
|
|
211
|
-
|
|
204
|
+
dest.add(this.#trap(floatingRef, svc).subscribe());
|
|
212
205
|
}
|
|
213
206
|
floatingRef.state.on("disposing", () => {
|
|
214
207
|
const active = document.activeElement;
|
|
@@ -216,10 +209,9 @@ class FocusTrait {
|
|
|
216
209
|
if (active === floating || floating.contains(active)) {
|
|
217
210
|
originallyFocused && document.contains(originallyFocused) && svc.focus(originallyFocused, "program");
|
|
218
211
|
}
|
|
212
|
+
dest.complete();
|
|
219
213
|
});
|
|
220
|
-
|
|
221
|
-
subs.unsubscribe();
|
|
222
|
-
};
|
|
214
|
+
dest.next();
|
|
223
215
|
});
|
|
224
216
|
}
|
|
225
217
|
#trap(floatingRef, svc) {
|
|
@@ -307,7 +299,7 @@ class PositionTrait {
|
|
|
307
299
|
res.apply(floatingRef);
|
|
308
300
|
dest.next(res);
|
|
309
301
|
});
|
|
310
|
-
});
|
|
302
|
+
}).pipe(takeUntil(floatingRef.state.onExecute("disposing")));
|
|
311
303
|
}
|
|
312
304
|
}
|
|
313
305
|
function refWatcher(rectWatcher, ref, floatingRef) {
|
|
@@ -415,36 +407,40 @@ class ChildRef extends ElementRef {
|
|
|
415
407
|
get zIndex() {
|
|
416
408
|
return this._zIndex;
|
|
417
409
|
}
|
|
418
|
-
constructor(nativeElement) {
|
|
410
|
+
constructor(nativeElement, alwaysOnTop = 0 /* AlwaysOnTop.None */) {
|
|
419
411
|
super(nativeElement);
|
|
420
|
-
this.
|
|
412
|
+
this.alwaysOnTop = alwaysOnTop;
|
|
413
|
+
this.state = new Lifecycle({
|
|
421
414
|
showing: {},
|
|
422
415
|
shown: {},
|
|
423
416
|
disposing: { cancellable: false },
|
|
424
417
|
disposed: { cancellable: false, order: "sequential" }
|
|
425
418
|
});
|
|
426
419
|
this._zIndex = -1;
|
|
427
|
-
this.state.
|
|
420
|
+
this.disposed$ = this.state.current$.pipe(filter(state => state === "disposed"), take(1), share());
|
|
421
|
+
this.state.on("disposed", () => {
|
|
422
|
+
this.nativeElement.parentElement?.removeChild(this.nativeElement);
|
|
423
|
+
this.state.destroy();
|
|
424
|
+
delete this.state;
|
|
425
|
+
});
|
|
428
426
|
// this.state.current$.subscribe(state => {
|
|
429
427
|
// console.log(this, state)
|
|
430
428
|
// })
|
|
429
|
+
// this.state.status$.subscribe(status => {
|
|
430
|
+
// console.log(this.nativeElement, status)
|
|
431
|
+
// })
|
|
431
432
|
}
|
|
432
433
|
dispose() {
|
|
433
434
|
if (this.state == null) {
|
|
434
|
-
return of(
|
|
435
|
+
return of();
|
|
435
436
|
}
|
|
436
437
|
return this.state.run(["disposing", "disposed"]);
|
|
437
438
|
}
|
|
438
|
-
destroy() {
|
|
439
|
-
this.nativeElement.parentElement?.removeChild(this.nativeElement);
|
|
440
|
-
this.state.destroy();
|
|
441
|
-
delete this.state;
|
|
442
|
-
}
|
|
443
439
|
}
|
|
444
440
|
|
|
445
441
|
class ContainerRef extends ChildRef {
|
|
446
442
|
constructor(options) {
|
|
447
|
-
super(createElement(options));
|
|
443
|
+
super(createElement(options), options.alwaysOnTop || 0 /* AlwaysOnTop.None */);
|
|
448
444
|
this.options = options;
|
|
449
445
|
this.injectorName = "ContainerRef";
|
|
450
446
|
const providers = options.providers || [];
|
|
@@ -488,7 +484,6 @@ class BackdropRef extends ChildRef {
|
|
|
488
484
|
// options.under.state.control(ref.state)
|
|
489
485
|
return ref;
|
|
490
486
|
}
|
|
491
|
-
#coverSub;
|
|
492
487
|
set visible(visible) {
|
|
493
488
|
if (this.#visible !== visible) {
|
|
494
489
|
this.#visible = visible;
|
|
@@ -512,21 +507,21 @@ class BackdropRef extends ChildRef {
|
|
|
512
507
|
"0px";
|
|
513
508
|
this.under = options.under;
|
|
514
509
|
if (options.type === "solid") {
|
|
515
|
-
this
|
|
510
|
+
this.coverSvc
|
|
511
|
+
.solid({ container: nativeElement, color: options.color })
|
|
512
|
+
.pipe(takeUntil(this.disposed$))
|
|
513
|
+
.subscribe();
|
|
516
514
|
this.group = `${options.color === "transparent" ? "transparent" : "solid"}`;
|
|
517
515
|
}
|
|
518
516
|
else if (options.type === "crop") {
|
|
519
|
-
this
|
|
517
|
+
this.coverSvc
|
|
520
518
|
.crop({ container: nativeElement, color: options.color, crop: options.crop })
|
|
519
|
+
.pipe(takeUntil(this.disposed$))
|
|
521
520
|
.subscribe();
|
|
522
521
|
}
|
|
523
522
|
}
|
|
524
523
|
show() {
|
|
525
|
-
return this.state.run(
|
|
526
|
-
}
|
|
527
|
-
destroy() {
|
|
528
|
-
this.#coverSub?.unsubscribe();
|
|
529
|
-
super.destroy();
|
|
524
|
+
return this.state.run("showing", "shown");
|
|
530
525
|
}
|
|
531
526
|
}
|
|
532
527
|
|
|
@@ -640,7 +635,7 @@ class LayerService {
|
|
|
640
635
|
}
|
|
641
636
|
}
|
|
642
637
|
#update() {
|
|
643
|
-
const children = toSorted(this.#children,
|
|
638
|
+
const children = toSorted(this.#children, sortChildren2);
|
|
644
639
|
let zIndex = this.#zIndexStart;
|
|
645
640
|
for (const child of children) {
|
|
646
641
|
child.zIndex = zIndex;
|
|
@@ -689,6 +684,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
|
|
|
689
684
|
providers: [{ provide: LayerService, useExisting: IndividualLayer }]
|
|
690
685
|
}]
|
|
691
686
|
}] });
|
|
687
|
+
function sortChildren2(a, b) {
|
|
688
|
+
const alwaysOnTop = sortByAlwaysOnTop(a, b);
|
|
689
|
+
if (alwaysOnTop === 0) {
|
|
690
|
+
return sortByBackdrop(a, b);
|
|
691
|
+
}
|
|
692
|
+
else {
|
|
693
|
+
return alwaysOnTop;
|
|
694
|
+
}
|
|
695
|
+
}
|
|
692
696
|
function sortByBackdrop(a, b) {
|
|
693
697
|
if (a instanceof BackdropRef && a.under === b) {
|
|
694
698
|
return -1;
|
|
@@ -701,6 +705,17 @@ function sortByBackdrop(a, b) {
|
|
|
701
705
|
function sortByZIndexDesc(a, b) {
|
|
702
706
|
return b.zIndex - a.zIndex;
|
|
703
707
|
}
|
|
708
|
+
function sortByAlwaysOnTop(a, b) {
|
|
709
|
+
return getAlwaysOnTop(a) - getAlwaysOnTop(b);
|
|
710
|
+
}
|
|
711
|
+
function getAlwaysOnTop(child) {
|
|
712
|
+
if (child instanceof BackdropRef) {
|
|
713
|
+
return child.under.alwaysOnTop || 0 /* AlwaysOnTop.None */;
|
|
714
|
+
}
|
|
715
|
+
else {
|
|
716
|
+
return child.alwaysOnTop || 0 /* AlwaysOnTop.None */;
|
|
717
|
+
}
|
|
718
|
+
}
|
|
704
719
|
|
|
705
720
|
const TRAITS = new InjectionToken("TRAITS");
|
|
706
721
|
class FloatingRef {
|
|
@@ -711,7 +726,7 @@ class FloatingRef {
|
|
|
711
726
|
this.layerSvc = layerSvc;
|
|
712
727
|
this.container = container;
|
|
713
728
|
this.channel = new ReplaySubject(1);
|
|
714
|
-
this.state = new
|
|
729
|
+
this.state = new Lifecycle({
|
|
715
730
|
init: {},
|
|
716
731
|
showing: {},
|
|
717
732
|
shown: {},
|
|
@@ -721,47 +736,51 @@ class FloatingRef {
|
|
|
721
736
|
cleanup: { cancellable: false, order: "sequential" }
|
|
722
737
|
});
|
|
723
738
|
this.#traits = {};
|
|
724
|
-
this.#untilCleanup = this.state.
|
|
725
|
-
this.#untilDisposed = this.state.
|
|
739
|
+
this.#untilCleanup = this.state.onExecute("cleanup");
|
|
740
|
+
this.#untilDisposed = this.state.onExecute("disposed");
|
|
726
741
|
container.nativeElement.style.overflow = "hidden";
|
|
727
742
|
container.nativeElement.style.visibility = "hidden";
|
|
728
743
|
this.#traits = traits;
|
|
729
744
|
this.traitState$ = this.#traitState().pipe(shareReplay(1));
|
|
730
|
-
|
|
745
|
+
this.state.current$.pipe(takeWhile(state => state !== "cleanup", true)).subscribe(state => {
|
|
731
746
|
this.emit({ type: state });
|
|
732
747
|
});
|
|
733
|
-
this.state.on("init", () =>
|
|
734
|
-
// TODO: angular render is stabilized
|
|
735
|
-
this.traitState$.pipe(takeUntil(this.#untilCleanup), debounceTime(5)).subscribe(() => {
|
|
736
|
-
dst.complete();
|
|
737
|
-
});
|
|
738
|
-
}));
|
|
748
|
+
this.state.on("init", () => this.traitState$.pipe(takeUntil(this.#untilCleanup), debounceTime(5), take(1)));
|
|
739
749
|
this.state.on("showing", () => {
|
|
740
750
|
container.nativeElement.style.visibility = "visible";
|
|
741
751
|
});
|
|
742
752
|
this.state.on("disposing", () => {
|
|
743
753
|
container.nativeElement.style.pointerEvents = "none";
|
|
744
754
|
});
|
|
745
|
-
this.state.on("disposed", () => {
|
|
746
|
-
sub.unsubscribe();
|
|
747
|
-
});
|
|
748
755
|
this.state.control(container.state);
|
|
756
|
+
// TODO: remove
|
|
757
|
+
// this.state.status$.subscribe(status => {
|
|
758
|
+
// console.log("floating", status)
|
|
759
|
+
// })
|
|
749
760
|
}
|
|
750
761
|
show() {
|
|
751
|
-
return this.state.run(
|
|
762
|
+
return this.state.run("init", "showing", "shown");
|
|
752
763
|
}
|
|
764
|
+
/**
|
|
765
|
+
* @deprecated
|
|
766
|
+
*/
|
|
753
767
|
hide() {
|
|
754
|
-
return this.
|
|
768
|
+
return this.close(true);
|
|
755
769
|
}
|
|
756
|
-
close() {
|
|
757
|
-
|
|
770
|
+
close(force = false) {
|
|
771
|
+
if (force) {
|
|
772
|
+
return this.state.run("disposing", "disposed", "cleanup");
|
|
773
|
+
}
|
|
774
|
+
else {
|
|
775
|
+
return this.state.run("closing", "disposing", "disposed", "cleanup");
|
|
776
|
+
}
|
|
758
777
|
}
|
|
759
778
|
emit(event) {
|
|
760
779
|
this.channel.next({ ...event, floatingRef: this });
|
|
761
780
|
}
|
|
762
781
|
setResult(data) {
|
|
763
782
|
this.emit({ type: "result", data });
|
|
764
|
-
this.
|
|
783
|
+
this.close(true).subscribe();
|
|
765
784
|
}
|
|
766
785
|
watchTrait(name) {
|
|
767
786
|
return this.traitState$.pipe(takeUntil(this.#untilDisposed), filter(event => event.name === name), map(event => event.data), shareReplay(1));
|
|
@@ -938,5 +957,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
|
|
|
938
957
|
* Generated bundle index. Do not edit.
|
|
939
958
|
*/
|
|
940
959
|
|
|
941
|
-
export { AnimationTrait, AttributeTrait, BackdropRef, BackdropState, BackdropTrait, ChildRef, ComponentPortalRef, DimensionConstraintTrait, FadeAnimation, FallAnimation, FloatingAnchorRef, FloatingComponentFactory, FloatingFactory, FloatingPlacementRef, FloatingPosition, FloatingRef, FloatingService, FloatingTemplateFactory, FocusTrait, IndividualLayer, KeystrokeTrait, LAYER_ZINDEX_START, LayerService, NuFloating, PortalRef, PositionTrait, RootLayer, StyleTrait, TRAITS, TemplatePortalRef, attribute, backdrop, computePosition, fadeAnimation, fallAnimation, focus, keystroke, maxHeight, maxWidth, minHeight, minWidth, modal, position, style };
|
|
960
|
+
export { AnimationTrait, AttributeTrait, BackdropRef, BackdropState, BackdropTrait, ChildRef, ComponentPortalRef, ContainerRef, DimensionConstraintTrait, FadeAnimation, FallAnimation, FloatingAnchorRef, FloatingComponentFactory, FloatingFactory, FloatingPlacementRef, FloatingPosition, FloatingRef, FloatingService, FloatingTemplateFactory, FocusTrait, IndividualLayer, KeystrokeTrait, LAYER_ZINDEX_START, LayerService, NuFloating, PortalRef, PositionTrait, RootLayer, StyleTrait, TRAITS, TemplatePortalRef, attribute, backdrop, computePosition, fadeAnimation, fallAnimation, focus, keystroke, maxHeight, maxWidth, minHeight, minWidth, modal, position, style };
|
|
942
961
|
//# sourceMappingURL=ngutil-floating.mjs.map
|