@ngutil/layout 0.0.3-dev.6 → 0.0.3-dev.8
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/docking/docking-content.component.d.ts +5 -0
- package/docking/docking-layout.component.d.ts +24 -0
- package/docking/docking-panel.component.d.ts +39 -0
- package/docking/index.d.ts +13 -0
- package/esm2022/docking/docking-content.component.mjs +11 -0
- package/esm2022/docking/docking-layout.component.mjs +264 -0
- package/esm2022/docking/docking-panel.component.mjs +148 -0
- package/esm2022/docking/index.mjs +20 -0
- package/esm2022/index.mjs +4 -2
- package/esm2022/l9/index.mjs +3 -0
- package/esm2022/l9/range.mjs +109 -0
- package/esm2022/l9/state.mjs +29 -0
- package/esm2022/util/dimension-watcher.mjs +84 -0
- package/esm2022/util/dimension.mjs +2 -0
- package/esm2022/util/index.mjs +3 -0
- package/esm2022/util/media-watcher.mjs +29 -0
- package/esm2022/util/rect.mjs +2 -0
- package/fesm2022/ngutil-layout.mjs +667 -8
- package/fesm2022/ngutil-layout.mjs.map +1 -1
- package/index.d.ts +3 -1
- package/l9/index.d.ts +2 -0
- package/l9/range.d.ts +28 -0
- package/l9/state.d.ts +14 -0
- package/package.json +2 -2
- package/util/dimension-watcher.d.ts +4 -0
- package/util/dimension.d.ts +5 -0
- package/util/index.d.ts +4 -0
- package/util/media-watcher.d.ts +5 -0
- package/util/rect.d.ts +5 -0
- package/esm2022/lib/layout/layout.component.mjs +0 -12
- package/lib/layout/layout.component.d.ts +0 -5
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./range";
|
|
2
|
+
export * from "./state";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sYXlvdXQvc3JjL2w5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcmFuZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vc3RhdGVcIlxuIl19
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* -----------------------------------------------
|
|
3
|
+
* | TOP:LEFT | TOP:CENTER | TOP:RIGHT |
|
|
4
|
+
* -----------------------------------------------
|
|
5
|
+
* | MIDDLE:LEFT | MIDDLE:CENTER | MIDDLE:RIGH |
|
|
6
|
+
* -----------------------------------------------
|
|
7
|
+
* | BOTTOMN:LEFT | BOTTOM:CENTER | BOTTOM:RIGHT |
|
|
8
|
+
* -----------------------------------------------
|
|
9
|
+
*/
|
|
10
|
+
const vertical = ["top", "middle", "bottom"];
|
|
11
|
+
const horizontal = ["left", "center", "right"];
|
|
12
|
+
export class L9Cell {
|
|
13
|
+
static coerce(value) {
|
|
14
|
+
const [v, h] = value.split(":");
|
|
15
|
+
if (vertical.includes(v) && horizontal.includes(h)) {
|
|
16
|
+
return new L9Cell(v, h);
|
|
17
|
+
}
|
|
18
|
+
throw new Error(`Invalid cell value: ${value}`);
|
|
19
|
+
}
|
|
20
|
+
constructor(v, h) {
|
|
21
|
+
this.v = v;
|
|
22
|
+
this.h = h;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export class L9Range {
|
|
26
|
+
static coerce(value) {
|
|
27
|
+
if (value instanceof L9Range) {
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return new L9Range(value);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
constructor(range) {
|
|
35
|
+
this.cells = parse(range);
|
|
36
|
+
this.orient = this.#determineOrient();
|
|
37
|
+
}
|
|
38
|
+
isEq(other) {
|
|
39
|
+
if (other instanceof L9Range) {
|
|
40
|
+
const selfFirst = this.cells[0];
|
|
41
|
+
const otherFirst = other.cells[0];
|
|
42
|
+
if (selfFirst.h !== otherFirst.h || selfFirst.v !== otherFirst.v) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
const selfLast = this.cells[this.cells.length - 1];
|
|
46
|
+
const otherLast = other.cells[other.cells.length - 1];
|
|
47
|
+
if (selfLast.h === otherLast.h && selfLast.v === otherLast.v) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
#determineOrient() {
|
|
54
|
+
const { v: sv, h: sh } = this.cells[0];
|
|
55
|
+
const { v: ev, h: eh } = this.cells[this.cells.length - 1];
|
|
56
|
+
if (sv === ev) {
|
|
57
|
+
return "horizontal";
|
|
58
|
+
}
|
|
59
|
+
else if (sh === eh) {
|
|
60
|
+
return "vertical";
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return "rect";
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function parse(value) {
|
|
68
|
+
const cells = [];
|
|
69
|
+
if (vertical.includes(value)) {
|
|
70
|
+
for (const h of horizontal) {
|
|
71
|
+
cells.push(new L9Cell(value, h));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else if (horizontal.includes(value)) {
|
|
75
|
+
for (const v of vertical) {
|
|
76
|
+
cells.push(new L9Cell(v, value));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else if (value.includes("-")) {
|
|
80
|
+
const [begin, end] = value.split("-");
|
|
81
|
+
const beginCells = parse(begin);
|
|
82
|
+
const endCells = parse(end);
|
|
83
|
+
if (beginCells.length > 1) {
|
|
84
|
+
throw new Error(`Currently not supported begin range value: ${begin}`);
|
|
85
|
+
}
|
|
86
|
+
if (endCells.length > 1) {
|
|
87
|
+
throw new Error(`Currently not supported end range value: ${end}`);
|
|
88
|
+
}
|
|
89
|
+
const { v: bv, h: bh } = beginCells[0];
|
|
90
|
+
const { v: ev, h: eh } = endCells[0];
|
|
91
|
+
const vstart = Math.min(vertical.indexOf(bv), vertical.indexOf(ev));
|
|
92
|
+
const vend = Math.max(vertical.indexOf(bv), vertical.indexOf(ev));
|
|
93
|
+
const hstart = Math.min(horizontal.indexOf(bh), horizontal.indexOf(eh));
|
|
94
|
+
const hend = Math.max(horizontal.indexOf(bh), horizontal.indexOf(eh));
|
|
95
|
+
for (let vi = vstart; vi <= vend; vi++) {
|
|
96
|
+
for (let hi = hstart; hi <= hend; hi++) {
|
|
97
|
+
cells.push(new L9Cell(vertical[vi], horizontal[hi]));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else if (value.includes(":")) {
|
|
102
|
+
cells.push(L9Cell.coerce(value));
|
|
103
|
+
}
|
|
104
|
+
if (cells.length === 0) {
|
|
105
|
+
throw Error(`Undefined l9cell: "${value}"`);
|
|
106
|
+
}
|
|
107
|
+
return cells;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sYXlvdXQvc3JjL2w5L3JhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBVSxDQUFBO0FBQ3JELE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQVUsQ0FBQTtBQVF2RCxNQUFNLE9BQU8sTUFBTTtJQUNmLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBaUI7UUFDM0IsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRS9CLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFRLENBQUMsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQVEsQ0FBQyxFQUFFLENBQUM7WUFDL0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxDQUFRLEVBQUUsQ0FBUSxDQUFDLENBQUE7UUFDekMsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVELFlBQ29CLENBQWEsRUFDYixDQUFlO1FBRGYsTUFBQyxHQUFELENBQUMsQ0FBWTtRQUNiLE1BQUMsR0FBRCxDQUFDLENBQWM7SUFDaEMsQ0FBQztDQUNQO0FBRUQsTUFBTSxPQUFPLE9BQU87SUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUE0QjtRQUN0QyxJQUFJLEtBQUssWUFBWSxPQUFPLEVBQUUsQ0FBQztZQUMzQixPQUFPLEtBQUssQ0FBQTtRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFLRCxZQUFZ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QUcsTUFBTSxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNyQyxLQUFLLElBQUksRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDeEQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNyQixNQUFNLEtBQUssQ0FBQyxzQkFBc0IsS0FBSyxHQUFHLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIHwgVE9QOkxFRlQgICAgIHwgIFRPUDpDRU5URVIgICB8IFRPUDpSSUdIVCAgICB8XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogfCBNSURETEU6TEVGVCAgfCBNSURETEU6Q0VOVEVSIHwgTUlERExFOlJJR0ggIHxcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiB8IEJPVFRPTU46TEVGVCB8IEJPVFRPTTpDRU5URVIgfCBCT1RUT006UklHSFQgfFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5jb25zdCB2ZXJ0aWNhbCA9IFtcInRvcFwiLCBcIm1pZGRsZVwiLCBcImJvdHRvbVwiXSBhcyBjb25zdFxuY29uc3QgaG9yaXpvbnRhbCA9IFtcImxlZnRcIiwgXCJjZW50ZXJcIiwgXCJyaWdodFwiXSBhcyBjb25zdFxuXG5leHBvcnQgdHlwZSBMOVZlcnRpY2FsID0gXCJ0b3BcIiB8IFwibWlkZGxlXCIgfCBcImJvdHRvbVwiXG5leHBvcnQgdHlwZSBMOUhvcml6b250YWwgPSBcImxlZnRcIiB8IFwiY2VudGVyXCIgfCBcInJpZ2h0XCJcbmV4cG9ydCB0eXBlIEw5Q2VsbE5hbWUgPSBgJHtMOVZlcnRpY2FsfToke0w5SG9yaXpvbnRhbH1gXG5leHBvcnQgdHlwZSBMOVJhbmdlTmFtZSA9IEw5VmVydGljYWwgfCBMOUhvcml6b250YWwgfCBMOUNlbGxOYW1lIHwgYCR7TDlDZWxsTmFtZX0tJHtMOUNlbGxOYW1lfWBcbmV4cG9ydCB0eXBlIEw5T3JpZW50ID0gXCJob3Jpem9udGFsXCIgfCBcInZlcnRpY2FsXCIgfCBcInJlY3RcIlxuXG5leHBvcnQgY2xhc3MgTDlDZWxsIHtcbiAgICBzdGF0aWMgY29lcmNlKHZhbHVlOiBMOUNlbGxOYW1lKSB7XG4gICAgICAgIGNvbnN0IFt2LCBoXSA9IHZhbHVlLnNwbGl0KFwiOlwiKVxuXG4gICAgICAgIGlmICh2ZXJ0aWNhbC5pbmNsdWRlcyh2IGFzIGFueSkgJiYgaG9yaXpvbnRhbC5pbmNsdWRlcyhoIGFzIGFueSkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTDlDZWxsKHYgYXMgYW55LCBoIGFzIGFueSlcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjZWxsIHZhbHVlOiAke3ZhbHVlfWApXG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSB2OiBMOVZlcnRpY2FsLFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgaDogTDlIb3Jpem9udGFsXG4gICAgKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgTDlSYW5nZSB7XG4gICAgc3RhdGljIGNvZXJjZSh2YWx1ZTogTDlSYW5nZSB8IEw5UmFuZ2VOYW1lKSB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEw5UmFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBMOVJhbmdlKHZhbHVlKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgY2VsbHM6IEFycmF5PEw5Q2VsbD5cbiAgICByZWFkb25seSBvcmllbnQ6IEw5T3JpZW50XG5cbiAgICBjb25zdHJ1Y3RvcihyYW5nZTogTDlSYW5nZU5hbWUpIHtcbiAgICAgICAgdGhpcy5jZWxscyA9IHBhcnNlKHJhbmdlKVxuICAgICAgICB0aGlzLm9yaWVudCA9IHRoaXMuI2RldGVybWluZU9yaWVudCgpXG4gICAgfVxuXG4gICAgaXNFcShvdGhlcjogTDlSYW5nZSkge1xuICAgICAgICBpZiAob3RoZXIgaW5zdGFuY2VvZiBMOVJhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCBzZWxmRmlyc3QgPSB0aGlzLmNlbGxzWzBdXG4gICAgICAgICAgICBjb25zdCBvdGhlckZpcnN0ID0gb3RoZXIuY2VsbHNbMF1cblxuICAgICAgICAgICAgaWYgKHNlbGZGaXJzdC5oICE9PSBvdGhlckZpcnN0LmggfHwgc2VsZkZpcnN0LnYgIT09IG90aGVyRmlyc3Qudikge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzZWxmTGFzdCA9IHRoaXMuY2VsbHNbdGhpcy5jZWxscy5sZW5ndGggLSAxXVxuICAgICAgICAgICAgY29uc3Qgb3RoZXJMYXN0ID0gb3RoZXIuY2VsbHNbb3RoZXIuY2VsbHMubGVuZ3RoIC0gMV1cblxuICAgICAgICAgICAgaWYgKHNlbGZMYXN0LmggPT09IG90aGVyTGFzdC5oICYmIHNlbGZMYXN0LnYgPT09IG90aGVyTGFzdC52KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICAjZGV0ZXJtaW5lT3JpZW50KCk6IEw5T3JpZW50IHtcbiAgICAgICAgY29uc3QgeyB2OiBzdiwgaDogc2ggfSA9IHRoaXMuY2VsbHNbMF1cbiAgICAgICAgY29uc3QgeyB2OiBldiwgaDogZWggfSA9IHRoaXMuY2VsbHNbdGhpcy5jZWxscy5sZW5ndGggLSAxXVxuXG4gICAgICAgIGlmIChzdiA9PT0gZXYpIHtcbiAgICAgICAgICAgIHJldHVybiBcImhvcml6b250YWxcIlxuICAgICAgICB9IGVsc2UgaWYgKHNoID09PSBlaCkge1xuICAgICAgICAgICAgcmV0dXJuIFwidmVydGljYWxcIlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFwicmVjdFwiXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlKHZhbHVlOiBhbnkpOiBBcnJheTxMOUNlbGw+IHtcbiAgICBjb25zdCBjZWxsczogQXJyYXk8TDlDZWxsPiA9IFtdXG5cbiAgICBpZiAodmVydGljYWwuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgIGZvciAoY29uc3QgaCBvZiBob3Jpem9udGFsKSB7XG4gICAgICAgICAgICBjZWxscy5wdXNoKG5ldyBMOUNlbGwodmFsdWUsIGgpKVxuICAgICAgICB9XG4gICAgfSBlbHNlIGlmIChob3Jpem9udGFsLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICBmb3IgKGNvbnN0IHYgb2YgdmVydGljYWwpIHtcbiAgICAgICAgICAgIGNlbGxzLnB1c2gobmV3IEw5Q2VsbCh2LCB2YWx1ZSkpXG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHZhbHVlLmluY2x1ZGVzKFwiLVwiKSkge1xuICAgICAgICBjb25zdCBbYmVnaW4sIGVuZF0gPSB2YWx1ZS5zcGxpdChcIi1cIilcbiAgICAgICAgY29uc3QgYmVnaW5DZWxscyA9IHBhcnNlKGJlZ2luKVxuICAgICAgICBjb25zdCBlbmRDZWxscyA9IHBhcnNlKGVuZClcblxuICAgICAgICBpZiAoYmVnaW5DZWxscy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIGJlZ2luIHJhbmdlIHZhbHVlOiAke2JlZ2lufWApXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW5kQ2VsbHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDdXJyZW50bHkgbm90IHN1cHBvcnRlZCBlbmQgcmFuZ2UgdmFsdWU6ICR7ZW5kfWApXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IHY6IGJ2LCBoOiBiaCB9ID0gYmVnaW5DZWxsc1swXVxuICAgICAgICBjb25zdCB7IHY6IGV2LCBoOiBlaCB9ID0gZW5kQ2VsbHNbMF1cblxuICAgICAgICBjb25zdCB2c3RhcnQgPSBNYXRoLm1pbih2ZXJ0aWNhbC5pbmRleE9mKGJ2IGFzIGFueSksIHZlcnRpY2FsLmluZGV4T2YoZXYgYXMgYW55KSlcbiAgICAgICAgY29uc3QgdmVuZCA9IE1hdGgubWF4KHZlcnRpY2FsLmluZGV4T2YoYnYgYXMgYW55KSwgdmVydGljYWwuaW5kZXhPZihldiBhcyBhbnkpKVxuICAgICAgICBjb25zdCBoc3RhcnQgPSBNYXRoLm1pbihob3Jpem9udGFsLmluZGV4T2YoYmggYXMgYW55KSwgaG9yaXpvbnRhbC5pbmRleE9mKGVoIGFzIGFueSkpXG4gICAgICAgIGNvbnN0IGhlbmQgPSBNYXRoLm1heChob3Jpem9udGFsLmluZGV4T2YoYmggYXMgYW55KSwgaG9yaXpvbnRhbC5pbmRleE9mKGVoIGFzIGFueSkpXG5cbiAgICAgICAgZm9yIChsZXQgdmkgPSB2c3RhcnQ7IHZpIDw9IHZlbmQ7IHZpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGhpID0gaHN0YXJ0OyBoaSA8PSBoZW5kOyBoaSsrKSB7XG4gICAgICAgICAgICAgICAgY2VsbHMucHVzaChuZXcgTDlDZWxsKHZlcnRpY2FsW3ZpXSwgaG9yaXpvbnRhbFtoaV0pKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBlbHNlIGlmICh2YWx1ZS5pbmNsdWRlcyhcIjpcIikpIHtcbiAgICAgICAgY2VsbHMucHVzaChMOUNlbGwuY29lcmNlKHZhbHVlKSlcbiAgICB9XG5cbiAgICBpZiAoY2VsbHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRocm93IEVycm9yKGBVbmRlZmluZWQgbDljZWxsOiBcIiR7dmFsdWV9XCJgKVxuICAgIH1cblxuICAgIHJldHVybiBjZWxsc1xufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BehaviorSubject, map, shareReplay } from "rxjs";
|
|
2
|
+
import { L9Range } from "./range";
|
|
3
|
+
export class L9State {
|
|
4
|
+
#dims;
|
|
5
|
+
constructor(prefix) {
|
|
6
|
+
this.prefix = prefix;
|
|
7
|
+
this.#dims = new BehaviorSubject({});
|
|
8
|
+
this.style = this.#dims.pipe(map(dims => {
|
|
9
|
+
const res = {};
|
|
10
|
+
for (const [k, v] of Object.entries(dims)) {
|
|
11
|
+
if (v == null) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
const [vertical, horizontal] = k.split(":");
|
|
15
|
+
res[`--${this.prefix}-${vertical}-${horizontal}-w`] = v.width.toString();
|
|
16
|
+
res[`--${this.prefix}-${vertical}-${horizontal}-h`] = v.height.toString();
|
|
17
|
+
}
|
|
18
|
+
return res;
|
|
19
|
+
}), shareReplay(1));
|
|
20
|
+
}
|
|
21
|
+
update(range, dim) {
|
|
22
|
+
range = L9Range.coerce(range);
|
|
23
|
+
const dims = { ...this.#dims.value };
|
|
24
|
+
// for (const cell of range.horizontals) {
|
|
25
|
+
// dims[cell] = dim.width
|
|
26
|
+
// }
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sYXlvdXQvc3JjL2w5L3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUdwRSxPQUFPLEVBQTRCLE9BQU8sRUFBMkIsTUFBTSxTQUFTLENBQUE7QUFPcEYsTUFBTSxPQUFPLE9BQU87SUFDUCxLQUFLLENBQWtDO0lBcUJoRCxZQUE0QixNQUFTO1FBQVQsV0FBTSxHQUFOLE1BQU0sQ0FBRztRQXJCNUIsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRXZDLFVBQUssR0FBK0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3hELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNQLE1BQU0sR0FBRyxHQUFtQixFQUFFLENBQUE7WUFFOUIsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQ1osU0FBUTtnQkFDWixDQUFDO2dCQUVELE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDM0MsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sSUFBSSxRQUFRLElBQUksVUFBVSxJQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtnQkFDekYsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sSUFBSSxRQUFRLElBQUksVUFBVSxJQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQTtZQUM5RixDQUFDO1lBRUQsT0FBTyxHQUFHLENBQUE7UUFDZCxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2pCLENBQUE7SUFFdUMsQ0FBQztJQUV6QyxNQUFNLENBQUMsS0FBNEIsRUFBRSxHQUFjO1FBQy9DLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzdCLE1BQU0sSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ3BDLDBDQUEwQztRQUMxQyw2QkFBNkI7UUFDN0IsSUFBSTtJQUNSLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgRGltZW5zaW9uIH0gZnJvbSBcIi4uL3V0aWxcIlxuaW1wb3J0IHsgTDlDZWxsTmFtZSwgTDlIb3Jpem9udGFsLCBMOVJhbmdlLCBMOVJhbmdlTmFtZSwgTDlWZXJ0aWNhbCB9IGZyb20gXCIuL3JhbmdlXCJcblxuZXhwb3J0IHR5cGUgTDlTdGF0ZVZhcjxUIGV4dGVuZHMgc3RyaW5nPiA9IGAtLSR7VH0tJHtMOVZlcnRpY2FsfS0ke0w5SG9yaXpvbnRhbH0tJHtcIndcIiB8IFwiaFwifWBcbmV4cG9ydCB0eXBlIEw5U3R5bGVWYXJzPFQgZXh0ZW5kcyBzdHJpbmc+ID0geyBba2V5IGluIEw5U3RhdGVWYXI8VD5dPzogc3RyaW5nIH1cblxudHlwZSBMOURpbXMgPSB7IFtrZXkgaW4gTDlDZWxsTmFtZV0/OiBEaW1lbnNpb24gfVxuXG5leHBvcnQgY2xhc3MgTDlTdGF0ZTxUIGV4dGVuZHMgc3RyaW5nPiB7XG4gICAgcmVhZG9ubHkgI2RpbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEw5RGltcz4oe30pXG5cbiAgICByZWFkb25seSBzdHlsZTogT2JzZXJ2YWJsZTxMOVN0eWxlVmFyczxUPj4gPSB0aGlzLiNkaW1zLnBpcGUoXG4gICAgICAgIG1hcChkaW1zID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlczogTDlTdHlsZVZhcnM8VD4gPSB7fVxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhkaW1zKSkge1xuICAgICAgICAgICAgICAgIGlmICh2ID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBbdmVydGljYWwsIGhvcml6b250YWxdID0gay5zcGxpdChcIjpcIilcbiAgICAgICAgICAgICAgICByZXNbYC0tJHt0aGlzLnByZWZpeH0tJHt2ZXJ0aWNhbH0tJHtob3Jpem9udGFsfS13YCBhcyBMOVN0YXRlVmFyPFQ+XSA9IHYud2lkdGgudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgIHJlc1tgLS0ke3RoaXMucHJlZml4fS0ke3ZlcnRpY2FsfS0ke2hvcml6b250YWx9LWhgIGFzIEw5U3RhdGVWYXI8VD5dID0gdi5oZWlnaHQudG9TdHJpbmcoKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzXG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgIClcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBwcmVmaXg6IFQpIHt9XG5cbiAgICB1cGRhdGUocmFuZ2U6IEw5UmFuZ2UgfCBMOVJhbmdlTmFtZSwgZGltOiBEaW1lbnNpb24pIHtcbiAgICAgICAgcmFuZ2UgPSBMOVJhbmdlLmNvZXJjZShyYW5nZSlcbiAgICAgICAgY29uc3QgZGltcyA9IHsgLi4udGhpcy4jZGltcy52YWx1ZSB9XG4gICAgICAgIC8vIGZvciAoY29uc3QgY2VsbCBvZiByYW5nZS5ob3Jpem9udGFscykge1xuICAgICAgICAvLyAgICAgZGltc1tjZWxsXSA9IGRpbS53aWR0aFxuICAgICAgICAvLyB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { inject, NgZone } from "@angular/core";
|
|
2
|
+
import { distinctUntilChanged, Observable, shareReplay } from "rxjs";
|
|
3
|
+
import { NumberWithUnit } from "@ngutil/common";
|
|
4
|
+
const RESIZE_WATCHES = new Map();
|
|
5
|
+
const SCROLL_WATCHES = new Map();
|
|
6
|
+
export function watchDimension(el, box = "border-box") {
|
|
7
|
+
const zone = inject(NgZone);
|
|
8
|
+
return box === "scroll-box" ? _watchScroll(zone, el) : _watchResize(zone, el, box);
|
|
9
|
+
}
|
|
10
|
+
function _watchResize(zone, el, box) {
|
|
11
|
+
return _watch(zone, el, RESIZE_WATCHES, () => _createResizeWatcher(zone, el, box));
|
|
12
|
+
}
|
|
13
|
+
function _watchScroll(zone, el) {
|
|
14
|
+
return _watch(zone, el, SCROLL_WATCHES, () => _createScollWatcher(zone, el));
|
|
15
|
+
}
|
|
16
|
+
function _watch(zone, el, watches, factory) {
|
|
17
|
+
const existing = watches.get(el);
|
|
18
|
+
if (existing == null) {
|
|
19
|
+
const watcher = factory();
|
|
20
|
+
watches.set(el, watcher);
|
|
21
|
+
return watcher;
|
|
22
|
+
}
|
|
23
|
+
return existing;
|
|
24
|
+
}
|
|
25
|
+
function _createResizeWatcher(zone, el, box) {
|
|
26
|
+
if (box !== "border-box") {
|
|
27
|
+
throw new Error(`Currently not implemented box mode: ${box}`);
|
|
28
|
+
}
|
|
29
|
+
return zone.runOutsideAngular(() => new Observable((sub) => {
|
|
30
|
+
const observer = new ResizeObserver(entries => {
|
|
31
|
+
for (const entry of entries) {
|
|
32
|
+
if (entry.borderBoxSize) {
|
|
33
|
+
sub.next({
|
|
34
|
+
width: _number(entry.borderBoxSize[0].inlineSize),
|
|
35
|
+
height: _number(entry.borderBoxSize[0].blockSize)
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
sub.next({
|
|
40
|
+
width: _number(el.offsetWidth),
|
|
41
|
+
height: _number(el.offsetHeight)
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
observer.observe(el, { box: box });
|
|
47
|
+
return () => {
|
|
48
|
+
observer.disconnect();
|
|
49
|
+
RESIZE_WATCHES.delete(el);
|
|
50
|
+
};
|
|
51
|
+
}).pipe(distinctUntilChanged((p, c) => p && c && p.width === c.width && p.height === c.height), shareReplay(1)));
|
|
52
|
+
}
|
|
53
|
+
function _createScollWatcher(zone, el) {
|
|
54
|
+
return zone.runOutsideAngular(() => new Observable((sub) => {
|
|
55
|
+
let lastSw = 0;
|
|
56
|
+
let lastSh = 0;
|
|
57
|
+
const emit = () => {
|
|
58
|
+
const sw = el.scrollWidth;
|
|
59
|
+
const sh = el.scrollHeight;
|
|
60
|
+
if (lastSw !== sw || lastSh !== sh) {
|
|
61
|
+
lastSw = sw;
|
|
62
|
+
lastSh = sh;
|
|
63
|
+
sub.next({ width: _number(lastSw), height: _number(lastSh) });
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
const dimSum = _watchResize(zone, el, "border-box").subscribe(emit);
|
|
67
|
+
const mutation = new MutationObserver(emit);
|
|
68
|
+
mutation.observe(el, {
|
|
69
|
+
subtree: true,
|
|
70
|
+
childList: true,
|
|
71
|
+
attributes: true,
|
|
72
|
+
characterData: true
|
|
73
|
+
});
|
|
74
|
+
return () => {
|
|
75
|
+
dimSum.unsubscribe();
|
|
76
|
+
mutation.disconnect();
|
|
77
|
+
SCROLL_WATCHES.delete(el);
|
|
78
|
+
};
|
|
79
|
+
}).pipe(shareReplay(1)));
|
|
80
|
+
}
|
|
81
|
+
function _number(val) {
|
|
82
|
+
return new NumberWithUnit(val, "pk");
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltZW5zaW9uLXdhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sYXlvdXQvc3JjL3V0aWwvZGltZW5zaW9uLXdhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFFaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBTy9DLE1BQU0sY0FBYyxHQUFZLElBQUksR0FBRyxFQUFFLENBQUE7QUFDekMsTUFBTSxjQUFjLEdBQVksSUFBSSxHQUFHLEVBQUUsQ0FBQTtBQUV6QyxNQUFNLFVBQVUsY0FBYyxDQUFDLEVBQWUsRUFBRSxNQUFnQixZQUFZO0lBQ3hFLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMzQixPQUFPLEdBQUcsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBQ3RGLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxJQUFZLEVBQUUsRUFBZSxFQUFFLEdBQWE7SUFDOUQsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFBO0FBQ3RGLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxJQUFZLEVBQUUsRUFBZTtJQUMvQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUNoRixDQUFDO0FBRUQsU0FBUyxNQUFNLENBQUMsSUFBWSxFQUFFLEVBQWUsRUFBRSxPQUFnQixFQUFFLE9BQW9DO0lBQ2pHLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDaEMsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbkIsTUFBTSxPQUFPLEdBQUcsT0FBTyxFQUFFLENBQUE7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDeEIsT0FBTyxPQUFPLENBQUE7SUFDbEIsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFBO0FBQ25CLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLElBQVksRUFBRSxFQUFlLEVBQUUsR0FBYTtJQUN0RSxJQUFJLEdBQUcsS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQ2pFLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FDL0IsSUFBSSxVQUFVLENBQUMsQ0FBQyxHQUEwQixFQUFFLEVBQUU7UUFDMUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUMsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3RCLEdBQUcsQ0FBQyxJQUFJLENBQUM7d0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQzt3QkFDakQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztxQkFDcEQsQ0FBQyxDQUFBO2dCQUNOLENBQUM7cUJBQU0sQ0FBQztvQkFDSixHQUFHLENBQUMsSUFBSSxDQUFDO3dCQUNMLEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQzt3QkFDOUIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDO3FCQUNuQyxDQUFDLENBQUE7Z0JBQ04sQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtRQUNGLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQStCLEVBQUUsQ0FBQyxDQUFBO1FBRTlELE9BQU8sR0FBRyxFQUFFO1lBQ1IsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ3JCLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDN0IsQ0FBQyxDQUFBO0lBQ0wsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNILG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQ3RGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDakIsQ0FDSixDQUFBO0FBQ0wsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsSUFBWSxFQUFFLEVBQWU7SUFDdEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQy9CLElBQUksVUFBVSxDQUFDLENBQUMsR0FBMEIsRUFBRSxFQUFFO1FBQzFDLElBQUksTUFBTSxHQUFXLENBQUMsQ0FBQTtRQUN0QixJQUFJLE1BQU0sR0FBVyxDQUFDLENBQUE7UUFFdEIsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO1lBQ2QsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQTtZQUN6QixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFBO1lBQzFCLElBQUksTUFBTSxLQUFLLEVBQUUsSUFBSSxNQUFNLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sR0FBRyxFQUFFLENBQUE7Z0JBQ1gsTUFBTSxHQUFHLEVBQUUsQ0FBQTtnQkFDWCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUNqRSxDQUFDO1FBQ0wsQ0FBQyxDQUFBO1FBRUQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ25FLE1BQU0sUUFBUSxHQUFHLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDM0MsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDakIsT0FBTyxFQUFFLElBQUk7WUFDYixTQUFTLEVBQUUsSUFBSTtZQUNmLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQTtRQUVGLE9BQU8sR0FBRyxFQUFFO1lBQ1IsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFBO1lBQ3BCLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtZQUNyQixjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzdCLENBQUMsQ0FBQTtJQUNMLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDMUIsQ0FBQTtBQUNMLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxHQUFXO0lBQ3hCLE9BQU8sSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFBO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIE5nWm9uZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBTdWJzY3JpYmVyIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBOdW1iZXJXaXRoVW5pdCB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5cbmltcG9ydCB7IERpbWVuc2lvbiB9IGZyb20gXCIuL2RpbWVuc2lvblwiXG5cbnR5cGUgV2F0Y2hlcyA9IE1hcDxIVE1MRWxlbWVudCwgT2JzZXJ2YWJsZTxEaW1lbnNpb24+PlxuZXhwb3J0IHR5cGUgV2F0Y2hCb3ggPSBSZXNpemVPYnNlcnZlckJveE9wdGlvbnMgfCBcInNjcm9sbC1ib3hcIlxuXG5jb25zdCBSRVNJWkVfV0FUQ0hFUzogV2F0Y2hlcyA9IG5ldyBNYXAoKVxuY29uc3QgU0NST0xMX1dBVENIRVM6IFdhdGNoZXMgPSBuZXcgTWFwKClcblxuZXhwb3J0IGZ1bmN0aW9uIHdhdGNoRGltZW5zaW9uKGVsOiBIVE1MRWxlbWVudCwgYm94OiBXYXRjaEJveCA9IFwiYm9yZGVyLWJveFwiKTogT2JzZXJ2YWJsZTxEaW1lbnNpb24+IHtcbiAgICBjb25zdCB6b25lID0gaW5qZWN0KE5nWm9uZSlcbiAgICByZXR1cm4gYm94ID09PSBcInNjcm9sbC1ib3hcIiA/IF93YXRjaFNjcm9sbCh6b25lLCBlbCkgOiBfd2F0Y2hSZXNpemUoem9uZSwgZWwsIGJveClcbn1cblxuZnVuY3Rpb24gX3dhdGNoUmVzaXplKHpvbmU6IE5nWm9uZSwgZWw6IEhUTUxFbGVtZW50LCBib3g6IFdhdGNoQm94KSB7XG4gICAgcmV0dXJuIF93YXRjaCh6b25lLCBlbCwgUkVTSVpFX1dBVENIRVMsICgpID0+IF9jcmVhdGVSZXNpemVXYXRjaGVyKHpvbmUsIGVsLCBib3gpKVxufVxuXG5mdW5jdGlvbiBfd2F0Y2hTY3JvbGwoem9uZTogTmdab25lLCBlbDogSFRNTEVsZW1lbnQpIHtcbiAgICByZXR1cm4gX3dhdGNoKHpvbmUsIGVsLCBTQ1JPTExfV0FUQ0hFUywgKCkgPT4gX2NyZWF0ZVNjb2xsV2F0Y2hlcih6b25lLCBlbCkpXG59XG5cbmZ1bmN0aW9uIF93YXRjaCh6b25lOiBOZ1pvbmUsIGVsOiBIVE1MRWxlbWVudCwgd2F0Y2hlczogV2F0Y2hlcywgZmFjdG9yeTogKCkgPT4gT2JzZXJ2YWJsZTxEaW1lbnNpb24+KSB7XG4gICAgY29uc3QgZXhpc3RpbmcgPSB3YXRjaGVzLmdldChlbClcbiAgICBpZiAoZXhpc3RpbmcgPT0gbnVsbCkge1xuICAgICAgICBjb25zdCB3YXRjaGVyID0gZmFjdG9yeSgpXG4gICAgICAgIHdhdGNoZXMuc2V0KGVsLCB3YXRjaGVyKVxuICAgICAgICByZXR1cm4gd2F0Y2hlclxuICAgIH1cbiAgICByZXR1cm4gZXhpc3Rpbmdcbn1cblxuZnVuY3Rpb24gX2NyZWF0ZVJlc2l6ZVdhdGNoZXIoem9uZTogTmdab25lLCBlbDogSFRNTEVsZW1lbnQsIGJveDogV2F0Y2hCb3gpOiBPYnNlcnZhYmxlPERpbWVuc2lvbj4ge1xuICAgIGlmIChib3ggIT09IFwiYm9yZGVyLWJveFwiKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ3VycmVudGx5IG5vdCBpbXBsZW1lbnRlZCBib3ggbW9kZTogJHtib3h9YClcbiAgICB9XG5cbiAgICByZXR1cm4gem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgICBuZXcgT2JzZXJ2YWJsZSgoc3ViOiBTdWJzY3JpYmVyPERpbWVuc2lvbj4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKGVudHJpZXMgPT4ge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZW50cnkuYm9yZGVyQm94U2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3ViLm5leHQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBfbnVtYmVyKGVudHJ5LmJvcmRlckJveFNpemVbMF0uaW5saW5lU2l6ZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBfbnVtYmVyKGVudHJ5LmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Yi5uZXh0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogX251bWJlcihlbC5vZmZzZXRXaWR0aCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBfbnVtYmVyKGVsLm9mZnNldEhlaWdodClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShlbCwgeyBib3g6IGJveCBhcyBSZXNpemVPYnNlcnZlckJveE9wdGlvbnMgfSlcblxuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KClcbiAgICAgICAgICAgICAgICBSRVNJWkVfV0FUQ0hFUy5kZWxldGUoZWwpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocCwgYykgPT4gcCAmJiBjICYmIHAud2lkdGggPT09IGMud2lkdGggJiYgcC5oZWlnaHQgPT09IGMuaGVpZ2h0KSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgIClcbiAgICApXG59XG5cbmZ1bmN0aW9uIF9jcmVhdGVTY29sbFdhdGNoZXIoem9uZTogTmdab25lLCBlbDogSFRNTEVsZW1lbnQpOiBPYnNlcnZhYmxlPERpbWVuc2lvbj4ge1xuICAgIHJldHVybiB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgIG5ldyBPYnNlcnZhYmxlKChzdWI6IFN1YnNjcmliZXI8RGltZW5zaW9uPikgPT4ge1xuICAgICAgICAgICAgbGV0IGxhc3RTdzogbnVtYmVyID0gMFxuICAgICAgICAgICAgbGV0IGxhc3RTaDogbnVtYmVyID0gMFxuXG4gICAgICAgICAgICBjb25zdCBlbWl0ID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN3ID0gZWwuc2Nyb2xsV2lkdGhcbiAgICAgICAgICAgICAgICBjb25zdCBzaCA9IGVsLnNjcm9sbEhlaWdodFxuICAgICAgICAgICAgICAgIGlmIChsYXN0U3cgIT09IHN3IHx8IGxhc3RTaCAhPT0gc2gpIHtcbiAgICAgICAgICAgICAgICAgICAgbGFzdFN3ID0gc3dcbiAgICAgICAgICAgICAgICAgICAgbGFzdFNoID0gc2hcbiAgICAgICAgICAgICAgICAgICAgc3ViLm5leHQoeyB3aWR0aDogX251bWJlcihsYXN0U3cpLCBoZWlnaHQ6IF9udW1iZXIobGFzdFNoKSB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZGltU3VtID0gX3dhdGNoUmVzaXplKHpvbmUsIGVsLCBcImJvcmRlci1ib3hcIikuc3Vic2NyaWJlKGVtaXQpXG4gICAgICAgICAgICBjb25zdCBtdXRhdGlvbiA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGVtaXQpXG4gICAgICAgICAgICBtdXRhdGlvbi5vYnNlcnZlKGVsLCB7XG4gICAgICAgICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGRpbVN1bS51bnN1YnNjcmliZSgpXG4gICAgICAgICAgICAgICAgbXV0YXRpb24uZGlzY29ubmVjdCgpXG4gICAgICAgICAgICAgICAgU0NST0xMX1dBVENIRVMuZGVsZXRlKGVsKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KS5waXBlKHNoYXJlUmVwbGF5KDEpKVxuICAgIClcbn1cblxuZnVuY3Rpb24gX251bWJlcih2YWw6IG51bWJlcik6IE51bWJlcldpdGhVbml0IHtcbiAgICByZXR1cm4gbmV3IE51bWJlcldpdGhVbml0KHZhbCwgXCJwa1wiKVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbGF5b3V0L3NyYy91dGlsL2RpbWVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTnVtYmVyV2l0aFVuaXQgfSBmcm9tIFwiQG5ndXRpbC9jb21tb25cIlxuXG5leHBvcnQgaW50ZXJmYWNlIERpbWVuc2lvbiB7XG4gICAgd2lkdGg6IE51bWJlcldpdGhVbml0XG4gICAgaGVpZ2h0OiBOdW1iZXJXaXRoVW5pdFxufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { watchMedia } from "./media-watcher";
|
|
2
|
+
export { watchDimension } from "./dimension-watcher";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sYXlvdXQvc3JjL3V0aWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IERpbWVuc2lvbiB9IGZyb20gXCIuL2RpbWVuc2lvblwiXG5leHBvcnQgeyBSZWN0IH0gZnJvbSBcIi4vcmVjdFwiXG5leHBvcnQgeyB3YXRjaE1lZGlhIH0gZnJvbSBcIi4vbWVkaWEtd2F0Y2hlclwiXG5leHBvcnQgeyB3YXRjaERpbWVuc2lvbiB9IGZyb20gXCIuL2RpbWVuc2lvbi13YXRjaGVyXCJcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { inject, NgZone } from "@angular/core";
|
|
2
|
+
import { distinctUntilChanged, Observable, shareReplay } from "rxjs";
|
|
3
|
+
const WATCHES = {};
|
|
4
|
+
/**
|
|
5
|
+
* watchMedia("(display-mode: standalone)")
|
|
6
|
+
*/
|
|
7
|
+
export function watchMedia(expr) {
|
|
8
|
+
const existing = WATCHES[expr];
|
|
9
|
+
if (existing == null) {
|
|
10
|
+
return (WATCHES[expr] = _createWatcher(expr));
|
|
11
|
+
}
|
|
12
|
+
return existing;
|
|
13
|
+
}
|
|
14
|
+
function _createWatcher(expr) {
|
|
15
|
+
const zone = inject(NgZone);
|
|
16
|
+
return zone.runOutsideAngular(() => new Observable((sub) => {
|
|
17
|
+
const query = window.matchMedia(expr);
|
|
18
|
+
const listener = (event) => {
|
|
19
|
+
sub.next(event.matches);
|
|
20
|
+
};
|
|
21
|
+
query.addEventListener("change", listener);
|
|
22
|
+
sub.next(query.matches);
|
|
23
|
+
return () => {
|
|
24
|
+
query.removeEventListener("change", listener);
|
|
25
|
+
delete WATCHES[expr];
|
|
26
|
+
};
|
|
27
|
+
}).pipe(distinctUntilChanged(), shareReplay(1)));
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtd2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2xheW91dC9zcmMvdXRpbC9tZWRpYS13YXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBRWhGLE1BQU0sT0FBTyxHQUEyQyxFQUFFLENBQUE7QUFFMUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVk7SUFDbkMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlCLElBQUksUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDakQsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFBO0FBQ25CLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxJQUFZO0lBQ2hDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMzQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FDL0IsSUFBSSxVQUFVLENBQUMsQ0FBQyxHQUF3QixFQUFFLEVBQUU7UUFDeEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNyQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQTBCLEVBQUUsRUFBRTtZQUM1QyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUMzQixDQUFDLENBQUE7UUFDRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQzFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3ZCLE9BQU8sR0FBRyxFQUFFO1lBQ1IsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUM3QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QixDQUFDLENBQUE7SUFDTCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDbEQsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIE5nWm9uZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBTdWJzY3JpYmVyIH0gZnJvbSBcInJ4anNcIlxuXG5jb25zdCBXQVRDSEVTOiB7IFtrZXk6IHN0cmluZ106IE9ic2VydmFibGU8Ym9vbGVhbj4gfSA9IHt9XG5cbi8qKlxuICogd2F0Y2hNZWRpYShcIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpXCIpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YXRjaE1lZGlhKGV4cHI6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gV0FUQ0hFU1tleHByXVxuICAgIGlmIChleGlzdGluZyA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiAoV0FUQ0hFU1tleHByXSA9IF9jcmVhdGVXYXRjaGVyKGV4cHIpKVxuICAgIH1cbiAgICByZXR1cm4gZXhpc3Rpbmdcbn1cblxuZnVuY3Rpb24gX2NyZWF0ZVdhdGNoZXIoZXhwcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3Qgem9uZSA9IGluamVjdChOZ1pvbmUpXG4gICAgcmV0dXJuIHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgICAgbmV3IE9ic2VydmFibGUoKHN1YjogU3Vic2NyaWJlcjxib29sZWFuPikgPT4ge1xuICAgICAgICAgICAgY29uc3QgcXVlcnkgPSB3aW5kb3cubWF0Y2hNZWRpYShleHByKVxuICAgICAgICAgICAgY29uc3QgbGlzdGVuZXIgPSAoZXZlbnQ6IE1lZGlhUXVlcnlMaXN0RXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBzdWIubmV4dChldmVudC5tYXRjaGVzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcXVlcnkuYWRkRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLCBsaXN0ZW5lcilcbiAgICAgICAgICAgIHN1Yi5uZXh0KHF1ZXJ5Lm1hdGNoZXMpXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHF1ZXJ5LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgbGlzdGVuZXIpXG4gICAgICAgICAgICAgICAgZGVsZXRlIFdBVENIRVNbZXhwcl1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSlcbiAgICApXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2xheW91dC9zcmMvdXRpbC9yZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaW1lbnNpb24gfSBmcm9tIFwiLi9kaW1lbnNpb25cIlxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY3QgZXh0ZW5kcyBEaW1lbnNpb24ge1xuICAgIHg6IG51bWJlclxuICAgIHk6IG51bWJlclxufVxuIl19
|