@roomle/embedding-lib 5.5.0-debug.4 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,188 +1,183 @@
1
- var C = Object.defineProperty;
2
- var F = (r, s, e) => s in r ? C(r, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[s] = e;
3
- var c = (r, s, e) => F(r, typeof s != "symbol" ? s + "" : s, e);
4
- class y {
5
- constructor(s, e, o, t) {
6
- c(this, "_side");
1
+ var M = Object.defineProperty;
2
+ var v = (t, e, s) => e in t ? M(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
3
+ var l = (t, e, s) => v(t, typeof e != "symbol" ? e + "" : e, s);
4
+ class P {
5
+ constructor(e, s, r, o) {
6
+ l(this, "_side");
7
7
  // for better debugging (who handles message? iframe or website?)
8
- c(this, "_incomingMessageBus");
9
- c(this, "_outgoingMessageBus", null);
10
- c(this, "_execMessage", null);
11
- this._side = s, this._incomingMessageBus = e, this._outgoingMessageBus = o, this._execMessage = t, this._incomingMessageBus.addEventListener(
8
+ l(this, "_incomingMessageBus");
9
+ l(this, "_outgoingMessageBus", null);
10
+ l(this, "_execMessage", null);
11
+ this._side = e, this._incomingMessageBus = s, this._outgoingMessageBus = r, this._execMessage = o, this._incomingMessageBus.addEventListener(
12
12
  "message",
13
13
  this._handleMessage.bind(this)
14
14
  );
15
15
  }
16
- setOutgoingMessageBus(s) {
17
- this._outgoingMessageBus = s;
16
+ setOutgoingMessageBus(e) {
17
+ this._outgoingMessageBus = e;
18
18
  }
19
- setMessageExecution(s) {
20
- this._execMessage = s;
19
+ setMessageExecution(e) {
20
+ this._execMessage = e;
21
21
  }
22
- sendMessage(s, e = []) {
23
- return new Promise((o, t) => {
24
- const n = new MessageChannel();
25
- n.port1.onmessage = (a) => {
26
- if (!a || !a.data)
27
- return n.port1.close(), n.port2.close(), t(
22
+ sendMessage(e, s = []) {
23
+ return new Promise((r, o) => {
24
+ const i = new MessageChannel();
25
+ i.port1.onmessage = (n) => {
26
+ if (!n || !n.data)
27
+ return i.port1.close(), i.port2.close(), o(
28
28
  new Error(
29
29
  this._side + " received message but response can not be interpreted"
30
30
  )
31
31
  );
32
- let i;
32
+ let c;
33
33
  try {
34
- i = JSON.parse(a.data);
35
- } catch (d) {
36
- return n.port1.close(), n.port2.close(), this._prepareError(d), t(d);
34
+ c = JSON.parse(n.data);
35
+ } catch (a) {
36
+ return i.port1.close(), i.port2.close(), this._prepareError(a), o(a);
37
37
  }
38
- i.error ? t(i.error) : i.result !== void 0 ? o(i.result) : o(void 0), n.port1.close(), n.port2.close();
38
+ c.error ? o(c.error) : c.result !== void 0 ? r(c.result) : r(void 0), i.port1.close(), i.port2.close();
39
39
  };
40
- let l = "";
40
+ let g = "";
41
41
  try {
42
- l = JSON.stringify({ message: s, args: e });
42
+ g = JSON.stringify({ message: e, args: s });
43
43
  } catch {
44
- return t(
44
+ return o(
45
45
  new Error(
46
46
  this._side + ": can not create command because it is not JSON.stringify able"
47
47
  )
48
48
  );
49
49
  }
50
50
  if (!this._outgoingMessageBus)
51
- return t(new Error(this._side + ": outgoing bus not set yet"));
52
- this._outgoingMessageBus.postMessage(l, "*", [
53
- n.port2
51
+ return o(new Error(this._side + ": outgoing bus not set yet"));
52
+ this._outgoingMessageBus.postMessage(g, "*", [
53
+ i.port2
54
54
  ]);
55
55
  });
56
56
  }
57
- _handleMessage(s) {
58
- const e = s.ports && Array.isArray(s.ports) && s.ports.length > 0 ? s.ports[0] : null;
59
- if (s.data && e)
57
+ _handleMessage(e) {
58
+ const s = e.ports && Array.isArray(e.ports) && e.ports.length > 0 ? e.ports[0] : null;
59
+ if (e.data && s)
60
60
  try {
61
- const o = JSON.parse(s.data);
61
+ const r = JSON.parse(e.data);
62
62
  if (!this._execMessage)
63
- return e.postMessage(
63
+ return s.postMessage(
64
64
  JSON.stringify({
65
65
  error: this._side + " is not ready to handle messages"
66
66
  })
67
67
  );
68
- Array.isArray(o.args) || (o.args = [o.args]);
69
- const t = this._execMessage(o, s);
70
- if (t === void 0)
68
+ Array.isArray(r.args) || (r.args = [r.args]);
69
+ const o = this._execMessage(r, e);
70
+ if (o === void 0)
71
71
  return;
72
- t.then(
73
- (n = {}) => {
74
- let l, a;
75
- typeof n == "object" && n !== null && (l = n.error, a = n.result), l ? e.postMessage(
76
- JSON.stringify({ error: l })
77
- ) : a !== void 0 ? e.postMessage(
78
- JSON.stringify({ result: a })
79
- ) : e.postMessage(
72
+ o.then(
73
+ (i = {}) => {
74
+ let g, n;
75
+ typeof i == "object" && i !== null && (g = i.error, n = i.result), g ? s.postMessage(
76
+ JSON.stringify({ error: g })
77
+ ) : n !== void 0 ? s.postMessage(
80
78
  JSON.stringify({ result: n })
79
+ ) : s.postMessage(
80
+ JSON.stringify({ result: i })
81
81
  );
82
82
  },
83
- (n) => {
84
- e.postMessage(
83
+ (i) => {
84
+ s.postMessage(
85
85
  JSON.stringify({
86
- error: this._prepareError(n)
86
+ error: this._prepareError(i)
87
87
  })
88
88
  );
89
89
  }
90
90
  );
91
- } catch (o) {
92
- e.postMessage(
91
+ } catch (r) {
92
+ s.postMessage(
93
93
  JSON.stringify({
94
- error: this._prepareError(o)
94
+ error: this._prepareError(r)
95
95
  })
96
96
  );
97
97
  }
98
98
  }
99
- _prepareError(s) {
100
- if (typeof s == "string") {
101
- const e = this._side + ": " + s;
102
- return console.error(e), e;
99
+ _prepareError(e) {
100
+ if (typeof e == "string") {
101
+ const s = this._side + ": " + e;
102
+ return console.error(s), s;
103
103
  }
104
- return s.message = this._side + ": " + s.message, console.error(s), s.message;
104
+ return e.message = this._side + ": " + e.message, console.error(e), e.message;
105
105
  }
106
106
  }
107
107
  const p = ".", E = {
108
108
  REQUEST_BOOT: "requestBoot",
109
109
  SETUP: "setup",
110
110
  WEBSITE_READY: "websiteReady"
111
- }, _ = {
112
- GET_METHODS: "getMethods",
113
- RETURN_METHODS: "returnMethods",
114
- REGISTER_CUSTOM_VIEW: "registerCustomView",
115
- REGISTER_CUSTOM_VIEW_DONE: "registerCustomViewDone"
116
- }, U = async (r, s) => {
117
- if (typeof r != "string")
111
+ }, D = async (t, e) => {
112
+ if (typeof t != "string")
118
113
  throw new Error(
119
- 'Configurator ID is not a string type: "' + typeof r + '"'
114
+ 'Configurator ID is not a string type: "' + typeof t + '"'
120
115
  );
121
- const e = s.customApiUrl ? s.customApiUrl : "https://api.roomle.com/v2", o = s.overrideTenant || 9, t = e + "/configurators/" + r, n = "roomle_portal_v2", l = "03-" + window.btoa((/* @__PURE__ */ new Date()).toISOString() + ";anonymous;" + n), a = () => {
122
- const h = {
123
- apiKey: n,
124
- currentTenant: o,
116
+ const s = e.customApiUrl ? e.customApiUrl : "https://api.roomle.com/v2", r = e.overrideTenant || 9, o = s + "/configurators/" + t, i = "roomle_portal_v2", g = "03-" + window.btoa((/* @__PURE__ */ new Date()).toISOString() + ";anonymous;" + i), n = () => {
117
+ const u = {
118
+ apiKey: i,
119
+ currentTenant: r,
125
120
  locale: "en",
126
121
  language: "en",
127
122
  device: 1,
128
- token: l,
123
+ token: g,
129
124
  platform: "web"
130
125
  };
131
- return new Headers(h);
132
- }, i = new Request(t, {
126
+ return new Headers(u);
127
+ }, c = new Request(o, {
133
128
  method: "GET",
134
- headers: a(),
129
+ headers: n(),
135
130
  mode: "cors",
136
131
  cache: "default"
137
- }), d = await fetch(i), { configurator: g } = await d.json();
138
- return g;
139
- }, B = () => {
132
+ }), a = await fetch(c), { configurator: f } = await a.json();
133
+ return f;
134
+ }, H = () => {
140
135
  try {
141
136
  return window.self !== window.top;
142
137
  } catch {
143
138
  return !0;
144
139
  }
145
- }, k = ["127.0.0.1", "localhost", "0.0.0.0"], W = () => {
146
- const r = B();
147
- let s = window.location.href;
148
- if (r) {
140
+ }, F = ["127.0.0.1", "localhost", "0.0.0.0"], C = () => {
141
+ const t = H();
142
+ let e = window.location.href;
143
+ if (t) {
149
144
  if (!document.referrer)
150
145
  return null;
151
- s = document.referrer;
146
+ e = document.referrer;
152
147
  }
153
- const { hostname: e } = new URL(s);
154
- return e;
155
- }, x = (r) => !!(k.includes(r) || r.endsWith("roomle.com") || r.endsWith("gitlab.io") || r.endsWith("gitlab.com")), M = [
148
+ const { hostname: s } = new URL(e);
149
+ return s;
150
+ }, B = (t) => !!(F.includes(t) || t.endsWith("roomle.com") || t.endsWith("gitlab.io") || t.endsWith("gitlab.com")), A = [
156
151
  "language",
157
152
  "browserLanguage",
158
153
  "userLanguage",
159
154
  "systemLanguage"
160
- ], G = (r = null) => {
161
- const s = window.navigator;
162
- if (r)
163
- return r.substr(0, 2);
164
- if (Array.isArray(s.languages) && s.languages.length > 0)
165
- return s.languages[0].substr(0, 2);
166
- for (let e = 0, o = M.length; e < o; e++) {
167
- const t = s[M[e]];
168
- if (t)
169
- return t.substr(0, 2);
155
+ ], U = (t = null) => {
156
+ const e = window.navigator;
157
+ if (t)
158
+ return t.substr(0, 2);
159
+ if (Array.isArray(e.languages) && e.languages.length > 0)
160
+ return e.languages[0].substr(0, 2);
161
+ for (let s = 0, r = A.length; s < r; s++) {
162
+ const o = e[A[s]];
163
+ if (o)
164
+ return o.substr(0, 2);
170
165
  }
171
166
  return "en";
172
- }, V = (r, s) => {
173
- const e = JSON.parse(JSON.stringify(r));
174
- return S(e, s);
175
- }, S = (r, s) => {
176
- for (const e in s)
167
+ }, k = (t, e) => {
168
+ const s = JSON.parse(JSON.stringify(t));
169
+ return O(s, e);
170
+ }, O = (t, e) => {
171
+ for (const s in e)
177
172
  try {
178
- s[e].constructor === Object ? r[e] = S(r[e], s[e]) : r[e] = s[e];
173
+ e[s].constructor === Object ? t[s] = O(t[s], e[s]) : t[s] = e[s];
179
174
  } catch {
180
- r[e] = s[e];
175
+ t[s] = e[s];
181
176
  }
182
- return r;
177
+ return t;
183
178
  };
184
- var J = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1 };
185
- const $ = {
179
+ var x = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1 };
180
+ const W = {
186
181
  mobileLandscape: !0,
187
182
  floorMaterialRootTag: "materials_root",
188
183
  buttons: {
@@ -203,226 +198,146 @@ const $ = {
203
198
  mocAr: !0
204
199
  },
205
200
  rotationSnapDegrees: 10
206
- }, z = "(idle)", Y = (r) => (O(r), r != null && r.customApiUrl && (r.customApiUrl = decodeURIComponent(r.customApiUrl)), r.shareUrl && (r.deeplink = r.shareUrl.replace(
207
- Q,
208
- X
209
- )), r), O = (r) => {
210
- if (!r)
201
+ }, G = "(idle)", J = (t) => (w(t), t != null && t.customApiUrl && (t.customApiUrl = decodeURIComponent(t.customApiUrl)), t.shareUrl && (t.deeplink = t.shareUrl.replace(
202
+ z,
203
+ Y
204
+ )), t), w = (t) => {
205
+ if (!t)
211
206
  return;
212
- const s = Object.keys(r);
213
- for (const e of s) {
214
- const o = r[e];
215
- if (!Array.isArray(o) && typeof o == "object" && o !== null && O(o), Array.isArray(o))
216
- for (const t of o)
217
- O(t);
218
- (o === "true" || o === "false") && (r[e] = o === "true");
207
+ const e = Object.keys(t);
208
+ for (const s of e) {
209
+ const r = t[s];
210
+ if (!Array.isArray(r) && typeof r == "object" && r !== null && w(r), Array.isArray(r))
211
+ for (const o of r)
212
+ w(o);
213
+ (r === "true" || r === "false") && (t[s] = r === "true");
219
214
  }
220
- }, q = (r, s) => {
221
- s.configuratorId = r.id;
222
- const e = r.settings || {};
223
- return !s.overrideTenant && r.tenant && (s.overrideTenant = r.tenant), V(e, s);
224
- }, K = () => {
225
- const r = {
226
- ...$
215
+ }, V = (t, e) => {
216
+ e.configuratorId = t.id;
217
+ const s = t.settings || {};
218
+ return !e.overrideTenant && t.tenant && (e.overrideTenant = t.tenant), k(s, e);
219
+ }, $ = () => {
220
+ const t = {
221
+ ...W
227
222
  };
228
- r.locale || (r.locale = G()), r.id === z && delete r.id;
229
- const s = W();
230
- return s && x(s) && (r.configuratorId = "demoConfigurator"), r.customApiUrl = J.VITE_RAPI_URL, r.emails = !1, r;
231
- }, Q = "<CONF_ID>", X = "#CONFIGURATIONID#", R = () => /(android)/i.test(navigator.userAgent);
232
- class T {
233
- constructor() {
234
- c(this, "_messageHandler", null);
235
- c(this, "isSetupDone", !1);
236
- c(this, "viewName", "main");
237
- c(this, "plugins", {});
238
- c(this, "pluginsLoaded", []);
239
- c(this, "ui", {
240
- callbacks: null
241
- });
242
- c(this, "extended", {
243
- callbacks: null
244
- });
245
- c(this, "configurator", {
246
- callbacks: null
247
- });
248
- c(this, "analytics", {
249
- callbacks: {}
250
- });
251
- c(this, "global", {
252
- callbacks: {}
253
- });
254
- }
255
- setMessageHandler(s) {
256
- this._messageHandler = s;
257
- }
258
- handleSetup(s) {
259
- const { methods: e, callbacks: o } = s;
260
- e.forEach((t) => {
261
- const n = t.split(p), l = n[0], a = n[1];
262
- this[l] || (this[l] = {}), this[l][a] = (function() {
263
- if (!this._messageHandler) {
264
- console.error("MessageHandler not set");
265
- return;
266
- }
267
- return this._messageHandler.sendMessage(t, [...arguments]);
268
- }).bind(this);
269
- }), o.forEach((t) => {
270
- const n = t.split(p), l = n[0], a = n[1], i = n[2];
271
- this[l] || (this[l] = {}), this[l][a] || (this[l][a] = {}), this[l][a][i] = () => {
272
- };
273
- }), this.isSetupDone = !0;
274
- }
275
- executeMessage({ message: s, args: e }) {
276
- const o = s.split(p), t = o[0], n = o[1], l = o.length === 3 ? o[2] : null;
277
- if (l && this[t][n][l]) {
278
- const a = this[t][n][l](
279
- ...e
280
- );
281
- return a instanceof Promise ? a.then((i) => ({ result: i })) : a !== void 0 ? Promise.resolve({ result: a }) : Promise.resolve({ result: null });
282
- }
283
- return Promise.reject('Message "' + s + '" is unkown');
284
- }
285
- setupPlugins(s, e, o = "website") {
286
- for (const t of s)
287
- typeof t == "string" && t === "dragIn" ? this.pluginsLoaded.push(
288
- new Promise((n, l) => {
289
- try {
290
- import("./drag-in-CXPjCiN1.mjs").then(
291
- ({ DragIn: a }) => {
292
- const i = new a(e, o);
293
- i.setInstance(this.ui), i.setViewName(this.viewName), this.plugins.dragIn = i, n();
294
- }
295
- );
296
- } catch (a) {
297
- l(a);
298
- }
299
- })
300
- ) : t.name && t.loader && this.pluginsLoaded.push(
301
- new Promise((n, l) => {
302
- try {
303
- t.loader().then((a) => {
304
- const i = new a(e, o);
305
- i.setInstance(this.ui), i.setViewName(this.viewName), this.plugins[t.name] = i, n();
306
- });
307
- } catch (a) {
308
- l(a);
309
- }
310
- })
311
- );
312
- }
313
- }
314
- const A = () => {
315
- let r, s;
316
- return { promise: new Promise((o, t) => {
317
- r = o, s = t;
318
- }), resolve: r, reject: s };
319
- }, N = (r, s, e) => {
320
- let o = null;
321
- Object.defineProperty(r, s, {
223
+ t.locale || (t.locale = U()), t.id === G && delete t.id;
224
+ const e = C();
225
+ return e && B(e) && (t.configuratorId = "demoConfigurator"), t.customApiUrl = x.VITE_RAPI_URL, t.emails = !1, t;
226
+ }, z = "<CONF_ID>", Y = "#CONFIGURATIONID#", L = () => /(android)/i.test(navigator.userAgent), R = (t, e, s) => {
227
+ let r = null;
228
+ Object.defineProperty(t, e, {
322
229
  get() {
323
- return o || e;
230
+ return r || s;
324
231
  },
325
- set(t) {
326
- t != null && t.mute ? o = t.value : (console.warn(
232
+ set(o) {
233
+ o != null && o.mute ? r = o.value : (console.warn(
327
234
  "You override Roomle defined behaviour. To disalbe this warning pass in an object with the following properties"
328
- ), console.warn("{ mute: true, value: () => void }"), o = t);
235
+ ), console.warn("{ mute: true, value: () => void }"), r = o);
329
236
  }
330
237
  });
331
- }, v = () => window.innerHeight * 0.01 + "px", L = (r) => {
332
- r && setTimeout(
333
- () => r.style.setProperty(I, v()),
238
+ }, T = () => window.innerHeight * 0.01 + "px", b = (t) => {
239
+ t && setTimeout(
240
+ () => t.style.setProperty(y, T()),
334
241
  0
335
242
  );
336
- }, b = "rml-styles", Z = 450, I = "--rml-full-height", u = {
243
+ }, S = "rml-styles", q = 450, y = "--rml-full-height", d = {
337
244
  CONTAINER: "rml-container",
338
245
  FILL: "rml-fill",
339
246
  POSITION: "rml-pos",
340
247
  TRANSITION: "rml-transition",
341
248
  ANDROID_HEIGHT: "rml-android-height",
342
249
  OVERFLOW_HIDDEN: "rml-overflow-hidden"
343
- }, w = /* @__PURE__ */ new Map();
344
- class ee extends T {
345
- constructor(e, o, t, n, l) {
346
- super();
347
- c(this, "_waitForIframe");
348
- c(this, "_container");
349
- c(this, "_configuratorSettings");
350
- c(this, "_initData", {});
351
- c(this, "_iframe");
250
+ }, I = /* @__PURE__ */ new Map();
251
+ class Q {
252
+ constructor(e, s, r, o, i) {
253
+ l(this, "ui", {
254
+ callbacks: null
255
+ });
256
+ l(this, "extended", {
257
+ callbacks: null
258
+ });
259
+ l(this, "configurator", {
260
+ callbacks: null
261
+ });
262
+ l(this, "analytics", {
263
+ callbacks: {}
264
+ });
265
+ l(this, "global", {
266
+ callbacks: {}
267
+ });
268
+ l(this, "plugins", {});
269
+ l(this, "_waitForIframe");
270
+ l(this, "_container");
271
+ l(this, "_messageHandler");
272
+ l(this, "_configuratorSettings");
273
+ l(this, "_initData", {});
274
+ l(this, "_iframe");
275
+ l(this, "pluginsLoaded", []);
352
276
  if (!e || typeof e.id != "string")
353
277
  throw new Error(
354
278
  "Please provide a correct configuratorId, you get the correct ID from your Roomle Contact Person"
355
279
  );
356
- if (w.has(o))
280
+ if (I.has(s))
357
281
  throw new Error("There is already an instance on this DOM element");
358
- if (!!!document.getElementById(b)) {
359
- const g = t.zIndex || 9999999, h = document.createElement("style");
360
- h.type = "text/css", h.id = b;
361
- const f = "transition:all ease-in-out " + Z + "ms;", m = ["-webkit-", "-o-"].reduce(
362
- (P, D) => P += D + f,
282
+ if (!!!document.getElementById(S)) {
283
+ const c = r.zIndex || 9999999, a = document.createElement("style");
284
+ a.type = "text/css", a.id = S;
285
+ const f = "transition:all ease-in-out " + q + "ms;", u = ["-webkit-", "-o-"].reduce(
286
+ (m, _) => m += _ + f,
363
287
  ""
364
- ) + f, H = v();
365
- h.innerHTML = `
366
- .${u.CONTAINER}{${I}:${H};}
367
- .${u.POSITION}{position:fixed;top:0;left:0;z-index:${g};opacity:0}
368
- .${u.TRANSITION}{${m}}
369
- .${u.FILL}{width:100%;height:100%;opacity:1}
370
- .${u.ANDROID_HEIGHT}{height:calc(var(${I},1vh)*100)}
371
- .${u.OVERFLOW_HIDDEN}{overflow:hidden}
372
- `, document.head.appendChild(h);
288
+ ) + f, h = T();
289
+ a.innerHTML = `
290
+ .${d.CONTAINER}{${y}:${h};}
291
+ .${d.POSITION}{position:fixed;top:0;left:0;z-index:${c};opacity:0}
292
+ .${d.TRANSITION}{${u}}
293
+ .${d.FILL}{width:100%;height:100%;opacity:1}
294
+ .${d.ANDROID_HEIGHT}{height:calc(var(${y},1vh)*100)}
295
+ .${d.OVERFLOW_HIDDEN}{overflow:hidden}
296
+ `, document.head.appendChild(a);
373
297
  }
374
- this._executeMessage = this._executeMessage.bind(this);
375
- const i = new y(
298
+ this._onResize = this._onResize.bind(this), L() && window.addEventListener("resize", this._onResize), this._container = s, this._initData = r, this._configuratorSettings = e;
299
+ const n = this._createIframe();
300
+ this._onUseFullPage = this._onUseFullPage.bind(this), this._executeMessage = this._executeMessage.bind(this), this._onBackToWebsite = this._onBackToWebsite.bind(this), this._messageHandler = new P(
376
301
  "website",
377
302
  window,
378
303
  null,
379
304
  this._executeMessage
380
- );
381
- this.setMessageHandler(i), this._onResize = this._onResize.bind(this), R() && window.addEventListener("resize", this._onResize), this._container = o, this._initData = t, this._configuratorSettings = e;
382
- const d = this._createIframe();
383
- this._onUseFullPage = this._onUseFullPage.bind(this), this._onBackToWebsite = this._onBackToWebsite.bind(this), this._waitForIframe = l, this._container.appendChild(d), this._iframe = d, this.setupPlugins(n, this._iframe), w.set(o, !0);
305
+ ), this._waitForIframe = i, this._container.appendChild(n), this._iframe = n;
306
+ for (const c of o)
307
+ typeof c == "string" && c === "dragIn" ? this.pluginsLoaded.push(
308
+ new Promise((a, f) => {
309
+ try {
310
+ import("./drag-in-DC-05b4s.mjs").then(
311
+ ({ DragIn: u }) => {
312
+ const h = new u(this._iframe);
313
+ h.setInstance(this.ui), this.plugins.dragIn = h, a();
314
+ }
315
+ );
316
+ } catch (u) {
317
+ f(u);
318
+ }
319
+ })
320
+ ) : c.name && c.loader && this.pluginsLoaded.push(
321
+ new Promise((a, f) => {
322
+ try {
323
+ c.loader().then((u) => {
324
+ const h = new u(this._iframe);
325
+ h.setInstance(this.ui), this.plugins[c.name] = h, a();
326
+ });
327
+ } catch (u) {
328
+ f(u);
329
+ }
330
+ })
331
+ );
332
+ I.set(s, !0);
384
333
  }
385
- static createPlanner(e, o, t, n = []) {
334
+ static createPlanner(e, s, r, o = []) {
386
335
  return this._create(
387
336
  e,
388
- o,
389
- t,
390
- n
391
- );
392
- }
393
- static async connect(e, o = []) {
394
- const t = new T();
395
- t.viewName = e;
396
- const { resolve: n, promise: l } = A(), { resolve: a, promise: i } = A(), d = ({
397
- message: f,
398
- args: m
399
- }) => {
400
- if (f === _.REGISTER_CUSTOM_VIEW_DONE) {
401
- n();
402
- return;
403
- }
404
- if (f === _.RETURN_METHODS) {
405
- t.handleSetup(m[0]), a();
406
- return;
407
- }
408
- if (t.isSetupDone)
409
- return t.executeMessage({ message: f, args: m });
410
- }, g = new y(
411
- "custom-view",
412
- window,
413
- window.parent,
414
- d
337
+ s,
338
+ r,
339
+ o
415
340
  );
416
- t.setMessageHandler(g);
417
- const h = [e];
418
- return g.sendMessage(
419
- _.REGISTER_CUSTOM_VIEW,
420
- h
421
- ), await l, g.sendMessage(_.GET_METHODS, h), await i, t.setupPlugins(
422
- o,
423
- document.body,
424
- "custom-view"
425
- ), await Promise.allSettled(t.pluginsLoaded), t;
426
341
  }
427
342
  /**
428
343
  * Method to create a new instance of a Roomle Configurator
@@ -430,12 +345,12 @@ class ee extends T {
430
345
  * @param container DOM container in which the configurator should be placed
431
346
  * @param initData settings with which the configurator should be started
432
347
  */
433
- static createConfigurator(e, o, t, n = []) {
348
+ static createConfigurator(e, s, r, o = []) {
434
349
  return this._create(
435
350
  e,
436
- o,
437
- t,
438
- n
351
+ s,
352
+ r,
353
+ o
439
354
  );
440
355
  }
441
356
  /**
@@ -445,12 +360,12 @@ class ee extends T {
445
360
  * @param container DOM container in which the configurator should be placed
446
361
  * @param initData settings with which the configurator should be started
447
362
  */
448
- static create(e, o, t, n) {
363
+ static create(e, s, r, o) {
449
364
  return this._create(
450
365
  e,
451
- o,
452
- t,
453
- n
366
+ s,
367
+ r,
368
+ o
454
369
  );
455
370
  }
456
371
  /**
@@ -459,80 +374,100 @@ class ee extends T {
459
374
  * @param container DOM container in which the configurator should be placed
460
375
  * @param initData settings with which the configurator should be started
461
376
  */
462
- static createViewer(e, o, t, n = []) {
377
+ static createViewer(e, s, r, o = []) {
463
378
  return this._create(
464
379
  e,
465
- o,
466
- t,
467
- n
380
+ s,
381
+ r,
382
+ o
468
383
  );
469
384
  }
470
- static async _create(e, o, t, n) {
471
- return new Promise(async (l, a) => {
385
+ static async _create(e, s, r, o) {
386
+ return new Promise(async (i, g) => {
472
387
  try {
473
- const i = S(
474
- K(),
475
- Y(t)
388
+ const n = O(
389
+ $(),
390
+ J(r)
476
391
  );
477
- i.featureFlags || (i.featureFlags = {}), typeof i.featureFlags.realPartList != "boolean" && (i.featureFlags.realPartList = !0), typeof i.featureFlags.globalCallbacks != "boolean" && (i.featureFlags.globalCallbacks = !0), typeof i.featureFlags.mocAr != "boolean" && (i.featureFlags.mocAr = !1);
478
- const d = await U(
392
+ n.featureFlags || (n.featureFlags = {}), typeof n.featureFlags.realPartList != "boolean" && (n.featureFlags.realPartList = !0), typeof n.featureFlags.globalCallbacks != "boolean" && (n.featureFlags.globalCallbacks = !0), typeof n.featureFlags.mocAr != "boolean" && (n.featureFlags.mocAr = !1);
393
+ const c = await D(
479
394
  e,
480
- i
395
+ n
481
396
  );
482
- t = q(d, i);
483
- const g = new this(
484
- d,
397
+ r = V(c, n);
398
+ const a = new this(
399
+ c,
400
+ s,
401
+ r,
485
402
  o,
486
- t,
487
- n,
488
- l
403
+ i
489
404
  );
490
- return await Promise.allSettled(g.pluginsLoaded), g;
491
- } catch (i) {
492
- return a(i);
405
+ return console.info(a), await Promise.allSettled(a.pluginsLoaded), a;
406
+ } catch (n) {
407
+ return g(n);
493
408
  }
494
409
  });
495
410
  }
496
411
  teardown() {
497
- this._container && w.delete(this._container);
412
+ this._container && I.delete(this._container);
498
413
  const e = this._container.querySelector("iframe");
499
414
  e && this._container.removeChild(e), window.removeEventListener("resize", this._onResize);
500
415
  }
501
416
  _createIframe() {
502
- var t;
417
+ var r;
503
418
  const e = document.createElement("iframe");
504
- let o = ((t = this._configuratorSettings) == null ? void 0 : t.url) || "https://www.roomle.com/t/cp/";
505
- return this._initData.useLocalRoomle && (o = location.href.replace("embedding.html", "")), location.href.includes("roomle.gitlab.io") && (o = location.href.replace("embedding.html", "index.html")), this._initData.overrideServerUrl && (o = this._initData.overrideServerUrl), e.src = o, e.classList.add(u.CONTAINER), e.classList.add(u.FILL), e;
419
+ let s = ((r = this._configuratorSettings) == null ? void 0 : r.url) || "https://www.roomle.com/t/cp/";
420
+ return this._initData.useLocalRoomle && (s = location.href.replace("embedding.html", "")), location.href.includes("roomle.gitlab.io") && (s = location.href.replace("embedding.html", "index.html")), this._initData.overrideServerUrl && (s = this._initData.overrideServerUrl), e.src = s, e.classList.add(d.CONTAINER), e.classList.add(d.FILL), e;
506
421
  }
507
422
  _onResize() {
508
- L(this._iframe);
423
+ b(this._iframe);
509
424
  }
510
425
  _onUseFullPage() {
511
- this._iframe.classList.add(u.POSITION), document.documentElement.classList.add(u.OVERFLOW_HIDDEN), window.document.body.classList.add(u.OVERFLOW_HIDDEN), R() && (L(this._iframe), this._iframe.classList.add(u.ANDROID_HEIGHT));
426
+ this._iframe.classList.add(d.POSITION), document.documentElement.classList.add(d.OVERFLOW_HIDDEN), window.document.body.classList.add(d.OVERFLOW_HIDDEN), L() && (b(this._iframe), this._iframe.classList.add(d.ANDROID_HEIGHT));
512
427
  }
513
428
  _onBackToWebsite() {
514
- this._iframe.classList.remove(u.POSITION), this._iframe.classList.remove(u.ANDROID_HEIGHT), document.documentElement.classList.remove(u.OVERFLOW_HIDDEN), window.document.body.classList.remove(u.OVERFLOW_HIDDEN);
429
+ this._iframe.classList.remove(d.POSITION), this._iframe.classList.remove(d.ANDROID_HEIGHT), document.documentElement.classList.remove(d.OVERFLOW_HIDDEN), window.document.body.classList.remove(d.OVERFLOW_HIDDEN);
515
430
  }
516
- _executeMessage({ message: e, args: o }, t) {
517
- var n;
518
- if (t.source && t.source === ((n = this._iframe) == null ? void 0 : n.contentWindow))
519
- return e === E.REQUEST_BOOT ? this._messageHandler ? (this._messageHandler.setOutgoingMessageBus(t.source), Promise.resolve({ result: this._initData })) : (console.error("MessageHandler not set"), Promise.resolve({ error: "MessageHandler not set" })) : e === E.SETUP ? (this.handleSetup(o[0]), N(
431
+ _executeMessage({ message: e, args: s }, r) {
432
+ var c;
433
+ if (!r.source || r.source !== ((c = this._iframe) == null ? void 0 : c.contentWindow))
434
+ return;
435
+ if (e === E.REQUEST_BOOT)
436
+ return this._messageHandler.setOutgoingMessageBus(r.source), Promise.resolve({ result: this._initData });
437
+ if (e === E.SETUP) {
438
+ const { methods: a, callbacks: f } = s[0];
439
+ return a.forEach((u) => {
440
+ const h = u.split(p), m = h[0], _ = h[1];
441
+ this[m] || (this[m] = {}), this[m][_] = (function() {
442
+ return this._messageHandler.sendMessage(u, [...arguments]);
443
+ }).bind(this);
444
+ }), f.forEach((u) => {
445
+ const h = u.split(p), m = h[0], _ = h[1], N = h[2];
446
+ this[m] || (this[m] = {}), this[m][_] || (this[m][_] = {}), this[m][_][N] = () => {
447
+ };
448
+ }), R(
520
449
  this.ui.callbacks,
521
450
  "onUseFullPage",
522
451
  this._onUseFullPage
523
- ), N(
452
+ ), R(
524
453
  this.ui.callbacks,
525
454
  "onBackToWebsite",
526
455
  this._onBackToWebsite
527
- ), this._waitForIframe(this), setTimeout(() => {
528
- if (!this._messageHandler) {
529
- console.error("MessageHandler not set");
530
- return;
531
- }
532
- this._messageHandler.sendMessage(E.WEBSITE_READY);
533
- }, 0), Promise.resolve({ result: null })) : this.executeMessage({ message: e, args: o });
456
+ ), this._waitForIframe(this), setTimeout(
457
+ () => this._messageHandler.sendMessage(E.WEBSITE_READY),
458
+ 0
459
+ ), Promise.resolve({ result: null });
460
+ }
461
+ const o = e.split(p), i = o[0], g = o[1], n = o.length === 3 ? o[2] : null;
462
+ if (n && this[i][g][n]) {
463
+ const a = this[i][g][n](
464
+ ...s
465
+ );
466
+ return a instanceof Promise ? a.then((f) => ({ result: f })) : a !== void 0 ? Promise.resolve({ result: a }) : Promise.resolve({ result: null });
467
+ }
468
+ return Promise.reject('Message "' + e + '" is unkown');
534
469
  }
535
470
  }
536
471
  export {
537
- ee as default
472
+ Q as default
538
473
  };