@nookuio/iframe 0.9.6 → 0.9.7
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/constants.js +5 -5
- package/dist/constants.mjs +1 -5
- package/dist/createClient.js +90 -114
- package/dist/createClient.mjs +1 -130
- package/dist/editor.d.ts +4 -4
- package/dist/editor.js +55 -79
- package/dist/editor.mjs +1 -95
- package/dist/iframe.js +152 -226
- package/dist/iframe.mjs +1 -222
- package/dist/index.mjs +1 -4
- package/package.json +1 -1
package/dist/editor.mjs
CHANGED
|
@@ -1,95 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { createClient } from "./createClient.mjs";
|
|
3
|
-
import { stringify, parse } from "telejson";
|
|
4
|
-
function deserialize(data) {
|
|
5
|
-
const parsed = parse(data, { maxDepth: Infinity });
|
|
6
|
-
const senitizeRefs = (obj) => {
|
|
7
|
-
if (Array.isArray(obj)) {
|
|
8
|
-
obj.forEach((item, index) => {
|
|
9
|
-
obj[index] = senitizeRefs(item);
|
|
10
|
-
});
|
|
11
|
-
} else if (obj && typeof obj === "object") {
|
|
12
|
-
if (obj.hasOwnProperty("__v_isRef")) {
|
|
13
|
-
const newObj = {
|
|
14
|
-
...obj,
|
|
15
|
-
__v_isRef: "true",
|
|
16
|
-
// converted to string
|
|
17
|
-
value: obj.hasOwnProperty("value") && obj.value !== void 0 ? obj.value : obj._value ?? obj._rawValue
|
|
18
|
-
};
|
|
19
|
-
return newObj;
|
|
20
|
-
} else {
|
|
21
|
-
Object.keys(obj).forEach((key) => {
|
|
22
|
-
obj[key] = senitizeRefs(obj[key]);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return obj;
|
|
27
|
-
};
|
|
28
|
-
const d = senitizeRefs(parsed);
|
|
29
|
-
return d;
|
|
30
|
-
}
|
|
31
|
-
export function createEditorClient(iframe) {
|
|
32
|
-
let iframeElement;
|
|
33
|
-
function getIframe() {
|
|
34
|
-
if (!iframeElement || !iframeElement.isConnected) {
|
|
35
|
-
iframeElement = typeof iframe === "string" ? document.querySelector(`#${iframe}`) : iframe;
|
|
36
|
-
}
|
|
37
|
-
return iframeElement;
|
|
38
|
-
}
|
|
39
|
-
const client = createClient(
|
|
40
|
-
{},
|
|
41
|
-
{
|
|
42
|
-
handle(handler) {
|
|
43
|
-
window.addEventListener("message", async (event) => {
|
|
44
|
-
if (typeof event.data !== "object") return;
|
|
45
|
-
if (event.data.source !== IFRAME_SOURCE_NAME || event.data.type === "event" || !event.data.request) return;
|
|
46
|
-
const iframe2 = getIframe();
|
|
47
|
-
if (!iframe2) return;
|
|
48
|
-
const response = await handler(event.data.request);
|
|
49
|
-
iframe2.contentWindow?.postMessage({ source: EDITOR_SOURCE_NAME, response }, "*");
|
|
50
|
-
});
|
|
51
|
-
},
|
|
52
|
-
async invoke(request) {
|
|
53
|
-
const iframe2 = getIframe();
|
|
54
|
-
if (!iframe2)
|
|
55
|
-
return {
|
|
56
|
-
type: "response",
|
|
57
|
-
id: request.id,
|
|
58
|
-
key: request.key,
|
|
59
|
-
result: void 0
|
|
60
|
-
};
|
|
61
|
-
return new Promise((resolve, reject) => {
|
|
62
|
-
const timeout = setTimeout(() => {
|
|
63
|
-
window.removeEventListener("message", messageHandler);
|
|
64
|
-
reject(new Error("Request timed out"));
|
|
65
|
-
}, 5e3);
|
|
66
|
-
function messageHandler(event) {
|
|
67
|
-
if (typeof event.data !== "object") return;
|
|
68
|
-
if (event.data.source !== IFRAME_SOURCE_NAME || !event.data.response) return;
|
|
69
|
-
if (event.data.response.id !== request.id) return;
|
|
70
|
-
clearTimeout(timeout);
|
|
71
|
-
window.removeEventListener("message", messageHandler);
|
|
72
|
-
resolve(event.data.response);
|
|
73
|
-
}
|
|
74
|
-
iframe2.contentWindow?.postMessage({ source: EDITOR_SOURCE_NAME, request }, "*");
|
|
75
|
-
window.addEventListener("message", messageHandler);
|
|
76
|
-
});
|
|
77
|
-
},
|
|
78
|
-
emit(request) {
|
|
79
|
-
const iframe2 = getIframe();
|
|
80
|
-
if (!iframe2) return;
|
|
81
|
-
iframe2.contentWindow?.postMessage({ source: EDITOR_SOURCE_NAME, type: "event", request }, "*");
|
|
82
|
-
},
|
|
83
|
-
handleEvent(handleRequest) {
|
|
84
|
-
window.addEventListener("message", (event) => {
|
|
85
|
-
if (typeof event.data !== "object") return;
|
|
86
|
-
if (event.data.source !== IFRAME_SOURCE_NAME || event.data.type !== "event" || !event.data.request) return;
|
|
87
|
-
handleRequest(event.data.request);
|
|
88
|
-
});
|
|
89
|
-
},
|
|
90
|
-
deserialize,
|
|
91
|
-
serialize: (v) => stringify(v, { maxDepth: Infinity })
|
|
92
|
-
}
|
|
93
|
-
);
|
|
94
|
-
return client;
|
|
95
|
-
}
|
|
1
|
+
import{EDITOR_SOURCE_NAME as f,IFRAME_SOURCE_NAME as u}from"./constants";import{createClient as E}from"./createClient";import{stringify as p,parse as l}from"telejson";function y(a){const n=l(a,{maxDepth:1/0}),r=e=>{if(Array.isArray(e))e.forEach((t,s)=>{e[s]=r(t)});else if(e&&typeof e=="object"){if(e.hasOwnProperty("__v_isRef"))return{...e,__v_isRef:"true",value:e.hasOwnProperty("value")&&e.value!==void 0?e.value:e._value??e._rawValue};Object.keys(e).forEach(t=>{e[t]=r(e[t])})}return e};return r(n)}export function createEditorClient(a){let n;function r(){return(!n||!n.isConnected)&&(n=typeof a=="string"?document.querySelector(`#${a}`):a),n}return E({},{handle(e){window.addEventListener("message",async t=>{if(typeof t.data!="object"||t.data.source!==u||t.data.type==="event"||!t.data.request)return;const s=r();if(!s)return;const o=await e(t.data.request);s.contentWindow?.postMessage({source:f,response:o},"*")})},async invoke(e){const t=r();return t?new Promise((s,o)=>{const c=setTimeout(()=>{window.removeEventListener("message",d),o(new Error("Request timed out"))},5e3);function d(i){typeof i.data=="object"&&(i.data.source!==u||!i.data.response||i.data.response.id===e.id&&(clearTimeout(c),window.removeEventListener("message",d),s(i.data.response)))}t.contentWindow?.postMessage({source:f,request:e},"*"),window.addEventListener("message",d)}):{type:"response",id:e.id,key:e.key,result:void 0}},emit(e){const t=r();t&&t.contentWindow?.postMessage({source:f,type:"event",request:e},"*")},handleEvent(e){window.addEventListener("message",t=>{typeof t.data=="object"&&(t.data.source!==u||t.data.type!=="event"||!t.data.request||e(t.data.request))})},deserialize:y,serialize:e=>p(e,{maxDepth:1/0})})}
|
package/dist/iframe.js
CHANGED
|
@@ -7,244 +7,170 @@ exports.createVueIframeClient = createVueIframeClient;
|
|
|
7
7
|
var _constants = require("./constants");
|
|
8
8
|
var _createClient = require("./createClient");
|
|
9
9
|
var _telejson = require("telejson");
|
|
10
|
-
function
|
|
11
|
-
return `[data-node-id="${
|
|
10
|
+
function b(c, l) {
|
|
11
|
+
return `[data-node-id="${l}"][data-node-path="${c}"]`;
|
|
12
12
|
}
|
|
13
|
-
function
|
|
14
|
-
const
|
|
15
|
-
if (!
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (!
|
|
25
|
-
const
|
|
13
|
+
function h(c, l) {
|
|
14
|
+
const s = document.querySelectorAll(c);
|
|
15
|
+
if (!s?.length) return;
|
|
16
|
+
const d = Array.from(s).map(f => {
|
|
17
|
+
const u = f.getBoundingClientRect(),
|
|
18
|
+
g = {
|
|
19
|
+
width: u.width,
|
|
20
|
+
height: u.height,
|
|
21
|
+
top: u.top,
|
|
22
|
+
left: u.left
|
|
23
|
+
};
|
|
24
|
+
if (!l) return g;
|
|
25
|
+
const m = window.getComputedStyle(f) ?? {};
|
|
26
26
|
return {
|
|
27
|
-
...
|
|
27
|
+
...g,
|
|
28
28
|
padding: {
|
|
29
|
-
top:
|
|
30
|
-
right:
|
|
31
|
-
bottom:
|
|
32
|
-
left:
|
|
29
|
+
top: m.paddingTop,
|
|
30
|
+
right: m.paddingRight,
|
|
31
|
+
bottom: m.paddingBottom,
|
|
32
|
+
left: m.paddingLeft
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
});
|
|
36
|
-
if (
|
|
37
|
-
return styles.length === 1 ? styles[0] : styles;
|
|
36
|
+
if (d?.length) return d.length === 1 ? d[0] : d;
|
|
38
37
|
}
|
|
39
|
-
function createVueIframeClient(
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
path,
|
|
80
|
-
id,
|
|
81
|
-
x,
|
|
82
|
-
y
|
|
83
|
-
}) {
|
|
84
|
-
if (!path) return;
|
|
85
|
-
if (x !== void 0 && y !== void 0) {
|
|
86
|
-
let element = document.elementFromPoint(x, y);
|
|
87
|
-
if (!element) return;
|
|
88
|
-
let elementPath = element.getAttribute("data-node-path");
|
|
89
|
-
if (elementPath !== path) {
|
|
90
|
-
if (!element.parentElement) return;
|
|
91
|
-
while (element.parentElement && elementPath !== path) {
|
|
92
|
-
element = element.parentElement;
|
|
93
|
-
elementPath = element.getAttribute("data-node-path");
|
|
38
|
+
function createVueIframeClient(c, l) {
|
|
39
|
+
const s = (0, _createClient.createClient)({
|
|
40
|
+
...c,
|
|
41
|
+
async editText({
|
|
42
|
+
path: e,
|
|
43
|
+
id: t
|
|
44
|
+
}) {
|
|
45
|
+
if (!e || t === void 0) return;
|
|
46
|
+
const i = b(e, t),
|
|
47
|
+
n = document.querySelector(i);
|
|
48
|
+
if (!n) return;
|
|
49
|
+
n.style.outline = "none", n.setAttribute("spellcheck", "false"), n.setAttribute("contenteditable", "true");
|
|
50
|
+
const o = a => {
|
|
51
|
+
const E = a.target;
|
|
52
|
+
if (!E) return;
|
|
53
|
+
const y = E.innerText;
|
|
54
|
+
n.removeAttribute("contenteditable"), s.emit("text-update", {
|
|
55
|
+
path: e,
|
|
56
|
+
id: t,
|
|
57
|
+
content: y
|
|
58
|
+
}), n.removeEventListener("blur", o), n.removeEventListener("keydown", r), n.blur();
|
|
59
|
+
},
|
|
60
|
+
r = a => {
|
|
61
|
+
a.key === "Enter" && (a.stopPropagation(), a.preventDefault(), o(a));
|
|
62
|
+
};
|
|
63
|
+
n.addEventListener("keydown", r), n.addEventListener("blur", o), n.focus();
|
|
64
|
+
},
|
|
65
|
+
async getHoveredElement({
|
|
66
|
+
path: e,
|
|
67
|
+
id: t,
|
|
68
|
+
x: i,
|
|
69
|
+
y: n
|
|
70
|
+
}) {
|
|
71
|
+
if (e) if (i !== void 0 && n !== void 0) {
|
|
72
|
+
let o = document.elementFromPoint(i, n);
|
|
73
|
+
if (!o) return;
|
|
74
|
+
let r = o.getAttribute("data-node-path");
|
|
75
|
+
if (r !== e) {
|
|
76
|
+
if (!o.parentElement) return;
|
|
77
|
+
for (; o.parentElement && r !== e;) o = o.parentElement, r = o.getAttribute("data-node-path");
|
|
94
78
|
}
|
|
79
|
+
const a = o.getAttribute("data-node-id");
|
|
80
|
+
if (!a) return;
|
|
81
|
+
const E = b(e, a),
|
|
82
|
+
y = h(E, !1);
|
|
83
|
+
return y ? {
|
|
84
|
+
id: a,
|
|
85
|
+
path: e,
|
|
86
|
+
data: y
|
|
87
|
+
} : void 0;
|
|
88
|
+
} else {
|
|
89
|
+
const o = b(e, t),
|
|
90
|
+
r = h(o, !1);
|
|
91
|
+
return r ? {
|
|
92
|
+
id: t,
|
|
93
|
+
path: e,
|
|
94
|
+
data: r
|
|
95
|
+
} : void 0;
|
|
95
96
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
return {
|
|
111
|
-
id,
|
|
112
|
-
path,
|
|
113
|
-
data: styles
|
|
97
|
+
},
|
|
98
|
+
async getPageHeight() {
|
|
99
|
+
return document.body.scrollHeight > 0 ? document.body.scrollHeight : document.documentElement.scrollHeight;
|
|
100
|
+
},
|
|
101
|
+
async getSelectedElement({
|
|
102
|
+
path: e,
|
|
103
|
+
id: t
|
|
104
|
+
}) {
|
|
105
|
+
const i = b(e, t),
|
|
106
|
+
n = h(i, !0);
|
|
107
|
+
if (n) return {
|
|
108
|
+
path: e,
|
|
109
|
+
id: t,
|
|
110
|
+
data: n
|
|
114
111
|
};
|
|
112
|
+
},
|
|
113
|
+
toggleTheme(e) {
|
|
114
|
+
e === "dark" ? (document.documentElement.classList.remove("light"), document.documentElement.classList.add("dark")) : (document.documentElement.classList.remove("dark"), document.documentElement.classList.add("light"));
|
|
115
115
|
}
|
|
116
|
-
},
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
// updateElementClass({ className, id, path }) {
|
|
144
|
-
// const selector = getSelector(path, id);
|
|
145
|
-
// const elements = document.querySelectorAll(selector);
|
|
146
|
-
// if (!elements?.length) return;
|
|
147
|
-
// elements.forEach((elm) => (elm.className = className));
|
|
148
|
-
// },
|
|
149
|
-
// updateElementAttribute({ attribute, value, id, path }) {
|
|
150
|
-
// const selector = getSelector(path, id);
|
|
151
|
-
// const elements = document.querySelectorAll(selector);
|
|
152
|
-
// if (!elements?.length) return;
|
|
153
|
-
// elements.forEach((elm) => elm.setAttribute(attribute, value));
|
|
154
|
-
// },
|
|
155
|
-
// duplicateElement({ id, path }) {
|
|
156
|
-
// const selector = getSelector(path, id);
|
|
157
|
-
// const elements = document.querySelectorAll(selector);
|
|
158
|
-
// if (!elements?.length) return;
|
|
159
|
-
// elements.forEach((elm) => {
|
|
160
|
-
// const clone = elm.cloneNode(true) as HTMLElement;
|
|
161
|
-
// clone.setAttribute('data-node-id', String(Number(clone.getAttribute('data-node-id')!) + 1));
|
|
162
|
-
// elm.parentElement?.insertBefore(clone, elm.nextSibling);
|
|
163
|
-
// });
|
|
164
|
-
// }
|
|
165
|
-
}, {
|
|
166
|
-
handle(handler) {
|
|
167
|
-
window.addEventListener("message", async event => {
|
|
168
|
-
if (typeof event.data !== "object") return;
|
|
169
|
-
if (event.data.source !== _constants.EDITOR_SOURCE_NAME || event.data.type === "event" || !event.data.request) return;
|
|
170
|
-
const response = await handler(event.data.request);
|
|
171
|
-
window.parent.postMessage({
|
|
172
|
-
source: _constants.IFRAME_SOURCE_NAME,
|
|
173
|
-
response
|
|
174
|
-
}, "*");
|
|
175
|
-
});
|
|
176
|
-
},
|
|
177
|
-
invoke(request) {
|
|
178
|
-
return new Promise((resolve, reject) => {
|
|
179
|
-
const timeout = setTimeout(() => {
|
|
180
|
-
window.removeEventListener("message", messageHandler);
|
|
181
|
-
reject(new Error("Request timed out"));
|
|
182
|
-
}, 5e3);
|
|
183
|
-
function messageHandler(event) {
|
|
184
|
-
if (typeof event.data !== "object") return;
|
|
185
|
-
if (event.data.source !== _constants.EDITOR_SOURCE_NAME || !event.data.response) return;
|
|
186
|
-
if (event.data.response.id !== request.id) return;
|
|
187
|
-
clearTimeout(timeout);
|
|
188
|
-
window.removeEventListener("message", messageHandler);
|
|
189
|
-
resolve(event.data.response);
|
|
190
|
-
}
|
|
116
|
+
}, {
|
|
117
|
+
handle(e) {
|
|
118
|
+
window.addEventListener("message", async t => {
|
|
119
|
+
if (typeof t.data != "object" || t.data.source !== _constants.EDITOR_SOURCE_NAME || t.data.type === "event" || !t.data.request) return;
|
|
120
|
+
const i = await e(t.data.request);
|
|
121
|
+
window.parent.postMessage({
|
|
122
|
+
source: _constants.IFRAME_SOURCE_NAME,
|
|
123
|
+
response: i
|
|
124
|
+
}, "*");
|
|
125
|
+
});
|
|
126
|
+
},
|
|
127
|
+
invoke(e) {
|
|
128
|
+
return new Promise((t, i) => {
|
|
129
|
+
const n = setTimeout(() => {
|
|
130
|
+
window.removeEventListener("message", o), i(new Error("Request timed out"));
|
|
131
|
+
}, 5e3);
|
|
132
|
+
function o(r) {
|
|
133
|
+
typeof r.data == "object" && (r.data.source !== _constants.EDITOR_SOURCE_NAME || !r.data.response || r.data.response.id === e.id && (clearTimeout(n), window.removeEventListener("message", o), t(r.data.response)));
|
|
134
|
+
}
|
|
135
|
+
window.parent.postMessage({
|
|
136
|
+
source: _constants.IFRAME_SOURCE_NAME,
|
|
137
|
+
request: e
|
|
138
|
+
}, "*"), window.addEventListener("message", o);
|
|
139
|
+
});
|
|
140
|
+
},
|
|
141
|
+
emit(e) {
|
|
191
142
|
window.parent.postMessage({
|
|
192
143
|
source: _constants.IFRAME_SOURCE_NAME,
|
|
193
|
-
|
|
144
|
+
type: "event",
|
|
145
|
+
request: e
|
|
194
146
|
}, "*");
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
})
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
};
|
|
225
|
-
console.warn = (...args) => {
|
|
226
|
-
defaultConsoleWarn?.(...args);
|
|
227
|
-
};
|
|
228
|
-
console.error = (...args) => {
|
|
229
|
-
client.emit("console", "error", args);
|
|
230
|
-
defaultConsoleError?.(...args);
|
|
231
|
-
};
|
|
232
|
-
console.info = (...args) => {
|
|
233
|
-
client.emit("console", "info", args);
|
|
234
|
-
defaultConsoleInfo?.(...args);
|
|
235
|
-
};
|
|
236
|
-
window.addEventListener("resize", async () => client.emit("resize", await client.$context.getPageHeight()));
|
|
237
|
-
const mutationObserver = new MutationObserver(async () => client.emit("resize", await client.$context.getPageHeight()));
|
|
238
|
-
mutationObserver.observe(document.body, {
|
|
239
|
-
childList: true,
|
|
240
|
-
// observe direct children additions/removals
|
|
241
|
-
subtree: true,
|
|
242
|
-
// observe all descendants
|
|
243
|
-
attributes: true,
|
|
244
|
-
// observe attribute changes (like style, class)
|
|
245
|
-
characterData: true
|
|
246
|
-
// observe text changes
|
|
247
|
-
});
|
|
248
|
-
client.emit("ready");
|
|
249
|
-
return client;
|
|
147
|
+
},
|
|
148
|
+
handleEvent(e) {
|
|
149
|
+
window.addEventListener("message", t => {
|
|
150
|
+
typeof t.data == "object" && (t.data.source !== _constants.EDITOR_SOURCE_NAME || t.data.type !== "event" || !t.data.request || e(t.data.request));
|
|
151
|
+
});
|
|
152
|
+
},
|
|
153
|
+
deserialize: e => (0, _telejson.parse)(e),
|
|
154
|
+
serialize: e => (0, _telejson.stringify)(e, {
|
|
155
|
+
maxDepth: 1 / 0
|
|
156
|
+
})
|
|
157
|
+
}),
|
|
158
|
+
d = l?.disableDefaultConsole ? void 0 : console.log.bind(console),
|
|
159
|
+
f = l?.disableDefaultConsole ? void 0 : console.warn.bind(console),
|
|
160
|
+
u = l?.disableDefaultConsole ? void 0 : console.error.bind(console),
|
|
161
|
+
g = l?.disableDefaultConsole ? void 0 : console.info.bind(console);
|
|
162
|
+
return console.log = (...e) => {
|
|
163
|
+
s.emit("console", "log", e), d?.(...e);
|
|
164
|
+
}, console.warn = (...e) => {
|
|
165
|
+
f?.(...e);
|
|
166
|
+
}, console.error = (...e) => {
|
|
167
|
+
s.emit("console", "error", e), u?.(...e);
|
|
168
|
+
}, console.info = (...e) => {
|
|
169
|
+
s.emit("console", "info", e), g?.(...e);
|
|
170
|
+
}, window.addEventListener("resize", async () => s.emit("resize", await s.$context.getPageHeight())), new MutationObserver(async () => s.emit("resize", await s.$context.getPageHeight())).observe(document.body, {
|
|
171
|
+
childList: !0,
|
|
172
|
+
subtree: !0,
|
|
173
|
+
attributes: !0,
|
|
174
|
+
characterData: !0
|
|
175
|
+
}), s.emit("ready"), s;
|
|
250
176
|
}
|