@metapages/metapage 1.8.8 → 1.8.10
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/dist/metapage/Metaframe.js +4 -4
- package/dist/metapage/metapageRenderer.d.ts.map +1 -1
- package/dist/metapage/metapageRenderer.js +111 -103
- package/dist/metapage/metapageRenderer.js.map +1 -1
- package/dist/metapage/util.js +2 -2
- package/dist/node_modules/@metapages/hash-query/dist/core/index.js +113 -110
- package/dist/node_modules/@metapages/hash-query/dist/core/index.js.map +1 -1
- package/package.json +2 -2
- package/src/metapage/metapageRenderer.ts +74 -46
|
@@ -2,8 +2,8 @@ import { e as I } from "../node_modules/eventemitter3/index.js";
|
|
|
2
2
|
import { setHashParamInWindow as p, getHashParamFromWindow as P, setHashParamValueBooleanInWindow as f, getHashParamValueBooleanFromWindow as c, setHashParamValueJsonInWindow as b, getHashParamValueJsonFromWindow as _, setHashParamValueBase64EncodedInWindow as w, getHashParamValueBase64DecodedFromWindow as R, setHashParamValueFloatInWindow as S, getHashParamValueFloatFromWindow as V, setHashParamValueIntInWindow as v, getHashParamValueIntFromWindow as y } from "../node_modules/@metapages/hash-query/dist/core/index.js";
|
|
3
3
|
import { VERSION_METAFRAME as C } from "./Constants.js";
|
|
4
4
|
import { deserializeInputs as d, serializeInputs as g } from "./data.js";
|
|
5
|
-
import { isDebugFromUrlsParams as l, pageLoaded as O, stringToRgb as E, log as
|
|
6
|
-
import { isIframe as
|
|
5
|
+
import { isDebugFromUrlsParams as l, pageLoaded as O, stringToRgb as E, log as H, merge as m } from "./MetapageTools.js";
|
|
6
|
+
import { isIframe as L } from "./Shared.js";
|
|
7
7
|
import { JsonRpcMethodsFromChild as o, JsonRpcMethodsFromParent as u } from "./jsonrpc.js";
|
|
8
8
|
var r;
|
|
9
9
|
(function(h) {
|
|
@@ -15,7 +15,7 @@ var i;
|
|
|
15
15
|
})(i || (i = {}));
|
|
16
16
|
class a extends I.EventEmitter {
|
|
17
17
|
constructor(t) {
|
|
18
|
-
if (super(), this._inputPipeValues = {}, this._outputPipeValues = {}, this._state = r.WaitingForPageLoad, this._messageSendCount = 0, this.debug = l(), this.isInputOutputBlobSerialization = !0, this.id = window.name, this.debug = l(), this._isIframe =
|
|
18
|
+
if (super(), this._inputPipeValues = {}, this._outputPipeValues = {}, this._state = r.WaitingForPageLoad, this._messageSendCount = 0, this.debug = l(), this.isInputOutputBlobSerialization = !0, this.id = window.name, this.debug = l(), this._isIframe = L(), this.addListener = this.addListener.bind(this), this.dispose = this.dispose.bind(this), this.error = this.error.bind(this), this.getInput = this.getInput.bind(this), this.getInputs = this.getInputs.bind(this), this.log = this.log.bind(this), this.logInternal = this.logInternal.bind(this), this.onInput = this.onInput.bind(this), this.onInputs = this.onInputs.bind(this), this.onMessage = this.onMessage.bind(this), this.sendRpc = this.sendRpc.bind(this), this.setInput = this.setInput.bind(this), this.setInputs = this.setInputs.bind(this), this.setInternalInputsAndNotify = this.setInternalInputsAndNotify.bind(this), this.setOutput = this.setOutput.bind(this), this.setOutputs = this.setOutputs.bind(this), this.warn = this.warn.bind(this), this._resolveSetupIframeServerResponse = this._resolveSetupIframeServerResponse.bind(this), this.addListenerReturnDisposer = this.addListenerReturnDisposer.bind(this), this.connected = this.connected.bind(this), this.isConnected = this.isConnected.bind(this), this.disableNotifyOnHashUrlChange = this.disableNotifyOnHashUrlChange.bind(this), this._onHashUrlChange = this._onHashUrlChange.bind(this), this.setParameter = this.setParameter.bind(this), this.setParameterBoolean = this.setParameterBoolean.bind(this), this.setParameterJson = this.setParameterJson.bind(this), this.setParameterBase64 = this.setParameterBase64.bind(this), this.setParameterFloat = this.setParameterFloat.bind(this), this.setParameterInt = this.setParameterInt.bind(this), this.getParameter = this.getParameter.bind(this), this.getParameterBoolean = this.getParameterBoolean.bind(this), this.getParameterJson = this.getParameterJson.bind(this), this.getParameterBase64 = this.getParameterBase64.bind(this), this.getParameterFloat = this.getParameterFloat.bind(this), this.getParameterInt = this.getParameterInt.bind(this), this.deleteParameter = this.deleteParameter.bind(this), !this._isIframe) {
|
|
19
19
|
this.log("Not an iframe, metaframe code disabled");
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
@@ -64,7 +64,7 @@ class a extends I.EventEmitter {
|
|
|
64
64
|
}
|
|
65
65
|
logInternal(t, e, s) {
|
|
66
66
|
let n;
|
|
67
|
-
typeof t == "string" ? n = t : typeof t == "number" ? n = t + "" : n = JSON.stringify(t), e = e && e + "", n = (this.id ? `Metaframe[${this.id}] ` : "") + `${n}`,
|
|
67
|
+
typeof t == "string" ? n = t : typeof t == "number" ? n = t + "" : n = JSON.stringify(t), e = e && e + "", n = (this.id ? `Metaframe[${this.id}] ` : "") + `${n}`, H(n, e, s);
|
|
68
68
|
}
|
|
69
69
|
dispose() {
|
|
70
70
|
super.removeAllListeners(), window.removeEventListener("message", this.onMessage), this.disableNotifyOnHashUrlChange(), this._inputPipeValues = void 0, this._outputPipeValues = void 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metapageRenderer.d.ts","sourceRoot":"","sources":["../../src/metapage/metapageRenderer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"metapageRenderer.d.ts","sourceRoot":"","sources":["../../src/metapage/metapageRenderer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA6FD,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtD,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA8PlC"}
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
import { MetapageEvents as
|
|
2
|
-
import { Metapage as
|
|
3
|
-
import { pageLoaded as
|
|
4
|
-
import { getMetapageDefinitionFromUrl as
|
|
5
|
-
function
|
|
6
|
-
|
|
7
|
-
return !1;
|
|
8
|
-
try {
|
|
9
|
-
return new URL(a).pathname.split(";")[0].split(";")[1] === "type=metapage-divider";
|
|
10
|
-
} catch {
|
|
11
|
-
return !1;
|
|
12
|
-
}
|
|
1
|
+
import { MetapageEvents as T } from "./events.js";
|
|
2
|
+
import { Metapage as F } from "./Metapage.js";
|
|
3
|
+
import { pageLoaded as J } from "./MetapageTools.js";
|
|
4
|
+
import { getMetapageDefinitionFromUrl as R } from "./util.js";
|
|
5
|
+
function $(r) {
|
|
6
|
+
return r.startsWith("data:") ? r.includes("type=metapage-divider") : !1;
|
|
13
7
|
}
|
|
14
|
-
function
|
|
15
|
-
const i = JSON.parse(JSON.stringify(
|
|
8
|
+
function W(r) {
|
|
9
|
+
const i = JSON.parse(JSON.stringify(r));
|
|
16
10
|
i.meta || (i.meta = {}), i.meta.layouts || (i.meta.layouts = {}), i.meta.layouts["react-grid-layout"] || (i.meta.layouts["react-grid-layout"] = {
|
|
17
11
|
docs: "https://www.npmjs.com/package/react-grid-layout",
|
|
18
12
|
props: {
|
|
@@ -23,141 +17,155 @@ function U(a) {
|
|
|
23
17
|
},
|
|
24
18
|
layout: []
|
|
25
19
|
});
|
|
26
|
-
const
|
|
20
|
+
const t = i.meta.layouts["react-grid-layout"];
|
|
27
21
|
if (i.metaframes) {
|
|
28
|
-
Object.keys(i.metaframes).forEach((
|
|
29
|
-
if (!
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
i:
|
|
22
|
+
Object.keys(i.metaframes).forEach((a) => {
|
|
23
|
+
if (!t.layout.some((l) => l.i === a)) {
|
|
24
|
+
const l = t.layout.length > 0 ? Math.max(...t.layout.map((o) => (o.y || 0) + (o.h || 2))) : 0;
|
|
25
|
+
t.layout.push({
|
|
26
|
+
i: a,
|
|
33
27
|
x: 0,
|
|
34
|
-
y:
|
|
35
|
-
w:
|
|
36
|
-
h:
|
|
28
|
+
y: l,
|
|
29
|
+
w: t.props.cols,
|
|
30
|
+
h: $(i.metaframes[a].url) ? 1 : 3
|
|
37
31
|
});
|
|
38
32
|
}
|
|
39
33
|
});
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
34
|
+
const f = new Set(Object.keys(i.metaframes));
|
|
35
|
+
t.layout = t.layout.filter((a) => f.has(a.i)), t.layout.forEach((a) => {
|
|
36
|
+
a.x = a.x || 0, a.y = a.y || 0, a.w = a.w || 1, a.h = a.h || 1;
|
|
43
37
|
});
|
|
44
38
|
}
|
|
45
39
|
return i;
|
|
46
40
|
}
|
|
47
|
-
async function
|
|
48
|
-
var C, O,
|
|
49
|
-
let { url: i, definition:
|
|
50
|
-
if (!i && !
|
|
41
|
+
async function Z(r) {
|
|
42
|
+
var b, C, O, j, S;
|
|
43
|
+
let { url: i, definition: t, onOutputs: f, rootDiv: a, options: l = {} } = r;
|
|
44
|
+
if (!i && !t)
|
|
51
45
|
throw new Error("Either url or definition must be provided");
|
|
52
|
-
if (i &&
|
|
46
|
+
if (i && t)
|
|
53
47
|
throw new Error("Either url or definition must be provided, not both");
|
|
54
|
-
if (i && (
|
|
48
|
+
if (i && (t = await R(i)), !t)
|
|
55
49
|
throw new Error("Failed to fetch metapage definition");
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
s.debug = c.debug || !1;
|
|
50
|
+
t = W(t), t = await P(t), await J();
|
|
51
|
+
const o = new F();
|
|
52
|
+
o.debug = l.debug || !1;
|
|
60
53
|
try {
|
|
61
|
-
await
|
|
54
|
+
await o.setDefinition(JSON.parse(JSON.stringify(t)));
|
|
62
55
|
} catch (e) {
|
|
63
|
-
throw
|
|
56
|
+
throw o.dispose(), new Error(`Failed to set metapage definition: ${e}`);
|
|
64
57
|
}
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
const
|
|
68
|
-
if (!
|
|
58
|
+
const y = [];
|
|
59
|
+
f && y.push(o.addListenerReturnDisposer(T.Outputs, f));
|
|
60
|
+
const m = (C = (b = t == null ? void 0 : t.meta) == null ? void 0 : b.layouts) == null ? void 0 : C["react-grid-layout"], p = m == null ? void 0 : m.layout;
|
|
61
|
+
if (!m || !p)
|
|
69
62
|
throw new Error("No valid layout found in metapage definition");
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
63
|
+
const g = /* @__PURE__ */ new Set(), E = p.map((e, d) => {
|
|
64
|
+
const s = o.getMetaframes()[e.i];
|
|
65
|
+
return s && $(s.url) ? { index: d, y: e.y, id: e.i } : null;
|
|
66
|
+
}).filter((e) => e !== null);
|
|
67
|
+
if (E.length > 0) {
|
|
68
|
+
const e = E.reduce((s, n) => n.y < s.y ? n : s), d = ((O = p.find((s) => s.i === e.id)) == null ? void 0 : O.y) ?? 0;
|
|
69
|
+
p.forEach((s) => {
|
|
70
|
+
s.y >= d && g.add(s.i);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
const M = o.getMetaframeIds().filter((e) => !g.has(e));
|
|
74
|
+
let u = p.filter((e) => M.includes(e.i));
|
|
75
|
+
if (u.length === 0)
|
|
76
|
+
return console.warn("No visible metaframes found"), {
|
|
77
|
+
setInputs: (e) => {
|
|
78
|
+
o.isDisposed() || o.setInputs(e);
|
|
79
|
+
},
|
|
80
|
+
dispose: () => {
|
|
81
|
+
y.forEach((e) => e()), o.dispose(), a.innerHTML = "";
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
u.sort((e, d) => e.y !== d.y ? e.y - d.y : e.x - d.x);
|
|
85
|
+
const H = Math.max(...u.map((e) => e.x + e.w));
|
|
86
|
+
Math.max(...u.map((e) => e.y + e.h));
|
|
87
|
+
const L = {
|
|
83
88
|
display: "grid",
|
|
84
|
-
gridTemplateColumns: `repeat(${
|
|
85
|
-
|
|
86
|
-
gap: `${((
|
|
89
|
+
gridTemplateColumns: `repeat(${Math.max(1, H)}, 1fr)`,
|
|
90
|
+
gridAutoRows: "minmax(100px, auto)",
|
|
91
|
+
gap: `${((j = m.props.margin) == null ? void 0 : j[0]) || 10}px`,
|
|
87
92
|
width: "100%",
|
|
88
93
|
height: "100%",
|
|
89
|
-
padding: ((
|
|
94
|
+
padding: ((S = m.props.containerPadding) == null ? void 0 : S[0]) || 0,
|
|
90
95
|
minHeight: 0,
|
|
91
96
|
alignContent: "stretch"
|
|
92
|
-
},
|
|
97
|
+
}, k = {
|
|
93
98
|
width: "100%",
|
|
94
99
|
height: "100%",
|
|
95
100
|
overflow: "hidden",
|
|
96
101
|
display: "flex",
|
|
97
102
|
flexDirection: "column"
|
|
98
103
|
};
|
|
99
|
-
|
|
100
|
-
const
|
|
101
|
-
Object.assign(
|
|
102
|
-
const
|
|
103
|
-
Object.assign(
|
|
104
|
-
const
|
|
105
|
-
if (!
|
|
104
|
+
a.innerHTML = "";
|
|
105
|
+
const h = document.createElement("div");
|
|
106
|
+
Object.assign(h.style, k);
|
|
107
|
+
const w = document.createElement("div");
|
|
108
|
+
Object.assign(w.style, L), M.forEach((e, d) => {
|
|
109
|
+
const s = p.find((N) => N.i === e);
|
|
110
|
+
if (!s)
|
|
106
111
|
return;
|
|
107
|
-
const
|
|
108
|
-
if (!
|
|
112
|
+
const n = o.getMetaframes()[e];
|
|
113
|
+
if (!n)
|
|
109
114
|
return;
|
|
110
|
-
const
|
|
111
|
-
gridColumn: `${
|
|
112
|
-
gridRow: `${
|
|
115
|
+
const I = {
|
|
116
|
+
gridColumn: `${s.x + 1} / span ${s.w}`,
|
|
117
|
+
gridRow: `${s.y + 1} / span ${s.h}`,
|
|
113
118
|
overflow: "hidden",
|
|
114
119
|
width: "100%",
|
|
115
120
|
minHeight: "100%",
|
|
116
121
|
height: "100%",
|
|
117
|
-
border:
|
|
118
|
-
|
|
119
|
-
|
|
122
|
+
border: l.hideFrameBorders ? "none" : "1px solid #e0e0e0",
|
|
123
|
+
position: "relative"
|
|
124
|
+
}, c = document.createElement("iframe");
|
|
125
|
+
c.src = n.url, c.style.border = "none", c.style.position = "absolute", c.style.top = "0", c.style.left = "0", c.style.width = "100%", c.style.height = "100%";
|
|
126
|
+
const x = document.createElement("div");
|
|
127
|
+
Object.assign(x.style, I), x.appendChild(c), w.appendChild(x);
|
|
120
128
|
});
|
|
121
|
-
const
|
|
122
|
-
return
|
|
123
|
-
const
|
|
124
|
-
if (!
|
|
129
|
+
const v = document.createElement("div");
|
|
130
|
+
return v.style.display = "none", Object.keys(o.getMetaframes()).filter((e) => g.has(e)).forEach((e) => {
|
|
131
|
+
const d = o.getMetaframes()[e];
|
|
132
|
+
if (!d)
|
|
125
133
|
return;
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
}),
|
|
134
|
+
const s = document.createElement("div");
|
|
135
|
+
s.setAttribute("data-metaframe-id", e);
|
|
136
|
+
const n = document.createElement("iframe");
|
|
137
|
+
n.src = d.url, n.style.border = "none", n.style.height = "100%", n.style.width = "100%", n.style.overflow = "clip", s.appendChild(n), v.appendChild(s);
|
|
138
|
+
}), h.appendChild(w), h.appendChild(v), a.appendChild(h), {
|
|
131
139
|
setInputs: (e) => {
|
|
132
|
-
|
|
140
|
+
o.isDisposed() || o.setInputs(e);
|
|
133
141
|
},
|
|
134
142
|
dispose: () => {
|
|
135
|
-
|
|
143
|
+
y.forEach((e) => e()), o.dispose(), a.innerHTML = "";
|
|
136
144
|
}
|
|
137
145
|
};
|
|
138
146
|
}
|
|
139
|
-
const
|
|
140
|
-
var
|
|
141
|
-
if (!
|
|
147
|
+
const A = (r) => {
|
|
148
|
+
var t;
|
|
149
|
+
if (!r)
|
|
142
150
|
return;
|
|
143
|
-
typeof
|
|
144
|
-
let i = (
|
|
145
|
-
return i || (
|
|
146
|
-
},
|
|
147
|
-
if (!(
|
|
148
|
-
return
|
|
149
|
-
for (const [i,
|
|
150
|
-
if (!(
|
|
151
|
+
typeof r == "string" && (r.startsWith("/") && (r = "https://metapage.io" + r), r = new URL(r));
|
|
152
|
+
let i = (t = /\/m?f\/([0-9a-zA-Z-]{3,})\/?(metaframe\.json)?.*$/g.exec(r.pathname)) == null ? void 0 : t[1];
|
|
153
|
+
return i || (r.searchParams.get("mfk") ?? void 0);
|
|
154
|
+
}, P = async (r) => {
|
|
155
|
+
if (!(r != null && r.metaframes))
|
|
156
|
+
return r;
|
|
157
|
+
for (const [i, t] of Object.entries(r.metaframes)) {
|
|
158
|
+
if (!(t.url.startsWith("https://metapage.io/mf/") || t.url.startsWith("https://metapage.io/f/")))
|
|
151
159
|
continue;
|
|
152
|
-
const
|
|
153
|
-
if (!
|
|
160
|
+
const f = A(t.url);
|
|
161
|
+
if (!f)
|
|
154
162
|
continue;
|
|
155
|
-
const
|
|
156
|
-
|
|
163
|
+
const a = await fetch(`https://metapage.io/f/${f}/definition.json`).then((l) => l.json());
|
|
164
|
+
a != null && a.url && (t.url = a == null ? void 0 : a.url);
|
|
157
165
|
}
|
|
158
|
-
return
|
|
166
|
+
return r;
|
|
159
167
|
};
|
|
160
168
|
export {
|
|
161
|
-
|
|
169
|
+
Z as renderMetapage
|
|
162
170
|
};
|
|
163
171
|
//# sourceMappingURL=metapageRenderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metapageRenderer.js","sources":["../../src/metapage/metapageRenderer.ts"],"sourcesContent":[null],"names":["isMetaframeDivider","url","validateLayout","definition","validated","layout","metaframeId","
|
|
1
|
+
{"version":3,"file":"metapageRenderer.js","sources":["../../src/metapage/metapageRenderer.ts"],"sourcesContent":[null],"names":["isMetaframeDivider","url","validateLayout","definition","validated","layout","metaframeId","currentMaxY","l","allMetaframeIds","renderMetapage","props","onOutputs","rootDiv","options","getMetapageDefinitionFromUrl","processMetapage","pageLoaded","metapage","Metapage","err","disposers","MetapageEvents","desktopLayoutBlob","_b","_a","metaframesToHide","dividers","item","index","metaframe","lowestYDivider","lowest","current","dividerY","_c","visibleMetaframeIds","visibleLayoutItems","inputs","disposer","a","b","maxCol","gridStyle","_d","_e","containerStyle","container","gridContainer","layoutItem","itemStyle","iframe","wrapper","hiddenContainer","getMetaframeKey","mfk","metapageDefinition","metaframeDefinition","r"],"mappings":"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"}
|
package/dist/metapage/util.js
CHANGED
|
@@ -36,10 +36,10 @@ const n = m(fetch), D = async (e, o) => {
|
|
|
36
36
|
console.error(`Error fetching metaframe definition from ${t.href}: ${r}`);
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
|
-
},
|
|
39
|
+
}, W = (e) => e ? !(e != null && e.inputs && Object.keys(e.inputs).length > 0 || e != null && e.outputs && Object.keys(e.outputs).length > 0 || e != null && e.allow || e != null && e.metadata && Object.keys(e.metadata).length > 0) : !0;
|
|
40
40
|
export {
|
|
41
41
|
M as getMetaframeDefinitionFromUrl,
|
|
42
42
|
D as getMetapageDefinitionFromUrl,
|
|
43
|
-
|
|
43
|
+
W as isEmptyMetaframeDefinition
|
|
44
44
|
};
|
|
45
45
|
//# sourceMappingURL=util.js.map
|
|
@@ -1,142 +1,145 @@
|
|
|
1
|
-
function
|
|
2
|
-
return
|
|
1
|
+
function y(r) {
|
|
2
|
+
return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, "default") ? r.default : r;
|
|
3
3
|
}
|
|
4
|
-
var P = function(
|
|
5
|
-
|
|
6
|
-
var
|
|
4
|
+
var P = function(r, t) {
|
|
5
|
+
t || (t = {}), typeof t == "function" && (t = { cmp: t });
|
|
6
|
+
var a = typeof t.cycles == "boolean" ? t.cycles : !1, l = t.cmp && /* @__PURE__ */ function(o) {
|
|
7
7
|
return function(e) {
|
|
8
|
-
return function(
|
|
9
|
-
var c = { key:
|
|
10
|
-
return
|
|
8
|
+
return function(s, i) {
|
|
9
|
+
var c = { key: s, value: e[s] }, u = { key: i, value: e[i] };
|
|
10
|
+
return o(c, u);
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
|
-
}(
|
|
14
|
-
return function
|
|
13
|
+
}(t.cmp), n = [];
|
|
14
|
+
return function o(e) {
|
|
15
15
|
if (e && e.toJSON && typeof e.toJSON == "function" && (e = e.toJSON()), e !== void 0) {
|
|
16
16
|
if (typeof e == "number")
|
|
17
17
|
return isFinite(e) ? "" + e : "null";
|
|
18
18
|
if (typeof e != "object")
|
|
19
19
|
return JSON.stringify(e);
|
|
20
|
-
var
|
|
20
|
+
var s, i;
|
|
21
21
|
if (Array.isArray(e)) {
|
|
22
|
-
for (
|
|
23
|
-
|
|
24
|
-
return
|
|
22
|
+
for (i = "[", s = 0; s < e.length; s++)
|
|
23
|
+
s && (i += ","), i += o(e[s]) || "null";
|
|
24
|
+
return i + "]";
|
|
25
25
|
}
|
|
26
26
|
if (e === null)
|
|
27
27
|
return "null";
|
|
28
|
-
if (
|
|
29
|
-
if (
|
|
28
|
+
if (n.indexOf(e) !== -1) {
|
|
29
|
+
if (a)
|
|
30
30
|
return JSON.stringify("__cycle__");
|
|
31
31
|
throw new TypeError("Converting circular structure to JSON");
|
|
32
32
|
}
|
|
33
|
-
var c =
|
|
34
|
-
for (
|
|
35
|
-
var
|
|
36
|
-
|
|
33
|
+
var c = n.push(e) - 1, u = Object.keys(e).sort(l && l(e));
|
|
34
|
+
for (i = "", s = 0; s < u.length; s++) {
|
|
35
|
+
var f = u[s], w = o(e[f]);
|
|
36
|
+
w && (i && (i += ","), i += JSON.stringify(f) + ":" + w);
|
|
37
37
|
}
|
|
38
|
-
return
|
|
38
|
+
return n.splice(c, 1), "{" + i + "}";
|
|
39
39
|
}
|
|
40
|
-
}(
|
|
40
|
+
}(r);
|
|
41
41
|
};
|
|
42
|
-
const v = /* @__PURE__ */
|
|
43
|
-
if (
|
|
44
|
-
return JSON.parse(g(
|
|
45
|
-
},
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
42
|
+
const v = /* @__PURE__ */ y(P), F = (r) => m(v(r)), b = (r) => {
|
|
43
|
+
if (r && r.length > 0)
|
|
44
|
+
return JSON.parse(g(r));
|
|
45
|
+
}, m = (r) => btoa(r), g = (r) => {
|
|
46
|
+
for (; r.endsWith("%3D"); )
|
|
47
|
+
r = r.slice(0, -3);
|
|
48
|
+
return atob(r);
|
|
49
|
+
}, H = (r) => {
|
|
50
|
+
const t = r instanceof URL ? r : new URL(r);
|
|
51
|
+
return p(t.hash);
|
|
52
|
+
}, p = (r) => {
|
|
53
|
+
let t = r;
|
|
54
|
+
for (; t.startsWith("#"); )
|
|
55
|
+
t = t.substring(1);
|
|
56
|
+
const a = t.indexOf("?");
|
|
57
|
+
if (a === -1)
|
|
58
|
+
return [t, {}];
|
|
59
|
+
const l = t.substring(0, a);
|
|
60
|
+
t = t.substring(a + 1);
|
|
61
|
+
const n = {};
|
|
62
|
+
return t.split("&").filter((o) => o.length > 0).map((o) => {
|
|
63
|
+
const e = o.indexOf("=");
|
|
60
64
|
if (e === -1)
|
|
61
|
-
return [
|
|
62
|
-
const
|
|
63
|
-
return [
|
|
64
|
-
}).forEach(([
|
|
65
|
-
|
|
66
|
-
}), Object.keys(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const
|
|
81
|
-
let r = !1;
|
|
82
|
-
if (a.hasOwnProperty(o) && t === null || t === void 0 ? (delete a[o], r = !0) : a[o] !== t && (a[o] = t, r = !0), !r)
|
|
83
|
-
return n;
|
|
84
|
-
const e = Object.keys(a);
|
|
65
|
+
return [o, ""];
|
|
66
|
+
const s = o.substring(0, e), i = o.substring(e + 1);
|
|
67
|
+
return [s, i];
|
|
68
|
+
}).forEach(([o, e]) => {
|
|
69
|
+
n[o] = e;
|
|
70
|
+
}), Object.keys(n).forEach((o) => {
|
|
71
|
+
n[o] = n[o];
|
|
72
|
+
}), [l, n];
|
|
73
|
+
}, h = (r, t) => {
|
|
74
|
+
const [a, l] = H(r);
|
|
75
|
+
return l[t];
|
|
76
|
+
}, U = (r) => V()[1][r], V = () => H(window.location.href), d = (r, t, a) => {
|
|
77
|
+
const l = window.location.hash.startsWith("#") ? window.location.hash.substring(1) : window.location.hash, n = W(l, r, t);
|
|
78
|
+
n !== l && (a != null && a.modifyHistory ? window.location.hash = n : (window.history.replaceState(null, document.title, `${window.location.pathname}${window.location.search}${n.startsWith("#") ? "" : "#"}${n}`), window.dispatchEvent(new HashChangeEvent("hashchange"))));
|
|
79
|
+
}, W = (r, t, a) => {
|
|
80
|
+
const [l, n] = p(r);
|
|
81
|
+
let o = !1;
|
|
82
|
+
if (n.hasOwnProperty(t) && a === null || a === void 0 ? (delete n[t], o = !0) : n[t] !== a && (n[t] = a, o = !0), !o)
|
|
83
|
+
return r;
|
|
84
|
+
const e = Object.keys(n);
|
|
85
85
|
e.sort();
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
},
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
},
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
},
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
},
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
},
|
|
86
|
+
const s = e.map((i, c) => {
|
|
87
|
+
const u = n[i];
|
|
88
|
+
return /^[A-Za-z0-9+/]+={0,2}$/.test(u) && u.length % 4, `${i}=${u}`;
|
|
89
|
+
}).join("&");
|
|
90
|
+
return !l && !s ? "" : `${l || ""}${s ? "?" + s : ""}`;
|
|
91
|
+
}, O = (r, t) => {
|
|
92
|
+
const a = h(r, t);
|
|
93
|
+
if (a && a !== "")
|
|
94
|
+
return b(a);
|
|
95
|
+
}, N = (r, t, a) => {
|
|
96
|
+
const l = t ? F(t) : void 0;
|
|
97
|
+
d(r, l, a);
|
|
98
|
+
}, j = (r) => O(window.location.href, r), S = (r, t) => {
|
|
99
|
+
const a = h(r, t);
|
|
100
|
+
return a ? parseFloat(a) : void 0;
|
|
101
|
+
}, I = (r, t, a) => {
|
|
102
|
+
d(r, t != null ? t.toString() : void 0, a);
|
|
103
|
+
}, E = (r) => S(window.location.href, r), J = (r, t) => {
|
|
104
|
+
const a = h(r, t);
|
|
105
|
+
return a ? parseInt(a) : void 0;
|
|
106
|
+
}, k = (r, t, a) => {
|
|
107
|
+
I(r, t, a);
|
|
108
|
+
}, _ = (r) => J(window.location.href, r), B = (r, t) => h(r, t) === "true", x = (r, t, a) => {
|
|
109
|
+
d(r, t ? "true" : void 0, a);
|
|
110
|
+
}, T = (r) => B(window.location.href, r), $ = (r, t) => {
|
|
111
|
+
const a = h(r, t);
|
|
112
|
+
return a && a !== "" ? g(a) : void 0;
|
|
113
|
+
}, A = (r, t, a) => {
|
|
114
|
+
const l = t == null ? void 0 : m(t);
|
|
115
|
+
d(r, l, a);
|
|
116
|
+
}, C = (r) => $(window.location.href, r);
|
|
114
117
|
export {
|
|
115
118
|
b as blobFromBase64String,
|
|
116
119
|
F as blobToBase64String,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
120
|
+
U as getHashParamFromWindow,
|
|
121
|
+
h as getHashParamValue,
|
|
122
|
+
$ as getHashParamValueBase64DecodedFromUrl,
|
|
123
|
+
C as getHashParamValueBase64DecodedFromWindow,
|
|
124
|
+
B as getHashParamValueBooleanFromUrl,
|
|
125
|
+
T as getHashParamValueBooleanFromWindow,
|
|
126
|
+
S as getHashParamValueFloatFromUrl,
|
|
124
127
|
E as getHashParamValueFloatFromWindow,
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
+
J as getHashParamValueIntFromUrl,
|
|
129
|
+
_ as getHashParamValueIntFromWindow,
|
|
130
|
+
O as getHashParamValueJsonFromUrl,
|
|
128
131
|
j as getHashParamValueJsonFromWindow,
|
|
129
132
|
V as getHashParamsFromWindow,
|
|
130
|
-
|
|
131
|
-
|
|
133
|
+
H as getUrlHashParams,
|
|
134
|
+
p as getUrlHashParamsFromHashString,
|
|
132
135
|
d as setHashParamInWindow,
|
|
133
|
-
|
|
134
|
-
|
|
136
|
+
A as setHashParamValueBase64EncodedInWindow,
|
|
137
|
+
x as setHashParamValueBooleanInWindow,
|
|
135
138
|
I as setHashParamValueFloatInWindow,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
+
W as setHashParamValueInHashString,
|
|
140
|
+
k as setHashParamValueIntInWindow,
|
|
141
|
+
N as setHashParamValueJsonInWindow,
|
|
139
142
|
g as stringFromBase64String,
|
|
140
|
-
|
|
143
|
+
m as stringToBase64String
|
|
141
144
|
};
|
|
142
145
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/@metapages/hash-query/dist/core/index.js"],"sourcesContent":["function y(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nvar I = function(t, r) {\n r || (r = {}), typeof r == \"function\" && (r = { cmp: r });\n var n = typeof r.cycles == \"boolean\" ? r.cycles : !1, e = r.cmp && /* @__PURE__ */ function(s) {\n return function(a) {\n return function(c, i) {\n var m = { key: c, value: a[c] }, f = { key: i, value: a[i] };\n return s(m, f);\n };\n };\n }(r.cmp), o = [];\n return function s(a) {\n if (a && a.toJSON && typeof a.toJSON == \"function\" && (a = a.toJSON()), a !== void 0) {\n if (typeof a == \"number\") return isFinite(a) ? \"\" + a : \"null\";\n if (typeof a != \"object\") return JSON.stringify(a);\n var c, i;\n if (Array.isArray(a)) {\n for (i = \"[\", c = 0; c < a.length; c++)\n c && (i += \",\"), i += s(a[c]) || \"null\";\n return i + \"]\";\n }\n if (a === null) return \"null\";\n if (o.indexOf(a) !== -1) {\n if (n) return JSON.stringify(\"__cycle__\");\n throw new TypeError(\"Converting circular structure to JSON\");\n }\n var m = o.push(a) - 1, f = Object.keys(a).sort(e && e(a));\n for (i = \"\", c = 0; c < f.length; c++) {\n var w = f[c], H = s(a[w]);\n H && (i && (i += \",\"), i += JSON.stringify(w) + \":\" + H);\n }\n return o.splice(m, 1), \"{\" + i + \"}\";\n }\n }(t);\n};\nconst V = /* @__PURE__ */ y(I), P = (t) => d(V(t)), F = (t) => {\n if (t && t.length > 0)\n return JSON.parse(S(t));\n}, d = (t) => btoa(encodeURIComponent(t)), S = (t) => decodeURIComponent(atob(t)), b = (t) => {\n const r = new URL(t);\n return v(r.hash);\n}, v = (t) => {\n let r = t;\n for (; r.startsWith(\"#\"); )\n r = r.substring(1);\n const n = r.indexOf(\"?\");\n if (n === -1)\n return [r, {}];\n const e = r.substring(0, n);\n r = r.substring(n + 1);\n const o = {};\n return r.split(\"&\").filter((s) => s.length > 0).map((s) => {\n const a = s.indexOf(\"=\");\n if (a === -1)\n return [s, \"\"];\n const c = s.substring(0, a), i = s.substring(a + 1);\n return [c, i];\n }).forEach(([s, a]) => {\n o[s] = a;\n }), Object.keys(o).forEach((s) => {\n try {\n o[s] = decodeURI(o[s]);\n } catch {\n o[s] = o[s];\n }\n }), [e, o];\n}, l = (t, r) => {\n const [n, e] = b(t);\n return e[r];\n}, E = (t) => U()[1][t], U = () => b(window.location.href), u = (t, r, n) => {\n const e = window.location.hash.startsWith(\"#\") ? window.location.hash.substring(1) : window.location.hash, o = g(e, t, r);\n o !== e && (n != null && n.modifyHistory ? window.location.hash = o : (window.history.replaceState(null, document.title, `${window.location.pathname}${window.location.search}${o.startsWith(\"#\") ? \"\" : \"#\"}${o}`), window.dispatchEvent(new HashChangeEvent(\"hashchange\"))));\n}, g = (t, r, n) => {\n const [e, o] = v(t);\n let s = !1;\n if (o.hasOwnProperty(r) && n === null || n === void 0 ? (delete o[r], s = !0) : o[r] !== n && (o[r] = n, s = !0), !s)\n return t;\n const a = Object.keys(o);\n a.sort();\n const c = a.map((i, m) => `${i}=${encodeURI(o[i])}`).join(\"&\");\n return `${e}?${c}`;\n}, h = (t, r, n) => {\n const e = new URL(t), o = g(e.hash, r, n);\n return e.hash = o, e.href;\n}, $ = (t, r, n) => {\n const e = new URL(t);\n return e.hash = O(e.hash, r, n), e.href;\n}, p = (t, r) => {\n const n = l(t, r);\n if (n && n !== \"\")\n return F(n);\n}, R = (t, r, n) => {\n const e = r ? P(r) : void 0;\n u(t, e, n);\n}, _ = (t) => p(window.location.href, t), O = (t, r, n) => {\n const e = n ? P(n) : void 0;\n return g(t, r, e);\n}, C = (t, r, n) => h(t, r, n ? n.toString() : void 0), W = (t, r) => {\n const n = l(t, r);\n return n ? parseFloat(n) : void 0;\n}, B = (t, r, n) => {\n u(t, r != null ? r.toString() : void 0, n);\n}, x = (t) => W(window.location.href, t), D = (t, r, n) => h(t, r, n != null ? n.toString() : void 0), J = (t, r) => {\n const n = l(t, r);\n return n ? parseInt(n) : void 0;\n}, L = (t, r, n) => {\n B(t, r, n);\n}, T = (t) => J(window.location.href, t), A = (t, r, n) => h(t, r, n ? \"true\" : void 0), j = (t, r) => l(t, r) === \"true\", q = (t, r, n) => {\n u(t, r ? \"true\" : void 0, n);\n}, M = (t) => j(window.location.href, t), k = (t, r, n) => h(t, r, n == null ? void 0 : d(n)), N = (t, r) => {\n const n = l(t, r);\n return n && n !== \"\" ? S(n) : void 0;\n}, z = (t, r, n) => {\n const e = r == null ? void 0 : d(r);\n u(t, e, n);\n}, G = (t) => N(window.location.href, t), K = (t, r) => {\n u(t, void 0, r);\n}, Q = (t, r) => h(t, r, void 0);\nexport {\n F as blobFromBase64String,\n P as blobToBase64String,\n Q as deleteHashParamFromUrl,\n K as deleteHashParamFromWindow,\n E as getHashParamFromWindow,\n l as getHashParamValue,\n N as getHashParamValueBase64DecodedFromUrl,\n G as getHashParamValueBase64DecodedFromWindow,\n j as getHashParamValueBooleanFromUrl,\n M as getHashParamValueBooleanFromWindow,\n W as getHashParamValueFloatFromUrl,\n x as getHashParamValueFloatFromWindow,\n J as getHashParamValueIntFromUrl,\n T as getHashParamValueIntFromWindow,\n p as getHashParamValueJsonFromUrl,\n _ as getHashParamValueJsonFromWindow,\n U as getHashParamsFromWindow,\n b as getUrlHashParams,\n v as getUrlHashParamsFromHashString,\n u as setHashParamInWindow,\n k as setHashParamValueBase64EncodedInUrl,\n z as setHashParamValueBase64EncodedInWindow,\n A as setHashParamValueBooleanInUrl,\n q as setHashParamValueBooleanInWindow,\n C as setHashParamValueFloatInUrl,\n B as setHashParamValueFloatInWindow,\n g as setHashParamValueInHashString,\n h as setHashParamValueInUrl,\n D as setHashParamValueIntInUrl,\n L as setHashParamValueIntInWindow,\n O as setHashParamValueJsonInHashString,\n $ as setHashParamValueJsonInUrl,\n R as setHashParamValueJsonInWindow,\n S as stringFromBase64String,\n d as stringToBase64String\n};\n//# sourceMappingURL=index.js.map\n"],"names":["y","t","I","r","n","e","s","a","c","i","m","f","o","w","H","V","P","d","F","S","b","v","l","E","U","u","g","p","R","_","B","x","J","L","T","j","q","M","N","z","G"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/@metapages/hash-query/dist/core/index.js"],"sourcesContent":["function V(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nvar I = function(t, n) {\n n || (n = {}), typeof n == \"function\" && (n = { cmp: n });\n var r = typeof n.cycles == \"boolean\" ? n.cycles : !1, e = n.cmp && /* @__PURE__ */ function(o) {\n return function(a) {\n return function(c, l) {\n var h = { key: c, value: a[c] }, i = { key: l, value: a[l] };\n return o(h, i);\n };\n };\n }(n.cmp), s = [];\n return function o(a) {\n if (a && a.toJSON && typeof a.toJSON == \"function\" && (a = a.toJSON()), a !== void 0) {\n if (typeof a == \"number\") return isFinite(a) ? \"\" + a : \"null\";\n if (typeof a != \"object\") return JSON.stringify(a);\n var c, l;\n if (Array.isArray(a)) {\n for (l = \"[\", c = 0; c < a.length; c++)\n c && (l += \",\"), l += o(a[c]) || \"null\";\n return l + \"]\";\n }\n if (a === null) return \"null\";\n if (s.indexOf(a) !== -1) {\n if (r) return JSON.stringify(\"__cycle__\");\n throw new TypeError(\"Converting circular structure to JSON\");\n }\n var h = s.push(a) - 1, i = Object.keys(a).sort(e && e(a));\n for (l = \"\", c = 0; c < i.length; c++) {\n var u = i[c], m = o(a[u]);\n m && (l && (l += \",\"), l += JSON.stringify(u) + \":\" + m);\n }\n return s.splice(h, 1), \"{\" + l + \"}\";\n }\n }(t);\n};\nconst F = /* @__PURE__ */ V(I), b = (t) => w(F(t)), S = (t) => {\n if (t && t.length > 0)\n return JSON.parse(v(t));\n}, w = (t) => btoa(t), v = (t) => {\n for (; t.endsWith(\"%3D\"); )\n t = t.slice(0, -3);\n return atob(t);\n}, y = (t) => {\n const n = t instanceof URL ? t : new URL(t);\n return H(n.hash);\n}, H = (t) => {\n let n = t;\n for (; n.startsWith(\"#\"); )\n n = n.substring(1);\n const r = n.indexOf(\"?\");\n if (r === -1)\n return [n, {}];\n const e = n.substring(0, r);\n n = n.substring(r + 1);\n const s = {};\n return n.split(\"&\").filter((o) => o.length > 0).map((o) => {\n const a = o.indexOf(\"=\");\n if (a === -1)\n return [o, \"\"];\n const c = o.substring(0, a), l = o.substring(a + 1);\n return [c, l];\n }).forEach(([o, a]) => {\n s[o] = a;\n }), Object.keys(s).forEach((o) => {\n s[o] = s[o];\n }), [e, s];\n}, d = (t, n) => {\n const [r, e] = y(t);\n return e[n];\n}, x = (t) => p()[1][t], p = () => y(window.location.href), f = (t, n, r) => {\n const e = window.location.hash.startsWith(\"#\") ? window.location.hash.substring(1) : window.location.hash, s = P(e, t, n);\n s !== e && (r != null && r.modifyHistory ? window.location.hash = s : (window.history.replaceState(null, document.title, `${window.location.pathname}${window.location.search}${s.startsWith(\"#\") ? \"\" : \"#\"}${s}`), window.dispatchEvent(new HashChangeEvent(\"hashchange\"))));\n}, P = (t, n, r) => {\n const [e, s] = H(t);\n let o = !1;\n if (s.hasOwnProperty(n) && r === null || r === void 0 ? (delete s[n], o = !0) : s[n] !== r && (s[n] = r, o = !0), !o)\n return t;\n const a = Object.keys(s);\n a.sort();\n const c = a.map((l, h) => {\n const i = s[l];\n return /^[A-Za-z0-9+/]+={0,2}$/.test(i) && i.length % 4, `${l}=${i}`;\n }).join(\"&\");\n return !e && !c ? \"\" : `${e || \"\"}${c ? \"?\" + c : \"\"}`;\n}, O = (t, n) => {\n let r = t;\n for (; r.startsWith(\"#\"); )\n r = r.substring(1);\n const e = r.indexOf(\"?\"), s = e === -1 ? r : r.substring(0, e), o = {};\n if (e !== -1) {\n const h = r.substring(e + 1);\n h.length > 0 && h.split(\"&\").forEach((i) => {\n if (i.length > 0) {\n const u = i.indexOf(\"=\");\n if (u === -1)\n o[i] = \"\";\n else {\n const m = i.substring(0, u), U = i.substring(u + 1);\n o[m] = U;\n }\n }\n });\n }\n let a = !1;\n for (const [h, i] of Object.entries(n))\n i == null ? o.hasOwnProperty(h) && (delete o[h], a = !0) : o[h] !== i && (o[h] = i, a = !0);\n if (!a)\n return t;\n const c = Object.keys(o);\n c.sort();\n const l = c.map((h) => {\n const i = o[h];\n return /^[A-Za-z0-9+/]+={0,2}$/.test(i) && i.length % 4, `${h}=${i}`;\n }).join(\"&\");\n return !s && !l ? \"\" : `${s || \"\"}${l ? \"?\" + l : \"\"}`;\n}, g = (t, n, r) => {\n const e = t instanceof URL ? t : new URL(t), s = P(e.hash, n, r);\n return e.hash = s, e;\n}, D = (t, n) => {\n const r = t instanceof URL ? t : new URL(t);\n let e = O(r.hash, n);\n return r.hash = e, r;\n}, L = (t, n, r) => {\n const e = t instanceof URL ? t : new URL(t);\n return e.hash = B(e.hash, n, r), e;\n}, W = (t, n) => {\n const r = d(t, n);\n if (r && r !== \"\")\n return S(r);\n}, _ = (t, n) => {\n const [r, e] = H(t), s = e[n];\n if (s && s !== \"\")\n return S(s);\n}, C = (t, n, r) => {\n const e = n ? b(n) : void 0;\n f(t, e, r);\n}, k = (t) => W(window.location.href, t), B = (t, n, r) => {\n const e = r ? b(r) : void 0;\n return P(t, n, e);\n}, A = (t, n, r) => g(t, n, r ? r.toString() : void 0), j = (t, n) => {\n const r = d(t, n);\n return r ? parseFloat(r) : void 0;\n}, J = (t, n, r) => {\n f(t, n != null ? n.toString() : void 0, r);\n}, T = (t) => j(window.location.href, t), q = (t, n, r) => g(t, n, r != null ? r.toString() : void 0), $ = (t, n) => {\n const r = d(t, n);\n return r ? parseInt(r) : void 0;\n}, z = (t, n, r) => {\n J(t, n, r);\n}, Z = (t) => $(window.location.href, t), M = (t, n, r) => g(t, n, r ? \"true\" : void 0), E = (t, n) => d(t, n) === \"true\", G = (t, n, r) => {\n f(t, n ? \"true\" : void 0, r);\n}, K = (t) => E(window.location.href, t), Q = (t, n, r) => g(t, n, r == null ? void 0 : w(r)), R = (t, n) => {\n const r = d(t, n);\n return r && r !== \"\" ? v(r) : void 0;\n}, X = (t, n, r) => {\n const e = n == null ? void 0 : w(n);\n f(t, e, r);\n}, Y = (t) => R(window.location.href, t), tt = (t, n, r) => g(t, n, r == null ? void 0 : encodeURIComponent(r)), N = (t, n) => {\n const r = d(t, n);\n return r && r !== \"\" ? decodeURIComponent(r) : void 0;\n}, nt = (t, n, r) => {\n const e = n == null ? void 0 : encodeURIComponent(n);\n f(t, e, r);\n}, rt = (t) => N(window.location.href, t), et = (t, n) => {\n f(t, void 0, n);\n}, at = (t, n) => g(t, n, void 0);\nexport {\n S as blobFromBase64String,\n b as blobToBase64String,\n O as createHashParamValuesInHashString,\n at as deleteHashParamFromUrl,\n et as deleteHashParamFromWindow,\n x as getHashParamFromWindow,\n d as getHashParamValue,\n R as getHashParamValueBase64DecodedFromUrl,\n Y as getHashParamValueBase64DecodedFromWindow,\n E as getHashParamValueBooleanFromUrl,\n K as getHashParamValueBooleanFromWindow,\n j as getHashParamValueFloatFromUrl,\n T as getHashParamValueFloatFromWindow,\n $ as getHashParamValueIntFromUrl,\n Z as getHashParamValueIntFromWindow,\n _ as getHashParamValueJsonFromHashString,\n W as getHashParamValueJsonFromUrl,\n k as getHashParamValueJsonFromWindow,\n N as getHashParamValueUriDecodedFromUrl,\n rt as getHashParamValueUriDecodedFromWindow,\n p as getHashParamsFromWindow,\n y as getUrlHashParams,\n H as getUrlHashParamsFromHashString,\n f as setHashParamInWindow,\n Q as setHashParamValueBase64EncodedInUrl,\n X as setHashParamValueBase64EncodedInWindow,\n M as setHashParamValueBooleanInUrl,\n G as setHashParamValueBooleanInWindow,\n A as setHashParamValueFloatInUrl,\n J as setHashParamValueFloatInWindow,\n P as setHashParamValueInHashString,\n g as setHashParamValueInUrl,\n q as setHashParamValueIntInUrl,\n z as setHashParamValueIntInWindow,\n B as setHashParamValueJsonInHashString,\n L as setHashParamValueJsonInUrl,\n C as setHashParamValueJsonInWindow,\n tt as setHashParamValueUriEncodedInUrl,\n nt as setHashParamValueUriEncodedInWindow,\n D as setHashParamsInUrl,\n v as stringFromBase64String,\n w as stringToBase64String\n};\n//# sourceMappingURL=index.js.map\n"],"names":["V","t","I","n","r","e","a","c","l","h","i","s","u","m","F","b","w","S","v","y","H","d","x","p","f","P","W","C","k","j","J","T","$","z","Z","E","G","K","R","X","Y"],"mappings":"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","x_google_ignoreList":[0]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metapages/metapage",
|
|
3
3
|
"public": true,
|
|
4
|
-
"version": "1.8.
|
|
4
|
+
"version": "1.8.10",
|
|
5
5
|
"description": "Connect web pages together",
|
|
6
6
|
"repository": "https://github.com/metapages/metapage",
|
|
7
7
|
"homepage": "https://metapage.io/",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
],
|
|
24
24
|
"source": "src/index.ts",
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@metapages/hash-query": "^0.
|
|
26
|
+
"@metapages/hash-query": "^0.9.1",
|
|
27
27
|
"base64-arraybuffer": "^1.0.2",
|
|
28
28
|
"compare-versions": "^6.1.1",
|
|
29
29
|
"eventemitter3": "^4.0.0",
|
|
@@ -34,13 +34,7 @@ function isMetaframeDivider(url: string): boolean {
|
|
|
34
34
|
if (!url.startsWith("data:")) {
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
const parsed = new URL(url);
|
|
39
|
-
const mimetype = parsed.pathname.split(";")[0];
|
|
40
|
-
return mimetype.split(";")[1] === "type=metapage-divider";
|
|
41
|
-
} catch {
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
37
|
+
return url.includes("type=metapage-divider");
|
|
44
38
|
}
|
|
45
39
|
|
|
46
40
|
// Utility function to validate layout (simplified version)
|
|
@@ -118,14 +112,12 @@ function validateLayout(
|
|
|
118
112
|
* and returns a function to set inputs and a dispose function
|
|
119
113
|
*/
|
|
120
114
|
export async function renderMetapage(props: {
|
|
121
|
-
url?: string
|
|
115
|
+
url?: string;
|
|
122
116
|
definition?: MetapageDefinitionV2;
|
|
123
117
|
onOutputs?: (outputs: MetapageInstanceInputs) => void;
|
|
124
118
|
rootDiv: HTMLElement;
|
|
125
119
|
options?: RenderingOptions;
|
|
126
120
|
}): Promise<MetapageRendererResult> {
|
|
127
|
-
|
|
128
|
-
|
|
129
121
|
// Validate and clean the definition
|
|
130
122
|
let { url, definition, onOutputs, rootDiv, options = {} } = props;
|
|
131
123
|
if (!url && !definition) {
|
|
@@ -138,13 +130,13 @@ export async function renderMetapage(props: {
|
|
|
138
130
|
if (url) {
|
|
139
131
|
definition = await getMetapageDefinitionFromUrl(url);
|
|
140
132
|
}
|
|
141
|
-
|
|
133
|
+
|
|
142
134
|
if (!definition) {
|
|
143
135
|
throw new Error("Failed to fetch metapage definition");
|
|
144
136
|
}
|
|
145
137
|
|
|
146
|
-
|
|
147
|
-
|
|
138
|
+
definition = validateLayout(definition);
|
|
139
|
+
definition = await processMetapage(definition);
|
|
148
140
|
|
|
149
141
|
// Wait for page to be loaded
|
|
150
142
|
await pageLoaded();
|
|
@@ -154,7 +146,7 @@ export async function renderMetapage(props: {
|
|
|
154
146
|
metapage.debug = options.debug || false;
|
|
155
147
|
|
|
156
148
|
try {
|
|
157
|
-
await metapage.setDefinition(
|
|
149
|
+
await metapage.setDefinition(JSON.parse(JSON.stringify(definition)));
|
|
158
150
|
} catch (err) {
|
|
159
151
|
metapage.dispose();
|
|
160
152
|
throw new Error(`Failed to set metapage definition: ${err}`);
|
|
@@ -170,8 +162,7 @@ export async function renderMetapage(props: {
|
|
|
170
162
|
}
|
|
171
163
|
|
|
172
164
|
// Get the layout information
|
|
173
|
-
const desktopLayoutBlob =
|
|
174
|
-
processedDefinition?.meta?.layouts?.["react-grid-layout"];
|
|
165
|
+
const desktopLayoutBlob = definition?.meta?.layouts?.["react-grid-layout"];
|
|
175
166
|
const layout = desktopLayoutBlob?.layout as LayoutItem[];
|
|
176
167
|
|
|
177
168
|
if (!desktopLayoutBlob || !layout) {
|
|
@@ -179,23 +170,22 @@ export async function renderMetapage(props: {
|
|
|
179
170
|
}
|
|
180
171
|
|
|
181
172
|
// Find dividers and determine which metaframes to hide
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
// If no dividers found, return empty list
|
|
197
|
-
if (dividers.length === 0) return { metaframesToHide: new Set<string>() };
|
|
173
|
+
const metaframesToHide = new Set<string>();
|
|
174
|
+
|
|
175
|
+
// Find all dividers and their y positions
|
|
176
|
+
const dividers = layout
|
|
177
|
+
.map((item: LayoutItem, index: number) => {
|
|
178
|
+
const metaframe = metapage.getMetaframes()[item.i];
|
|
179
|
+
return metaframe && isMetaframeDivider(metaframe.url)
|
|
180
|
+
? { index, y: item.y, id: item.i }
|
|
181
|
+
: null;
|
|
182
|
+
})
|
|
183
|
+
.filter(
|
|
184
|
+
(item): item is { index: number; y: number; id: string } => item !== null
|
|
185
|
+
);
|
|
198
186
|
|
|
187
|
+
// If dividers found, determine which metaframes to hide
|
|
188
|
+
if (dividers.length > 0) {
|
|
199
189
|
// Find the divider with the lowest y value
|
|
200
190
|
const lowestYDivider = dividers.reduce(
|
|
201
191
|
(
|
|
@@ -204,8 +194,6 @@ export async function renderMetapage(props: {
|
|
|
204
194
|
) => (current.y < lowest.y ? current : lowest)
|
|
205
195
|
);
|
|
206
196
|
|
|
207
|
-
// Create a set of metaframe IDs to hide (divider and those below it)
|
|
208
|
-
const metaframesToHide = new Set<string>();
|
|
209
197
|
const dividerY =
|
|
210
198
|
layout.find((item: LayoutItem) => item.i === lowestYDivider.id)?.y ?? 0;
|
|
211
199
|
|
|
@@ -215,31 +203,61 @@ export async function renderMetapage(props: {
|
|
|
215
203
|
metaframesToHide.add(item.i);
|
|
216
204
|
}
|
|
217
205
|
});
|
|
218
|
-
|
|
219
|
-
return { metaframesToHide };
|
|
220
|
-
})();
|
|
206
|
+
}
|
|
221
207
|
|
|
222
208
|
// Get visible metaframes
|
|
223
|
-
const visibleMetaframeIds =
|
|
224
|
-
|
|
225
|
-
|
|
209
|
+
const visibleMetaframeIds = metapage
|
|
210
|
+
.getMetaframeIds()
|
|
211
|
+
.filter((metaframeId) => !metaframesToHide.has(metaframeId));
|
|
226
212
|
|
|
227
213
|
// Calculate grid dimensions based on visible metaframes only
|
|
228
|
-
|
|
214
|
+
let visibleLayoutItems = layout.filter((item: LayoutItem) =>
|
|
229
215
|
visibleMetaframeIds.includes(item.i)
|
|
230
216
|
);
|
|
217
|
+
|
|
218
|
+
// Handle case where no metaframes are visible
|
|
219
|
+
if (visibleLayoutItems.length === 0) {
|
|
220
|
+
console.warn("No visible metaframes found");
|
|
221
|
+
// Return early with empty result
|
|
222
|
+
return {
|
|
223
|
+
setInputs: (inputs: MetapageInstanceInputs) => {
|
|
224
|
+
if (!metapage.isDisposed()) {
|
|
225
|
+
metapage.setInputs(inputs);
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
dispose: () => {
|
|
229
|
+
disposers.forEach((disposer) => disposer());
|
|
230
|
+
metapage.dispose();
|
|
231
|
+
rootDiv.innerHTML = "";
|
|
232
|
+
},
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// Sort visible layout items by y position to ensure proper grid layout
|
|
237
|
+
visibleLayoutItems.sort((a, b) => {
|
|
238
|
+
if (a.y !== b.y) {
|
|
239
|
+
return a.y - b.y;
|
|
240
|
+
}
|
|
241
|
+
return a.x - b.x;
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
// Calculate grid dimensions based on visible items only
|
|
231
245
|
const maxCol = Math.max(
|
|
232
246
|
...visibleLayoutItems.map((item: LayoutItem) => item.x + item.w)
|
|
233
247
|
);
|
|
248
|
+
|
|
249
|
+
// For rows, we need to account for the fact that we're hiding items below the divider
|
|
250
|
+
// So we should use the actual visible items' positions
|
|
234
251
|
const maxRow = Math.max(
|
|
235
252
|
...visibleLayoutItems.map((item: LayoutItem) => item.y + item.h)
|
|
236
253
|
);
|
|
254
|
+
|
|
237
255
|
|
|
238
256
|
// Create grid container style
|
|
239
257
|
const gridStyle = {
|
|
240
258
|
display: "grid",
|
|
241
|
-
gridTemplateColumns: `repeat(${maxCol}, 1fr)`,
|
|
242
|
-
|
|
259
|
+
gridTemplateColumns: `repeat(${Math.max(1, maxCol)}, 1fr)`,
|
|
260
|
+
gridAutoRows: "minmax(100px, auto)",
|
|
243
261
|
gap: `${desktopLayoutBlob.props.margin?.[0] || 10}px`,
|
|
244
262
|
width: "100%",
|
|
245
263
|
height: "100%",
|
|
@@ -286,15 +304,25 @@ export async function renderMetapage(props: {
|
|
|
286
304
|
minHeight: "100%",
|
|
287
305
|
height: "100%",
|
|
288
306
|
border: options.hideFrameBorders ? "none" : "1px solid #e0e0e0",
|
|
307
|
+
position: "relative" as const,
|
|
289
308
|
};
|
|
290
309
|
|
|
291
310
|
// Create iframe for the metaframe
|
|
292
311
|
const iframe = document.createElement("iframe");
|
|
293
312
|
iframe.src = metaframe.url;
|
|
294
313
|
iframe.style.border = "none";
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
314
|
+
iframe.style.position = "absolute";
|
|
315
|
+
iframe.style.top = "0";
|
|
316
|
+
iframe.style.left = "0";
|
|
317
|
+
iframe.style.width = "100%";
|
|
318
|
+
iframe.style.height = "100%";
|
|
319
|
+
|
|
320
|
+
// Create wrapper div for proper grid positioning
|
|
321
|
+
const wrapper = document.createElement("div");
|
|
322
|
+
Object.assign(wrapper.style, itemStyle);
|
|
323
|
+
wrapper.appendChild(iframe);
|
|
324
|
+
|
|
325
|
+
gridContainer.appendChild(wrapper);
|
|
298
326
|
});
|
|
299
327
|
|
|
300
328
|
// Create hidden container for hidden metaframes
|