@virtualdisplay.io/client 4.0.0-alpha.16 → 4.0.0-alpha.18
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/CHANGELOG.md +12 -0
- package/dist/index.d.ts +54 -2
- package/dist/virtualdisplay.client.cjs.js +6 -6
- package/dist/virtualdisplay.client.es.js +320 -291
- package/dist/virtualdisplay.client.umd.js +9 -9
- package/package.json +1 -1
|
@@ -204,7 +204,7 @@ let mt = !1, C = ht(dt("client", { isDev: !1 }));
|
|
|
204
204
|
function Pt() {
|
|
205
205
|
mt = !0, C = ht(dt("client", { isDev: !0 }));
|
|
206
206
|
}
|
|
207
|
-
function
|
|
207
|
+
function ji() {
|
|
208
208
|
return mt;
|
|
209
209
|
}
|
|
210
210
|
class Ft {
|
|
@@ -351,6 +351,7 @@ class Bt {
|
|
|
351
351
|
}
|
|
352
352
|
const c = {
|
|
353
353
|
HANDSHAKE: "handshake",
|
|
354
|
+
SESSION: "session",
|
|
354
355
|
MUTATION: "mutation",
|
|
355
356
|
STATE: "state",
|
|
356
357
|
LOADING_INDICATOR: "loading_indicator",
|
|
@@ -358,6 +359,7 @@ const c = {
|
|
|
358
359
|
SNAPSHOT: "snapshot",
|
|
359
360
|
MAPPING: "mapping",
|
|
360
361
|
AR_ACTIVATE: "ar_activate",
|
|
362
|
+
FULLSCREEN: "fullscreen",
|
|
361
363
|
CONFIG: "config",
|
|
362
364
|
ANNOTATION_PLACE_MODE: "annotation_place_mode",
|
|
363
365
|
ANNOTATION_PLACED: "annotation_placed",
|
|
@@ -380,46 +382,50 @@ function Ht(n) {
|
|
|
380
382
|
return typeof t.target == "string" ? !1 : typeof t.type == "string" && jt.has(t.type);
|
|
381
383
|
}
|
|
382
384
|
function Gt(n) {
|
|
383
|
-
const t =
|
|
385
|
+
const t = w(n);
|
|
384
386
|
return t !== null && t.type === c.HANDSHAKE;
|
|
385
387
|
}
|
|
386
388
|
function qt(n) {
|
|
387
|
-
const t =
|
|
388
|
-
return t !== null && t.type === c.
|
|
389
|
+
const t = w(n);
|
|
390
|
+
return t !== null && t.type === c.SESSION && typeof t.sessionId == "string";
|
|
389
391
|
}
|
|
390
392
|
function Zt(n) {
|
|
391
|
-
const t =
|
|
392
|
-
return t !== null && t.type === c.
|
|
393
|
+
const t = w(n);
|
|
394
|
+
return t !== null && t.type === c.MUTATION && Array.isArray(t.results);
|
|
393
395
|
}
|
|
394
396
|
function Wt(n) {
|
|
395
|
-
const t =
|
|
396
|
-
return t !== null && t.type === c.
|
|
397
|
+
const t = w(n);
|
|
398
|
+
return t !== null && t.type === c.SNAPSHOT && ("data" in t || "error" in t);
|
|
397
399
|
}
|
|
398
400
|
function Yt(n) {
|
|
399
|
-
const t =
|
|
400
|
-
return t !== null && t.type === c.
|
|
401
|
+
const t = w(n);
|
|
402
|
+
return t !== null && t.type === c.CAMERA && Array.isArray(t.transforms);
|
|
401
403
|
}
|
|
402
404
|
function Xt(n) {
|
|
403
|
-
const t =
|
|
404
|
-
return t !== null && t.type === c.
|
|
405
|
+
const t = w(n);
|
|
406
|
+
return t !== null && t.type === c.MAPPING && Array.isArray(t.attributes);
|
|
405
407
|
}
|
|
406
408
|
function Kt(n) {
|
|
407
|
-
const t =
|
|
408
|
-
return t !== null && t.type === c.
|
|
409
|
+
const t = w(n);
|
|
410
|
+
return t !== null && t.type === c.LOADING_INDICATOR && typeof t.progress == "number";
|
|
409
411
|
}
|
|
410
412
|
function Qt(n) {
|
|
411
|
-
const t =
|
|
412
|
-
return t !== null && t.type === c.
|
|
413
|
+
const t = w(n);
|
|
414
|
+
return t !== null && t.type === c.CONFIG && typeof t.viewerSettings == "object";
|
|
413
415
|
}
|
|
414
416
|
function Jt(n) {
|
|
415
|
-
const t =
|
|
416
|
-
return t !== null && t.type === c.
|
|
417
|
+
const t = w(n);
|
|
418
|
+
return t !== null && t.type === c.ANNOTATION_PLACED && typeof t.position == "object" && t.position !== null;
|
|
417
419
|
}
|
|
418
420
|
function te(n) {
|
|
419
|
-
const t =
|
|
421
|
+
const t = w(n);
|
|
422
|
+
return t !== null && t.type === c.FOCUS && typeof t.state == "string";
|
|
423
|
+
}
|
|
424
|
+
function ee(n) {
|
|
425
|
+
const t = w(n);
|
|
420
426
|
return t !== null && t.type === c.PRICING && typeof t.pricing == "object" && t.pricing !== null;
|
|
421
427
|
}
|
|
422
|
-
function
|
|
428
|
+
function w(n) {
|
|
423
429
|
return typeof n != "object" || n === null ? null : n;
|
|
424
430
|
}
|
|
425
431
|
class K {
|
|
@@ -469,7 +475,7 @@ class K {
|
|
|
469
475
|
this.pending.length = 0;
|
|
470
476
|
}
|
|
471
477
|
}
|
|
472
|
-
class
|
|
478
|
+
class ne {
|
|
473
479
|
constructor(t, e) {
|
|
474
480
|
this.getTarget = t, this.sourceId = `vd-${Math.random().toString(36).slice(2, 8)}`, this.targetOrigin = e?.targetOrigin ?? "*", this.publisher = new K((i) => this.post(i)), this.consumer = new K((i) => this.routeToHandler(i)), this.shouldBuffer = e?.shouldBuffer ?? null, e?.bufferIncoming !== !0 && this.consumer.markReady();
|
|
475
481
|
}
|
|
@@ -578,7 +584,7 @@ class ee {
|
|
|
578
584
|
});
|
|
579
585
|
}
|
|
580
586
|
}
|
|
581
|
-
class
|
|
587
|
+
class ie {
|
|
582
588
|
constructor(t, e) {
|
|
583
589
|
this.send = t, this.onMutationFailed = e;
|
|
584
590
|
}
|
|
@@ -657,7 +663,7 @@ class ne {
|
|
|
657
663
|
this.pendingCallbacks.length = 0;
|
|
658
664
|
}
|
|
659
665
|
}
|
|
660
|
-
let
|
|
666
|
+
let oe = class {
|
|
661
667
|
constructor(t) {
|
|
662
668
|
this.send = t;
|
|
663
669
|
}
|
|
@@ -720,7 +726,7 @@ let ie = class {
|
|
|
720
726
|
this.send(t);
|
|
721
727
|
}
|
|
722
728
|
};
|
|
723
|
-
class
|
|
729
|
+
class se {
|
|
724
730
|
state;
|
|
725
731
|
limitsState;
|
|
726
732
|
changeCallbacks = [];
|
|
@@ -808,7 +814,7 @@ class oe {
|
|
|
808
814
|
}
|
|
809
815
|
}
|
|
810
816
|
}
|
|
811
|
-
class
|
|
817
|
+
class re {
|
|
812
818
|
constructor(t, e) {
|
|
813
819
|
this.send = t, this.dispatch = e;
|
|
814
820
|
}
|
|
@@ -852,20 +858,20 @@ class se {
|
|
|
852
858
|
this.dispatch(e);
|
|
853
859
|
}
|
|
854
860
|
}
|
|
855
|
-
function
|
|
856
|
-
const e = n.filter((s) =>
|
|
861
|
+
function ae(n, t) {
|
|
862
|
+
const e = n.filter((s) => le(s, t));
|
|
857
863
|
if (e.length === 0)
|
|
858
864
|
return;
|
|
859
865
|
const i = Math.max(...e.map(Q)), o = e.filter((s) => Q(s) === i);
|
|
860
866
|
return o.length === 1 ? o[0] : void 0;
|
|
861
867
|
}
|
|
862
|
-
function
|
|
868
|
+
function le(n, t) {
|
|
863
869
|
return Object.entries(n.attributes).every(([e, i]) => t[e] === i);
|
|
864
870
|
}
|
|
865
871
|
function Q(n) {
|
|
866
872
|
return Object.keys(n.attributes).length;
|
|
867
873
|
}
|
|
868
|
-
class
|
|
874
|
+
class ce {
|
|
869
875
|
constructor(t, e) {
|
|
870
876
|
this.dispatchChange = t, this.dispatchSubmit = e;
|
|
871
877
|
}
|
|
@@ -975,7 +981,7 @@ class le {
|
|
|
975
981
|
resolve() {
|
|
976
982
|
if (this.pricing === void 0)
|
|
977
983
|
return;
|
|
978
|
-
const t =
|
|
984
|
+
const t = ae(this.pricing.rules, this.selection);
|
|
979
985
|
if (!(t === void 0 || t.availability === Vt.HIDDEN))
|
|
980
986
|
return {
|
|
981
987
|
attributes: { ...this.selection },
|
|
@@ -986,7 +992,7 @@ class le {
|
|
|
986
992
|
};
|
|
987
993
|
}
|
|
988
994
|
}
|
|
989
|
-
class
|
|
995
|
+
class ue {
|
|
990
996
|
constructor(t) {
|
|
991
997
|
this.filename = t;
|
|
992
998
|
}
|
|
@@ -1040,7 +1046,7 @@ class ce {
|
|
|
1040
1046
|
}
|
|
1041
1047
|
}
|
|
1042
1048
|
const J = 3e4;
|
|
1043
|
-
class
|
|
1049
|
+
class de {
|
|
1044
1050
|
constructor(t) {
|
|
1045
1051
|
this.send = t;
|
|
1046
1052
|
}
|
|
@@ -1056,7 +1062,7 @@ class ue {
|
|
|
1056
1062
|
*/
|
|
1057
1063
|
take(t) {
|
|
1058
1064
|
this.validateFilename(t), C.debug("Taking snapshot", { filename: t });
|
|
1059
|
-
const e = new
|
|
1065
|
+
const e = new ue(t), i = setTimeout(() => {
|
|
1060
1066
|
this.pendingPhotos.delete(t), C.warn("Snapshot timed out", { filename: t }), e.fail(new f(
|
|
1061
1067
|
`Snapshot timed out: the viewer did not respond within ${J}ms`,
|
|
1062
1068
|
A.SNAPSHOT_FAILED
|
|
@@ -1127,7 +1133,7 @@ class ue {
|
|
|
1127
1133
|
);
|
|
1128
1134
|
}
|
|
1129
1135
|
}
|
|
1130
|
-
class
|
|
1136
|
+
class he {
|
|
1131
1137
|
container = null;
|
|
1132
1138
|
attach(t) {
|
|
1133
1139
|
this.container = t;
|
|
@@ -1148,14 +1154,14 @@ class de {
|
|
|
1148
1154
|
};
|
|
1149
1155
|
}
|
|
1150
1156
|
}
|
|
1151
|
-
const
|
|
1157
|
+
const me = {}, pe = "en", pt = (
|
|
1152
1158
|
/** @type {const} */
|
|
1153
1159
|
["en", "nl", "de"]
|
|
1154
1160
|
), W = [
|
|
1155
1161
|
"baseLocale"
|
|
1156
1162
|
], tt = [];
|
|
1157
1163
|
let et, nt;
|
|
1158
|
-
function
|
|
1164
|
+
function fe(n) {
|
|
1159
1165
|
if (tt.length === 0)
|
|
1160
1166
|
return;
|
|
1161
1167
|
const t = typeof n == "string" ? n : n.href;
|
|
@@ -1164,14 +1170,14 @@ function pe(n) {
|
|
|
1164
1170
|
const e = new URL(t, "http://dummy.com");
|
|
1165
1171
|
let i;
|
|
1166
1172
|
for (const o of tt)
|
|
1167
|
-
if (new
|
|
1173
|
+
if (new me(o.match, e.href).exec(e.href)) {
|
|
1168
1174
|
i = o;
|
|
1169
1175
|
break;
|
|
1170
1176
|
}
|
|
1171
1177
|
return et = t, nt = i, i;
|
|
1172
1178
|
}
|
|
1173
1179
|
function ft(n) {
|
|
1174
|
-
const t =
|
|
1180
|
+
const t = fe(n);
|
|
1175
1181
|
return t && t.exclude !== !0 && Array.isArray(t.strategy) ? t.strategy : W;
|
|
1176
1182
|
}
|
|
1177
1183
|
const q = typeof window > "u";
|
|
@@ -1182,16 +1188,16 @@ globalThis.__paraglide.ssr ?? {};
|
|
|
1182
1188
|
let it = !1, h = () => {
|
|
1183
1189
|
let n = W;
|
|
1184
1190
|
!q && typeof window < "u" && window.location?.href && (n = ft(window.location.href));
|
|
1185
|
-
const t =
|
|
1191
|
+
const t = ge(n);
|
|
1186
1192
|
if (t)
|
|
1187
1193
|
return it || (it = !0, gt(t, { reload: !1 })), t;
|
|
1188
1194
|
throw new Error("No locale found. Read the docs https://paraglidejs.com/errors#no-locale-found");
|
|
1189
1195
|
};
|
|
1190
|
-
function
|
|
1196
|
+
function ge(n, t) {
|
|
1191
1197
|
let e;
|
|
1192
1198
|
for (const i of n) {
|
|
1193
1199
|
if (i === "baseLocale")
|
|
1194
|
-
e =
|
|
1200
|
+
e = pe;
|
|
1195
1201
|
else if (vt(i) && I.has(i)) {
|
|
1196
1202
|
const s = I.get(i);
|
|
1197
1203
|
if (s) {
|
|
@@ -1199,7 +1205,7 @@ function fe(n, t) {
|
|
|
1199
1205
|
if (r instanceof Promise)
|
|
1200
1206
|
continue;
|
|
1201
1207
|
if (r !== void 0)
|
|
1202
|
-
return
|
|
1208
|
+
return ve(r);
|
|
1203
1209
|
}
|
|
1204
1210
|
}
|
|
1205
1211
|
const o = bt(e);
|
|
@@ -1207,7 +1213,7 @@ function fe(n, t) {
|
|
|
1207
1213
|
return o;
|
|
1208
1214
|
}
|
|
1209
1215
|
}
|
|
1210
|
-
const
|
|
1216
|
+
const be = (n) => {
|
|
1211
1217
|
window.location.reload();
|
|
1212
1218
|
};
|
|
1213
1219
|
let gt = (n, t) => {
|
|
@@ -1236,7 +1242,7 @@ let gt = (n, t) => {
|
|
|
1236
1242
|
}
|
|
1237
1243
|
}
|
|
1238
1244
|
const r = () => {
|
|
1239
|
-
!q && e.reload && window.location && n !== i &&
|
|
1245
|
+
!q && e.reload && window.location && n !== i && be();
|
|
1240
1246
|
};
|
|
1241
1247
|
if (o.length)
|
|
1242
1248
|
return Promise.all(o).then(() => {
|
|
@@ -1252,7 +1258,7 @@ function bt(n) {
|
|
|
1252
1258
|
if (e.toLowerCase() === t)
|
|
1253
1259
|
return e;
|
|
1254
1260
|
}
|
|
1255
|
-
function
|
|
1261
|
+
function ve(n) {
|
|
1256
1262
|
const t = bt(n);
|
|
1257
1263
|
if (t)
|
|
1258
1264
|
return t;
|
|
@@ -1262,163 +1268,163 @@ const I = /* @__PURE__ */ new Map();
|
|
|
1262
1268
|
function vt(n) {
|
|
1263
1269
|
return typeof n == "string" && /^custom-[A-Za-z0-9_-]+$/.test(n);
|
|
1264
1270
|
}
|
|
1265
|
-
const
|
|
1271
|
+
const ye = (
|
|
1266
1272
|
/** @type {(inputs: Controls_Ar_Buttonlabel1Inputs) => LocalizedString} */
|
|
1267
1273
|
() => (
|
|
1268
1274
|
/** @type {LocalizedString} */
|
|
1269
1275
|
"Activate AR"
|
|
1270
1276
|
)
|
|
1271
|
-
),
|
|
1277
|
+
), _e = (
|
|
1272
1278
|
/** @type {(inputs: Controls_Ar_Buttonlabel1Inputs) => LocalizedString} */
|
|
1273
1279
|
() => (
|
|
1274
1280
|
/** @type {LocalizedString} */
|
|
1275
1281
|
"AR activeren"
|
|
1276
1282
|
)
|
|
1277
|
-
),
|
|
1283
|
+
), Ce = (
|
|
1278
1284
|
/** @type {(inputs: Controls_Ar_Buttonlabel1Inputs) => LocalizedString} */
|
|
1279
1285
|
() => (
|
|
1280
1286
|
/** @type {LocalizedString} */
|
|
1281
1287
|
"AR aktivieren"
|
|
1282
1288
|
)
|
|
1283
|
-
),
|
|
1289
|
+
), we = (
|
|
1284
1290
|
/** @type {((inputs?: Controls_Ar_Buttonlabel1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Ar_Buttonlabel1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1285
1291
|
((n = {}, t = {}) => {
|
|
1286
1292
|
const e = t.locale ?? h();
|
|
1287
|
-
return e === "en" ?
|
|
1293
|
+
return e === "en" ? ye() : e === "nl" ? _e() : Ce();
|
|
1288
1294
|
})
|
|
1289
|
-
),
|
|
1295
|
+
), ke = (
|
|
1290
1296
|
/** @type {(inputs: Controls_Qr_Modaltitle1Inputs) => LocalizedString} */
|
|
1291
1297
|
() => (
|
|
1292
1298
|
/** @type {LocalizedString} */
|
|
1293
1299
|
"Scan to view in AR"
|
|
1294
1300
|
)
|
|
1295
|
-
),
|
|
1301
|
+
), Se = (
|
|
1296
1302
|
/** @type {(inputs: Controls_Qr_Modaltitle1Inputs) => LocalizedString} */
|
|
1297
1303
|
() => (
|
|
1298
1304
|
/** @type {LocalizedString} */
|
|
1299
1305
|
"Scan om in AR te bekijken"
|
|
1300
1306
|
)
|
|
1301
|
-
),
|
|
1307
|
+
), Ae = (
|
|
1302
1308
|
/** @type {(inputs: Controls_Qr_Modaltitle1Inputs) => LocalizedString} */
|
|
1303
1309
|
() => (
|
|
1304
1310
|
/** @type {LocalizedString} */
|
|
1305
1311
|
"Scannen für AR-Ansicht"
|
|
1306
1312
|
)
|
|
1307
|
-
),
|
|
1313
|
+
), Ee = (
|
|
1308
1314
|
/** @type {((inputs?: Controls_Qr_Modaltitle1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Qr_Modaltitle1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1309
1315
|
((n = {}, t = {}) => {
|
|
1310
1316
|
const e = t.locale ?? h();
|
|
1311
|
-
return e === "en" ?
|
|
1317
|
+
return e === "en" ? ke() : e === "nl" ? Se() : Ae();
|
|
1312
1318
|
})
|
|
1313
|
-
),
|
|
1319
|
+
), xe = (
|
|
1314
1320
|
/** @type {(inputs: Controls_Qr_Modaldescription1Inputs) => LocalizedString} */
|
|
1315
1321
|
() => (
|
|
1316
1322
|
/** @type {LocalizedString} */
|
|
1317
1323
|
"Use your smartphone camera to scan this QR code"
|
|
1318
1324
|
)
|
|
1319
|
-
),
|
|
1325
|
+
), Te = (
|
|
1320
1326
|
/** @type {(inputs: Controls_Qr_Modaldescription1Inputs) => LocalizedString} */
|
|
1321
1327
|
() => (
|
|
1322
1328
|
/** @type {LocalizedString} */
|
|
1323
1329
|
"Gebruik de camera van je smartphone om deze QR-code te scannen"
|
|
1324
1330
|
)
|
|
1325
|
-
),
|
|
1331
|
+
), Re = (
|
|
1326
1332
|
/** @type {(inputs: Controls_Qr_Modaldescription1Inputs) => LocalizedString} */
|
|
1327
1333
|
() => (
|
|
1328
1334
|
/** @type {LocalizedString} */
|
|
1329
|
-
"
|
|
1335
|
+
"Verwende die Kamera deines Smartphones, um diesen QR-Code zu scannen"
|
|
1330
1336
|
)
|
|
1331
|
-
),
|
|
1337
|
+
), Oe = (
|
|
1332
1338
|
/** @type {((inputs?: Controls_Qr_Modaldescription1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Qr_Modaldescription1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1333
1339
|
((n = {}, t = {}) => {
|
|
1334
1340
|
const e = t.locale ?? h();
|
|
1335
|
-
return e === "en" ?
|
|
1341
|
+
return e === "en" ? xe() : e === "nl" ? Te() : Re();
|
|
1336
1342
|
})
|
|
1337
|
-
),
|
|
1343
|
+
), Ne = (
|
|
1338
1344
|
/** @type {(inputs: Controls_Qr_Modalinstructions1Inputs) => LocalizedString} */
|
|
1339
1345
|
() => (
|
|
1340
1346
|
/** @type {LocalizedString} */
|
|
1341
1347
|
"Your phone will open the 3D model in AR mode."
|
|
1342
1348
|
)
|
|
1343
|
-
),
|
|
1349
|
+
), Ie = (
|
|
1344
1350
|
/** @type {(inputs: Controls_Qr_Modalinstructions1Inputs) => LocalizedString} */
|
|
1345
1351
|
() => (
|
|
1346
1352
|
/** @type {LocalizedString} */
|
|
1347
1353
|
"Je telefoon opent het 3D-model in AR-modus."
|
|
1348
1354
|
)
|
|
1349
|
-
),
|
|
1355
|
+
), Le = (
|
|
1350
1356
|
/** @type {(inputs: Controls_Qr_Modalinstructions1Inputs) => LocalizedString} */
|
|
1351
1357
|
() => (
|
|
1352
1358
|
/** @type {LocalizedString} */
|
|
1353
|
-
"
|
|
1359
|
+
"Dein Telefon öffnet das 3D-Modell im AR-Modus."
|
|
1354
1360
|
)
|
|
1355
|
-
),
|
|
1361
|
+
), Me = (
|
|
1356
1362
|
/** @type {((inputs?: Controls_Qr_Modalinstructions1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Qr_Modalinstructions1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1357
1363
|
((n = {}, t = {}) => {
|
|
1358
1364
|
const e = t.locale ?? h();
|
|
1359
|
-
return e === "en" ?
|
|
1365
|
+
return e === "en" ? Ne() : e === "nl" ? Ie() : Le();
|
|
1360
1366
|
})
|
|
1361
|
-
),
|
|
1367
|
+
), ze = (
|
|
1362
1368
|
/** @type {(inputs: Controls_Qr_Closebutton1Inputs) => LocalizedString} */
|
|
1363
1369
|
() => (
|
|
1364
1370
|
/** @type {LocalizedString} */
|
|
1365
1371
|
"Close"
|
|
1366
1372
|
)
|
|
1367
|
-
),
|
|
1373
|
+
), Pe = (
|
|
1368
1374
|
/** @type {(inputs: Controls_Qr_Closebutton1Inputs) => LocalizedString} */
|
|
1369
1375
|
() => (
|
|
1370
1376
|
/** @type {LocalizedString} */
|
|
1371
1377
|
"Sluiten"
|
|
1372
1378
|
)
|
|
1373
|
-
),
|
|
1379
|
+
), Fe = (
|
|
1374
1380
|
/** @type {(inputs: Controls_Qr_Closebutton1Inputs) => LocalizedString} */
|
|
1375
1381
|
() => (
|
|
1376
1382
|
/** @type {LocalizedString} */
|
|
1377
1383
|
"Schließen"
|
|
1378
1384
|
)
|
|
1379
|
-
),
|
|
1385
|
+
), $e = (
|
|
1380
1386
|
/** @type {((inputs?: Controls_Qr_Closebutton1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Qr_Closebutton1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1381
1387
|
((n = {}, t = {}) => {
|
|
1382
1388
|
const e = t.locale ?? h();
|
|
1383
|
-
return e === "en" ?
|
|
1389
|
+
return e === "en" ? ze() : e === "nl" ? Pe() : Fe();
|
|
1384
1390
|
})
|
|
1385
|
-
),
|
|
1391
|
+
), De = (
|
|
1386
1392
|
/** @type {(inputs: Controls_Fullscreen_Buttonlabel1Inputs) => LocalizedString} */
|
|
1387
1393
|
() => (
|
|
1388
1394
|
/** @type {LocalizedString} */
|
|
1389
1395
|
"Fullscreen"
|
|
1390
1396
|
)
|
|
1391
|
-
),
|
|
1397
|
+
), Be = (
|
|
1392
1398
|
/** @type {(inputs: Controls_Fullscreen_Buttonlabel1Inputs) => LocalizedString} */
|
|
1393
1399
|
() => (
|
|
1394
1400
|
/** @type {LocalizedString} */
|
|
1395
1401
|
"Volledig scherm"
|
|
1396
1402
|
)
|
|
1397
|
-
),
|
|
1403
|
+
), Ue = (
|
|
1398
1404
|
/** @type {(inputs: Controls_Fullscreen_Buttonlabel1Inputs) => LocalizedString} */
|
|
1399
1405
|
() => (
|
|
1400
1406
|
/** @type {LocalizedString} */
|
|
1401
1407
|
"Vollbild"
|
|
1402
1408
|
)
|
|
1403
|
-
),
|
|
1409
|
+
), Ve = (
|
|
1404
1410
|
/** @type {((inputs?: Controls_Fullscreen_Buttonlabel1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Fullscreen_Buttonlabel1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1405
1411
|
((n = {}, t = {}) => {
|
|
1406
1412
|
const e = t.locale ?? h();
|
|
1407
|
-
return e === "en" ?
|
|
1413
|
+
return e === "en" ? De() : e === "nl" ? Be() : Ue();
|
|
1408
1414
|
})
|
|
1409
|
-
),
|
|
1415
|
+
), je = (
|
|
1410
1416
|
/** @type {(inputs: Loading_Downloadingshort1Inputs) => LocalizedString} */
|
|
1411
1417
|
() => (
|
|
1412
1418
|
/** @type {LocalizedString} */
|
|
1413
1419
|
"Downloading"
|
|
1414
1420
|
)
|
|
1415
|
-
),
|
|
1421
|
+
), He = (
|
|
1416
1422
|
/** @type {(inputs: Loading_Downloadingshort1Inputs) => LocalizedString} */
|
|
1417
1423
|
() => (
|
|
1418
1424
|
/** @type {LocalizedString} */
|
|
1419
1425
|
"Downloaden"
|
|
1420
1426
|
)
|
|
1421
|
-
),
|
|
1427
|
+
), Ge = (
|
|
1422
1428
|
/** @type {(inputs: Loading_Downloadingshort1Inputs) => LocalizedString} */
|
|
1423
1429
|
() => (
|
|
1424
1430
|
/** @type {LocalizedString} */
|
|
@@ -1428,346 +1434,346 @@ const ve = (
|
|
|
1428
1434
|
/** @type {((inputs?: Loading_Downloadingshort1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Loading_Downloadingshort1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1429
1435
|
((n = {}, t = {}) => {
|
|
1430
1436
|
const e = t.locale ?? h();
|
|
1431
|
-
return e === "en" ?
|
|
1437
|
+
return e === "en" ? je() : e === "nl" ? He() : Ge();
|
|
1432
1438
|
})
|
|
1433
|
-
),
|
|
1439
|
+
), qe = (
|
|
1434
1440
|
/** @type {(inputs: Loading_RenderingInputs) => LocalizedString} */
|
|
1435
1441
|
() => (
|
|
1436
1442
|
/** @type {LocalizedString} */
|
|
1437
1443
|
"Rendering"
|
|
1438
1444
|
)
|
|
1439
|
-
),
|
|
1445
|
+
), Ze = (
|
|
1440
1446
|
/** @type {(inputs: Loading_RenderingInputs) => LocalizedString} */
|
|
1441
1447
|
() => (
|
|
1442
1448
|
/** @type {LocalizedString} */
|
|
1443
1449
|
"Renderen"
|
|
1444
1450
|
)
|
|
1445
|
-
),
|
|
1451
|
+
), We = (
|
|
1446
1452
|
/** @type {(inputs: Loading_RenderingInputs) => LocalizedString} */
|
|
1447
1453
|
() => (
|
|
1448
1454
|
/** @type {LocalizedString} */
|
|
1449
1455
|
"Rendern"
|
|
1450
1456
|
)
|
|
1451
|
-
),
|
|
1457
|
+
), Ye = (
|
|
1452
1458
|
/** @type {((inputs?: Loading_RenderingInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Loading_RenderingInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1453
1459
|
((n = {}, t = {}) => {
|
|
1454
1460
|
const e = t.locale ?? h();
|
|
1455
|
-
return e === "en" ?
|
|
1461
|
+
return e === "en" ? qe() : e === "nl" ? Ze() : We();
|
|
1456
1462
|
})
|
|
1457
|
-
),
|
|
1463
|
+
), Xe = (
|
|
1458
1464
|
/** @type {(inputs: Controls_Screenshot_Buttonlabel1Inputs) => LocalizedString} */
|
|
1459
1465
|
() => (
|
|
1460
1466
|
/** @type {LocalizedString} */
|
|
1461
1467
|
"Screenshot"
|
|
1462
1468
|
)
|
|
1463
|
-
),
|
|
1469
|
+
), Ke = (
|
|
1464
1470
|
/** @type {(inputs: Controls_Screenshot_Buttonlabel1Inputs) => LocalizedString} */
|
|
1465
1471
|
() => (
|
|
1466
1472
|
/** @type {LocalizedString} */
|
|
1467
1473
|
"Screenshot"
|
|
1468
1474
|
)
|
|
1469
|
-
),
|
|
1475
|
+
), Qe = (
|
|
1470
1476
|
/** @type {(inputs: Controls_Screenshot_Buttonlabel1Inputs) => LocalizedString} */
|
|
1471
1477
|
() => (
|
|
1472
1478
|
/** @type {LocalizedString} */
|
|
1473
1479
|
"Screenshot"
|
|
1474
1480
|
)
|
|
1475
|
-
),
|
|
1481
|
+
), Je = (
|
|
1476
1482
|
/** @type {((inputs?: Controls_Screenshot_Buttonlabel1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Screenshot_Buttonlabel1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1477
1483
|
((n = {}, t = {}) => {
|
|
1478
1484
|
const e = t.locale ?? h();
|
|
1479
|
-
return e === "en" ?
|
|
1485
|
+
return e === "en" ? Xe() : e === "nl" ? Ke() : Qe();
|
|
1480
1486
|
})
|
|
1481
|
-
),
|
|
1487
|
+
), tn = (
|
|
1482
1488
|
/** @type {(inputs: Controls_Configurator_OpenInputs) => LocalizedString} */
|
|
1483
1489
|
() => (
|
|
1484
1490
|
/** @type {LocalizedString} */
|
|
1485
1491
|
"Configure"
|
|
1486
1492
|
)
|
|
1487
|
-
),
|
|
1493
|
+
), en = (
|
|
1488
1494
|
/** @type {(inputs: Controls_Configurator_OpenInputs) => LocalizedString} */
|
|
1489
1495
|
() => (
|
|
1490
1496
|
/** @type {LocalizedString} */
|
|
1491
1497
|
"Configureren"
|
|
1492
1498
|
)
|
|
1493
|
-
),
|
|
1499
|
+
), nn = (
|
|
1494
1500
|
/** @type {(inputs: Controls_Configurator_OpenInputs) => LocalizedString} */
|
|
1495
1501
|
() => (
|
|
1496
1502
|
/** @type {LocalizedString} */
|
|
1497
1503
|
"Konfigurieren"
|
|
1498
1504
|
)
|
|
1499
|
-
),
|
|
1505
|
+
), on = (
|
|
1500
1506
|
/** @type {((inputs?: Controls_Configurator_OpenInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Configurator_OpenInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1501
1507
|
((n = {}, t = {}) => {
|
|
1502
1508
|
const e = t.locale ?? h();
|
|
1503
|
-
return e === "en" ?
|
|
1509
|
+
return e === "en" ? tn() : e === "nl" ? en() : nn();
|
|
1504
1510
|
})
|
|
1505
|
-
),
|
|
1511
|
+
), sn = (
|
|
1506
1512
|
/** @type {(inputs: Controls_Configurator_CloseInputs) => LocalizedString} */
|
|
1507
1513
|
() => (
|
|
1508
1514
|
/** @type {LocalizedString} */
|
|
1509
1515
|
"Close"
|
|
1510
1516
|
)
|
|
1511
|
-
),
|
|
1517
|
+
), rn = (
|
|
1512
1518
|
/** @type {(inputs: Controls_Configurator_CloseInputs) => LocalizedString} */
|
|
1513
1519
|
() => (
|
|
1514
1520
|
/** @type {LocalizedString} */
|
|
1515
1521
|
"Sluiten"
|
|
1516
1522
|
)
|
|
1517
|
-
),
|
|
1523
|
+
), an = (
|
|
1518
1524
|
/** @type {(inputs: Controls_Configurator_CloseInputs) => LocalizedString} */
|
|
1519
1525
|
() => (
|
|
1520
1526
|
/** @type {LocalizedString} */
|
|
1521
1527
|
"Schließen"
|
|
1522
1528
|
)
|
|
1523
|
-
),
|
|
1529
|
+
), ln = (
|
|
1524
1530
|
/** @type {((inputs?: Controls_Configurator_CloseInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Configurator_CloseInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1525
1531
|
((n = {}, t = {}) => {
|
|
1526
1532
|
const e = t.locale ?? h();
|
|
1527
|
-
return e === "en" ?
|
|
1533
|
+
return e === "en" ? sn() : e === "nl" ? rn() : an();
|
|
1528
1534
|
})
|
|
1529
|
-
),
|
|
1535
|
+
), cn = (
|
|
1530
1536
|
/** @type {(inputs: Controls_Camera_ResetInputs) => LocalizedString} */
|
|
1531
1537
|
() => (
|
|
1532
1538
|
/** @type {LocalizedString} */
|
|
1533
1539
|
"Reset camera"
|
|
1534
1540
|
)
|
|
1535
|
-
),
|
|
1541
|
+
), un = (
|
|
1536
1542
|
/** @type {(inputs: Controls_Camera_ResetInputs) => LocalizedString} */
|
|
1537
1543
|
() => (
|
|
1538
1544
|
/** @type {LocalizedString} */
|
|
1539
1545
|
"Camera resetten"
|
|
1540
1546
|
)
|
|
1541
|
-
),
|
|
1547
|
+
), dn = (
|
|
1542
1548
|
/** @type {(inputs: Controls_Camera_ResetInputs) => LocalizedString} */
|
|
1543
1549
|
() => (
|
|
1544
1550
|
/** @type {LocalizedString} */
|
|
1545
1551
|
"Kamera zurücksetzen"
|
|
1546
1552
|
)
|
|
1547
|
-
),
|
|
1553
|
+
), hn = (
|
|
1548
1554
|
/** @type {((inputs?: Controls_Camera_ResetInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_ResetInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1549
1555
|
((n = {}, t = {}) => {
|
|
1550
1556
|
const e = t.locale ?? h();
|
|
1551
|
-
return e === "en" ?
|
|
1557
|
+
return e === "en" ? cn() : e === "nl" ? un() : dn();
|
|
1552
1558
|
})
|
|
1553
|
-
),
|
|
1559
|
+
), mn = (
|
|
1554
1560
|
/** @type {(inputs: Controls_Camera_Zoomin1Inputs) => LocalizedString} */
|
|
1555
1561
|
() => (
|
|
1556
1562
|
/** @type {LocalizedString} */
|
|
1557
1563
|
"Zoom in"
|
|
1558
1564
|
)
|
|
1559
|
-
),
|
|
1565
|
+
), pn = (
|
|
1560
1566
|
/** @type {(inputs: Controls_Camera_Zoomin1Inputs) => LocalizedString} */
|
|
1561
1567
|
() => (
|
|
1562
1568
|
/** @type {LocalizedString} */
|
|
1563
1569
|
"Inzoomen"
|
|
1564
1570
|
)
|
|
1565
|
-
),
|
|
1571
|
+
), fn = (
|
|
1566
1572
|
/** @type {(inputs: Controls_Camera_Zoomin1Inputs) => LocalizedString} */
|
|
1567
1573
|
() => (
|
|
1568
1574
|
/** @type {LocalizedString} */
|
|
1569
1575
|
"Hineinzoomen"
|
|
1570
1576
|
)
|
|
1571
|
-
),
|
|
1577
|
+
), gn = (
|
|
1572
1578
|
/** @type {((inputs?: Controls_Camera_Zoomin1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Zoomin1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1573
1579
|
((n = {}, t = {}) => {
|
|
1574
1580
|
const e = t.locale ?? h();
|
|
1575
|
-
return e === "en" ?
|
|
1581
|
+
return e === "en" ? mn() : e === "nl" ? pn() : fn();
|
|
1576
1582
|
})
|
|
1577
|
-
),
|
|
1583
|
+
), bn = (
|
|
1578
1584
|
/** @type {(inputs: Controls_Camera_Zoomout1Inputs) => LocalizedString} */
|
|
1579
1585
|
() => (
|
|
1580
1586
|
/** @type {LocalizedString} */
|
|
1581
1587
|
"Zoom out"
|
|
1582
1588
|
)
|
|
1583
|
-
),
|
|
1589
|
+
), vn = (
|
|
1584
1590
|
/** @type {(inputs: Controls_Camera_Zoomout1Inputs) => LocalizedString} */
|
|
1585
1591
|
() => (
|
|
1586
1592
|
/** @type {LocalizedString} */
|
|
1587
1593
|
"Uitzoomen"
|
|
1588
1594
|
)
|
|
1589
|
-
),
|
|
1595
|
+
), yn = (
|
|
1590
1596
|
/** @type {(inputs: Controls_Camera_Zoomout1Inputs) => LocalizedString} */
|
|
1591
1597
|
() => (
|
|
1592
1598
|
/** @type {LocalizedString} */
|
|
1593
1599
|
"Herauszoomen"
|
|
1594
1600
|
)
|
|
1595
|
-
),
|
|
1601
|
+
), _n = (
|
|
1596
1602
|
/** @type {((inputs?: Controls_Camera_Zoomout1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Zoomout1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1597
1603
|
((n = {}, t = {}) => {
|
|
1598
1604
|
const e = t.locale ?? h();
|
|
1599
|
-
return e === "en" ?
|
|
1605
|
+
return e === "en" ? bn() : e === "nl" ? vn() : yn();
|
|
1600
1606
|
})
|
|
1601
|
-
),
|
|
1607
|
+
), Cn = (
|
|
1602
1608
|
/** @type {(inputs: Controls_Camera_Rotateleft1Inputs) => LocalizedString} */
|
|
1603
1609
|
() => (
|
|
1604
1610
|
/** @type {LocalizedString} */
|
|
1605
1611
|
"Rotate left"
|
|
1606
1612
|
)
|
|
1607
|
-
),
|
|
1613
|
+
), wn = (
|
|
1608
1614
|
/** @type {(inputs: Controls_Camera_Rotateleft1Inputs) => LocalizedString} */
|
|
1609
1615
|
() => (
|
|
1610
1616
|
/** @type {LocalizedString} */
|
|
1611
1617
|
"Naar links draaien"
|
|
1612
1618
|
)
|
|
1613
|
-
),
|
|
1619
|
+
), kn = (
|
|
1614
1620
|
/** @type {(inputs: Controls_Camera_Rotateleft1Inputs) => LocalizedString} */
|
|
1615
1621
|
() => (
|
|
1616
1622
|
/** @type {LocalizedString} */
|
|
1617
1623
|
"Nach links drehen"
|
|
1618
1624
|
)
|
|
1619
|
-
),
|
|
1625
|
+
), Sn = (
|
|
1620
1626
|
/** @type {((inputs?: Controls_Camera_Rotateleft1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Rotateleft1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1621
1627
|
((n = {}, t = {}) => {
|
|
1622
1628
|
const e = t.locale ?? h();
|
|
1623
|
-
return e === "en" ?
|
|
1629
|
+
return e === "en" ? Cn() : e === "nl" ? wn() : kn();
|
|
1624
1630
|
})
|
|
1625
|
-
),
|
|
1631
|
+
), An = (
|
|
1626
1632
|
/** @type {(inputs: Controls_Camera_Rotateright1Inputs) => LocalizedString} */
|
|
1627
1633
|
() => (
|
|
1628
1634
|
/** @type {LocalizedString} */
|
|
1629
1635
|
"Rotate right"
|
|
1630
1636
|
)
|
|
1631
|
-
),
|
|
1637
|
+
), En = (
|
|
1632
1638
|
/** @type {(inputs: Controls_Camera_Rotateright1Inputs) => LocalizedString} */
|
|
1633
1639
|
() => (
|
|
1634
1640
|
/** @type {LocalizedString} */
|
|
1635
1641
|
"Naar rechts draaien"
|
|
1636
1642
|
)
|
|
1637
|
-
),
|
|
1643
|
+
), xn = (
|
|
1638
1644
|
/** @type {(inputs: Controls_Camera_Rotateright1Inputs) => LocalizedString} */
|
|
1639
1645
|
() => (
|
|
1640
1646
|
/** @type {LocalizedString} */
|
|
1641
1647
|
"Nach rechts drehen"
|
|
1642
1648
|
)
|
|
1643
|
-
),
|
|
1649
|
+
), Tn = (
|
|
1644
1650
|
/** @type {((inputs?: Controls_Camera_Rotateright1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Rotateright1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1645
1651
|
((n = {}, t = {}) => {
|
|
1646
1652
|
const e = t.locale ?? h();
|
|
1647
|
-
return e === "en" ?
|
|
1653
|
+
return e === "en" ? An() : e === "nl" ? En() : xn();
|
|
1648
1654
|
})
|
|
1649
|
-
),
|
|
1655
|
+
), Rn = (
|
|
1650
1656
|
/** @type {(inputs: Controls_Camera_Tiltup1Inputs) => LocalizedString} */
|
|
1651
1657
|
() => (
|
|
1652
1658
|
/** @type {LocalizedString} */
|
|
1653
1659
|
"Tilt up"
|
|
1654
1660
|
)
|
|
1655
|
-
),
|
|
1661
|
+
), On = (
|
|
1656
1662
|
/** @type {(inputs: Controls_Camera_Tiltup1Inputs) => LocalizedString} */
|
|
1657
1663
|
() => (
|
|
1658
1664
|
/** @type {LocalizedString} */
|
|
1659
1665
|
"Omhoog kantelen"
|
|
1660
1666
|
)
|
|
1661
|
-
),
|
|
1667
|
+
), Nn = (
|
|
1662
1668
|
/** @type {(inputs: Controls_Camera_Tiltup1Inputs) => LocalizedString} */
|
|
1663
1669
|
() => (
|
|
1664
1670
|
/** @type {LocalizedString} */
|
|
1665
1671
|
"Nach oben kippen"
|
|
1666
1672
|
)
|
|
1667
|
-
),
|
|
1673
|
+
), In = (
|
|
1668
1674
|
/** @type {((inputs?: Controls_Camera_Tiltup1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Tiltup1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1669
1675
|
((n = {}, t = {}) => {
|
|
1670
1676
|
const e = t.locale ?? h();
|
|
1671
|
-
return e === "en" ?
|
|
1677
|
+
return e === "en" ? Rn() : e === "nl" ? On() : Nn();
|
|
1672
1678
|
})
|
|
1673
|
-
),
|
|
1679
|
+
), Ln = (
|
|
1674
1680
|
/** @type {(inputs: Controls_Camera_Tiltdown1Inputs) => LocalizedString} */
|
|
1675
1681
|
() => (
|
|
1676
1682
|
/** @type {LocalizedString} */
|
|
1677
1683
|
"Tilt down"
|
|
1678
1684
|
)
|
|
1679
|
-
),
|
|
1685
|
+
), Mn = (
|
|
1680
1686
|
/** @type {(inputs: Controls_Camera_Tiltdown1Inputs) => LocalizedString} */
|
|
1681
1687
|
() => (
|
|
1682
1688
|
/** @type {LocalizedString} */
|
|
1683
1689
|
"Omlaag kantelen"
|
|
1684
1690
|
)
|
|
1685
|
-
),
|
|
1691
|
+
), zn = (
|
|
1686
1692
|
/** @type {(inputs: Controls_Camera_Tiltdown1Inputs) => LocalizedString} */
|
|
1687
1693
|
() => (
|
|
1688
1694
|
/** @type {LocalizedString} */
|
|
1689
1695
|
"Nach unten kippen"
|
|
1690
1696
|
)
|
|
1691
|
-
),
|
|
1697
|
+
), Pn = (
|
|
1692
1698
|
/** @type {((inputs?: Controls_Camera_Tiltdown1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Tiltdown1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1693
1699
|
((n = {}, t = {}) => {
|
|
1694
1700
|
const e = t.locale ?? h();
|
|
1695
|
-
return e === "en" ?
|
|
1701
|
+
return e === "en" ? Ln() : e === "nl" ? Mn() : zn();
|
|
1696
1702
|
})
|
|
1697
|
-
),
|
|
1703
|
+
), Fn = (
|
|
1698
1704
|
/** @type {(inputs: Commerce_Submit_BusyInputs) => LocalizedString} */
|
|
1699
1705
|
() => (
|
|
1700
1706
|
/** @type {LocalizedString} */
|
|
1701
1707
|
"Working…"
|
|
1702
1708
|
)
|
|
1703
|
-
),
|
|
1709
|
+
), $n = (
|
|
1704
1710
|
/** @type {(inputs: Commerce_Submit_BusyInputs) => LocalizedString} */
|
|
1705
1711
|
() => (
|
|
1706
1712
|
/** @type {LocalizedString} */
|
|
1707
1713
|
"Bezig…"
|
|
1708
1714
|
)
|
|
1709
|
-
),
|
|
1715
|
+
), Dn = (
|
|
1710
1716
|
/** @type {(inputs: Commerce_Submit_BusyInputs) => LocalizedString} */
|
|
1711
1717
|
() => (
|
|
1712
1718
|
/** @type {LocalizedString} */
|
|
1713
1719
|
"Läuft…"
|
|
1714
1720
|
)
|
|
1715
|
-
),
|
|
1721
|
+
), Bn = (
|
|
1716
1722
|
/** @type {((inputs?: Commerce_Submit_BusyInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Commerce_Submit_BusyInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1717
1723
|
((n = {}, t = {}) => {
|
|
1718
1724
|
const e = t.locale ?? h();
|
|
1719
|
-
return e === "en" ?
|
|
1725
|
+
return e === "en" ? Fn() : e === "nl" ? $n() : Dn();
|
|
1720
1726
|
})
|
|
1721
|
-
),
|
|
1727
|
+
), Un = (
|
|
1722
1728
|
/** @type {(inputs: Commerce_Submit_SuccessInputs) => LocalizedString} */
|
|
1723
1729
|
() => (
|
|
1724
1730
|
/** @type {LocalizedString} */
|
|
1725
1731
|
"Done"
|
|
1726
1732
|
)
|
|
1727
|
-
),
|
|
1733
|
+
), Vn = (
|
|
1728
1734
|
/** @type {(inputs: Commerce_Submit_SuccessInputs) => LocalizedString} */
|
|
1729
1735
|
() => (
|
|
1730
1736
|
/** @type {LocalizedString} */
|
|
1731
1737
|
"Gelukt"
|
|
1732
1738
|
)
|
|
1733
|
-
),
|
|
1739
|
+
), jn = (
|
|
1734
1740
|
/** @type {(inputs: Commerce_Submit_SuccessInputs) => LocalizedString} */
|
|
1735
1741
|
() => (
|
|
1736
1742
|
/** @type {LocalizedString} */
|
|
1737
1743
|
"Fertig"
|
|
1738
1744
|
)
|
|
1739
|
-
),
|
|
1745
|
+
), Hn = (
|
|
1740
1746
|
/** @type {((inputs?: Commerce_Submit_SuccessInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Commerce_Submit_SuccessInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1741
1747
|
((n = {}, t = {}) => {
|
|
1742
1748
|
const e = t.locale ?? h();
|
|
1743
|
-
return e === "en" ?
|
|
1749
|
+
return e === "en" ? Un() : e === "nl" ? Vn() : jn();
|
|
1744
1750
|
})
|
|
1745
|
-
),
|
|
1751
|
+
), Gn = (
|
|
1746
1752
|
/** @type {(inputs: Commerce_Submit_FailedInputs) => LocalizedString} */
|
|
1747
1753
|
() => (
|
|
1748
1754
|
/** @type {LocalizedString} */
|
|
1749
1755
|
"Failed"
|
|
1750
1756
|
)
|
|
1751
|
-
),
|
|
1757
|
+
), qn = (
|
|
1752
1758
|
/** @type {(inputs: Commerce_Submit_FailedInputs) => LocalizedString} */
|
|
1753
1759
|
() => (
|
|
1754
1760
|
/** @type {LocalizedString} */
|
|
1755
1761
|
"Mislukt"
|
|
1756
1762
|
)
|
|
1757
|
-
),
|
|
1763
|
+
), Zn = (
|
|
1758
1764
|
/** @type {(inputs: Commerce_Submit_FailedInputs) => LocalizedString} */
|
|
1759
1765
|
() => (
|
|
1760
1766
|
/** @type {LocalizedString} */
|
|
1761
1767
|
"Fehlgeschlagen"
|
|
1762
1768
|
)
|
|
1763
|
-
),
|
|
1769
|
+
), Wn = (
|
|
1764
1770
|
/** @type {((inputs?: Commerce_Submit_FailedInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Commerce_Submit_FailedInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1765
1771
|
((n = {}, t = {}) => {
|
|
1766
1772
|
const e = t.locale ?? h();
|
|
1767
|
-
return e === "en" ?
|
|
1773
|
+
return e === "en" ? Gn() : e === "nl" ? qn() : Zn();
|
|
1768
1774
|
})
|
|
1769
1775
|
);
|
|
1770
|
-
const
|
|
1776
|
+
const Yn = {
|
|
1771
1777
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1772
1778
|
width: 24,
|
|
1773
1779
|
height: 24,
|
|
@@ -1788,12 +1794,12 @@ const _t = ([n, t, e]) => {
|
|
|
1788
1794
|
}), i;
|
|
1789
1795
|
}, Ct = (n, t = {}) => {
|
|
1790
1796
|
const i = {
|
|
1791
|
-
...
|
|
1797
|
+
...Yn,
|
|
1792
1798
|
...t
|
|
1793
1799
|
};
|
|
1794
1800
|
return _t(["svg", i, n]);
|
|
1795
1801
|
};
|
|
1796
|
-
const
|
|
1802
|
+
const Xn = [
|
|
1797
1803
|
[
|
|
1798
1804
|
"path",
|
|
1799
1805
|
{
|
|
@@ -1803,7 +1809,7 @@ const Yn = [
|
|
|
1803
1809
|
["path", { d: "m3.3 7 8.7 5 8.7-5" }],
|
|
1804
1810
|
["path", { d: "M12 22V12" }]
|
|
1805
1811
|
];
|
|
1806
|
-
const
|
|
1812
|
+
const Kn = [
|
|
1807
1813
|
[
|
|
1808
1814
|
"path",
|
|
1809
1815
|
{
|
|
@@ -1813,26 +1819,26 @@ const Xn = [
|
|
|
1813
1819
|
["circle", { cx: "12", cy: "13", r: "3" }]
|
|
1814
1820
|
];
|
|
1815
1821
|
const wt = [["path", { d: "m6 9 6 6 6-6" }]];
|
|
1816
|
-
const
|
|
1817
|
-
const
|
|
1818
|
-
const
|
|
1819
|
-
const
|
|
1822
|
+
const Qn = [["path", { d: "m15 18-6-6 6-6" }]];
|
|
1823
|
+
const Jn = [["path", { d: "m9 18 6-6-6-6" }]];
|
|
1824
|
+
const ti = [["path", { d: "m18 15-6-6-6 6" }]];
|
|
1825
|
+
const ei = [
|
|
1820
1826
|
["path", { d: "M15 3h6v6" }],
|
|
1821
1827
|
["path", { d: "m21 3-7 7" }],
|
|
1822
1828
|
["path", { d: "m3 21 7-7" }],
|
|
1823
1829
|
["path", { d: "M9 21H3v-6" }]
|
|
1824
1830
|
];
|
|
1825
|
-
const
|
|
1831
|
+
const ni = [
|
|
1826
1832
|
["path", { d: "m14 10 7-7" }],
|
|
1827
1833
|
["path", { d: "M20 10h-6V4" }],
|
|
1828
1834
|
["path", { d: "m3 21 7-7" }],
|
|
1829
1835
|
["path", { d: "M4 14h6v6" }]
|
|
1830
1836
|
];
|
|
1831
|
-
const
|
|
1837
|
+
const ii = [
|
|
1832
1838
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" }],
|
|
1833
1839
|
["path", { d: "M3 3v5h5" }]
|
|
1834
1840
|
];
|
|
1835
|
-
const
|
|
1841
|
+
const oi = [
|
|
1836
1842
|
["path", { d: "M10 5H3" }],
|
|
1837
1843
|
["path", { d: "M12 19H3" }],
|
|
1838
1844
|
["path", { d: "M14 3v4" }],
|
|
@@ -1843,17 +1849,17 @@ const ii = [
|
|
|
1843
1849
|
["path", { d: "M8 10v4" }],
|
|
1844
1850
|
["path", { d: "M8 12H3" }]
|
|
1845
1851
|
];
|
|
1846
|
-
const
|
|
1852
|
+
const si = [
|
|
1847
1853
|
["path", { d: "M18 6 6 18" }],
|
|
1848
1854
|
["path", { d: "m6 6 12 12" }]
|
|
1849
1855
|
];
|
|
1850
|
-
const
|
|
1856
|
+
const ri = [
|
|
1851
1857
|
["circle", { cx: "11", cy: "11", r: "8" }],
|
|
1852
1858
|
["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65" }],
|
|
1853
1859
|
["line", { x1: "11", x2: "11", y1: "8", y2: "14" }],
|
|
1854
1860
|
["line", { x1: "8", x2: "14", y1: "11", y2: "11" }]
|
|
1855
1861
|
];
|
|
1856
|
-
const
|
|
1862
|
+
const ai = [
|
|
1857
1863
|
["circle", { cx: "11", cy: "11", r: "8" }],
|
|
1858
1864
|
["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65" }],
|
|
1859
1865
|
["line", { x1: "8", x2: "14", y1: "11", y2: "11" }]
|
|
@@ -1862,19 +1868,19 @@ function y(n, { size: t = 20, strokeWidth: e = 1.75 } = {}) {
|
|
|
1862
1868
|
return Ct(n, { width: t, height: t, "stroke-width": e });
|
|
1863
1869
|
}
|
|
1864
1870
|
const g = {
|
|
1865
|
-
ar: (n) => y(
|
|
1866
|
-
fullscreen: (n) => y(
|
|
1867
|
-
exitFullscreen: (n) => y(
|
|
1868
|
-
screenshot: (n) => y(
|
|
1869
|
-
tiltUp: (n) => y(
|
|
1871
|
+
ar: (n) => y(Xn, n),
|
|
1872
|
+
fullscreen: (n) => y(ei, n),
|
|
1873
|
+
exitFullscreen: (n) => y(ni, n),
|
|
1874
|
+
screenshot: (n) => y(Kn, n),
|
|
1875
|
+
tiltUp: (n) => y(ti, n),
|
|
1870
1876
|
tiltDown: (n) => y(wt, n),
|
|
1871
|
-
rotateLeft: (n) => y(
|
|
1872
|
-
rotateRight: (n) => y(
|
|
1873
|
-
zoomIn: (n) => y(
|
|
1874
|
-
zoomOut: (n) => y(
|
|
1875
|
-
reset: (n) => y(
|
|
1876
|
-
configurator: (n) => y(
|
|
1877
|
-
close: (n) => y(
|
|
1877
|
+
rotateLeft: (n) => y(Qn, n),
|
|
1878
|
+
rotateRight: (n) => y(Jn, n),
|
|
1879
|
+
zoomIn: (n) => y(ri, n),
|
|
1880
|
+
zoomOut: (n) => y(ai, n),
|
|
1881
|
+
reset: (n) => y(ii, n),
|
|
1882
|
+
configurator: (n) => y(oi, n),
|
|
1883
|
+
close: (n) => y(si, n)
|
|
1878
1884
|
};
|
|
1879
1885
|
class b {
|
|
1880
1886
|
element;
|
|
@@ -1923,7 +1929,7 @@ const m = {
|
|
|
1923
1929
|
24: "6rem"
|
|
1924
1930
|
// 96px
|
|
1925
1931
|
};
|
|
1926
|
-
class
|
|
1932
|
+
class li {
|
|
1927
1933
|
element;
|
|
1928
1934
|
constructor() {
|
|
1929
1935
|
this.element = document.createElement("div"), Object.assign(this.element.style, {
|
|
@@ -1936,9 +1942,9 @@ class ai {
|
|
|
1936
1942
|
});
|
|
1937
1943
|
}
|
|
1938
1944
|
}
|
|
1939
|
-
class
|
|
1945
|
+
class ci {
|
|
1940
1946
|
constructor(t = {}) {
|
|
1941
|
-
this.options = t, this.card = new
|
|
1947
|
+
this.options = t, this.card = new li(), this.backdrop = this.createBackdrop(), this.backdrop.appendChild(this.card.element);
|
|
1942
1948
|
}
|
|
1943
1949
|
options;
|
|
1944
1950
|
card;
|
|
@@ -1967,7 +1973,7 @@ class li {
|
|
|
1967
1973
|
}), t;
|
|
1968
1974
|
}
|
|
1969
1975
|
}
|
|
1970
|
-
class
|
|
1976
|
+
class ui {
|
|
1971
1977
|
element;
|
|
1972
1978
|
selectCallback = null;
|
|
1973
1979
|
constructor(t, e, i) {
|
|
@@ -1989,7 +1995,7 @@ class ci {
|
|
|
1989
1995
|
this.selectCallback = t;
|
|
1990
1996
|
}
|
|
1991
1997
|
}
|
|
1992
|
-
class
|
|
1998
|
+
class di {
|
|
1993
1999
|
element;
|
|
1994
2000
|
select;
|
|
1995
2001
|
constructor(t, e, i, o, s) {
|
|
@@ -2031,8 +2037,8 @@ const _ = {
|
|
|
2031
2037
|
medium: "500",
|
|
2032
2038
|
semibold: "600"
|
|
2033
2039
|
}
|
|
2034
|
-
},
|
|
2035
|
-
class
|
|
2040
|
+
}, hi = _.fontFamily.sans.join(", ");
|
|
2041
|
+
class mi {
|
|
2036
2042
|
qrLib = null;
|
|
2037
2043
|
dialog = null;
|
|
2038
2044
|
async show(t) {
|
|
@@ -2043,28 +2049,28 @@ class hi {
|
|
|
2043
2049
|
errorCorrectionLevel: "M",
|
|
2044
2050
|
color: { dark: m.black, light: m.white }
|
|
2045
2051
|
});
|
|
2046
|
-
this.dialog = new
|
|
2052
|
+
this.dialog = new ci({ onClose: () => {
|
|
2047
2053
|
this.dialog = null;
|
|
2048
2054
|
} }), Object.assign(this.dialog.card.element.style, {
|
|
2049
2055
|
display: "flex",
|
|
2050
2056
|
flexDirection: "column",
|
|
2051
2057
|
alignItems: "center",
|
|
2052
2058
|
gap: a[3],
|
|
2053
|
-
fontFamily:
|
|
2054
|
-
}), this.dialog.card.element.appendChild(this.createText(
|
|
2059
|
+
fontFamily: hi
|
|
2060
|
+
}), this.dialog.card.element.appendChild(this.createText(Ee(), {
|
|
2055
2061
|
fontSize: _.fontSize.base,
|
|
2056
2062
|
fontWeight: _.fontWeight.semibold,
|
|
2057
2063
|
color: m.neutral[900]
|
|
2058
|
-
})), this.dialog.card.element.appendChild(this.createText(
|
|
2064
|
+
})), this.dialog.card.element.appendChild(this.createText(Oe(), {
|
|
2059
2065
|
fontSize: _.fontSize.sm,
|
|
2060
2066
|
color: m.neutral[600]
|
|
2061
|
-
})), this.dialog.card.element.appendChild(this.createQrImage(e)), this.dialog.card.element.appendChild(this.createText(
|
|
2067
|
+
})), this.dialog.card.element.appendChild(this.createQrImage(e)), this.dialog.card.element.appendChild(this.createText(Me(), {
|
|
2062
2068
|
fontSize: _.fontSize.xs,
|
|
2063
2069
|
color: m.neutral[500]
|
|
2064
2070
|
}));
|
|
2065
2071
|
const i = new b({
|
|
2066
2072
|
variant: "outline",
|
|
2067
|
-
label:
|
|
2073
|
+
label: $e(),
|
|
2068
2074
|
onClick: () => {
|
|
2069
2075
|
this.hide();
|
|
2070
2076
|
}
|
|
@@ -2087,7 +2093,7 @@ class hi {
|
|
|
2087
2093
|
}), e;
|
|
2088
2094
|
}
|
|
2089
2095
|
}
|
|
2090
|
-
const x = _.fontFamily.sans.join(", "),
|
|
2096
|
+
const x = _.fontFamily.sans.join(", "), pi = `
|
|
2091
2097
|
--primary: oklch(5% 0 0);
|
|
2092
2098
|
--primary-foreground: oklch(100% 0 0);
|
|
2093
2099
|
--secondary: oklch(92% 0 0);
|
|
@@ -2100,8 +2106,8 @@ const x = _.fontFamily.sans.join(", "), mi = `
|
|
|
2100
2106
|
--accent: oklch(92% 0 0);
|
|
2101
2107
|
--accent-foreground: oklch(5% 0 0);
|
|
2102
2108
|
--muted-foreground: oklch(44% 0 0);
|
|
2103
|
-
`,
|
|
2104
|
-
:root { ${
|
|
2109
|
+
`, fi = `
|
|
2110
|
+
:root { ${pi} }
|
|
2105
2111
|
|
|
2106
2112
|
/* ── Button ──────────────────────────────────────────────── */
|
|
2107
2113
|
.ui-btn {
|
|
@@ -2347,31 +2353,31 @@ const x = _.fontFamily.sans.join(", "), mi = `
|
|
|
2347
2353
|
}
|
|
2348
2354
|
`;
|
|
2349
2355
|
let ot = !1;
|
|
2350
|
-
function
|
|
2356
|
+
function gi() {
|
|
2351
2357
|
if (ot || typeof document > "u")
|
|
2352
2358
|
return;
|
|
2353
2359
|
ot = !0;
|
|
2354
2360
|
const n = document.createElement("style");
|
|
2355
|
-
n.id = "vd-ui-vanilla", n.textContent =
|
|
2361
|
+
n.id = "vd-ui-vanilla", n.textContent = fi, document.head.appendChild(n);
|
|
2356
2362
|
}
|
|
2357
2363
|
function st(n) {
|
|
2358
2364
|
const t = Math.max(0, Math.min(1, n));
|
|
2359
2365
|
return t * t * (3 - 2 * t);
|
|
2360
2366
|
}
|
|
2361
|
-
function
|
|
2362
|
-
const [r, l, d] = n, u = Math.cos(t), p = Math.sin(t), v = u * r + p * d, E = -p * r + u * d, S = Math.cos(e),
|
|
2367
|
+
function bi(n, t, e, i, o, s) {
|
|
2368
|
+
const [r, l, d] = n, u = Math.cos(t), p = Math.sin(t), v = u * r + p * d, E = -p * r + u * d, S = Math.cos(e), k = Math.sin(e), R = S * l - k * E, M = k * l + S * E, Y = 0.55;
|
|
2363
2369
|
return [i + v * s * Y, o - R * s * Y, M];
|
|
2364
2370
|
}
|
|
2365
|
-
function
|
|
2371
|
+
function vi(n, t, e) {
|
|
2366
2372
|
n.beginPath(), n.moveTo(t[0], t[1]), n.lineTo(e[0], e[1]), n.strokeStyle = "#000", n.lineWidth = 2, n.stroke();
|
|
2367
2373
|
}
|
|
2368
|
-
function
|
|
2374
|
+
function yi(n, t, e, i, o) {
|
|
2369
2375
|
const s = t(e), r = t(i), l = [
|
|
2370
2376
|
s[0] + (r[0] - s[0]) * o,
|
|
2371
2377
|
s[1] + (r[1] - s[1]) * o,
|
|
2372
2378
|
s[2]
|
|
2373
2379
|
];
|
|
2374
|
-
|
|
2380
|
+
vi(n, s, l);
|
|
2375
2381
|
}
|
|
2376
2382
|
const z = [-1, -1, 1], P = [1, -1, 1], F = [1, -1, -1], $ = [-1, -1, -1], D = [-1, 1, 1], B = [1, 1, 1], U = [1, 1, -1], V = [-1, 1, -1], rt = [
|
|
2377
2383
|
[z, P],
|
|
@@ -2386,8 +2392,8 @@ const z = [-1, -1, 1], P = [1, -1, 1], F = [1, -1, -1], $ = [-1, -1, -1], D = [-
|
|
|
2386
2392
|
[B, U],
|
|
2387
2393
|
[U, V],
|
|
2388
2394
|
[V, D]
|
|
2389
|
-
],
|
|
2390
|
-
function
|
|
2395
|
+
], _i = 400, at = '-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif';
|
|
2396
|
+
function Ci() {
|
|
2391
2397
|
const n = document.createElement("div");
|
|
2392
2398
|
Object.assign(n.style, {
|
|
2393
2399
|
position: "absolute",
|
|
@@ -2432,7 +2438,7 @@ function _i() {
|
|
|
2432
2438
|
fontFamily: at
|
|
2433
2439
|
}), o.textContent = yt(), e.appendChild(i), e.appendChild(o), n.appendChild(t), n.appendChild(e), { overlay: n, canvas: t, pctEl: i, phaseEl: o };
|
|
2434
2440
|
}
|
|
2435
|
-
class
|
|
2441
|
+
class wi {
|
|
2436
2442
|
overlay;
|
|
2437
2443
|
canvas;
|
|
2438
2444
|
ctx;
|
|
@@ -2445,9 +2451,9 @@ class Ci {
|
|
|
2445
2451
|
visible = !1;
|
|
2446
2452
|
constructor(t, e = {}) {
|
|
2447
2453
|
this.startTime = performance.now();
|
|
2448
|
-
const i =
|
|
2454
|
+
const i = Ci();
|
|
2449
2455
|
this.overlay = i.overlay, this.canvas = i.canvas, this.pctEl = i.pctEl, this.phaseEl = i.phaseEl, t.appendChild(this.overlay), this.ctx = this.canvas.getContext("2d"), this.ctx !== null && (this.sizeCanvas(), this.tick());
|
|
2450
|
-
const o = e.showDelay ??
|
|
2456
|
+
const o = e.showDelay ?? _i;
|
|
2451
2457
|
this.showTimerId = setTimeout(() => {
|
|
2452
2458
|
this.reveal();
|
|
2453
2459
|
}, o);
|
|
@@ -2455,7 +2461,7 @@ class Ci {
|
|
|
2455
2461
|
get loadingTexts() {
|
|
2456
2462
|
return {
|
|
2457
2463
|
downloading: yt(),
|
|
2458
|
-
rendering:
|
|
2464
|
+
rendering: Ye()
|
|
2459
2465
|
};
|
|
2460
2466
|
}
|
|
2461
2467
|
updateProgress(t, e) {
|
|
@@ -2508,20 +2514,20 @@ class Ci {
|
|
|
2508
2514
|
return;
|
|
2509
2515
|
const t = this.canvas.width / Math.min(devicePixelRatio, 2), e = this.canvas.height / Math.min(devicePixelRatio, 2), i = (performance.now() - this.startTime) / 1e3;
|
|
2510
2516
|
this.ctx.fillStyle = "#fff", this.ctx.fillRect(0, 0, t, e);
|
|
2511
|
-
const o = t / 2, s = e * 0.44, r = Math.min(t, e) * 0.08, l = 0.785, d = 0.615, u = (
|
|
2517
|
+
const o = t / 2, s = e * 0.44, r = Math.min(t, e) * 0.08, l = 0.785, d = 0.615, u = (k) => bi(k, l, d, o, s, r), p = 6, v = i % p / p, E = rt.length;
|
|
2512
2518
|
let S;
|
|
2513
2519
|
v < 0.35 ? S = st(v / 0.35) * E : v < 0.55 ? S = E : v < 0.9 ? S = (1 - st((v - 0.55) / 0.35)) * E : S = 0, this.ctx.shadowBlur = 5, this.ctx.shadowColor = "rgba(30,30,30,0.08)";
|
|
2514
|
-
for (let
|
|
2515
|
-
const R = rt[
|
|
2520
|
+
for (let k = 0; k < E && !(k >= S); k++) {
|
|
2521
|
+
const R = rt[k];
|
|
2516
2522
|
if (R === void 0)
|
|
2517
2523
|
continue;
|
|
2518
|
-
const M = Math.min(1, S -
|
|
2519
|
-
|
|
2524
|
+
const M = Math.min(1, S - k);
|
|
2525
|
+
yi(this.ctx, u, R[0], R[1], M);
|
|
2520
2526
|
}
|
|
2521
2527
|
this.ctx.shadowBlur = 0;
|
|
2522
2528
|
}
|
|
2523
2529
|
}
|
|
2524
|
-
class
|
|
2530
|
+
class ki {
|
|
2525
2531
|
constructor(t) {
|
|
2526
2532
|
this.options = t, this.element = document.createElement("div"), Object.assign(this.element.style, { display: "flex", gap: "0.375rem" }), this.onFullscreenChange = () => {
|
|
2527
2533
|
this.setFullscreenIcon(document.fullscreenElement !== null);
|
|
@@ -2546,7 +2552,7 @@ class wi {
|
|
|
2546
2552
|
this.arBtn = this.syncButton(this.arBtn, t.ar !== !1 && this.options.onAr !== void 0, () => new b({
|
|
2547
2553
|
variant: "outline",
|
|
2548
2554
|
size: "icon",
|
|
2549
|
-
label:
|
|
2555
|
+
label: we(),
|
|
2550
2556
|
icon: g.ar(),
|
|
2551
2557
|
onClick: () => {
|
|
2552
2558
|
this.options.onAr?.();
|
|
@@ -2554,7 +2560,7 @@ class wi {
|
|
|
2554
2560
|
})), this.fullscreenBtn = this.syncButton(this.fullscreenBtn, t.fullscreen !== !1 && this.options.onFullscreen !== void 0, () => new b({
|
|
2555
2561
|
variant: "outline",
|
|
2556
2562
|
size: "icon",
|
|
2557
|
-
label:
|
|
2563
|
+
label: Ve(),
|
|
2558
2564
|
icon: g.fullscreen(),
|
|
2559
2565
|
onClick: () => {
|
|
2560
2566
|
this.options.onFullscreen?.();
|
|
@@ -2575,9 +2581,9 @@ class L {
|
|
|
2575
2581
|
targetTilt: e.tilt,
|
|
2576
2582
|
targetZoom: e.zoom,
|
|
2577
2583
|
thetaOffset: 0
|
|
2578
|
-
}, o =
|
|
2584
|
+
}, o = Si(t, e, i);
|
|
2579
2585
|
e.onChange((s) => {
|
|
2580
|
-
i.targetRotation = s.rotation - i.thetaOffset, i.targetTilt = s.tilt, i.targetZoom = s.zoom,
|
|
2586
|
+
i.targetRotation = s.rotation - i.thetaOffset, i.targetTilt = s.tilt, i.targetZoom = s.zoom, Ai(o, e, s);
|
|
2581
2587
|
}), this.element.appendChild(L.buildZoom(o.zoomOut, o.zoomIn)), this.element.appendChild(L.buildDpad(o.tiltUp, o.rotateLeft, o.reset, o.rotateRight, o.tiltDown));
|
|
2582
2588
|
}
|
|
2583
2589
|
static buildZoom(t, e) {
|
|
@@ -2598,7 +2604,7 @@ class L {
|
|
|
2598
2604
|
return r;
|
|
2599
2605
|
}
|
|
2600
2606
|
}
|
|
2601
|
-
function
|
|
2607
|
+
function Si(n, t, e) {
|
|
2602
2608
|
const i = (r) => Math.max(t.limits?.minZoom ?? 1, Math.min(t.limits?.maxZoom ?? 1 / 0, r)), o = (r) => {
|
|
2603
2609
|
const l = t.limits?.minRotate, d = t.limits?.maxRotate;
|
|
2604
2610
|
return l !== void 0 || d !== void 0 ? Math.max(l ?? -1 / 0, Math.min(d ?? 1 / 0, r)) : r;
|
|
@@ -2612,54 +2618,54 @@ function ki(n, t, e) {
|
|
|
2612
2618
|
u > 180 || u < 0 ? (e.targetTilt = u > 180 ? 360 - u : -u, e.thetaOffset = (e.thetaOffset + 180) % 360, n.tilt(e.targetTilt).rotate(e.targetRotation + e.thetaOffset).set()) : (e.targetTilt = u, n.tilt(e.targetTilt).set());
|
|
2613
2619
|
};
|
|
2614
2620
|
return {
|
|
2615
|
-
zoomOut: new b({ variant: "outline", size: "icon", label:
|
|
2621
|
+
zoomOut: new b({ variant: "outline", size: "icon", label: _n(), icon: g.zoomOut(), onClick: () => {
|
|
2616
2622
|
e.targetZoom = i(e.targetZoom - 10), n.zoom(e.targetZoom).set();
|
|
2617
2623
|
} }),
|
|
2618
|
-
zoomIn: new b({ variant: "outline", size: "icon", label:
|
|
2624
|
+
zoomIn: new b({ variant: "outline", size: "icon", label: gn(), icon: g.zoomIn(), onClick: () => {
|
|
2619
2625
|
e.targetZoom = i(e.targetZoom + 10), n.zoom(e.targetZoom).set();
|
|
2620
2626
|
} }),
|
|
2621
|
-
tiltUp: new b({ variant: "outline", size: "icon", label:
|
|
2627
|
+
tiltUp: new b({ variant: "outline", size: "icon", label: In(), icon: g.tiltUp(), onClick: () => {
|
|
2622
2628
|
s(-15);
|
|
2623
2629
|
} }),
|
|
2624
|
-
rotateLeft: new b({ variant: "outline", size: "icon", label:
|
|
2630
|
+
rotateLeft: new b({ variant: "outline", size: "icon", label: Sn(), icon: g.rotateLeft(), onClick: () => {
|
|
2625
2631
|
e.targetRotation = o(e.targetRotation - 15), n.rotate(e.targetRotation + e.thetaOffset).set();
|
|
2626
2632
|
} }),
|
|
2627
|
-
reset: new b({ variant: "outline", size: "icon", label:
|
|
2633
|
+
reset: new b({ variant: "outline", size: "icon", label: hn(), icon: g.reset(), onClick: () => {
|
|
2628
2634
|
e.thetaOffset = 0, n.reset();
|
|
2629
2635
|
} }),
|
|
2630
|
-
rotateRight: new b({ variant: "outline", size: "icon", label:
|
|
2636
|
+
rotateRight: new b({ variant: "outline", size: "icon", label: Tn(), icon: g.rotateRight(), onClick: () => {
|
|
2631
2637
|
e.targetRotation = o(e.targetRotation + 15), n.rotate(e.targetRotation + e.thetaOffset).set();
|
|
2632
2638
|
} }),
|
|
2633
|
-
tiltDown: new b({ variant: "outline", size: "icon", label:
|
|
2639
|
+
tiltDown: new b({ variant: "outline", size: "icon", label: Pn(), icon: g.tiltDown(), onClick: () => {
|
|
2634
2640
|
s(15);
|
|
2635
2641
|
} })
|
|
2636
2642
|
};
|
|
2637
2643
|
}
|
|
2638
|
-
function
|
|
2644
|
+
function Ai(n, t, e) {
|
|
2639
2645
|
const i = t.limits;
|
|
2640
2646
|
i !== void 0 && (n.zoomOut.element.disabled = i.minZoom !== void 0 && e.zoom <= i.minZoom + T, n.zoomIn.element.disabled = i.maxZoom !== void 0 && e.zoom >= i.maxZoom - T, n.tiltUp.element.disabled = i.minTilt !== void 0 && e.tilt <= i.minTilt + T, n.tiltDown.element.disabled = i.maxTilt !== void 0 && e.tilt >= i.maxTilt - T, n.rotateLeft.element.disabled = i.minRotate !== void 0 && e.rotation <= i.minRotate + T, n.rotateRight.element.disabled = i.maxRotate !== void 0 && e.rotation >= i.maxRotate - T);
|
|
2641
2647
|
}
|
|
2642
|
-
const
|
|
2643
|
-
let
|
|
2648
|
+
const Ei = 5;
|
|
2649
|
+
let xi = 0;
|
|
2644
2650
|
function j(n) {
|
|
2645
2651
|
const t = n.replace(/([A-Z])/g, " $1").trim();
|
|
2646
2652
|
return t.charAt(0).toUpperCase() + t.slice(1).toLowerCase();
|
|
2647
2653
|
}
|
|
2648
|
-
function
|
|
2654
|
+
function Ti(n, t, e, i, o) {
|
|
2649
2655
|
const s = document.createElement("div");
|
|
2650
2656
|
s.className = "vd-attribute", s.dataset.name = n.name;
|
|
2651
2657
|
const r = document.createElement("span");
|
|
2652
|
-
r.className = "vd-attribute-label", r.textContent = j(n.name), r.id = `vd-attribute-label-${
|
|
2653
|
-
const l = n.values.find((p) => t.getValue(n.name, p)?.isSelected === !0), d = n.values.map(j), u = n.values.length <=
|
|
2658
|
+
r.className = "vd-attribute-label", r.textContent = j(n.name), r.id = `vd-attribute-label-${xi++}`, s.appendChild(r), s.setAttribute("role", "group"), s.setAttribute("aria-labelledby", r.id);
|
|
2659
|
+
const l = n.values.find((p) => t.getValue(n.name, p)?.isSelected === !0), d = n.values.map(j), u = n.values.length <= Ei ? new ui(n.values, l, d) : new di(n.name, n.values, j(n.name), l, d);
|
|
2654
2660
|
return u.onSelect((p) => {
|
|
2655
2661
|
e.dispatch(O.SELECT, { attribute: n.name, value: p }, !0).defaultPrevented || i(n.name, p);
|
|
2656
2662
|
}), o(n.name, (p) => {
|
|
2657
2663
|
u.setSelected(p.value), e.dispatch(O.SELECTED, { attribute: n.name, value: p.value });
|
|
2658
2664
|
}), s.appendChild(u.element), s;
|
|
2659
2665
|
}
|
|
2660
|
-
const
|
|
2661
|
-
class
|
|
2662
|
-
constructor(t, e =
|
|
2666
|
+
const Ri = 80, Oi = 2500;
|
|
2667
|
+
class Ni {
|
|
2668
|
+
constructor(t, e = Oi) {
|
|
2663
2669
|
this.configuration = t, this.resetMs = e, this.element = document.createElement("div"), this.element.className = "vd-commerce vd-hidden";
|
|
2664
2670
|
const i = document.createElement("div");
|
|
2665
2671
|
i.className = "vd-commerce-price", this.priceEl = document.createElement("span"), this.priceEl.className = "vd-price", this.vatEl = document.createElement("span"), this.vatEl.className = "vd-vat", i.append(this.priceEl, this.vatEl), this.button = new b({ variant: "default", onClick: () => {
|
|
@@ -2691,7 +2697,7 @@ class Oi {
|
|
|
2691
2697
|
this.priceEl.textContent = "", this.vatEl.textContent = "";
|
|
2692
2698
|
return;
|
|
2693
2699
|
}
|
|
2694
|
-
this.priceEl.textContent =
|
|
2700
|
+
this.priceEl.textContent = Ii(t.price, t.currency), this.vatEl.textContent = lt(this.configuration.vatDisplay);
|
|
2695
2701
|
}
|
|
2696
2702
|
renderButton() {
|
|
2697
2703
|
const t = this.configuration.submitEnabled;
|
|
@@ -2699,11 +2705,11 @@ class Oi {
|
|
|
2699
2705
|
}
|
|
2700
2706
|
async handleSubmit() {
|
|
2701
2707
|
if (this.state !== "busy") {
|
|
2702
|
-
this.setState("busy",
|
|
2708
|
+
this.setState("busy", Bn());
|
|
2703
2709
|
try {
|
|
2704
|
-
await this.configuration.submit(), this.setState("success",
|
|
2710
|
+
await this.configuration.submit(), this.setState("success", Hn());
|
|
2705
2711
|
} catch {
|
|
2706
|
-
this.setState("failed",
|
|
2712
|
+
this.setState("failed", Wn());
|
|
2707
2713
|
}
|
|
2708
2714
|
this.scheduleReset();
|
|
2709
2715
|
}
|
|
@@ -2721,9 +2727,9 @@ class Oi {
|
|
|
2721
2727
|
}
|
|
2722
2728
|
}
|
|
2723
2729
|
function lt(n) {
|
|
2724
|
-
return (n ?? "").slice(0,
|
|
2730
|
+
return (n ?? "").slice(0, Ri);
|
|
2725
2731
|
}
|
|
2726
|
-
function
|
|
2732
|
+
function Ii(n, t) {
|
|
2727
2733
|
try {
|
|
2728
2734
|
const e = new Intl.NumberFormat(h(), { style: "currency", currency: t }), i = e.resolvedOptions().maximumFractionDigits ?? 2;
|
|
2729
2735
|
return e.format(n / 10 ** i);
|
|
@@ -2744,8 +2750,8 @@ class kt {
|
|
|
2744
2750
|
this.slot?.remove(), this.slot = null, this.panel = null;
|
|
2745
2751
|
}
|
|
2746
2752
|
}
|
|
2747
|
-
const
|
|
2748
|
-
class
|
|
2753
|
+
const Li = 572;
|
|
2754
|
+
class Mi {
|
|
2749
2755
|
element = null;
|
|
2750
2756
|
body = null;
|
|
2751
2757
|
openButton = null;
|
|
@@ -2759,7 +2765,7 @@ class Li {
|
|
|
2759
2765
|
this.container = t, e.classList.add("vd-attributes-sidebar"), this.closeButton = new b({
|
|
2760
2766
|
variant: "ghost",
|
|
2761
2767
|
size: "icon-sm",
|
|
2762
|
-
label:
|
|
2768
|
+
label: ln(),
|
|
2763
2769
|
icon: g.close({ size: 18 }),
|
|
2764
2770
|
onClick: () => {
|
|
2765
2771
|
this.expanded = !1, this.render();
|
|
@@ -2769,7 +2775,7 @@ class Li {
|
|
|
2769
2775
|
i.className = "vd-sidebar-header", i.appendChild(this.closeButton.element), this.body = document.createElement("div"), this.body.className = "vd-sidebar-body", this.body.appendChild(e), this.element = document.createElement("div"), this.element.className = "vd-sidebar vd-hidden", this.element.append(i, this.body), t.appendChild(this.element), this.openButton = new b({
|
|
2770
2776
|
variant: "outline",
|
|
2771
2777
|
size: "default",
|
|
2772
|
-
label:
|
|
2778
|
+
label: on(),
|
|
2773
2779
|
icon: g.configurator({ size: 18 }),
|
|
2774
2780
|
onClick: () => {
|
|
2775
2781
|
this.expanded = !0, this.render();
|
|
@@ -2785,7 +2791,7 @@ class Li {
|
|
|
2785
2791
|
observe() {
|
|
2786
2792
|
typeof ResizeObserver > "u" || this.container === null || (this.observer = new ResizeObserver((t) => {
|
|
2787
2793
|
const e = t[0]?.contentRect.width ?? 0;
|
|
2788
|
-
this.setCollapsible(e > 0 && e <
|
|
2794
|
+
this.setCollapsible(e > 0 && e < Li);
|
|
2789
2795
|
}), this.observer.observe(this.container));
|
|
2790
2796
|
}
|
|
2791
2797
|
setCollapsible(t) {
|
|
@@ -2798,7 +2804,7 @@ class Li {
|
|
|
2798
2804
|
this.element.classList.toggle("vd-hidden", !this.visible), this.element.classList.toggle("vd-sidebar-collapsed", this.visible && !this.expanded), this.openButton.element.classList.toggle("vd-hidden", !(this.visible && !this.expanded)), this.closeButton.element.style.display = this.collapsible ? "" : "none", this.container.classList.toggle("vd-layout-sidebar-right", t);
|
|
2799
2805
|
}
|
|
2800
2806
|
}
|
|
2801
|
-
class
|
|
2807
|
+
class zi {
|
|
2802
2808
|
attach(t, e) {
|
|
2803
2809
|
}
|
|
2804
2810
|
setVisible(t) {
|
|
@@ -2806,20 +2812,20 @@ class Mi {
|
|
|
2806
2812
|
destroy() {
|
|
2807
2813
|
}
|
|
2808
2814
|
}
|
|
2809
|
-
const
|
|
2815
|
+
const Pi = {
|
|
2810
2816
|
"inframe-bottom-left": () => new kt(),
|
|
2811
|
-
"sidebar-right": () => new
|
|
2812
|
-
hidden: () => new
|
|
2817
|
+
"sidebar-right": () => new Mi(),
|
|
2818
|
+
hidden: () => new zi()
|
|
2813
2819
|
};
|
|
2814
|
-
function
|
|
2815
|
-
return (
|
|
2820
|
+
function Fi(n) {
|
|
2821
|
+
return (Pi[n ?? ""] ?? (() => new kt()))();
|
|
2816
2822
|
}
|
|
2817
2823
|
const H = _.fontFamily.sans.join(", "), G = `
|
|
2818
2824
|
position: absolute;
|
|
2819
2825
|
display: flex;
|
|
2820
2826
|
z-index: 10;
|
|
2821
2827
|
transition: inset-inline-end 0.18s ease;
|
|
2822
|
-
`,
|
|
2828
|
+
`, $i = `
|
|
2823
2829
|
/* Override browser's default black fullscreen backdrop */
|
|
2824
2830
|
.vd-container:fullscreen {
|
|
2825
2831
|
background: oklch(100% 0 0);
|
|
@@ -3010,17 +3016,17 @@ const H = _.fontFamily.sans.join(", "), G = `
|
|
|
3010
3016
|
}
|
|
3011
3017
|
|
|
3012
3018
|
`;
|
|
3013
|
-
function
|
|
3014
|
-
if (
|
|
3019
|
+
function Di() {
|
|
3020
|
+
if (gi(), document.getElementById("vd-styles") !== null)
|
|
3015
3021
|
return;
|
|
3016
3022
|
const n = document.createElement("style");
|
|
3017
|
-
n.id = "vd-styles", n.textContent =
|
|
3023
|
+
n.id = "vd-styles", n.textContent = $i, document.head.appendChild(n);
|
|
3018
3024
|
}
|
|
3019
|
-
function
|
|
3025
|
+
function Bi(n, t) {
|
|
3020
3026
|
const e = document.createElement("a");
|
|
3021
3027
|
e.href = `data:image/png;base64,${n}`, e.download = t, e.click();
|
|
3022
3028
|
}
|
|
3023
|
-
class
|
|
3029
|
+
class Ui {
|
|
3024
3030
|
options;
|
|
3025
3031
|
settings = {};
|
|
3026
3032
|
container = null;
|
|
@@ -3036,7 +3042,7 @@ class Bi {
|
|
|
3036
3042
|
this.options = t;
|
|
3037
3043
|
}
|
|
3038
3044
|
attach(t) {
|
|
3039
|
-
|
|
3045
|
+
Di(), this.container = t, this.loading = new wi(t), this.slots.topRight = this.createSlot(t, "vd-slot-top-right"), this.slots.bottomRight = this.createSlot(t, "vd-slot-bottom-right");
|
|
3040
3046
|
}
|
|
3041
3047
|
onReady() {
|
|
3042
3048
|
this.loading?.hide(), this.loading = null, this.mountToolbar(), this.cameraControls !== null && (this.cameraControls.element.style.display = "flex"), this.layout?.setVisible(!0);
|
|
@@ -3045,7 +3051,7 @@ class Bi {
|
|
|
3045
3051
|
if (this.actionBar !== null || this.slots.bottomRight === null || this.container === null)
|
|
3046
3052
|
return;
|
|
3047
3053
|
const t = typeof this.container.requestFullscreen == "function";
|
|
3048
|
-
this.actionBar = new
|
|
3054
|
+
this.actionBar = new ki({
|
|
3049
3055
|
onAr: this.options.onAr,
|
|
3050
3056
|
onFullscreen: t ? () => {
|
|
3051
3057
|
this.toggleFullscreen();
|
|
@@ -3053,7 +3059,7 @@ class Bi {
|
|
|
3053
3059
|
}), this.actionBar.applySettings(this.settings), this.slots.bottomRight.appendChild(this.actionBar.element), this.syncScreenshotButton(), this.placeScreenshotButton();
|
|
3054
3060
|
}
|
|
3055
3061
|
toggleFullscreen() {
|
|
3056
|
-
this.container !== null && (document.fullscreenElement !== null ? document.exitFullscreen() : this.container.requestFullscreen());
|
|
3062
|
+
this.container !== null && (document.fullscreenElement !== null ? document.exitFullscreen() : (this.options.onFullscreenEnter?.(), this.container.requestFullscreen()));
|
|
3057
3063
|
}
|
|
3058
3064
|
updateProgress(t, e) {
|
|
3059
3065
|
this.loading?.updateProgress(t, e);
|
|
@@ -3068,14 +3074,14 @@ class Bi {
|
|
|
3068
3074
|
if (!(this.container === null || this.slots.topRight === null) && (this.cameraControls?.element.remove(), this.cameraControls = null, this.teardownConfigurator(), this.settings.cameraControls === !0 && (this.cameraControls = new L(this.options.cameraApi, this.options.cameraPositionApi), this.cameraControls.element.style.display = "none", this.slots.topRight.appendChild(this.cameraControls.element)), this.placeScreenshotButton(), e.length !== 0)) {
|
|
3069
3075
|
this.attributes = document.createElement("div"), this.attributes.className = "vd-attributes";
|
|
3070
3076
|
for (const i of e)
|
|
3071
|
-
this.attributes.appendChild(
|
|
3077
|
+
this.attributes.appendChild(Ti(
|
|
3072
3078
|
i,
|
|
3073
3079
|
t,
|
|
3074
3080
|
this.options.eventBus,
|
|
3075
3081
|
this.options.onSelect,
|
|
3076
3082
|
this.options.onSubscribe
|
|
3077
3083
|
));
|
|
3078
|
-
this.commerce = new
|
|
3084
|
+
this.commerce = new Ni(this.options.configuration), this.attributes.appendChild(this.commerce.element), this.layout = Fi(this.settings.configuratorLayout), this.layout.attach(this.container, this.attributes);
|
|
3079
3085
|
}
|
|
3080
3086
|
}
|
|
3081
3087
|
get viewerSettings() {
|
|
@@ -3100,11 +3106,11 @@ class Bi {
|
|
|
3100
3106
|
t && this.screenshotBtn === null && (this.screenshotBtn = new b({
|
|
3101
3107
|
variant: "outline",
|
|
3102
3108
|
size: "icon",
|
|
3103
|
-
label:
|
|
3109
|
+
label: Je(),
|
|
3104
3110
|
icon: g.screenshot(),
|
|
3105
3111
|
onClick: () => {
|
|
3106
3112
|
this.options.snapshotApi.take("snapshot.png").onDeveloped(({ data: e, filename: i }) => {
|
|
3107
|
-
|
|
3113
|
+
Bi(e, i);
|
|
3108
3114
|
});
|
|
3109
3115
|
}
|
|
3110
3116
|
})), !t && this.screenshotBtn !== null && (this.screenshotBtn.element.remove(), this.screenshotBtn = null);
|
|
@@ -3113,7 +3119,7 @@ class Bi {
|
|
|
3113
3119
|
this.screenshotBtn === null || this.slots.topRight === null || (this.cameraControls !== null ? this.cameraControls.element.appendChild(this.screenshotBtn.element) : this.slots.topRight.appendChild(this.screenshotBtn.element));
|
|
3114
3120
|
}
|
|
3115
3121
|
}
|
|
3116
|
-
class
|
|
3122
|
+
class Vi {
|
|
3117
3123
|
constructor(t) {
|
|
3118
3124
|
this.send = t;
|
|
3119
3125
|
}
|
|
@@ -3146,7 +3152,7 @@ class Ui {
|
|
|
3146
3152
|
e(t);
|
|
3147
3153
|
}
|
|
3148
3154
|
}
|
|
3149
|
-
class
|
|
3155
|
+
class Gi {
|
|
3150
3156
|
attributes;
|
|
3151
3157
|
readyStateTracker;
|
|
3152
3158
|
messenger;
|
|
@@ -3162,32 +3168,33 @@ class Hi {
|
|
|
3162
3168
|
options;
|
|
3163
3169
|
iframe;
|
|
3164
3170
|
container;
|
|
3171
|
+
viewerSessionId;
|
|
3165
3172
|
readyCallbacks = [];
|
|
3166
3173
|
mutationFailedCallbacks = [];
|
|
3167
3174
|
constructor(t) {
|
|
3168
|
-
this.options = t, this.initializeLogging(), this.messenger = new
|
|
3175
|
+
this.options = t, this.initializeLogging(), this.messenger = new ne(() => this.iframe?.contentWindow ?? null);
|
|
3169
3176
|
const e = (i) => {
|
|
3170
3177
|
this.messenger.send(i);
|
|
3171
3178
|
};
|
|
3172
|
-
this.attributes = new
|
|
3179
|
+
this.attributes = new ie(e, (i, o) => {
|
|
3173
3180
|
for (const s of this.mutationFailedCallbacks)
|
|
3174
3181
|
s({ attribute: i, value: o });
|
|
3175
|
-
}), this.snapshotApi = new
|
|
3182
|
+
}), this.snapshotApi = new de(e), this.annotationsApi = new Vi(e), this.cameraApi = new oe(e), this.cameraPositionApi = new se(), this.focusApi = new re(e, (i) => {
|
|
3176
3183
|
this.dispatchFocusChange(i);
|
|
3177
|
-
}), this.configurationApi = new
|
|
3184
|
+
}), this.configurationApi = new ce(
|
|
3178
3185
|
(i) => {
|
|
3179
3186
|
this.dispatchConfigurationChange(i);
|
|
3180
3187
|
},
|
|
3181
3188
|
(i) => {
|
|
3182
3189
|
this.dispatchConfigurationSubmit(i);
|
|
3183
3190
|
}
|
|
3184
|
-
), this.eventBus = new
|
|
3191
|
+
), this.eventBus = new he(), this.qrModal = new mi(), this.readyStateTracker = new Ft(() => {
|
|
3185
3192
|
const i = this.readyCallbacks;
|
|
3186
3193
|
this.readyCallbacks = [];
|
|
3187
3194
|
for (const o of i)
|
|
3188
3195
|
o(this);
|
|
3189
3196
|
this.ui.onReady();
|
|
3190
|
-
}), this.ui = new
|
|
3197
|
+
}), this.ui = new Ui({
|
|
3191
3198
|
snapshotApi: this.snapshotApi,
|
|
3192
3199
|
cameraApi: this.cameraApi,
|
|
3193
3200
|
cameraPositionApi: this.cameraPositionApi,
|
|
@@ -3197,34 +3204,43 @@ class Hi {
|
|
|
3197
3204
|
onSubscribe: (i, o) => this.attributes.onChange(i, o),
|
|
3198
3205
|
onAr: () => {
|
|
3199
3206
|
this.activateAr();
|
|
3207
|
+
},
|
|
3208
|
+
onFullscreenEnter: () => {
|
|
3209
|
+
this.trackFullscreen();
|
|
3200
3210
|
}
|
|
3201
3211
|
}), this.registerHandlers(), this.messenger.start(), this.createAndConnectIframe();
|
|
3202
3212
|
}
|
|
3203
3213
|
registerHandlers() {
|
|
3204
|
-
this.messenger.on(c.
|
|
3205
|
-
|
|
3206
|
-
}), this.messenger.on(c.MUTATION, (t) => {
|
|
3207
|
-
qt(t) && (this.attributes.handleMutationResult(t), this.configurationApi.handleSelectionChanged(this.attributes.getSelection()));
|
|
3214
|
+
this.registerLifecycleHandlers(), this.messenger.on(c.MUTATION, (t) => {
|
|
3215
|
+
Zt(t) && (this.attributes.handleMutationResult(t), this.configurationApi.handleSelectionChanged(this.attributes.getSelection()));
|
|
3208
3216
|
}), this.messenger.on(c.SNAPSHOT, (t) => {
|
|
3209
|
-
|
|
3217
|
+
Wt(t) && this.snapshotApi.handleSnapshotResult(t);
|
|
3210
3218
|
}), this.messenger.on(c.CAMERA, (t) => {
|
|
3211
|
-
|
|
3219
|
+
Yt(t) && this.cameraPositionApi.handlePositionUpdate(t);
|
|
3212
3220
|
}), this.messenger.on(c.LOADING_INDICATOR, (t) => {
|
|
3213
|
-
|
|
3221
|
+
Kt(t) && (t.error !== void 0 ? this.ui.showError(t.error) : this.ui.updateProgress(t.progress, t.phase));
|
|
3214
3222
|
}), this.messenger.on(c.CONFIG, (t) => {
|
|
3215
|
-
|
|
3223
|
+
Qt(t) && this.handleConfig(t);
|
|
3216
3224
|
}), this.messenger.on(c.ANNOTATION_PLACED, (t) => {
|
|
3217
|
-
|
|
3225
|
+
Jt(t) && this.annotationsApi.handlePlaced(t.position);
|
|
3218
3226
|
}), this.messenger.on(c.MAPPING, (t) => {
|
|
3219
|
-
|
|
3227
|
+
Xt(t) && (this.attributes.handleMappingReceived(t), this.configurationApi.handleSelectionChanged(this.attributes.getSelection()), this.ui.renderAttributeControls(this.attributes, t.attributes), this.readyStateTracker.handleMappingReceived());
|
|
3220
3228
|
}), this.registerFacadeStateHandlers();
|
|
3221
3229
|
}
|
|
3230
|
+
/** Lifecycle handlers: the handshake (queue flush) and the tracking session id. */
|
|
3231
|
+
registerLifecycleHandlers() {
|
|
3232
|
+
this.messenger.on(c.HANDSHAKE, (t) => {
|
|
3233
|
+
Gt(t) && (C.info("Server handshake received, flushing publisher queue"), this.messenger.markReady());
|
|
3234
|
+
}), this.messenger.on(c.SESSION, (t) => {
|
|
3235
|
+
qt(t) && (this.viewerSessionId = t.sessionId);
|
|
3236
|
+
});
|
|
3237
|
+
}
|
|
3222
3238
|
/** Handlers that feed viewer-reported state into the facades (focus, pricing). */
|
|
3223
3239
|
registerFacadeStateHandlers() {
|
|
3224
3240
|
this.messenger.on(c.FOCUS, (t) => {
|
|
3225
|
-
|
|
3241
|
+
te(t) && this.focusApi.handleStateReceived(t);
|
|
3226
3242
|
}), this.messenger.on(c.PRICING, (t) => {
|
|
3227
|
-
|
|
3243
|
+
ee(t) && this.configurationApi.handlePricingReceived(t.pricing);
|
|
3228
3244
|
});
|
|
3229
3245
|
}
|
|
3230
3246
|
/**
|
|
@@ -3270,6 +3286,10 @@ class Hi {
|
|
|
3270
3286
|
}
|
|
3271
3287
|
this.qrModal.show(this.iframe?.src ?? "");
|
|
3272
3288
|
}
|
|
3289
|
+
/** Tell the viewer the user entered fullscreen, so it records the engagement. */
|
|
3290
|
+
trackFullscreen() {
|
|
3291
|
+
this.messenger.send({ type: c.FULLSCREEN });
|
|
3292
|
+
}
|
|
3273
3293
|
initializeLogging() {
|
|
3274
3294
|
this.options.debug === !0 && Pt(), C.info("Initializing Virtualdisplay client", { model: this.options.model });
|
|
3275
3295
|
}
|
|
@@ -3334,24 +3354,33 @@ class Hi {
|
|
|
3334
3354
|
get viewerSettings() {
|
|
3335
3355
|
return this.ui.viewerSettings;
|
|
3336
3356
|
}
|
|
3357
|
+
/**
|
|
3358
|
+
* The viewer's tracking session id, once the viewer has established it (the id
|
|
3359
|
+
* is generated inside the iframe and announced to the client). `undefined`
|
|
3360
|
+
* until then. A host page can use it to correlate its own actions, e.g. a
|
|
3361
|
+
* configurator conversion, with the viewer session.
|
|
3362
|
+
*/
|
|
3363
|
+
get sessionId() {
|
|
3364
|
+
return this.viewerSessionId;
|
|
3365
|
+
}
|
|
3337
3366
|
destroy() {
|
|
3338
3367
|
this.readyStateTracker.clear(), this.readyCallbacks = [], this.mutationFailedCallbacks.length = 0, this.snapshotApi.clear(), this.messenger.destroy(), this.qrModal.hide(), this.ui.destroy(), this.container?.parentElement !== null && this.container?.parentElement !== void 0 && this.container.parentElement.removeChild(this.container), this.container = void 0, this.iframe = void 0;
|
|
3339
3368
|
}
|
|
3340
3369
|
}
|
|
3341
3370
|
export {
|
|
3342
|
-
|
|
3371
|
+
Vi as Annotations,
|
|
3343
3372
|
Dt as Attribute,
|
|
3344
3373
|
$t as AttributeValue,
|
|
3345
|
-
|
|
3346
|
-
|
|
3374
|
+
oe as Camera,
|
|
3375
|
+
ce as Configuration,
|
|
3347
3376
|
A as ERROR_CODES,
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3377
|
+
re as Focus,
|
|
3378
|
+
ue as Photo,
|
|
3379
|
+
de as Snapshot,
|
|
3351
3380
|
O as VD_EVENTS,
|
|
3352
|
-
|
|
3381
|
+
Gi as VirtualdisplayClient,
|
|
3353
3382
|
f as VirtualdisplayError,
|
|
3354
3383
|
Pt as enableDebugMode,
|
|
3355
|
-
|
|
3384
|
+
ji as isDebugMode,
|
|
3356
3385
|
C as logger
|
|
3357
3386
|
};
|