@virtualdisplay.io/client 4.0.0-alpha.26 → 4.0.0-alpha.27
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 +6 -0
- package/dist/index.d.ts +125 -14
- package/dist/virtualdisplay.client.cjs.js +12 -12
- package/dist/virtualdisplay.client.es.js +379 -398
- package/dist/virtualdisplay.client.umd.js +15 -15
- package/package.json +1 -1
|
@@ -17,7 +17,7 @@ const c = {
|
|
|
17
17
|
SYNC: "sync",
|
|
18
18
|
SELECTABLE: "selectable",
|
|
19
19
|
APP_RESOLVED: "app_resolved"
|
|
20
|
-
},
|
|
20
|
+
}, F = "main", te = {
|
|
21
21
|
FOCUS: "focus",
|
|
22
22
|
UNFOCUS: "unfocus"
|
|
23
23
|
}, Ie = {
|
|
@@ -46,19 +46,19 @@ function Pe(n) {
|
|
|
46
46
|
}
|
|
47
47
|
function Fe(n) {
|
|
48
48
|
const e = S(n);
|
|
49
|
-
return e !== null && e.type === c.MUTATION && Array.isArray(e.results);
|
|
49
|
+
return e !== null && e.type === c.MUTATION && typeof e.instance == "string" && e.instance !== "" && Array.isArray(e.results);
|
|
50
50
|
}
|
|
51
|
-
function
|
|
51
|
+
function De(n) {
|
|
52
52
|
const e = S(n);
|
|
53
53
|
return e !== null && e.type === c.SNAPSHOT && ("data" in e || "error" in e);
|
|
54
54
|
}
|
|
55
|
-
function
|
|
55
|
+
function $e(n) {
|
|
56
56
|
const e = S(n);
|
|
57
57
|
return e !== null && e.type === c.CAMERA && Array.isArray(e.transforms);
|
|
58
58
|
}
|
|
59
59
|
function Ue(n) {
|
|
60
60
|
const e = S(n);
|
|
61
|
-
return e !== null && e.type === c.MAPPING && Array.isArray(e.attributes);
|
|
61
|
+
return e !== null && e.type === c.MAPPING && typeof e.instance == "string" && e.instance !== "" && Array.isArray(e.attributes);
|
|
62
62
|
}
|
|
63
63
|
function Be(n) {
|
|
64
64
|
const e = S(n);
|
|
@@ -70,7 +70,7 @@ function Ve(n) {
|
|
|
70
70
|
}
|
|
71
71
|
function je(n) {
|
|
72
72
|
const e = S(n);
|
|
73
|
-
return e !== null && e.type === c.SELECTABLE && Array.isArray(e.attributes);
|
|
73
|
+
return e !== null && e.type === c.SELECTABLE && typeof e.instance == "string" && e.instance !== "" && Array.isArray(e.attributes);
|
|
74
74
|
}
|
|
75
75
|
function He(n) {
|
|
76
76
|
const e = S(n);
|
|
@@ -78,16 +78,16 @@ function He(n) {
|
|
|
78
78
|
}
|
|
79
79
|
function qe(n) {
|
|
80
80
|
const e = S(n);
|
|
81
|
-
return e !== null && e.type === c.FOCUS && typeof e.state == "string";
|
|
81
|
+
return e !== null && e.type === c.FOCUS && typeof e.instance == "string" && e.instance !== "" && typeof e.state == "string";
|
|
82
82
|
}
|
|
83
83
|
function Ge(n) {
|
|
84
84
|
const e = S(n);
|
|
85
|
-
return e !== null && e.type === c.PRICING && typeof e.pricing == "object" && e.pricing !== null;
|
|
85
|
+
return e !== null && e.type === c.PRICING && typeof e.instance == "string" && e.instance !== "" && typeof e.pricing == "object" && e.pricing !== null;
|
|
86
86
|
}
|
|
87
87
|
function S(n) {
|
|
88
88
|
return typeof n != "object" || n === null ? null : n;
|
|
89
89
|
}
|
|
90
|
-
class
|
|
90
|
+
class ne {
|
|
91
91
|
constructor(e) {
|
|
92
92
|
this.processor = e;
|
|
93
93
|
}
|
|
@@ -136,7 +136,7 @@ class te {
|
|
|
136
136
|
}
|
|
137
137
|
class Ze {
|
|
138
138
|
constructor(e, t) {
|
|
139
|
-
this.getTarget = e, this.sourceId = `vd-${Math.random().toString(36).slice(2, 8)}`, this.targetOrigin = "*", this.isValid = t?.isValid ?? Ne, this.publisher = new
|
|
139
|
+
this.getTarget = e, this.sourceId = `vd-${Math.random().toString(36).slice(2, 8)}`, this.targetOrigin = "*", this.isValid = t?.isValid ?? Ne, this.publisher = new ne((i) => this.post(i)), this.consumer = new ne((i) => this.routeToHandler(i)), t?.bufferIncoming !== !0 && this.consumer.markReady();
|
|
140
140
|
}
|
|
141
141
|
getTarget;
|
|
142
142
|
handlers = /* @__PURE__ */ new Map();
|
|
@@ -218,18 +218,6 @@ class Ze {
|
|
|
218
218
|
destroy() {
|
|
219
219
|
this.listener !== null && (window.removeEventListener("message", this.listener), this.listener = null), this.publisher.clear(), this.consumer.clear(), this.handlers.clear();
|
|
220
220
|
}
|
|
221
|
-
/**
|
|
222
|
-
* Whether the messenger is ready to send
|
|
223
|
-
*/
|
|
224
|
-
get ready() {
|
|
225
|
-
return this.publisher.ready;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Number of messages waiting in the outgoing queue
|
|
229
|
-
*/
|
|
230
|
-
get pendingCount() {
|
|
231
|
-
return this.publisher.pendingCount;
|
|
232
|
-
}
|
|
233
221
|
post(e) {
|
|
234
222
|
const t = this.getTarget();
|
|
235
223
|
t !== null && t.postMessage({ ...e, _source: this.sourceId }, this.targetOrigin);
|
|
@@ -246,13 +234,15 @@ class Ze {
|
|
|
246
234
|
}
|
|
247
235
|
}
|
|
248
236
|
class We {
|
|
249
|
-
constructor(e) {
|
|
250
|
-
this.send = e;
|
|
237
|
+
constructor(e, t) {
|
|
238
|
+
this.send = e, this.instance = t;
|
|
251
239
|
}
|
|
252
240
|
send;
|
|
241
|
+
instance;
|
|
253
242
|
setEnabled(e) {
|
|
254
243
|
this.send({
|
|
255
244
|
type: c.ANNOTATION_TOGGLE,
|
|
245
|
+
instance: this.instance,
|
|
256
246
|
enabled: e
|
|
257
247
|
});
|
|
258
248
|
}
|
|
@@ -400,25 +390,25 @@ class Ke {
|
|
|
400
390
|
return e.defaultValue !== void 0 ? { ...i, defaultValue: e.defaultValue } : i;
|
|
401
391
|
}
|
|
402
392
|
}
|
|
403
|
-
const N = 4096,
|
|
393
|
+
const N = 4096, D = 16384, Xe = [1024, 256, 64], Je = 20, Y = ["timestamp", "level", "msg", "service", "trace_id", "span_id"];
|
|
404
394
|
function et(n) {
|
|
405
|
-
const e = new Date(n.timestamp).toLocaleTimeString("en-GB", { hour12: !1 }), t = n.level.toUpperCase().padEnd(5), i = n.trace_id?.slice(0, 8) ?? "--------", s = n.msg, o = Object.entries(n).filter(([r]) => !
|
|
395
|
+
const e = new Date(n.timestamp).toLocaleTimeString("en-GB", { hour12: !1 }), t = n.level.toUpperCase().padEnd(5), i = n.trace_id?.slice(0, 8) ?? "--------", s = n.msg, o = Object.entries(n).filter(([r]) => !Y.includes(r)).map(([r, a]) => `${r}=${L(a, N).line}`).join(" ");
|
|
406
396
|
return `${e} ${t} [${i}] ${s}${o ? " " + o : ""}`;
|
|
407
397
|
}
|
|
408
398
|
function tt(n) {
|
|
409
399
|
for (const s of [N, ...Xe]) {
|
|
410
400
|
const { line: o, truncated: r } = L(n, s);
|
|
411
401
|
if (!r) {
|
|
412
|
-
if (o.length <=
|
|
402
|
+
if (o.length <= D)
|
|
413
403
|
return o;
|
|
414
404
|
continue;
|
|
415
405
|
}
|
|
416
406
|
const { line: a } = L({ ...n, log_truncated: !0 }, s);
|
|
417
|
-
if (a.length <=
|
|
407
|
+
if (a.length <= D)
|
|
418
408
|
return a;
|
|
419
409
|
}
|
|
420
|
-
const e = Object.keys(n).filter((s) => !
|
|
421
|
-
return i.line.length <=
|
|
410
|
+
const e = Object.keys(n).filter((s) => !Y.includes(s)), t = { ...it(n, Y), log_truncated: !0, log_dropped_count: e.length }, i = L({ ...t, log_dropped_attrs: e.slice(0, Je) }, N);
|
|
411
|
+
return i.line.length <= D ? i.line : L(t, N).line;
|
|
422
412
|
}
|
|
423
413
|
function L(n, e) {
|
|
424
414
|
const t = [];
|
|
@@ -448,7 +438,7 @@ function st(n, e) {
|
|
|
448
438
|
const t = e ? et(n) : tt(n);
|
|
449
439
|
n.level === "error" ? console.error(t) : n.level === "warn" ? console.warn(t) : console.log(t);
|
|
450
440
|
}
|
|
451
|
-
function
|
|
441
|
+
function fe(n, e = 0) {
|
|
452
442
|
const t = {
|
|
453
443
|
name: n.name,
|
|
454
444
|
message: n.message
|
|
@@ -460,12 +450,12 @@ function pe(n, e = 0) {
|
|
|
460
450
|
const s = n[i];
|
|
461
451
|
s !== void 0 && (t[i] = s);
|
|
462
452
|
}
|
|
463
|
-
return n.cause !== void 0 && n.cause !== null && (t.cause = n.cause instanceof Error && e < 5 ?
|
|
453
|
+
return n.cause !== void 0 && n.cause !== null && (t.cause = n.cause instanceof Error && e < 5 ? fe(n.cause, e + 1) : String(n.cause)), t;
|
|
464
454
|
}
|
|
465
455
|
function ot(n) {
|
|
466
456
|
const e = {};
|
|
467
457
|
for (const [t, i] of Object.entries(n))
|
|
468
|
-
e[t] = i instanceof Error ?
|
|
458
|
+
e[t] = i instanceof Error ? fe(i) : i;
|
|
469
459
|
return e;
|
|
470
460
|
}
|
|
471
461
|
function rt() {
|
|
@@ -474,20 +464,20 @@ function rt() {
|
|
|
474
464
|
function at(n) {
|
|
475
465
|
return n.toISOString();
|
|
476
466
|
}
|
|
477
|
-
function
|
|
467
|
+
function ge() {
|
|
478
468
|
return typeof navigator > "u" ? "" : navigator.userAgent;
|
|
479
469
|
}
|
|
480
470
|
function lt() {
|
|
481
471
|
return typeof navigator > "u" ? !1 : navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
|
|
482
472
|
}
|
|
483
473
|
function ct() {
|
|
484
|
-
return /iPhone|iPad|iPod/i.test(
|
|
485
|
-
}
|
|
486
|
-
function dt() {
|
|
487
|
-
return /Android/i.test(fe());
|
|
474
|
+
return /iPhone|iPad|iPod/i.test(ge()) || lt();
|
|
488
475
|
}
|
|
489
476
|
function ut() {
|
|
490
|
-
return
|
|
477
|
+
return /Android/i.test(ge());
|
|
478
|
+
}
|
|
479
|
+
function dt() {
|
|
480
|
+
return ct() || ut();
|
|
491
481
|
}
|
|
492
482
|
class ht {
|
|
493
483
|
constructor(e) {
|
|
@@ -533,7 +523,7 @@ class ht {
|
|
|
533
523
|
this.log("error", e, t);
|
|
534
524
|
}
|
|
535
525
|
}
|
|
536
|
-
function
|
|
526
|
+
function be(n, e) {
|
|
537
527
|
const t = e?.isDev !== void 0 ? e.isDev : typeof process < "u" ? process.env.NODE_ENV !== "production" : !0;
|
|
538
528
|
return new ht({ service: n, isDev: t, traceProvider: e?.traceProvider });
|
|
539
529
|
}
|
|
@@ -541,7 +531,7 @@ function O(n) {
|
|
|
541
531
|
if (n !== void 0)
|
|
542
532
|
return typeof n == "object" && n !== null && !Array.isArray(n) && !(n instanceof Error) ? n : n instanceof Error ? { error: n.message } : { value: n };
|
|
543
533
|
}
|
|
544
|
-
function
|
|
534
|
+
function ve(n) {
|
|
545
535
|
return {
|
|
546
536
|
debug: (e, t) => n.debug(e, O(t)),
|
|
547
537
|
info: (e, t) => n.info(e, O(t)),
|
|
@@ -549,18 +539,19 @@ function be(n) {
|
|
|
549
539
|
error: (e, t) => n.error(e, O(t))
|
|
550
540
|
};
|
|
551
541
|
}
|
|
552
|
-
let
|
|
542
|
+
let ye = !1, C = ve(be("client", { isDev: !1 }));
|
|
553
543
|
function mt() {
|
|
554
|
-
|
|
544
|
+
ye = !0, C = ve(be("client", { isDev: !0 }));
|
|
555
545
|
}
|
|
556
|
-
function
|
|
557
|
-
return
|
|
546
|
+
function gs() {
|
|
547
|
+
return ye;
|
|
558
548
|
}
|
|
559
549
|
class pt {
|
|
560
|
-
constructor(e, t) {
|
|
561
|
-
this.send = e, this.onMutationFailed =
|
|
550
|
+
constructor(e, t, i) {
|
|
551
|
+
this.send = e, this.instance = t, this.onMutationFailed = i;
|
|
562
552
|
}
|
|
563
553
|
send;
|
|
554
|
+
instance;
|
|
564
555
|
onMutationFailed;
|
|
565
556
|
registry;
|
|
566
557
|
pendingCallbacks = [];
|
|
@@ -627,12 +618,10 @@ class pt {
|
|
|
627
618
|
getSelection() {
|
|
628
619
|
return this.registry?.getSelection() ?? {};
|
|
629
620
|
}
|
|
630
|
-
get hasMapping() {
|
|
631
|
-
return this.registry !== void 0;
|
|
632
|
-
}
|
|
633
621
|
sendMutation(e, t, i = !1) {
|
|
634
622
|
const s = {
|
|
635
623
|
type: c.MUTATION,
|
|
624
|
+
instance: this.instance,
|
|
636
625
|
mutations: e,
|
|
637
626
|
isInitial: t,
|
|
638
627
|
...i && { transient: !0 }
|
|
@@ -822,13 +811,13 @@ function vt(n, e) {
|
|
|
822
811
|
const t = n.filter((o) => yt(o, e));
|
|
823
812
|
if (t.length === 0)
|
|
824
813
|
return;
|
|
825
|
-
const i = Math.max(...t.map(
|
|
814
|
+
const i = Math.max(...t.map(ie)), s = t.filter((o) => ie(o) === i);
|
|
826
815
|
return s.length === 1 ? s[0] : void 0;
|
|
827
816
|
}
|
|
828
817
|
function yt(n, e) {
|
|
829
818
|
return Object.entries(n.attributes).every(([t, i]) => e[t] === i);
|
|
830
819
|
}
|
|
831
|
-
function
|
|
820
|
+
function ie(n) {
|
|
832
821
|
return Object.keys(n.attributes).length;
|
|
833
822
|
}
|
|
834
823
|
class St {
|
|
@@ -953,11 +942,12 @@ class St {
|
|
|
953
942
|
}
|
|
954
943
|
}
|
|
955
944
|
class wt {
|
|
956
|
-
constructor(e, t) {
|
|
957
|
-
this.send = e, this.dispatch = t;
|
|
945
|
+
constructor(e, t, i) {
|
|
946
|
+
this.send = e, this.dispatch = t, this.instance = i;
|
|
958
947
|
}
|
|
959
948
|
send;
|
|
960
949
|
dispatch;
|
|
950
|
+
instance;
|
|
961
951
|
focused = null;
|
|
962
952
|
attributes = [];
|
|
963
953
|
changeCallbacks = [];
|
|
@@ -974,11 +964,16 @@ class wt {
|
|
|
974
964
|
throw g.invalidParameter(
|
|
975
965
|
`set() requires a non-empty component name, got ${String(e)}`
|
|
976
966
|
);
|
|
977
|
-
this.send({
|
|
967
|
+
this.send({
|
|
968
|
+
type: c.FOCUS,
|
|
969
|
+
instance: this.instance,
|
|
970
|
+
action: te.FOCUS,
|
|
971
|
+
component: e
|
|
972
|
+
});
|
|
978
973
|
}
|
|
979
974
|
/** Return to the overview — unfocus the current component. */
|
|
980
975
|
clear() {
|
|
981
|
-
this.send({ type: c.FOCUS, action:
|
|
976
|
+
this.send({ type: c.FOCUS, instance: this.instance, action: te.UNFOCUS });
|
|
982
977
|
}
|
|
983
978
|
/**
|
|
984
979
|
* Subscribe to focus changes. The callback fires with the focus state when a
|
|
@@ -1049,8 +1044,8 @@ class Ct {
|
|
|
1049
1044
|
}), this.developedCallbacks.clear(), this.errorCallbacks.clear());
|
|
1050
1045
|
}
|
|
1051
1046
|
}
|
|
1052
|
-
const
|
|
1053
|
-
class
|
|
1047
|
+
const se = 3e4;
|
|
1048
|
+
class kt {
|
|
1054
1049
|
constructor(e) {
|
|
1055
1050
|
this.send = e;
|
|
1056
1051
|
}
|
|
@@ -1068,10 +1063,10 @@ class _t {
|
|
|
1068
1063
|
this.validateFilename(e), C.debug("Taking snapshot", { filename: e });
|
|
1069
1064
|
const t = new Ct(e), i = setTimeout(() => {
|
|
1070
1065
|
this.pendingPhotos.delete(e), C.warn("Snapshot timed out", { filename: e }), t.fail(new g(
|
|
1071
|
-
`Snapshot timed out: the viewer did not respond within ${
|
|
1066
|
+
`Snapshot timed out: the viewer did not respond within ${se}ms`,
|
|
1072
1067
|
A.SNAPSHOT_FAILED
|
|
1073
1068
|
));
|
|
1074
|
-
},
|
|
1069
|
+
}, se);
|
|
1075
1070
|
return this.pendingPhotos.set(e, { photo: t, timeout: i }), this.send({
|
|
1076
1071
|
type: c.SNAPSHOT,
|
|
1077
1072
|
filename: e
|
|
@@ -1137,7 +1132,7 @@ class _t {
|
|
|
1137
1132
|
);
|
|
1138
1133
|
}
|
|
1139
1134
|
}
|
|
1140
|
-
class
|
|
1135
|
+
class _t {
|
|
1141
1136
|
container = null;
|
|
1142
1137
|
attach(e) {
|
|
1143
1138
|
this.container = e;
|
|
@@ -1158,22 +1153,22 @@ class kt {
|
|
|
1158
1153
|
};
|
|
1159
1154
|
}
|
|
1160
1155
|
}
|
|
1161
|
-
const At = {}, Et = "en",
|
|
1156
|
+
const At = {}, Et = "en", Se = (
|
|
1162
1157
|
/** @type {const} */
|
|
1163
1158
|
["en", "nl", "de"]
|
|
1164
|
-
),
|
|
1159
|
+
), X = [
|
|
1165
1160
|
"baseLocale"
|
|
1166
|
-
],
|
|
1161
|
+
], oe = [], Q = typeof window > "u";
|
|
1167
1162
|
globalThis.__paraglide = /** @type {any} */
|
|
1168
1163
|
globalThis.__paraglide ?? {};
|
|
1169
1164
|
globalThis.__paraglide.ssr = /** @type {any} */
|
|
1170
1165
|
globalThis.__paraglide.ssr ?? {};
|
|
1171
|
-
let
|
|
1172
|
-
let n =
|
|
1173
|
-
!
|
|
1166
|
+
let re = !1, m = () => {
|
|
1167
|
+
let n = X;
|
|
1168
|
+
!Q && typeof window < "u" && window.location?.href && (n = Ce(window.location.href));
|
|
1174
1169
|
const e = xt(n);
|
|
1175
1170
|
if (e)
|
|
1176
|
-
return
|
|
1171
|
+
return re || (re = !0, we(e, { reload: !1 })), e;
|
|
1177
1172
|
throw new Error("No locale found. Read the docs https://paraglidejs.com/errors#no-locale-found");
|
|
1178
1173
|
};
|
|
1179
1174
|
function xt(n, e) {
|
|
@@ -1181,7 +1176,7 @@ function xt(n, e) {
|
|
|
1181
1176
|
for (const i of n) {
|
|
1182
1177
|
if (i === "baseLocale")
|
|
1183
1178
|
t = Et;
|
|
1184
|
-
else if (
|
|
1179
|
+
else if (ke(i) && M.has(i)) {
|
|
1185
1180
|
const o = M.get(i);
|
|
1186
1181
|
if (o) {
|
|
1187
1182
|
const r = o.getLocale();
|
|
@@ -1191,7 +1186,7 @@ function xt(n, e) {
|
|
|
1191
1186
|
return It(r);
|
|
1192
1187
|
}
|
|
1193
1188
|
}
|
|
1194
|
-
const s =
|
|
1189
|
+
const s = J(t);
|
|
1195
1190
|
if (s)
|
|
1196
1191
|
return s;
|
|
1197
1192
|
}
|
|
@@ -1199,7 +1194,7 @@ function xt(n, e) {
|
|
|
1199
1194
|
const Tt = (n) => {
|
|
1200
1195
|
window.location.reload();
|
|
1201
1196
|
};
|
|
1202
|
-
let
|
|
1197
|
+
let we = (n, e) => {
|
|
1203
1198
|
const t = {
|
|
1204
1199
|
reload: !0,
|
|
1205
1200
|
...e
|
|
@@ -1210,22 +1205,22 @@ let Se = (n, e) => {
|
|
|
1210
1205
|
} catch {
|
|
1211
1206
|
}
|
|
1212
1207
|
const s = [];
|
|
1213
|
-
let o =
|
|
1214
|
-
!
|
|
1208
|
+
let o = X;
|
|
1209
|
+
!Q && typeof window < "u" && window.location?.href && (o = Ce(window.location.href));
|
|
1215
1210
|
for (const a of o)
|
|
1216
|
-
if (a !== "baseLocale" &&
|
|
1217
|
-
const
|
|
1218
|
-
if (
|
|
1219
|
-
let
|
|
1220
|
-
|
|
1211
|
+
if (a !== "baseLocale" && ke(a) && M.has(a)) {
|
|
1212
|
+
const u = M.get(a);
|
|
1213
|
+
if (u) {
|
|
1214
|
+
let d = u.setLocale(n);
|
|
1215
|
+
d instanceof Promise && (d = d.catch((f) => {
|
|
1221
1216
|
throw new Error(`Custom strategy "${a}" setLocale failed.`, {
|
|
1222
1217
|
cause: f
|
|
1223
1218
|
});
|
|
1224
|
-
}), s.push(
|
|
1219
|
+
}), s.push(d));
|
|
1225
1220
|
}
|
|
1226
1221
|
}
|
|
1227
1222
|
const r = () => {
|
|
1228
|
-
!
|
|
1223
|
+
!Q && t.reload && window.location && n !== i && Tt();
|
|
1229
1224
|
};
|
|
1230
1225
|
if (s.length)
|
|
1231
1226
|
return Promise.all(s).then(() => {
|
|
@@ -1233,38 +1228,38 @@ let Se = (n, e) => {
|
|
|
1233
1228
|
});
|
|
1234
1229
|
r();
|
|
1235
1230
|
}, Rt = () => typeof window < "u" ? window.location.origin : "http://fallback.com";
|
|
1236
|
-
function
|
|
1231
|
+
function J(n) {
|
|
1237
1232
|
if (typeof n != "string")
|
|
1238
1233
|
return;
|
|
1239
1234
|
const e = n.toLowerCase();
|
|
1240
|
-
for (const t of
|
|
1235
|
+
for (const t of Se)
|
|
1241
1236
|
if (t.toLowerCase() === e)
|
|
1242
1237
|
return t;
|
|
1243
1238
|
}
|
|
1244
1239
|
function It(n) {
|
|
1245
|
-
const e =
|
|
1240
|
+
const e = J(n);
|
|
1246
1241
|
if (e)
|
|
1247
1242
|
return e;
|
|
1248
|
-
throw new Error(`Invalid locale: ${n}. Expected one of: ${
|
|
1243
|
+
throw new Error(`Invalid locale: ${n}. Expected one of: ${Se.join(", ")}`);
|
|
1249
1244
|
}
|
|
1250
1245
|
function Lt(n) {
|
|
1251
1246
|
return Ot(n);
|
|
1252
1247
|
}
|
|
1253
1248
|
function Ot(n) {
|
|
1254
1249
|
const e = typeof n == "string" ? new URL(n, Rt()) : new URL(n), t = e.pathname.split("/").filter(Boolean);
|
|
1255
|
-
return t.length > 0 &&
|
|
1250
|
+
return t.length > 0 && J(t[0]) && (e.pathname = "/" + t.slice(1).join("/")), e;
|
|
1256
1251
|
}
|
|
1257
|
-
let
|
|
1252
|
+
let ae, le;
|
|
1258
1253
|
function Nt(n) {
|
|
1259
|
-
if (
|
|
1254
|
+
if (oe.length === 0)
|
|
1260
1255
|
return;
|
|
1261
1256
|
const e = typeof n == "string" ? n : n.href;
|
|
1262
|
-
if (
|
|
1263
|
-
return
|
|
1257
|
+
if (ae === e)
|
|
1258
|
+
return le;
|
|
1264
1259
|
const t = new URL(e, "http://example.com"), i = Lt(t), s = i.href === t.href ? [t] : [t, i];
|
|
1265
1260
|
let o;
|
|
1266
1261
|
for (const r of s) {
|
|
1267
|
-
for (const a of
|
|
1262
|
+
for (const a of oe)
|
|
1268
1263
|
if (new At(a.match, r.href).exec(r.href)) {
|
|
1269
1264
|
o = a;
|
|
1270
1265
|
break;
|
|
@@ -1272,14 +1267,14 @@ function Nt(n) {
|
|
|
1272
1267
|
if (o)
|
|
1273
1268
|
break;
|
|
1274
1269
|
}
|
|
1275
|
-
return
|
|
1270
|
+
return ae = e, le = o, o;
|
|
1276
1271
|
}
|
|
1277
|
-
function
|
|
1272
|
+
function Ce(n) {
|
|
1278
1273
|
const e = Nt(n);
|
|
1279
|
-
return e && e.exclude !== !0 && Array.isArray(e.strategy) ? e.strategy :
|
|
1274
|
+
return e && e.exclude !== !0 && Array.isArray(e.strategy) ? e.strategy : X;
|
|
1280
1275
|
}
|
|
1281
1276
|
const M = /* @__PURE__ */ new Map();
|
|
1282
|
-
function
|
|
1277
|
+
function ke(n) {
|
|
1283
1278
|
return typeof n == "string" && /^custom-[A-Za-z0-9_-]+$/.test(n);
|
|
1284
1279
|
}
|
|
1285
1280
|
const Mt = (
|
|
@@ -1306,13 +1301,13 @@ const Mt = (
|
|
|
1306
1301
|
const t = e.locale ?? m();
|
|
1307
1302
|
return t === "nl" ? zt() : t === "de" ? Pt() : Mt();
|
|
1308
1303
|
})
|
|
1309
|
-
),
|
|
1304
|
+
), Dt = (
|
|
1310
1305
|
/** @type {(inputs: Controls_Qr_Modaltitle1Inputs) => LocalizedString} */
|
|
1311
1306
|
() => (
|
|
1312
1307
|
/** @type {LocalizedString} */
|
|
1313
1308
|
"Scan to view in AR"
|
|
1314
1309
|
)
|
|
1315
|
-
),
|
|
1310
|
+
), $t = (
|
|
1316
1311
|
/** @type {(inputs: Controls_Qr_Modaltitle1Inputs) => LocalizedString} */
|
|
1317
1312
|
() => (
|
|
1318
1313
|
/** @type {LocalizedString} */
|
|
@@ -1328,7 +1323,7 @@ const Mt = (
|
|
|
1328
1323
|
/** @type {((inputs?: Controls_Qr_Modaltitle1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Qr_Modaltitle1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1329
1324
|
((n = {}, e = {}) => {
|
|
1330
1325
|
const t = e.locale ?? m();
|
|
1331
|
-
return t === "nl" ?
|
|
1326
|
+
return t === "nl" ? $t() : t === "de" ? Ut() : Dt();
|
|
1332
1327
|
})
|
|
1333
1328
|
), Vt = (
|
|
1334
1329
|
/** @type {(inputs: Controls_Qr_Modaldescription1Inputs) => LocalizedString} */
|
|
@@ -1444,350 +1439,326 @@ const Mt = (
|
|
|
1444
1439
|
/** @type {LocalizedString} */
|
|
1445
1440
|
"Herunterladen"
|
|
1446
1441
|
)
|
|
1447
|
-
),
|
|
1442
|
+
), ln = (
|
|
1448
1443
|
/** @type {((inputs?: Loading_Downloadingshort1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Loading_Downloadingshort1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1449
1444
|
((n = {}, e = {}) => {
|
|
1450
1445
|
const t = e.locale ?? m();
|
|
1451
1446
|
return t === "nl" ? rn() : t === "de" ? an() : on();
|
|
1452
1447
|
})
|
|
1453
|
-
), ln = (
|
|
1454
|
-
/** @type {(inputs: Loading_RenderingInputs) => LocalizedString} */
|
|
1455
|
-
() => (
|
|
1456
|
-
/** @type {LocalizedString} */
|
|
1457
|
-
"Rendering"
|
|
1458
|
-
)
|
|
1459
1448
|
), cn = (
|
|
1460
|
-
/** @type {(inputs: Loading_RenderingInputs) => LocalizedString} */
|
|
1461
|
-
() => (
|
|
1462
|
-
/** @type {LocalizedString} */
|
|
1463
|
-
"Renderen"
|
|
1464
|
-
)
|
|
1465
|
-
), dn = (
|
|
1466
|
-
/** @type {(inputs: Loading_RenderingInputs) => LocalizedString} */
|
|
1467
|
-
() => (
|
|
1468
|
-
/** @type {LocalizedString} */
|
|
1469
|
-
"Rendern"
|
|
1470
|
-
)
|
|
1471
|
-
), un = (
|
|
1472
|
-
/** @type {((inputs?: Loading_RenderingInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Loading_RenderingInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1473
|
-
((n = {}, e = {}) => {
|
|
1474
|
-
const t = e.locale ?? m();
|
|
1475
|
-
return t === "nl" ? cn() : t === "de" ? dn() : ln();
|
|
1476
|
-
})
|
|
1477
|
-
), hn = (
|
|
1478
1449
|
/** @type {(inputs: Controls_Screenshot_Buttonlabel1Inputs) => LocalizedString} */
|
|
1479
1450
|
() => (
|
|
1480
1451
|
/** @type {LocalizedString} */
|
|
1481
1452
|
"Screenshot"
|
|
1482
1453
|
)
|
|
1483
|
-
),
|
|
1454
|
+
), un = (
|
|
1484
1455
|
/** @type {(inputs: Controls_Screenshot_Buttonlabel1Inputs) => LocalizedString} */
|
|
1485
1456
|
() => (
|
|
1486
1457
|
/** @type {LocalizedString} */
|
|
1487
1458
|
"Screenshot"
|
|
1488
1459
|
)
|
|
1489
|
-
),
|
|
1460
|
+
), dn = (
|
|
1490
1461
|
/** @type {(inputs: Controls_Screenshot_Buttonlabel1Inputs) => LocalizedString} */
|
|
1491
1462
|
() => (
|
|
1492
1463
|
/** @type {LocalizedString} */
|
|
1493
1464
|
"Screenshot"
|
|
1494
1465
|
)
|
|
1495
|
-
),
|
|
1466
|
+
), hn = (
|
|
1496
1467
|
/** @type {((inputs?: Controls_Screenshot_Buttonlabel1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Screenshot_Buttonlabel1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1497
1468
|
((n = {}, e = {}) => {
|
|
1498
1469
|
const t = e.locale ?? m();
|
|
1499
|
-
return t === "nl" ?
|
|
1470
|
+
return t === "nl" ? un() : t === "de" ? dn() : cn();
|
|
1500
1471
|
})
|
|
1501
|
-
),
|
|
1472
|
+
), mn = (
|
|
1502
1473
|
/** @type {(inputs: Controls_Configurator_OpenInputs) => LocalizedString} */
|
|
1503
1474
|
() => (
|
|
1504
1475
|
/** @type {LocalizedString} */
|
|
1505
1476
|
"Configure"
|
|
1506
1477
|
)
|
|
1507
|
-
),
|
|
1478
|
+
), pn = (
|
|
1508
1479
|
/** @type {(inputs: Controls_Configurator_OpenInputs) => LocalizedString} */
|
|
1509
1480
|
() => (
|
|
1510
1481
|
/** @type {LocalizedString} */
|
|
1511
1482
|
"Configureren"
|
|
1512
1483
|
)
|
|
1513
|
-
),
|
|
1484
|
+
), fn = (
|
|
1514
1485
|
/** @type {(inputs: Controls_Configurator_OpenInputs) => LocalizedString} */
|
|
1515
1486
|
() => (
|
|
1516
1487
|
/** @type {LocalizedString} */
|
|
1517
1488
|
"Konfigurieren"
|
|
1518
1489
|
)
|
|
1519
|
-
),
|
|
1490
|
+
), gn = (
|
|
1520
1491
|
/** @type {((inputs?: Controls_Configurator_OpenInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Configurator_OpenInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1521
1492
|
((n = {}, e = {}) => {
|
|
1522
1493
|
const t = e.locale ?? m();
|
|
1523
|
-
return t === "nl" ?
|
|
1494
|
+
return t === "nl" ? pn() : t === "de" ? fn() : mn();
|
|
1524
1495
|
})
|
|
1525
|
-
),
|
|
1496
|
+
), bn = (
|
|
1526
1497
|
/** @type {(inputs: Controls_Configurator_CloseInputs) => LocalizedString} */
|
|
1527
1498
|
() => (
|
|
1528
1499
|
/** @type {LocalizedString} */
|
|
1529
1500
|
"Close"
|
|
1530
1501
|
)
|
|
1531
|
-
),
|
|
1502
|
+
), vn = (
|
|
1532
1503
|
/** @type {(inputs: Controls_Configurator_CloseInputs) => LocalizedString} */
|
|
1533
1504
|
() => (
|
|
1534
1505
|
/** @type {LocalizedString} */
|
|
1535
1506
|
"Sluiten"
|
|
1536
1507
|
)
|
|
1537
|
-
),
|
|
1508
|
+
), yn = (
|
|
1538
1509
|
/** @type {(inputs: Controls_Configurator_CloseInputs) => LocalizedString} */
|
|
1539
1510
|
() => (
|
|
1540
1511
|
/** @type {LocalizedString} */
|
|
1541
1512
|
"Schließen"
|
|
1542
1513
|
)
|
|
1543
|
-
),
|
|
1514
|
+
), Sn = (
|
|
1544
1515
|
/** @type {((inputs?: Controls_Configurator_CloseInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Configurator_CloseInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1545
1516
|
((n = {}, e = {}) => {
|
|
1546
1517
|
const t = e.locale ?? m();
|
|
1547
|
-
return t === "nl" ?
|
|
1518
|
+
return t === "nl" ? vn() : t === "de" ? yn() : bn();
|
|
1548
1519
|
})
|
|
1549
|
-
),
|
|
1520
|
+
), wn = (
|
|
1550
1521
|
/** @type {(inputs: Controls_Camera_ResetInputs) => LocalizedString} */
|
|
1551
1522
|
() => (
|
|
1552
1523
|
/** @type {LocalizedString} */
|
|
1553
1524
|
"Reset camera"
|
|
1554
1525
|
)
|
|
1555
|
-
),
|
|
1526
|
+
), Cn = (
|
|
1556
1527
|
/** @type {(inputs: Controls_Camera_ResetInputs) => LocalizedString} */
|
|
1557
1528
|
() => (
|
|
1558
1529
|
/** @type {LocalizedString} */
|
|
1559
1530
|
"Camera resetten"
|
|
1560
1531
|
)
|
|
1561
|
-
),
|
|
1532
|
+
), kn = (
|
|
1562
1533
|
/** @type {(inputs: Controls_Camera_ResetInputs) => LocalizedString} */
|
|
1563
1534
|
() => (
|
|
1564
1535
|
/** @type {LocalizedString} */
|
|
1565
1536
|
"Kamera zurücksetzen"
|
|
1566
1537
|
)
|
|
1567
|
-
),
|
|
1538
|
+
), _n = (
|
|
1568
1539
|
/** @type {((inputs?: Controls_Camera_ResetInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_ResetInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1569
1540
|
((n = {}, e = {}) => {
|
|
1570
1541
|
const t = e.locale ?? m();
|
|
1571
|
-
return t === "nl" ?
|
|
1542
|
+
return t === "nl" ? Cn() : t === "de" ? kn() : wn();
|
|
1572
1543
|
})
|
|
1573
|
-
),
|
|
1544
|
+
), An = (
|
|
1574
1545
|
/** @type {(inputs: Controls_Camera_Zoomin1Inputs) => LocalizedString} */
|
|
1575
1546
|
() => (
|
|
1576
1547
|
/** @type {LocalizedString} */
|
|
1577
1548
|
"Zoom in"
|
|
1578
1549
|
)
|
|
1579
|
-
),
|
|
1550
|
+
), En = (
|
|
1580
1551
|
/** @type {(inputs: Controls_Camera_Zoomin1Inputs) => LocalizedString} */
|
|
1581
1552
|
() => (
|
|
1582
1553
|
/** @type {LocalizedString} */
|
|
1583
1554
|
"Inzoomen"
|
|
1584
1555
|
)
|
|
1585
|
-
),
|
|
1556
|
+
), xn = (
|
|
1586
1557
|
/** @type {(inputs: Controls_Camera_Zoomin1Inputs) => LocalizedString} */
|
|
1587
1558
|
() => (
|
|
1588
1559
|
/** @type {LocalizedString} */
|
|
1589
1560
|
"Hineinzoomen"
|
|
1590
1561
|
)
|
|
1591
|
-
),
|
|
1562
|
+
), Tn = (
|
|
1592
1563
|
/** @type {((inputs?: Controls_Camera_Zoomin1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Zoomin1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1593
1564
|
((n = {}, e = {}) => {
|
|
1594
1565
|
const t = e.locale ?? m();
|
|
1595
|
-
return t === "nl" ?
|
|
1566
|
+
return t === "nl" ? En() : t === "de" ? xn() : An();
|
|
1596
1567
|
})
|
|
1597
|
-
),
|
|
1568
|
+
), Rn = (
|
|
1598
1569
|
/** @type {(inputs: Controls_Camera_Zoomout1Inputs) => LocalizedString} */
|
|
1599
1570
|
() => (
|
|
1600
1571
|
/** @type {LocalizedString} */
|
|
1601
1572
|
"Zoom out"
|
|
1602
1573
|
)
|
|
1603
|
-
),
|
|
1574
|
+
), In = (
|
|
1604
1575
|
/** @type {(inputs: Controls_Camera_Zoomout1Inputs) => LocalizedString} */
|
|
1605
1576
|
() => (
|
|
1606
1577
|
/** @type {LocalizedString} */
|
|
1607
1578
|
"Uitzoomen"
|
|
1608
1579
|
)
|
|
1609
|
-
),
|
|
1580
|
+
), Ln = (
|
|
1610
1581
|
/** @type {(inputs: Controls_Camera_Zoomout1Inputs) => LocalizedString} */
|
|
1611
1582
|
() => (
|
|
1612
1583
|
/** @type {LocalizedString} */
|
|
1613
1584
|
"Herauszoomen"
|
|
1614
1585
|
)
|
|
1615
|
-
),
|
|
1586
|
+
), On = (
|
|
1616
1587
|
/** @type {((inputs?: Controls_Camera_Zoomout1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Zoomout1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1617
1588
|
((n = {}, e = {}) => {
|
|
1618
1589
|
const t = e.locale ?? m();
|
|
1619
|
-
return t === "nl" ?
|
|
1590
|
+
return t === "nl" ? In() : t === "de" ? Ln() : Rn();
|
|
1620
1591
|
})
|
|
1621
|
-
),
|
|
1592
|
+
), Nn = (
|
|
1622
1593
|
/** @type {(inputs: Controls_Camera_Rotateleft1Inputs) => LocalizedString} */
|
|
1623
1594
|
() => (
|
|
1624
1595
|
/** @type {LocalizedString} */
|
|
1625
1596
|
"Rotate left"
|
|
1626
1597
|
)
|
|
1627
|
-
),
|
|
1598
|
+
), Mn = (
|
|
1628
1599
|
/** @type {(inputs: Controls_Camera_Rotateleft1Inputs) => LocalizedString} */
|
|
1629
1600
|
() => (
|
|
1630
1601
|
/** @type {LocalizedString} */
|
|
1631
1602
|
"Naar links draaien"
|
|
1632
1603
|
)
|
|
1633
|
-
),
|
|
1604
|
+
), zn = (
|
|
1634
1605
|
/** @type {(inputs: Controls_Camera_Rotateleft1Inputs) => LocalizedString} */
|
|
1635
1606
|
() => (
|
|
1636
1607
|
/** @type {LocalizedString} */
|
|
1637
1608
|
"Nach links drehen"
|
|
1638
1609
|
)
|
|
1639
|
-
),
|
|
1610
|
+
), Pn = (
|
|
1640
1611
|
/** @type {((inputs?: Controls_Camera_Rotateleft1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Rotateleft1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1641
1612
|
((n = {}, e = {}) => {
|
|
1642
1613
|
const t = e.locale ?? m();
|
|
1643
|
-
return t === "nl" ?
|
|
1614
|
+
return t === "nl" ? Mn() : t === "de" ? zn() : Nn();
|
|
1644
1615
|
})
|
|
1645
|
-
),
|
|
1616
|
+
), Fn = (
|
|
1646
1617
|
/** @type {(inputs: Controls_Camera_Rotateright1Inputs) => LocalizedString} */
|
|
1647
1618
|
() => (
|
|
1648
1619
|
/** @type {LocalizedString} */
|
|
1649
1620
|
"Rotate right"
|
|
1650
1621
|
)
|
|
1651
|
-
),
|
|
1622
|
+
), Dn = (
|
|
1652
1623
|
/** @type {(inputs: Controls_Camera_Rotateright1Inputs) => LocalizedString} */
|
|
1653
1624
|
() => (
|
|
1654
1625
|
/** @type {LocalizedString} */
|
|
1655
1626
|
"Naar rechts draaien"
|
|
1656
1627
|
)
|
|
1657
|
-
),
|
|
1628
|
+
), $n = (
|
|
1658
1629
|
/** @type {(inputs: Controls_Camera_Rotateright1Inputs) => LocalizedString} */
|
|
1659
1630
|
() => (
|
|
1660
1631
|
/** @type {LocalizedString} */
|
|
1661
1632
|
"Nach rechts drehen"
|
|
1662
1633
|
)
|
|
1663
|
-
),
|
|
1634
|
+
), Un = (
|
|
1664
1635
|
/** @type {((inputs?: Controls_Camera_Rotateright1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Rotateright1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1665
1636
|
((n = {}, e = {}) => {
|
|
1666
1637
|
const t = e.locale ?? m();
|
|
1667
|
-
return t === "nl" ?
|
|
1638
|
+
return t === "nl" ? Dn() : t === "de" ? $n() : Fn();
|
|
1668
1639
|
})
|
|
1669
|
-
),
|
|
1640
|
+
), Bn = (
|
|
1670
1641
|
/** @type {(inputs: Controls_Camera_Tiltup1Inputs) => LocalizedString} */
|
|
1671
1642
|
() => (
|
|
1672
1643
|
/** @type {LocalizedString} */
|
|
1673
1644
|
"Tilt up"
|
|
1674
1645
|
)
|
|
1675
|
-
),
|
|
1646
|
+
), Vn = (
|
|
1676
1647
|
/** @type {(inputs: Controls_Camera_Tiltup1Inputs) => LocalizedString} */
|
|
1677
1648
|
() => (
|
|
1678
1649
|
/** @type {LocalizedString} */
|
|
1679
1650
|
"Omhoog kantelen"
|
|
1680
1651
|
)
|
|
1681
|
-
),
|
|
1652
|
+
), jn = (
|
|
1682
1653
|
/** @type {(inputs: Controls_Camera_Tiltup1Inputs) => LocalizedString} */
|
|
1683
1654
|
() => (
|
|
1684
1655
|
/** @type {LocalizedString} */
|
|
1685
1656
|
"Nach oben kippen"
|
|
1686
1657
|
)
|
|
1687
|
-
),
|
|
1658
|
+
), Hn = (
|
|
1688
1659
|
/** @type {((inputs?: Controls_Camera_Tiltup1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Tiltup1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1689
1660
|
((n = {}, e = {}) => {
|
|
1690
1661
|
const t = e.locale ?? m();
|
|
1691
|
-
return t === "nl" ?
|
|
1662
|
+
return t === "nl" ? Vn() : t === "de" ? jn() : Bn();
|
|
1692
1663
|
})
|
|
1693
|
-
),
|
|
1664
|
+
), qn = (
|
|
1694
1665
|
/** @type {(inputs: Controls_Camera_Tiltdown1Inputs) => LocalizedString} */
|
|
1695
1666
|
() => (
|
|
1696
1667
|
/** @type {LocalizedString} */
|
|
1697
1668
|
"Tilt down"
|
|
1698
1669
|
)
|
|
1699
|
-
),
|
|
1670
|
+
), Gn = (
|
|
1700
1671
|
/** @type {(inputs: Controls_Camera_Tiltdown1Inputs) => LocalizedString} */
|
|
1701
1672
|
() => (
|
|
1702
1673
|
/** @type {LocalizedString} */
|
|
1703
1674
|
"Omlaag kantelen"
|
|
1704
1675
|
)
|
|
1705
|
-
),
|
|
1676
|
+
), Zn = (
|
|
1706
1677
|
/** @type {(inputs: Controls_Camera_Tiltdown1Inputs) => LocalizedString} */
|
|
1707
1678
|
() => (
|
|
1708
1679
|
/** @type {LocalizedString} */
|
|
1709
1680
|
"Nach unten kippen"
|
|
1710
1681
|
)
|
|
1711
|
-
),
|
|
1682
|
+
), Wn = (
|
|
1712
1683
|
/** @type {((inputs?: Controls_Camera_Tiltdown1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Tiltdown1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1713
1684
|
((n = {}, e = {}) => {
|
|
1714
1685
|
const t = e.locale ?? m();
|
|
1715
|
-
return t === "nl" ?
|
|
1686
|
+
return t === "nl" ? Gn() : t === "de" ? Zn() : qn();
|
|
1716
1687
|
})
|
|
1717
|
-
),
|
|
1688
|
+
), Yn = (
|
|
1718
1689
|
/** @type {(inputs: Commerce_Submit_BusyInputs) => LocalizedString} */
|
|
1719
1690
|
() => (
|
|
1720
1691
|
/** @type {LocalizedString} */
|
|
1721
1692
|
"Working…"
|
|
1722
1693
|
)
|
|
1723
|
-
),
|
|
1694
|
+
), Qn = (
|
|
1724
1695
|
/** @type {(inputs: Commerce_Submit_BusyInputs) => LocalizedString} */
|
|
1725
1696
|
() => (
|
|
1726
1697
|
/** @type {LocalizedString} */
|
|
1727
1698
|
"Bezig…"
|
|
1728
1699
|
)
|
|
1729
|
-
),
|
|
1700
|
+
), Kn = (
|
|
1730
1701
|
/** @type {(inputs: Commerce_Submit_BusyInputs) => LocalizedString} */
|
|
1731
1702
|
() => (
|
|
1732
1703
|
/** @type {LocalizedString} */
|
|
1733
1704
|
"Läuft…"
|
|
1734
1705
|
)
|
|
1735
|
-
),
|
|
1706
|
+
), Xn = (
|
|
1736
1707
|
/** @type {((inputs?: Commerce_Submit_BusyInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Commerce_Submit_BusyInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1737
1708
|
((n = {}, e = {}) => {
|
|
1738
1709
|
const t = e.locale ?? m();
|
|
1739
|
-
return t === "nl" ?
|
|
1710
|
+
return t === "nl" ? Qn() : t === "de" ? Kn() : Yn();
|
|
1740
1711
|
})
|
|
1741
|
-
),
|
|
1712
|
+
), Jn = (
|
|
1742
1713
|
/** @type {(inputs: Commerce_Submit_SuccessInputs) => LocalizedString} */
|
|
1743
1714
|
() => (
|
|
1744
1715
|
/** @type {LocalizedString} */
|
|
1745
1716
|
"Done"
|
|
1746
1717
|
)
|
|
1747
|
-
),
|
|
1718
|
+
), ei = (
|
|
1748
1719
|
/** @type {(inputs: Commerce_Submit_SuccessInputs) => LocalizedString} */
|
|
1749
1720
|
() => (
|
|
1750
1721
|
/** @type {LocalizedString} */
|
|
1751
1722
|
"Gelukt"
|
|
1752
1723
|
)
|
|
1753
|
-
),
|
|
1724
|
+
), ti = (
|
|
1754
1725
|
/** @type {(inputs: Commerce_Submit_SuccessInputs) => LocalizedString} */
|
|
1755
1726
|
() => (
|
|
1756
1727
|
/** @type {LocalizedString} */
|
|
1757
1728
|
"Fertig"
|
|
1758
1729
|
)
|
|
1759
|
-
),
|
|
1730
|
+
), ni = (
|
|
1760
1731
|
/** @type {((inputs?: Commerce_Submit_SuccessInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Commerce_Submit_SuccessInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1761
1732
|
((n = {}, e = {}) => {
|
|
1762
1733
|
const t = e.locale ?? m();
|
|
1763
|
-
return t === "nl" ?
|
|
1734
|
+
return t === "nl" ? ei() : t === "de" ? ti() : Jn();
|
|
1764
1735
|
})
|
|
1765
|
-
),
|
|
1736
|
+
), ii = (
|
|
1766
1737
|
/** @type {(inputs: Commerce_Submit_FailedInputs) => LocalizedString} */
|
|
1767
1738
|
() => (
|
|
1768
1739
|
/** @type {LocalizedString} */
|
|
1769
1740
|
"Failed"
|
|
1770
1741
|
)
|
|
1771
|
-
),
|
|
1742
|
+
), si = (
|
|
1772
1743
|
/** @type {(inputs: Commerce_Submit_FailedInputs) => LocalizedString} */
|
|
1773
1744
|
() => (
|
|
1774
1745
|
/** @type {LocalizedString} */
|
|
1775
1746
|
"Mislukt"
|
|
1776
1747
|
)
|
|
1777
|
-
),
|
|
1748
|
+
), oi = (
|
|
1778
1749
|
/** @type {(inputs: Commerce_Submit_FailedInputs) => LocalizedString} */
|
|
1779
1750
|
() => (
|
|
1780
1751
|
/** @type {LocalizedString} */
|
|
1781
1752
|
"Fehlgeschlagen"
|
|
1782
1753
|
)
|
|
1783
|
-
),
|
|
1754
|
+
), ri = (
|
|
1784
1755
|
/** @type {((inputs?: Commerce_Submit_FailedInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Commerce_Submit_FailedInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1785
1756
|
((n = {}, e = {}) => {
|
|
1786
1757
|
const t = e.locale ?? m();
|
|
1787
|
-
return t === "nl" ?
|
|
1758
|
+
return t === "nl" ? si() : t === "de" ? oi() : ii();
|
|
1788
1759
|
})
|
|
1789
1760
|
);
|
|
1790
|
-
const
|
|
1761
|
+
const ai = {
|
|
1791
1762
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1792
1763
|
width: 24,
|
|
1793
1764
|
height: 24,
|
|
@@ -1798,22 +1769,22 @@ const di = {
|
|
|
1798
1769
|
"stroke-linecap": "round",
|
|
1799
1770
|
"stroke-linejoin": "round"
|
|
1800
1771
|
};
|
|
1801
|
-
const
|
|
1772
|
+
const _e = ([n, e, t]) => {
|
|
1802
1773
|
const i = document.createElementNS("http://www.w3.org/2000/svg", n);
|
|
1803
1774
|
return Object.keys(e).forEach((s) => {
|
|
1804
1775
|
i.setAttribute(s, String(e[s]));
|
|
1805
1776
|
}), t?.length && t.forEach((s) => {
|
|
1806
|
-
const o =
|
|
1777
|
+
const o = _e(s);
|
|
1807
1778
|
i.appendChild(o);
|
|
1808
1779
|
}), i;
|
|
1809
1780
|
}, Ae = (n, e = {}) => {
|
|
1810
1781
|
const i = {
|
|
1811
|
-
...
|
|
1782
|
+
...ai,
|
|
1812
1783
|
...e
|
|
1813
1784
|
};
|
|
1814
|
-
return
|
|
1785
|
+
return _e(["svg", i, n]);
|
|
1815
1786
|
};
|
|
1816
|
-
const
|
|
1787
|
+
const li = [
|
|
1817
1788
|
[
|
|
1818
1789
|
"path",
|
|
1819
1790
|
{
|
|
@@ -1823,7 +1794,7 @@ const ui = [
|
|
|
1823
1794
|
["path", { d: "m3.3 7 8.7 5 8.7-5" }],
|
|
1824
1795
|
["path", { d: "M12 22V12" }]
|
|
1825
1796
|
];
|
|
1826
|
-
const
|
|
1797
|
+
const ci = [
|
|
1827
1798
|
[
|
|
1828
1799
|
"path",
|
|
1829
1800
|
{
|
|
@@ -1833,26 +1804,26 @@ const hi = [
|
|
|
1833
1804
|
["circle", { cx: "12", cy: "13", r: "3" }]
|
|
1834
1805
|
];
|
|
1835
1806
|
const Ee = [["path", { d: "m6 9 6 6 6-6" }]];
|
|
1836
|
-
const
|
|
1837
|
-
const
|
|
1838
|
-
const
|
|
1839
|
-
const
|
|
1807
|
+
const ui = [["path", { d: "m15 18-6-6 6-6" }]];
|
|
1808
|
+
const di = [["path", { d: "m9 18 6-6-6-6" }]];
|
|
1809
|
+
const hi = [["path", { d: "m18 15-6-6-6 6" }]];
|
|
1810
|
+
const mi = [
|
|
1840
1811
|
["path", { d: "M15 3h6v6" }],
|
|
1841
1812
|
["path", { d: "m21 3-7 7" }],
|
|
1842
1813
|
["path", { d: "m3 21 7-7" }],
|
|
1843
1814
|
["path", { d: "M9 21H3v-6" }]
|
|
1844
1815
|
];
|
|
1845
|
-
const
|
|
1816
|
+
const pi = [
|
|
1846
1817
|
["path", { d: "m14 10 7-7" }],
|
|
1847
1818
|
["path", { d: "M20 10h-6V4" }],
|
|
1848
1819
|
["path", { d: "m3 21 7-7" }],
|
|
1849
1820
|
["path", { d: "M4 14h6v6" }]
|
|
1850
1821
|
];
|
|
1851
|
-
const
|
|
1822
|
+
const fi = [
|
|
1852
1823
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" }],
|
|
1853
1824
|
["path", { d: "M3 3v5h5" }]
|
|
1854
1825
|
];
|
|
1855
|
-
const
|
|
1826
|
+
const gi = [
|
|
1856
1827
|
["path", { d: "M10 5H3" }],
|
|
1857
1828
|
["path", { d: "M12 19H3" }],
|
|
1858
1829
|
["path", { d: "M14 3v4" }],
|
|
@@ -1863,17 +1834,17 @@ const yi = [
|
|
|
1863
1834
|
["path", { d: "M8 10v4" }],
|
|
1864
1835
|
["path", { d: "M8 12H3" }]
|
|
1865
1836
|
];
|
|
1866
|
-
const
|
|
1837
|
+
const bi = [
|
|
1867
1838
|
["path", { d: "M18 6 6 18" }],
|
|
1868
1839
|
["path", { d: "m6 6 12 12" }]
|
|
1869
1840
|
];
|
|
1870
|
-
const
|
|
1841
|
+
const vi = [
|
|
1871
1842
|
["circle", { cx: "11", cy: "11", r: "8" }],
|
|
1872
1843
|
["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65" }],
|
|
1873
1844
|
["line", { x1: "11", x2: "11", y1: "8", y2: "14" }],
|
|
1874
1845
|
["line", { x1: "8", x2: "14", y1: "11", y2: "11" }]
|
|
1875
1846
|
];
|
|
1876
|
-
const
|
|
1847
|
+
const yi = [
|
|
1877
1848
|
["circle", { cx: "11", cy: "11", r: "8" }],
|
|
1878
1849
|
["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65" }],
|
|
1879
1850
|
["line", { x1: "8", x2: "14", y1: "11", y2: "11" }]
|
|
@@ -1882,19 +1853,19 @@ function y(n, { size: e = 20, strokeWidth: t = 1.75 } = {}) {
|
|
|
1882
1853
|
return Ae(n, { width: e, height: e, "stroke-width": t });
|
|
1883
1854
|
}
|
|
1884
1855
|
const b = {
|
|
1885
|
-
ar: (n) => y(
|
|
1886
|
-
fullscreen: (n) => y(
|
|
1887
|
-
exitFullscreen: (n) => y(
|
|
1888
|
-
screenshot: (n) => y(
|
|
1889
|
-
tiltUp: (n) => y(
|
|
1856
|
+
ar: (n) => y(li, n),
|
|
1857
|
+
fullscreen: (n) => y(mi, n),
|
|
1858
|
+
exitFullscreen: (n) => y(pi, n),
|
|
1859
|
+
screenshot: (n) => y(ci, n),
|
|
1860
|
+
tiltUp: (n) => y(hi, n),
|
|
1890
1861
|
tiltDown: (n) => y(Ee, n),
|
|
1891
|
-
rotateLeft: (n) => y(
|
|
1892
|
-
rotateRight: (n) => y(
|
|
1893
|
-
zoomIn: (n) => y(
|
|
1894
|
-
zoomOut: (n) => y(
|
|
1895
|
-
reset: (n) => y(
|
|
1896
|
-
configurator: (n) => y(
|
|
1897
|
-
close: (n) => y(
|
|
1862
|
+
rotateLeft: (n) => y(ui, n),
|
|
1863
|
+
rotateRight: (n) => y(di, n),
|
|
1864
|
+
zoomIn: (n) => y(vi, n),
|
|
1865
|
+
zoomOut: (n) => y(yi, n),
|
|
1866
|
+
reset: (n) => y(fi, n),
|
|
1867
|
+
configurator: (n) => y(gi, n),
|
|
1868
|
+
close: (n) => y(bi, n)
|
|
1898
1869
|
};
|
|
1899
1870
|
class v {
|
|
1900
1871
|
element;
|
|
@@ -1940,7 +1911,7 @@ const p = {
|
|
|
1940
1911
|
// 32px
|
|
1941
1912
|
9: "2.25rem"
|
|
1942
1913
|
};
|
|
1943
|
-
class
|
|
1914
|
+
class Si {
|
|
1944
1915
|
element;
|
|
1945
1916
|
constructor() {
|
|
1946
1917
|
this.element = document.createElement("div"), Object.assign(this.element.style, {
|
|
@@ -1953,9 +1924,9 @@ class _i {
|
|
|
1953
1924
|
});
|
|
1954
1925
|
}
|
|
1955
1926
|
}
|
|
1956
|
-
class
|
|
1927
|
+
class wi {
|
|
1957
1928
|
constructor(e = {}) {
|
|
1958
|
-
this.options = e, this.card = new
|
|
1929
|
+
this.options = e, this.card = new Si(), this.backdrop = this.createBackdrop(), this.backdrop.appendChild(this.card.element);
|
|
1959
1930
|
}
|
|
1960
1931
|
options;
|
|
1961
1932
|
card;
|
|
@@ -1984,7 +1955,7 @@ class ki {
|
|
|
1984
1955
|
}), e;
|
|
1985
1956
|
}
|
|
1986
1957
|
}
|
|
1987
|
-
class
|
|
1958
|
+
class Ci {
|
|
1988
1959
|
element;
|
|
1989
1960
|
selectCallback = null;
|
|
1990
1961
|
constructor(e, t, i) {
|
|
@@ -2017,7 +1988,7 @@ class Ai {
|
|
|
2017
1988
|
}
|
|
2018
1989
|
}
|
|
2019
1990
|
}
|
|
2020
|
-
class
|
|
1991
|
+
class ki {
|
|
2021
1992
|
element;
|
|
2022
1993
|
select;
|
|
2023
1994
|
constructor(e, t, i, s, o) {
|
|
@@ -2025,13 +1996,13 @@ class Ei {
|
|
|
2025
1996
|
const r = document.createElement("option");
|
|
2026
1997
|
r.value = "", r.disabled = !0, r.textContent = i, this.select.appendChild(r);
|
|
2027
1998
|
let a = !1;
|
|
2028
|
-
for (let
|
|
2029
|
-
const f = t[
|
|
2030
|
-
h.value = f, h.textContent = o?.[
|
|
1999
|
+
for (let d = 0; d < t.length; d++) {
|
|
2000
|
+
const f = t[d], h = document.createElement("option");
|
|
2001
|
+
h.value = f, h.textContent = o?.[d] ?? f, f === s && (h.selected = !0, a = !0), this.select.appendChild(h);
|
|
2031
2002
|
}
|
|
2032
2003
|
a || (r.selected = !0);
|
|
2033
|
-
const
|
|
2034
|
-
|
|
2004
|
+
const u = Ae(Ee, { width: 16, height: 16, "stroke-width": 2 });
|
|
2005
|
+
u.classList.add("ui-native-select-icon"), this.element = document.createElement("div"), this.element.className = "ui-native-select-wrap", this.element.appendChild(this.select), this.element.appendChild(u);
|
|
2035
2006
|
}
|
|
2036
2007
|
setSelected(e) {
|
|
2037
2008
|
this.select.value = e;
|
|
@@ -2047,7 +2018,7 @@ class Ei {
|
|
|
2047
2018
|
t.value !== "" && (t.disabled = e !== null && !e.includes(t.value));
|
|
2048
2019
|
}
|
|
2049
2020
|
}
|
|
2050
|
-
class
|
|
2021
|
+
class _i {
|
|
2051
2022
|
element;
|
|
2052
2023
|
input;
|
|
2053
2024
|
valueText;
|
|
@@ -2129,7 +2100,7 @@ const w = {
|
|
|
2129
2100
|
medium: "500",
|
|
2130
2101
|
semibold: "600"
|
|
2131
2102
|
}
|
|
2132
|
-
}, x = w.fontFamily.sans.join(", "),
|
|
2103
|
+
}, x = w.fontFamily.sans.join(", "), Ai = `
|
|
2133
2104
|
--primary: oklch(5% 0 0);
|
|
2134
2105
|
--primary-foreground: oklch(100% 0 0);
|
|
2135
2106
|
--secondary: oklch(92% 0 0);
|
|
@@ -2142,8 +2113,8 @@ const w = {
|
|
|
2142
2113
|
--accent: oklch(92% 0 0);
|
|
2143
2114
|
--accent-foreground: oklch(5% 0 0);
|
|
2144
2115
|
--muted-foreground: oklch(44% 0 0);
|
|
2145
|
-
`,
|
|
2146
|
-
:root { ${
|
|
2116
|
+
`, Ei = `
|
|
2117
|
+
:root { ${Ai} }
|
|
2147
2118
|
|
|
2148
2119
|
/* ── Button ──────────────────────────────────────────────── */
|
|
2149
2120
|
.ui-btn {
|
|
@@ -2513,29 +2484,29 @@ const w = {
|
|
|
2513
2484
|
50% { opacity: 0.55; }
|
|
2514
2485
|
}
|
|
2515
2486
|
`;
|
|
2516
|
-
let
|
|
2487
|
+
let ce = !1;
|
|
2517
2488
|
function xe() {
|
|
2518
|
-
if (
|
|
2489
|
+
if (ce || typeof document > "u")
|
|
2519
2490
|
return;
|
|
2520
|
-
|
|
2491
|
+
ce = !0;
|
|
2521
2492
|
const n = document.createElement("style");
|
|
2522
|
-
n.id = "vd-ui-vanilla", n.textContent =
|
|
2493
|
+
n.id = "vd-ui-vanilla", n.textContent = Ei, document.head.appendChild(n);
|
|
2523
2494
|
}
|
|
2524
|
-
const
|
|
2525
|
-
class
|
|
2495
|
+
const xi = w.fontFamily.sans.join(", ");
|
|
2496
|
+
class Ti {
|
|
2526
2497
|
qrLib = null;
|
|
2527
2498
|
dialog = null;
|
|
2528
2499
|
qrSlot = null;
|
|
2529
2500
|
/** Open the modal immediately, with a loading placeholder in the QR slot. */
|
|
2530
2501
|
show() {
|
|
2531
|
-
this.hide(), xe(), this.dialog = new
|
|
2502
|
+
this.hide(), xe(), this.dialog = new wi({ onClose: () => {
|
|
2532
2503
|
this.dialog = null, this.qrSlot = null;
|
|
2533
2504
|
} }), Object.assign(this.dialog.card.element.style, {
|
|
2534
2505
|
display: "flex",
|
|
2535
2506
|
flexDirection: "column",
|
|
2536
2507
|
alignItems: "center",
|
|
2537
2508
|
gap: l[3],
|
|
2538
|
-
fontFamily:
|
|
2509
|
+
fontFamily: xi
|
|
2539
2510
|
}), this.dialog.card.element.appendChild(this.createText(Bt(), {
|
|
2540
2511
|
fontSize: w.fontSize.base,
|
|
2541
2512
|
fontWeight: w.fontWeight.semibold,
|
|
@@ -2587,40 +2558,40 @@ class Li {
|
|
|
2587
2558
|
return t.src = e, t.alt = "QR code", t;
|
|
2588
2559
|
}
|
|
2589
2560
|
}
|
|
2590
|
-
function
|
|
2561
|
+
function ue(n) {
|
|
2591
2562
|
const e = Math.max(0, Math.min(1, n));
|
|
2592
2563
|
return e * e * (3 - 2 * e);
|
|
2593
2564
|
}
|
|
2594
|
-
function
|
|
2595
|
-
const [r, a,
|
|
2596
|
-
return [i + h * o *
|
|
2565
|
+
function Ri(n, e, t, i, s, o) {
|
|
2566
|
+
const [r, a, u] = n, d = Math.cos(e), f = Math.sin(e), h = d * r + f * u, E = -f * r + d * u, _ = Math.cos(t), k = Math.sin(t), I = _ * a - k * E, P = k * a + _ * E, ee = 0.55;
|
|
2567
|
+
return [i + h * o * ee, s - I * o * ee, P];
|
|
2597
2568
|
}
|
|
2598
|
-
function
|
|
2569
|
+
function Ii(n, e, t) {
|
|
2599
2570
|
n.beginPath(), n.moveTo(e[0], e[1]), n.lineTo(t[0], t[1]), n.strokeStyle = "#000", n.lineWidth = 2, n.stroke();
|
|
2600
2571
|
}
|
|
2601
|
-
function
|
|
2572
|
+
function Li(n, e, t, i, s) {
|
|
2602
2573
|
const o = e(t), r = e(i), a = [
|
|
2603
2574
|
o[0] + (r[0] - o[0]) * s,
|
|
2604
2575
|
o[1] + (r[1] - o[1]) * s,
|
|
2605
2576
|
o[2]
|
|
2606
2577
|
];
|
|
2607
|
-
|
|
2578
|
+
Ii(n, o, a);
|
|
2608
2579
|
}
|
|
2609
|
-
const $ = [-1, -1, 1],
|
|
2610
|
-
[$,
|
|
2611
|
-
[D, U],
|
|
2580
|
+
const $ = [-1, -1, 1], U = [1, -1, 1], B = [1, -1, -1], V = [-1, -1, -1], j = [-1, 1, 1], H = [1, 1, 1], q = [1, 1, -1], G = [-1, 1, -1], de = [
|
|
2581
|
+
[$, U],
|
|
2612
2582
|
[U, B],
|
|
2613
|
-
[B,
|
|
2614
|
-
[
|
|
2615
|
-
[
|
|
2583
|
+
[B, V],
|
|
2584
|
+
[V, $],
|
|
2585
|
+
[$, j],
|
|
2616
2586
|
[U, H],
|
|
2617
2587
|
[B, q],
|
|
2618
|
-
[V,
|
|
2588
|
+
[V, G],
|
|
2619
2589
|
[j, H],
|
|
2620
2590
|
[H, q],
|
|
2621
|
-
[q,
|
|
2622
|
-
|
|
2623
|
-
|
|
2591
|
+
[q, G],
|
|
2592
|
+
[G, j]
|
|
2593
|
+
], Oi = 400, he = '-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif';
|
|
2594
|
+
function Ni() {
|
|
2624
2595
|
const n = document.createElement("div");
|
|
2625
2596
|
Object.assign(n.style, {
|
|
2626
2597
|
position: "absolute",
|
|
@@ -2656,16 +2627,16 @@ function Pi() {
|
|
|
2656
2627
|
fontWeight: "400",
|
|
2657
2628
|
color: "#000",
|
|
2658
2629
|
fontVariantNumeric: "tabular-nums",
|
|
2659
|
-
fontFamily:
|
|
2630
|
+
fontFamily: he
|
|
2660
2631
|
});
|
|
2661
2632
|
const s = document.createElement("span");
|
|
2662
2633
|
return Object.assign(s.style, {
|
|
2663
2634
|
fontSize: "13px",
|
|
2664
2635
|
color: "#000",
|
|
2665
|
-
fontFamily:
|
|
2666
|
-
}), s.textContent =
|
|
2636
|
+
fontFamily: he
|
|
2637
|
+
}), s.textContent = ln(), t.appendChild(i), t.appendChild(s), n.appendChild(e), n.appendChild(t), { overlay: n, canvas: e, pctEl: i, phaseEl: s };
|
|
2667
2638
|
}
|
|
2668
|
-
class
|
|
2639
|
+
class Mi {
|
|
2669
2640
|
overlay;
|
|
2670
2641
|
canvas;
|
|
2671
2642
|
ctx;
|
|
@@ -2678,19 +2649,13 @@ class Fi {
|
|
|
2678
2649
|
visible = !1;
|
|
2679
2650
|
constructor(e, t = {}) {
|
|
2680
2651
|
this.startTime = performance.now();
|
|
2681
|
-
const i =
|
|
2652
|
+
const i = Ni();
|
|
2682
2653
|
this.overlay = i.overlay, this.canvas = i.canvas, this.pctEl = i.pctEl, this.phaseEl = i.phaseEl, e.appendChild(this.overlay), this.ctx = this.canvas.getContext("2d"), this.ctx !== null && (this.sizeCanvas(), this.tick());
|
|
2683
|
-
const s = t.showDelay ??
|
|
2654
|
+
const s = t.showDelay ?? Oi;
|
|
2684
2655
|
this.showTimerId = setTimeout(() => {
|
|
2685
2656
|
this.reveal();
|
|
2686
2657
|
}, s);
|
|
2687
2658
|
}
|
|
2688
|
-
get loadingTexts() {
|
|
2689
|
-
return {
|
|
2690
|
-
downloading: _e(),
|
|
2691
|
-
rendering: un()
|
|
2692
|
-
};
|
|
2693
|
-
}
|
|
2694
2659
|
updateProgress(e, t) {
|
|
2695
2660
|
this.hidden || (this.pctEl.textContent = `${Math.round(e)}%`, this.phaseEl.textContent = t !== "" ? ` · ${t}` : "");
|
|
2696
2661
|
}
|
|
@@ -2741,20 +2706,20 @@ class Fi {
|
|
|
2741
2706
|
return;
|
|
2742
2707
|
const e = this.canvas.width / Math.min(devicePixelRatio, 2), t = this.canvas.height / Math.min(devicePixelRatio, 2), i = (performance.now() - this.startTime) / 1e3;
|
|
2743
2708
|
this.ctx.fillStyle = "#fff", this.ctx.fillRect(0, 0, e, t);
|
|
2744
|
-
const s = e / 2, o = t * 0.44, r = Math.min(e, t) * 0.08, a = 0.785,
|
|
2745
|
-
let
|
|
2746
|
-
h < 0.35 ?
|
|
2747
|
-
for (let
|
|
2748
|
-
const I = de[
|
|
2709
|
+
const s = e / 2, o = t * 0.44, r = Math.min(e, t) * 0.08, a = 0.785, u = 0.615, d = (k) => Ri(k, a, u, s, o, r), f = 6, h = i % f / f, E = de.length;
|
|
2710
|
+
let _;
|
|
2711
|
+
h < 0.35 ? _ = ue(h / 0.35) * E : h < 0.55 ? _ = E : h < 0.9 ? _ = (1 - ue((h - 0.55) / 0.35)) * E : _ = 0, this.ctx.shadowBlur = 5, this.ctx.shadowColor = "rgba(30,30,30,0.08)";
|
|
2712
|
+
for (let k = 0; k < E && !(k >= _); k++) {
|
|
2713
|
+
const I = de[k];
|
|
2749
2714
|
if (I === void 0)
|
|
2750
2715
|
continue;
|
|
2751
|
-
const P = Math.min(1,
|
|
2752
|
-
|
|
2716
|
+
const P = Math.min(1, _ - k);
|
|
2717
|
+
Li(this.ctx, d, I[0], I[1], P);
|
|
2753
2718
|
}
|
|
2754
2719
|
this.ctx.shadowBlur = 0;
|
|
2755
2720
|
}
|
|
2756
2721
|
}
|
|
2757
|
-
class
|
|
2722
|
+
class zi {
|
|
2758
2723
|
constructor(e) {
|
|
2759
2724
|
this.options = e, this.element = document.createElement("div"), Object.assign(this.element.style, { display: "flex", gap: "0.375rem" }), this.onFullscreenChange = () => {
|
|
2760
2725
|
this.setFullscreenIcon(document.fullscreenElement !== null);
|
|
@@ -2808,9 +2773,9 @@ class z {
|
|
|
2808
2773
|
targetTilt: t.tilt,
|
|
2809
2774
|
targetZoom: t.zoom,
|
|
2810
2775
|
thetaOffset: 0
|
|
2811
|
-
}, s =
|
|
2776
|
+
}, s = Pi(e, t, i);
|
|
2812
2777
|
t.onChange((o) => {
|
|
2813
|
-
i.targetRotation = o.rotation - i.thetaOffset, i.targetTilt = o.tilt, i.targetZoom = o.zoom,
|
|
2778
|
+
i.targetRotation = o.rotation - i.thetaOffset, i.targetTilt = o.tilt, i.targetZoom = o.zoom, Fi(s, t, o);
|
|
2814
2779
|
}), this.element.appendChild(z.buildZoom(s.zoomOut, s.zoomIn)), this.element.appendChild(z.buildDpad(s.tiltUp, s.rotateLeft, s.reset, s.rotateRight, s.tiltDown));
|
|
2815
2780
|
}
|
|
2816
2781
|
static buildZoom(e, t) {
|
|
@@ -2820,55 +2785,55 @@ class z {
|
|
|
2820
2785
|
static buildDpad(e, t, i, s, o) {
|
|
2821
2786
|
const r = document.createElement("div");
|
|
2822
2787
|
r.className = "vd-dpad";
|
|
2823
|
-
for (const [a,
|
|
2788
|
+
for (const [a, u] of [
|
|
2824
2789
|
[e, "up"],
|
|
2825
2790
|
[t, "left"],
|
|
2826
2791
|
[i, "center"],
|
|
2827
2792
|
[s, "right"],
|
|
2828
2793
|
[o, "down"]
|
|
2829
2794
|
])
|
|
2830
|
-
a.element.classList.add(`vd-dpad-${
|
|
2795
|
+
a.element.classList.add(`vd-dpad-${u}`), r.appendChild(a.element);
|
|
2831
2796
|
return r;
|
|
2832
2797
|
}
|
|
2833
2798
|
}
|
|
2834
|
-
function
|
|
2799
|
+
function Pi(n, e, t) {
|
|
2835
2800
|
const i = (r) => Math.max(e.limits?.minZoom ?? 1, Math.min(e.limits?.maxZoom ?? 1 / 0, r)), s = (r) => {
|
|
2836
|
-
const a = e.limits?.minRotate,
|
|
2837
|
-
return a !== void 0 ||
|
|
2801
|
+
const a = e.limits?.minRotate, u = e.limits?.maxRotate;
|
|
2802
|
+
return a !== void 0 || u !== void 0 ? Math.max(a ?? -1 / 0, Math.min(u ?? 1 / 0, r)) : r;
|
|
2838
2803
|
}, o = (r) => {
|
|
2839
|
-
const a = e.limits?.minTilt,
|
|
2840
|
-
if (a !== void 0 ||
|
|
2841
|
-
t.targetTilt = Math.max(a ?? 0, Math.min(
|
|
2804
|
+
const a = e.limits?.minTilt, u = e.limits?.maxTilt;
|
|
2805
|
+
if (a !== void 0 || u !== void 0) {
|
|
2806
|
+
t.targetTilt = Math.max(a ?? 0, Math.min(u ?? 180, t.targetTilt + r)), n.tilt(t.targetTilt).set();
|
|
2842
2807
|
return;
|
|
2843
2808
|
}
|
|
2844
|
-
const
|
|
2845
|
-
|
|
2809
|
+
const d = t.targetTilt + r;
|
|
2810
|
+
d > 180 || d < 0 ? (t.targetTilt = d > 180 ? 360 - d : -d, t.thetaOffset = (t.thetaOffset + 180) % 360, n.tilt(t.targetTilt).rotate(t.targetRotation + t.thetaOffset).set()) : (t.targetTilt = d, n.tilt(t.targetTilt).set());
|
|
2846
2811
|
};
|
|
2847
2812
|
return {
|
|
2848
|
-
zoomOut: new v({ variant: "outline", size: "icon", label:
|
|
2813
|
+
zoomOut: new v({ variant: "outline", size: "icon", label: On(), icon: b.zoomOut(), onClick: () => {
|
|
2849
2814
|
t.targetZoom = i(t.targetZoom - 10), n.zoom(t.targetZoom).set();
|
|
2850
2815
|
} }),
|
|
2851
|
-
zoomIn: new v({ variant: "outline", size: "icon", label:
|
|
2816
|
+
zoomIn: new v({ variant: "outline", size: "icon", label: Tn(), icon: b.zoomIn(), onClick: () => {
|
|
2852
2817
|
t.targetZoom = i(t.targetZoom + 10), n.zoom(t.targetZoom).set();
|
|
2853
2818
|
} }),
|
|
2854
|
-
tiltUp: new v({ variant: "outline", size: "icon", label:
|
|
2819
|
+
tiltUp: new v({ variant: "outline", size: "icon", label: Hn(), icon: b.tiltUp(), onClick: () => {
|
|
2855
2820
|
o(-15);
|
|
2856
2821
|
} }),
|
|
2857
|
-
rotateLeft: new v({ variant: "outline", size: "icon", label:
|
|
2822
|
+
rotateLeft: new v({ variant: "outline", size: "icon", label: Pn(), icon: b.rotateLeft(), onClick: () => {
|
|
2858
2823
|
t.targetRotation = s(t.targetRotation - 15), n.rotate(t.targetRotation + t.thetaOffset).set();
|
|
2859
2824
|
} }),
|
|
2860
|
-
reset: new v({ variant: "outline", size: "icon", label:
|
|
2825
|
+
reset: new v({ variant: "outline", size: "icon", label: _n(), icon: b.reset(), onClick: () => {
|
|
2861
2826
|
t.thetaOffset = 0, n.reset();
|
|
2862
2827
|
} }),
|
|
2863
|
-
rotateRight: new v({ variant: "outline", size: "icon", label:
|
|
2828
|
+
rotateRight: new v({ variant: "outline", size: "icon", label: Un(), icon: b.rotateRight(), onClick: () => {
|
|
2864
2829
|
t.targetRotation = s(t.targetRotation + 15), n.rotate(t.targetRotation + t.thetaOffset).set();
|
|
2865
2830
|
} }),
|
|
2866
|
-
tiltDown: new v({ variant: "outline", size: "icon", label:
|
|
2831
|
+
tiltDown: new v({ variant: "outline", size: "icon", label: Wn(), icon: b.tiltDown(), onClick: () => {
|
|
2867
2832
|
o(15);
|
|
2868
2833
|
} })
|
|
2869
2834
|
};
|
|
2870
2835
|
}
|
|
2871
|
-
function
|
|
2836
|
+
function Fi(n, e, t) {
|
|
2872
2837
|
const i = e.limits;
|
|
2873
2838
|
i !== void 0 && (n.zoomOut.element.disabled = i.minZoom !== void 0 && t.zoom <= i.minZoom + R, n.zoomIn.element.disabled = i.maxZoom !== void 0 && t.zoom >= i.maxZoom - R, n.tiltUp.element.disabled = i.minTilt !== void 0 && t.tilt <= i.minTilt + R, n.tiltDown.element.disabled = i.maxTilt !== void 0 && t.tilt >= i.maxTilt - R, n.rotateLeft.element.disabled = i.minRotate !== void 0 && t.rotation <= i.minRotate + R, n.rotateRight.element.disabled = i.maxRotate !== void 0 && t.rotation >= i.maxRotate - R);
|
|
2874
2839
|
}
|
|
@@ -2888,29 +2853,29 @@ const T = {
|
|
|
2888
2853
|
cm: 10,
|
|
2889
2854
|
m: 1e3,
|
|
2890
2855
|
in: 25.4
|
|
2891
|
-
},
|
|
2892
|
-
function
|
|
2856
|
+
}, me = 3;
|
|
2857
|
+
function Di(n) {
|
|
2893
2858
|
const e = n.stepMm / Te[n.displayUnit];
|
|
2894
|
-
for (let t = 0; t <=
|
|
2859
|
+
for (let t = 0; t <= me; t++) {
|
|
2895
2860
|
const i = e * 10 ** t;
|
|
2896
2861
|
if (Math.abs(i - Math.round(i)) < 1e-9)
|
|
2897
2862
|
return t;
|
|
2898
2863
|
}
|
|
2899
|
-
return
|
|
2864
|
+
return me;
|
|
2900
2865
|
}
|
|
2901
|
-
function
|
|
2902
|
-
const i =
|
|
2866
|
+
function $i(n, e, t) {
|
|
2867
|
+
const i = Di(e), s = n / Te[e.displayUnit];
|
|
2903
2868
|
return new Intl.NumberFormat(t, {
|
|
2904
2869
|
minimumFractionDigits: i,
|
|
2905
2870
|
maximumFractionDigits: i
|
|
2906
2871
|
}).format(s);
|
|
2907
2872
|
}
|
|
2908
|
-
function
|
|
2909
|
-
const a = m(),
|
|
2873
|
+
function Ui(n, e, t, i, s, o, r) {
|
|
2874
|
+
const a = m(), u = n.values.map((h) => $i(Number(h), e, a)), d = n.values.find((h) => t.getValue(n.name, h)?.isSelected === !0) ?? n.defaultValue, f = new _i(n.values, {
|
|
2910
2875
|
label: n.name,
|
|
2911
|
-
labels:
|
|
2876
|
+
labels: u,
|
|
2912
2877
|
unit: e.displayUnit,
|
|
2913
|
-
...
|
|
2878
|
+
...d !== void 0 && { initialSelected: d }
|
|
2914
2879
|
});
|
|
2915
2880
|
return f.onSelect((h) => {
|
|
2916
2881
|
s(n.name, h);
|
|
@@ -2929,20 +2894,20 @@ function ji(n, e, t, i, s, o, r) {
|
|
|
2929
2894
|
}
|
|
2930
2895
|
};
|
|
2931
2896
|
}
|
|
2932
|
-
const
|
|
2933
|
-
let
|
|
2934
|
-
function
|
|
2897
|
+
const Bi = 5;
|
|
2898
|
+
let Vi = 0;
|
|
2899
|
+
function K(n) {
|
|
2935
2900
|
const e = n.replace(/([A-Z])/g, " $1").trim();
|
|
2936
2901
|
return e.charAt(0).toUpperCase() + e.slice(1).toLowerCase();
|
|
2937
2902
|
}
|
|
2938
|
-
function
|
|
2903
|
+
function ji(n, e, t, i, s, o) {
|
|
2939
2904
|
const r = document.createElement("div");
|
|
2940
2905
|
r.className = "vd-attribute", r.dataset.name = n.name;
|
|
2941
2906
|
const a = document.createElement("span");
|
|
2942
|
-
a.className = "vd-attribute-label", a.textContent =
|
|
2943
|
-
const
|
|
2907
|
+
a.className = "vd-attribute-label", a.textContent = K(n.name), a.id = `vd-attribute-label-${Vi++}`, r.appendChild(a), r.setAttribute("role", "group"), r.setAttribute("aria-labelledby", a.id);
|
|
2908
|
+
const u = (f) => {
|
|
2944
2909
|
r.style.display = f ? "none" : "";
|
|
2945
|
-
},
|
|
2910
|
+
}, d = n.dimension !== void 0 ? Ui(
|
|
2946
2911
|
n,
|
|
2947
2912
|
n.dimension,
|
|
2948
2913
|
e,
|
|
@@ -2950,27 +2915,27 @@ function Gi(n, e, t, i, s, o) {
|
|
|
2950
2915
|
s,
|
|
2951
2916
|
i,
|
|
2952
2917
|
o
|
|
2953
|
-
) :
|
|
2954
|
-
return r.appendChild(
|
|
2918
|
+
) : Hi(n, e, t, i, o);
|
|
2919
|
+
return r.appendChild(d.element), { element: r, setSelectable: d.setSelectable, setHidden: u };
|
|
2955
2920
|
}
|
|
2956
|
-
function
|
|
2921
|
+
function Hi(n, e, t, i, s) {
|
|
2957
2922
|
const o = n.values.find(
|
|
2958
|
-
(
|
|
2959
|
-
), r = n.values.map(
|
|
2960
|
-
return a.onSelect((
|
|
2961
|
-
t.dispatch(T.SELECT, { attribute: n.name, value:
|
|
2962
|
-
}), s(n.name, (
|
|
2963
|
-
a.setSelected(
|
|
2923
|
+
(u) => e.getValue(n.name, u)?.isSelected === !0
|
|
2924
|
+
), r = n.values.map(K), a = n.values.length <= Bi ? new Ci(n.values, o, r) : new ki(n.name, n.values, K(n.name), o, r);
|
|
2925
|
+
return a.onSelect((u) => {
|
|
2926
|
+
t.dispatch(T.SELECT, { attribute: n.name, value: u }, !0).defaultPrevented || i(n.name, u);
|
|
2927
|
+
}), s(n.name, (u) => {
|
|
2928
|
+
a.setSelected(u.value), t.dispatch(T.SELECTED, { attribute: n.name, value: u.value });
|
|
2964
2929
|
}), {
|
|
2965
2930
|
element: a.element,
|
|
2966
|
-
setSelectable: (
|
|
2967
|
-
a.setEnabled(
|
|
2931
|
+
setSelectable: (u) => {
|
|
2932
|
+
a.setEnabled(u);
|
|
2968
2933
|
}
|
|
2969
2934
|
};
|
|
2970
2935
|
}
|
|
2971
|
-
const
|
|
2972
|
-
class
|
|
2973
|
-
constructor(e, t =
|
|
2936
|
+
const qi = 80, Gi = 2500;
|
|
2937
|
+
class Zi {
|
|
2938
|
+
constructor(e, t = Gi) {
|
|
2974
2939
|
this.configuration = e, this.resetMs = t, this.element = document.createElement("div"), this.element.className = "vd-commerce vd-hidden";
|
|
2975
2940
|
const i = document.createElement("div");
|
|
2976
2941
|
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 v({ variant: "default", onClick: () => {
|
|
@@ -3002,19 +2967,19 @@ class Qi {
|
|
|
3002
2967
|
this.priceEl.textContent = "", this.vatEl.textContent = "";
|
|
3003
2968
|
return;
|
|
3004
2969
|
}
|
|
3005
|
-
this.priceEl.textContent =
|
|
2970
|
+
this.priceEl.textContent = Wi(e.price, e.currency), this.vatEl.textContent = pe(this.configuration.vatDisplay);
|
|
3006
2971
|
}
|
|
3007
2972
|
renderButton() {
|
|
3008
2973
|
const e = this.configuration.submitEnabled;
|
|
3009
|
-
this.button.element.classList.toggle("vd-hidden", !e), e && this.state === "idle" && this.setButtonText(
|
|
2974
|
+
this.button.element.classList.toggle("vd-hidden", !e), e && this.state === "idle" && this.setButtonText(pe(this.configuration.buttonLabel));
|
|
3010
2975
|
}
|
|
3011
2976
|
async handleSubmit() {
|
|
3012
2977
|
if (this.state !== "busy") {
|
|
3013
|
-
this.setState("busy",
|
|
2978
|
+
this.setState("busy", Xn());
|
|
3014
2979
|
try {
|
|
3015
|
-
await this.configuration.submit(), this.setState("success",
|
|
2980
|
+
await this.configuration.submit(), this.setState("success", ni());
|
|
3016
2981
|
} catch {
|
|
3017
|
-
this.setState("failed",
|
|
2982
|
+
this.setState("failed", ri());
|
|
3018
2983
|
}
|
|
3019
2984
|
this.scheduleReset();
|
|
3020
2985
|
}
|
|
@@ -3031,10 +2996,10 @@ class Qi {
|
|
|
3031
2996
|
this.button.element.textContent = e, this.button.element.setAttribute("aria-label", e);
|
|
3032
2997
|
}
|
|
3033
2998
|
}
|
|
3034
|
-
function
|
|
3035
|
-
return (n ?? "").slice(0,
|
|
2999
|
+
function pe(n) {
|
|
3000
|
+
return (n ?? "").slice(0, qi);
|
|
3036
3001
|
}
|
|
3037
|
-
function
|
|
3002
|
+
function Wi(n, e) {
|
|
3038
3003
|
try {
|
|
3039
3004
|
const t = new Intl.NumberFormat(m(), { style: "currency", currency: e }), i = t.resolvedOptions().maximumFractionDigits ?? 2;
|
|
3040
3005
|
return t.format(n / 10 ** i);
|
|
@@ -3055,8 +3020,8 @@ class Re {
|
|
|
3055
3020
|
this.slot?.remove(), this.slot = null, this.panel = null;
|
|
3056
3021
|
}
|
|
3057
3022
|
}
|
|
3058
|
-
const
|
|
3059
|
-
class
|
|
3023
|
+
const Yi = 572;
|
|
3024
|
+
class Qi {
|
|
3060
3025
|
/** @param actionBarSlot The shared corner slot the AR/fullscreen buttons live in — the
|
|
3061
3026
|
* "open configurator" toggle joins them there instead of floating as its own overlay. */
|
|
3062
3027
|
constructor(e) {
|
|
@@ -3076,7 +3041,7 @@ class Ji {
|
|
|
3076
3041
|
this.container = e, t.classList.add("vd-attributes-sidebar"), this.closeButton = new v({
|
|
3077
3042
|
variant: "ghost",
|
|
3078
3043
|
size: "icon-sm",
|
|
3079
|
-
label:
|
|
3044
|
+
label: Sn(),
|
|
3080
3045
|
icon: b.close({ size: 18 }),
|
|
3081
3046
|
onClick: () => {
|
|
3082
3047
|
this.expanded = !1, this.render();
|
|
@@ -3086,7 +3051,7 @@ class Ji {
|
|
|
3086
3051
|
i.className = "vd-sidebar-header", i.appendChild(this.closeButton.element), this.body = document.createElement("div"), this.body.className = "vd-sidebar-body", this.body.appendChild(t), this.element = document.createElement("div"), this.element.className = "vd-sidebar vd-hidden", this.element.append(i, this.body), e.appendChild(this.element), this.openButton = new v({
|
|
3087
3052
|
variant: "outline",
|
|
3088
3053
|
size: "icon",
|
|
3089
|
-
label:
|
|
3054
|
+
label: gn(),
|
|
3090
3055
|
icon: b.configurator({ size: 18 }),
|
|
3091
3056
|
onClick: () => {
|
|
3092
3057
|
this.expanded = !0, this.render();
|
|
@@ -3102,7 +3067,7 @@ class Ji {
|
|
|
3102
3067
|
observe() {
|
|
3103
3068
|
typeof ResizeObserver > "u" || this.container === null || (this.observer = new ResizeObserver((e) => {
|
|
3104
3069
|
const t = e[0]?.contentRect.width ?? 0;
|
|
3105
|
-
this.setCollapsible(t > 0 && t <
|
|
3070
|
+
this.setCollapsible(t > 0 && t < Yi);
|
|
3106
3071
|
}), this.observer.observe(this.container));
|
|
3107
3072
|
}
|
|
3108
3073
|
setCollapsible(e) {
|
|
@@ -3115,7 +3080,7 @@ class Ji {
|
|
|
3115
3080
|
this.element.classList.toggle("vd-hidden", !this.visible), this.element.classList.toggle("vd-sidebar-collapsed", t), this.openButton.element.classList.toggle("vd-hidden", !t), this.closeButton.element.style.display = this.collapsible ? "" : "none", this.container.classList.toggle("vd-layout-sidebar-right", e), this.container.classList.toggle("vd-layout-sidebar-permanent", e && !this.collapsible);
|
|
3116
3081
|
}
|
|
3117
3082
|
}
|
|
3118
|
-
class
|
|
3083
|
+
class Ki {
|
|
3119
3084
|
attach(e, t) {
|
|
3120
3085
|
}
|
|
3121
3086
|
setVisible(e) {
|
|
@@ -3123,20 +3088,20 @@ class es {
|
|
|
3123
3088
|
destroy() {
|
|
3124
3089
|
}
|
|
3125
3090
|
}
|
|
3126
|
-
const
|
|
3091
|
+
const Xi = {
|
|
3127
3092
|
"inframe-bottom-left": () => new Re(),
|
|
3128
|
-
"sidebar-right": (n) => new
|
|
3129
|
-
hidden: () => new
|
|
3093
|
+
"sidebar-right": (n) => new Qi(n),
|
|
3094
|
+
hidden: () => new Ki()
|
|
3130
3095
|
};
|
|
3131
|
-
function
|
|
3132
|
-
return (
|
|
3096
|
+
function Ji(n, e) {
|
|
3097
|
+
return (Xi[n ?? ""] ?? (() => new Re()))(e);
|
|
3133
3098
|
}
|
|
3134
|
-
const
|
|
3099
|
+
const Z = w.fontFamily.sans.join(", "), W = `
|
|
3135
3100
|
position: absolute;
|
|
3136
3101
|
display: flex;
|
|
3137
3102
|
z-index: 10;
|
|
3138
3103
|
transition: inset-inline-end 0.18s ease;
|
|
3139
|
-
`,
|
|
3104
|
+
`, es = `
|
|
3140
3105
|
/* Override browser's default black fullscreen backdrop */
|
|
3141
3106
|
.vd-container:fullscreen {
|
|
3142
3107
|
background: oklch(100% 0 0);
|
|
@@ -3144,7 +3109,7 @@ const G = w.fontFamily.sans.join(", "), Z = `
|
|
|
3144
3109
|
|
|
3145
3110
|
/* Layout slots — four corners */
|
|
3146
3111
|
.vd-slot-top-right {
|
|
3147
|
-
${
|
|
3112
|
+
${W}
|
|
3148
3113
|
inset-block-start: ${l[3]};
|
|
3149
3114
|
inset-inline-end: ${l[3]};
|
|
3150
3115
|
flex-direction: column;
|
|
@@ -3153,7 +3118,7 @@ const G = w.fontFamily.sans.join(", "), Z = `
|
|
|
3153
3118
|
}
|
|
3154
3119
|
|
|
3155
3120
|
.vd-slot-bottom-left {
|
|
3156
|
-
${
|
|
3121
|
+
${W}
|
|
3157
3122
|
inset-block-end: ${l[3]};
|
|
3158
3123
|
inset-inline-start: ${l[3]};
|
|
3159
3124
|
flex-direction: column;
|
|
@@ -3162,7 +3127,7 @@ const G = w.fontFamily.sans.join(", "), Z = `
|
|
|
3162
3127
|
}
|
|
3163
3128
|
|
|
3164
3129
|
.vd-slot-bottom-right {
|
|
3165
|
-
${
|
|
3130
|
+
${W}
|
|
3166
3131
|
inset-block-end: ${l[3]};
|
|
3167
3132
|
inset-inline-end: ${l[3]};
|
|
3168
3133
|
flex-direction: row;
|
|
@@ -3208,7 +3173,7 @@ const G = w.fontFamily.sans.join(", "), Z = `
|
|
|
3208
3173
|
border-radius: ${l[3]};
|
|
3209
3174
|
padding: ${l[3]};
|
|
3210
3175
|
box-shadow: 0 ${l[1]} ${l[4]} color-mix(in oklch, ${p.neutral[900]} 6%, transparent);
|
|
3211
|
-
font-family: ${
|
|
3176
|
+
font-family: ${Z};
|
|
3212
3177
|
}
|
|
3213
3178
|
|
|
3214
3179
|
.vd-attribute {
|
|
@@ -3224,7 +3189,7 @@ const G = w.fontFamily.sans.join(", "), Z = `
|
|
|
3224
3189
|
color: ${p.neutral[500]};
|
|
3225
3190
|
text-transform: uppercase;
|
|
3226
3191
|
letter-spacing: 0.05em;
|
|
3227
|
-
font-family: ${
|
|
3192
|
+
font-family: ${Z};
|
|
3228
3193
|
}
|
|
3229
3194
|
|
|
3230
3195
|
/* sidebar-right layout — a docked, full-height right panel */
|
|
@@ -3306,7 +3271,7 @@ const G = w.fontFamily.sans.join(", "), Z = `
|
|
|
3306
3271
|
gap: ${l[2]};
|
|
3307
3272
|
padding-block-start: ${l[3]};
|
|
3308
3273
|
border-block-start: 1px solid color-mix(in oklch, ${p.neutral[900]} 8%, transparent);
|
|
3309
|
-
font-family: ${
|
|
3274
|
+
font-family: ${Z};
|
|
3310
3275
|
}
|
|
3311
3276
|
|
|
3312
3277
|
.vd-commerce-price {
|
|
@@ -3339,17 +3304,17 @@ const G = w.fontFamily.sans.join(", "), Z = `
|
|
|
3339
3304
|
}
|
|
3340
3305
|
|
|
3341
3306
|
`;
|
|
3342
|
-
function
|
|
3307
|
+
function ts() {
|
|
3343
3308
|
if (xe(), document.getElementById("vd-styles") !== null)
|
|
3344
3309
|
return;
|
|
3345
3310
|
const n = document.createElement("style");
|
|
3346
|
-
n.id = "vd-styles", n.textContent =
|
|
3311
|
+
n.id = "vd-styles", n.textContent = es, document.head.appendChild(n);
|
|
3347
3312
|
}
|
|
3348
|
-
function
|
|
3313
|
+
function ns(n, e) {
|
|
3349
3314
|
const t = document.createElement("a");
|
|
3350
3315
|
t.href = `data:image/png;base64,${n}`, t.download = e, t.click();
|
|
3351
3316
|
}
|
|
3352
|
-
class
|
|
3317
|
+
class is {
|
|
3353
3318
|
options;
|
|
3354
3319
|
settings = {};
|
|
3355
3320
|
container = null;
|
|
@@ -3369,7 +3334,7 @@ class rs {
|
|
|
3369
3334
|
this.options = e;
|
|
3370
3335
|
}
|
|
3371
3336
|
attach(e) {
|
|
3372
|
-
|
|
3337
|
+
ts(), this.container = e, this.loading = new Mi(e), this.slots.topRight = this.createSlot(e, "vd-slot-top-right"), this.slots.bottomRight = this.createSlot(e, "vd-slot-bottom-right");
|
|
3373
3338
|
}
|
|
3374
3339
|
onReady() {
|
|
3375
3340
|
this.loading?.hide(), this.loading = null, this.mountToolbar(), this.cameraControls !== null && (this.cameraControls.element.style.display = "flex"), this.layout?.setVisible(!0);
|
|
@@ -3378,7 +3343,7 @@ class rs {
|
|
|
3378
3343
|
if (this.actionBar !== null || this.slots.bottomRight === null || this.container === null)
|
|
3379
3344
|
return;
|
|
3380
3345
|
const e = typeof this.container.requestFullscreen == "function";
|
|
3381
|
-
this.actionBar = new
|
|
3346
|
+
this.actionBar = new zi({
|
|
3382
3347
|
onAr: this.options.onAr,
|
|
3383
3348
|
onFullscreen: e ? () => {
|
|
3384
3349
|
this.toggleFullscreen();
|
|
@@ -3395,7 +3360,7 @@ class rs {
|
|
|
3395
3360
|
this.loading?.showError(e);
|
|
3396
3361
|
}
|
|
3397
3362
|
applyViewerSettings(e) {
|
|
3398
|
-
this.settings = e, e.language !== void 0 &&
|
|
3363
|
+
this.settings = e, e.language !== void 0 && we(e.language, { reload: !1 }), this.syncScreenshotButton(), this.actionBar?.applySettings(e), this.cameraControls !== null && (this.cameraControls.element.style.display = e.cameraControls === !0 ? "flex" : "none"), this.placeScreenshotButton();
|
|
3399
3364
|
}
|
|
3400
3365
|
renderAttributeControls(e, t) {
|
|
3401
3366
|
if (!(this.container === null || this.slots.topRight === null || this.slots.bottomRight === null) && (this.cameraControls?.element.remove(), this.cameraControls = null, this.teardownConfigurator(), this.settings.cameraControls === !0 && (this.cameraControls = new z(
|
|
@@ -3404,7 +3369,7 @@ class rs {
|
|
|
3404
3369
|
), this.cameraControls.element.style.display = "none", this.slots.topRight.appendChild(this.cameraControls.element)), this.placeScreenshotButton(), t.length !== 0)) {
|
|
3405
3370
|
this.attributes = document.createElement("div"), this.attributes.className = "vd-attributes", this.groupHandles = /* @__PURE__ */ new Map();
|
|
3406
3371
|
for (const i of t) {
|
|
3407
|
-
const s =
|
|
3372
|
+
const s = ji(
|
|
3408
3373
|
i,
|
|
3409
3374
|
e,
|
|
3410
3375
|
this.options.eventBus,
|
|
@@ -3414,7 +3379,7 @@ class rs {
|
|
|
3414
3379
|
);
|
|
3415
3380
|
this.groupHandles.set(i.name, s), this.attributes.appendChild(s.element);
|
|
3416
3381
|
}
|
|
3417
|
-
this.commerce = new
|
|
3382
|
+
this.commerce = new Zi(this.options.configuration), this.attributes.appendChild(this.commerce.element), this.layout = Ji(
|
|
3418
3383
|
this.settings.configuratorLayout,
|
|
3419
3384
|
this.slots.bottomRight
|
|
3420
3385
|
), this.layout.attach(this.container, this.attributes), this.lastSelectable !== null && this.applySelectable(this.lastSelectable);
|
|
@@ -3455,11 +3420,11 @@ class rs {
|
|
|
3455
3420
|
e && this.screenshotBtn === null && (this.screenshotBtn = new v({
|
|
3456
3421
|
variant: "outline",
|
|
3457
3422
|
size: "icon",
|
|
3458
|
-
label:
|
|
3423
|
+
label: hn(),
|
|
3459
3424
|
icon: b.screenshot(),
|
|
3460
3425
|
onClick: () => {
|
|
3461
3426
|
this.options.snapshotApi.take("snapshot.png").onDeveloped(({ data: t, filename: i }) => {
|
|
3462
|
-
|
|
3427
|
+
ns(t, i);
|
|
3463
3428
|
});
|
|
3464
3429
|
}
|
|
3465
3430
|
})), !e && this.screenshotBtn !== null && (this.screenshotBtn.element.remove(), this.screenshotBtn = null);
|
|
@@ -3468,8 +3433,8 @@ class rs {
|
|
|
3468
3433
|
this.screenshotBtn === null || this.slots.topRight === null || (this.cameraControls !== null ? this.cameraControls.element.appendChild(this.screenshotBtn.element) : this.slots.topRight.appendChild(this.screenshotBtn.element));
|
|
3469
3434
|
}
|
|
3470
3435
|
}
|
|
3471
|
-
const
|
|
3472
|
-
class
|
|
3436
|
+
const ss = {};
|
|
3437
|
+
class os {
|
|
3473
3438
|
defaultServer = "https://server.virtualdisplay.io";
|
|
3474
3439
|
options;
|
|
3475
3440
|
serverHost;
|
|
@@ -3523,7 +3488,7 @@ class ls {
|
|
|
3523
3488
|
getServerUrl() {
|
|
3524
3489
|
if (this.serverHost !== void 0)
|
|
3525
3490
|
return this.serverHost;
|
|
3526
|
-
if (
|
|
3491
|
+
if (ss?.VITE_VIRTUALDISPLAY_SERVER_HOST === void 0)
|
|
3527
3492
|
return this.defaultServer;
|
|
3528
3493
|
}
|
|
3529
3494
|
getParentElement() {
|
|
@@ -3535,7 +3500,7 @@ class ls {
|
|
|
3535
3500
|
return e;
|
|
3536
3501
|
}
|
|
3537
3502
|
}
|
|
3538
|
-
function
|
|
3503
|
+
function rs(n) {
|
|
3539
3504
|
const { messenger: e } = n;
|
|
3540
3505
|
e.on(c.HANDSHAKE, (t) => {
|
|
3541
3506
|
Me(t) && (C.info("Server handshake received, flushing publisher queue"), e.markReady());
|
|
@@ -3544,18 +3509,18 @@ function cs(n) {
|
|
|
3544
3509
|
}), e.on(c.MUTATION, (t) => {
|
|
3545
3510
|
Fe(t) && (n.attributes.handleMutationResult(t), n.configuration.handleSelectionChanged(n.attributes.getSelection()));
|
|
3546
3511
|
}), e.on(c.SNAPSHOT, (t) => {
|
|
3547
|
-
|
|
3512
|
+
De(t) && n.snapshot.handleSnapshotResult(t);
|
|
3548
3513
|
}), e.on(c.CAMERA, (t) => {
|
|
3549
|
-
|
|
3514
|
+
$e(t) && n.cameraPosition.handlePositionUpdate(t);
|
|
3550
3515
|
}), e.on(c.LOADING_INDICATOR, (t) => {
|
|
3551
3516
|
Be(t) && (t.error !== void 0 ? n.ui.showError(t.error) : n.ui.updateProgress(t.progress, t.phase));
|
|
3552
3517
|
}), e.on(c.CONFIG, (t) => {
|
|
3553
3518
|
He(t) && n.applyConfig(t);
|
|
3554
3519
|
}), e.on(c.MAPPING, (t) => {
|
|
3555
3520
|
Ue(t) && (n.attributes.handleMappingReceived(t), n.configuration.handleSelectionChanged(n.attributes.getSelection()), n.ui.renderAttributeControls(n.attributes, t.attributes), n.readyStateTracker.handleMappingReceived());
|
|
3556
|
-
}),
|
|
3521
|
+
}), as(n);
|
|
3557
3522
|
}
|
|
3558
|
-
function
|
|
3523
|
+
function as(n) {
|
|
3559
3524
|
const { messenger: e } = n;
|
|
3560
3525
|
e.on(c.FOCUS, (t) => {
|
|
3561
3526
|
qe(t) && n.focus.handleStateReceived(t);
|
|
@@ -3569,7 +3534,7 @@ function ds(n) {
|
|
|
3569
3534
|
Pe(t) && n.onAppResolved(t);
|
|
3570
3535
|
});
|
|
3571
3536
|
}
|
|
3572
|
-
class
|
|
3537
|
+
class ls {
|
|
3573
3538
|
ready = !1;
|
|
3574
3539
|
onReady;
|
|
3575
3540
|
constructor(e) {
|
|
@@ -3585,7 +3550,13 @@ class us {
|
|
|
3585
3550
|
this.ready = !1;
|
|
3586
3551
|
}
|
|
3587
3552
|
}
|
|
3588
|
-
|
|
3553
|
+
function cs(n) {
|
|
3554
|
+
if (n === void 0)
|
|
3555
|
+
return;
|
|
3556
|
+
const { annotations: e, ...t } = n;
|
|
3557
|
+
return e === void 0 ? t : e === !0 ? { ...t, annotations: "show" } : e === !1 ? { ...t, annotations: "hide" } : { ...t, annotations: e };
|
|
3558
|
+
}
|
|
3559
|
+
class us {
|
|
3589
3560
|
attributes;
|
|
3590
3561
|
selectableState;
|
|
3591
3562
|
readyStateTracker;
|
|
@@ -3624,25 +3595,25 @@ class hs {
|
|
|
3624
3595
|
const s = (o) => {
|
|
3625
3596
|
this.messenger.send(o);
|
|
3626
3597
|
};
|
|
3627
|
-
this.attributes = new pt(s, (o, r) => {
|
|
3598
|
+
this.attributes = new pt(s, F, (o, r) => {
|
|
3628
3599
|
this.notifyMutationFailed(o, r);
|
|
3629
|
-
}), this.selectableState = new ft(), this.snapshotApi = new
|
|
3600
|
+
}), this.selectableState = new ft(), this.snapshotApi = new kt(s), this.annotationsApi = new We(s, F), this.cameraApi = new gt(s), this.cameraPositionApi = new bt(), this.focusApi = new wt(s, (o) => {
|
|
3630
3601
|
this.dispatchFocusChange(o);
|
|
3631
|
-
}), this.configurationApi = new St(
|
|
3602
|
+
}, F), this.configurationApi = new St(
|
|
3632
3603
|
(o) => {
|
|
3633
3604
|
this.dispatchConfigurationChange(o);
|
|
3634
3605
|
},
|
|
3635
3606
|
(o) => {
|
|
3636
3607
|
this.dispatchConfigurationSubmit(o);
|
|
3637
3608
|
}
|
|
3638
|
-
), this.eventBus = new
|
|
3609
|
+
), this.eventBus = new _t(), this.arActivation = i.createArActivation?.(s), this.syncTracker = i.createSyncTracker?.(), this.readyStateTracker = new ls(() => {
|
|
3639
3610
|
this.notifyReady();
|
|
3640
3611
|
}), this.ui = this.createStandardInterface(), this.wireIncomingMessages(), i.registerHandlers?.(this.messenger, s), this.messenger.start(), this.createAndConnectIframe();
|
|
3641
3612
|
}
|
|
3642
3613
|
/** The configurator UI, every callback bridging it to the facade that owns the action. */
|
|
3643
3614
|
createStandardInterface() {
|
|
3644
3615
|
const e = this.arActivation;
|
|
3645
|
-
return new
|
|
3616
|
+
return new is({
|
|
3646
3617
|
snapshotApi: this.snapshotApi,
|
|
3647
3618
|
cameraApi: this.cameraApi,
|
|
3648
3619
|
cameraPositionApi: this.cameraPositionApi,
|
|
@@ -3663,7 +3634,7 @@ class hs {
|
|
|
3663
3634
|
}
|
|
3664
3635
|
/** Wire the inbound viewer protocol to the facades. */
|
|
3665
3636
|
wireIncomingMessages() {
|
|
3666
|
-
|
|
3637
|
+
rs({
|
|
3667
3638
|
messenger: this.messenger,
|
|
3668
3639
|
attributes: this.attributes,
|
|
3669
3640
|
selectable: this.selectableState,
|
|
@@ -3740,7 +3711,7 @@ class hs {
|
|
|
3740
3711
|
);
|
|
3741
3712
|
}
|
|
3742
3713
|
handleConfig(e) {
|
|
3743
|
-
const t = e.viewerSettings, i = this.options.viewerSettings;
|
|
3714
|
+
const t = e.viewerSettings, i = cs(this.options.viewerSettings);
|
|
3744
3715
|
if (t !== void 0 || i !== void 0) {
|
|
3745
3716
|
const s = i !== void 0 ? { ...t ?? {}, ...i } : t;
|
|
3746
3717
|
if (i !== void 0 && t !== void 0) {
|
|
@@ -3749,10 +3720,20 @@ class hs {
|
|
|
3749
3720
|
);
|
|
3750
3721
|
o.length > 0 && C.warn(`Viewer settings override active: ${o.join(", ")}`);
|
|
3751
3722
|
}
|
|
3752
|
-
this.ui.applyViewerSettings(s), this.
|
|
3723
|
+
this.ui.applyViewerSettings(s), this.echoAnnotationsDifference(t?.annotations, s.annotations);
|
|
3753
3724
|
}
|
|
3754
3725
|
this.cameraPositionApi.applyLimits(e.cameraLimits);
|
|
3755
3726
|
}
|
|
3727
|
+
/**
|
|
3728
|
+
* The difference echo: the viewer already applied the app-config mode
|
|
3729
|
+
* itself, so the client only speaks up when the merged mode (config plus
|
|
3730
|
+
* integrator override) differs from what CONFIG announced, in either
|
|
3731
|
+
* direction. Equal modes echo nothing, so a boot without overrides sends
|
|
3732
|
+
* no toggle at all.
|
|
3733
|
+
*/
|
|
3734
|
+
echoAnnotationsDifference(e, t) {
|
|
3735
|
+
t === void 0 || t === e || this.annotationsApi.setEnabled(t === "show" || t === "toggle-shown");
|
|
3736
|
+
}
|
|
3756
3737
|
/** Tell the viewer the user entered fullscreen, so it records the engagement. */
|
|
3757
3738
|
trackFullscreen() {
|
|
3758
3739
|
this.messenger.send({ type: c.FULLSCREEN });
|
|
@@ -3763,7 +3744,7 @@ class hs {
|
|
|
3763
3744
|
});
|
|
3764
3745
|
}
|
|
3765
3746
|
createAndConnectIframe() {
|
|
3766
|
-
const t = new
|
|
3747
|
+
const t = new os(this.options, this.serverHost, this.iframeParams).create();
|
|
3767
3748
|
this.container = t.container, this.iframe = t.iframe, this.eventBus.attach(this.container), this.ui.attach(this.container);
|
|
3768
3749
|
try {
|
|
3769
3750
|
const i = new URL(this.iframe.src).origin;
|
|
@@ -3863,15 +3844,15 @@ class hs {
|
|
|
3863
3844
|
this.readyStateTracker.clear(), this.readyCallbacks = [], this.mutationFailedCallbacks.length = 0, this.snapshotApi.clear(), this.messenger.destroy(), this.arActivation?.destroy(), 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;
|
|
3864
3845
|
}
|
|
3865
3846
|
}
|
|
3866
|
-
const
|
|
3867
|
-
function
|
|
3868
|
-
const e = new URL(`https://${
|
|
3847
|
+
const ds = "ar.virtualdisplay.io";
|
|
3848
|
+
function hs(n) {
|
|
3849
|
+
const e = new URL(`https://${ds}/go`);
|
|
3869
3850
|
return n.sessionId !== void 0 ? e.searchParams.set("session", n.sessionId) : n.app !== void 0 ? e.searchParams.set("app", n.app) : n.license !== void 0 && n.model !== void 0 && (e.searchParams.set("license", n.license), e.searchParams.set("model", n.model)), e.toString();
|
|
3870
3851
|
}
|
|
3871
|
-
const
|
|
3872
|
-
class
|
|
3852
|
+
const ms = 1500;
|
|
3853
|
+
class ps {
|
|
3873
3854
|
options;
|
|
3874
|
-
qrModal = new
|
|
3855
|
+
qrModal = new Ti();
|
|
3875
3856
|
/** The viewer's tracking session id, once the engine announces it (SESSION). */
|
|
3876
3857
|
sessionId;
|
|
3877
3858
|
/** Callbacks waiting on the SESSION message, resolved (or timed out) exactly once each. */
|
|
@@ -3893,7 +3874,7 @@ class gs {
|
|
|
3893
3874
|
}
|
|
3894
3875
|
/** The AR button handler: mobile activates AR in the engine, desktop shows the hand-off QR. */
|
|
3895
3876
|
activate() {
|
|
3896
|
-
if (
|
|
3877
|
+
if (dt()) {
|
|
3897
3878
|
this.options.send({ type: c.AR_ACTIVATE });
|
|
3898
3879
|
return;
|
|
3899
3880
|
}
|
|
@@ -3917,7 +3898,7 @@ class gs {
|
|
|
3917
3898
|
const e = await this.waitForSessionId();
|
|
3918
3899
|
if (this.destroyed)
|
|
3919
3900
|
return;
|
|
3920
|
-
const t =
|
|
3901
|
+
const t = hs({
|
|
3921
3902
|
sessionId: e,
|
|
3922
3903
|
app: this.options.app,
|
|
3923
3904
|
license: this.options.license,
|
|
@@ -3939,14 +3920,14 @@ class gs {
|
|
|
3939
3920
|
return this.sessionId !== void 0 ? Promise.resolve(this.sessionId) : new Promise((e) => {
|
|
3940
3921
|
const t = setTimeout(() => {
|
|
3941
3922
|
this.pendingTimers.delete(t), e(void 0);
|
|
3942
|
-
},
|
|
3923
|
+
}, ms);
|
|
3943
3924
|
this.pendingTimers.add(t), this.waiters.push((i) => {
|
|
3944
3925
|
this.pendingTimers.delete(t), clearTimeout(t), e(i);
|
|
3945
3926
|
});
|
|
3946
3927
|
});
|
|
3947
3928
|
}
|
|
3948
3929
|
}
|
|
3949
|
-
class
|
|
3930
|
+
class fs {
|
|
3950
3931
|
callbacks = [];
|
|
3951
3932
|
lastKnown;
|
|
3952
3933
|
handleSync(e) {
|
|
@@ -3958,12 +3939,12 @@ class bs {
|
|
|
3958
3939
|
this.callbacks.push(e), this.lastKnown !== void 0 && e(this.lastKnown);
|
|
3959
3940
|
}
|
|
3960
3941
|
}
|
|
3961
|
-
class
|
|
3942
|
+
class vs extends us {
|
|
3962
3943
|
syncStatusTracker;
|
|
3963
3944
|
constructor(e) {
|
|
3964
|
-
const t = new
|
|
3945
|
+
const t = new fs();
|
|
3965
3946
|
super(e, {
|
|
3966
|
-
createArActivation: (i) => new
|
|
3947
|
+
createArActivation: (i) => new ps({
|
|
3967
3948
|
app: e.app,
|
|
3968
3949
|
license: e.license,
|
|
3969
3950
|
model: e.model,
|
|
@@ -3986,11 +3967,11 @@ export {
|
|
|
3986
3967
|
A as ERROR_CODES,
|
|
3987
3968
|
wt as Focus,
|
|
3988
3969
|
Ct as Photo,
|
|
3989
|
-
|
|
3970
|
+
kt as Snapshot,
|
|
3990
3971
|
T as VD_EVENTS,
|
|
3991
|
-
|
|
3972
|
+
vs as VirtualdisplayClient,
|
|
3992
3973
|
g as VirtualdisplayError,
|
|
3993
3974
|
mt as enableDebugMode,
|
|
3994
|
-
|
|
3975
|
+
gs as isDebugMode,
|
|
3995
3976
|
C as logger
|
|
3996
3977
|
};
|