@virtualdisplay.io/client 4.0.0-alpha.13 → 4.0.0-alpha.15
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/src/client/error.d.ts +0 -3
- package/dist/src/client/error.d.ts.map +1 -1
- package/dist/src/client/iframe-builder.d.ts.map +1 -1
- package/dist/src/client/options.d.ts +0 -5
- package/dist/src/client/options.d.ts.map +1 -1
- package/dist/src/snapshot/snapshot.d.ts.map +1 -1
- package/dist/virtualdisplay.client.cjs.js +11 -11
- package/dist/virtualdisplay.client.es.js +424 -434
- package/dist/virtualdisplay.client.umd.js +14 -14
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const A = {
|
|
2
2
|
NO_MAPPING: "NO_MAPPING",
|
|
3
3
|
ATTRIBUTE_NOT_FOUND: "ATTRIBUTE_NOT_FOUND",
|
|
4
4
|
VALUE_NOT_FOUND: "VALUE_NOT_FOUND",
|
|
@@ -11,42 +11,24 @@ class f extends Error {
|
|
|
11
11
|
constructor(t, e) {
|
|
12
12
|
super(t), this.name = "VirtualdisplayError", this.code = e;
|
|
13
13
|
}
|
|
14
|
-
static noMapping() {
|
|
15
|
-
return new f(
|
|
16
|
-
"No attributes available. Waiting for server metadata.",
|
|
17
|
-
C.NO_MAPPING
|
|
18
|
-
);
|
|
19
|
-
}
|
|
20
|
-
static attributeNotFound(t) {
|
|
21
|
-
return new f(
|
|
22
|
-
`Attribute "${t}" not found in mapping`,
|
|
23
|
-
C.ATTRIBUTE_NOT_FOUND
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
14
|
static valueNotFound(t, e) {
|
|
27
15
|
return new f(
|
|
28
16
|
`Value "${e}" not found for attribute "${t}"`,
|
|
29
|
-
|
|
17
|
+
A.VALUE_NOT_FOUND
|
|
30
18
|
);
|
|
31
19
|
}
|
|
32
20
|
static parentNotFound(t) {
|
|
33
21
|
return new f(
|
|
34
22
|
`Parent element not found: ${t}`,
|
|
35
|
-
|
|
23
|
+
A.PARENT_NOT_FOUND
|
|
36
24
|
);
|
|
37
25
|
}
|
|
38
26
|
static invalidParameter(t) {
|
|
39
|
-
return new f(t,
|
|
40
|
-
}
|
|
41
|
-
static snapshotFailed(t, e) {
|
|
42
|
-
return new f(
|
|
43
|
-
`Snapshot failed for "${t}": ${e}`,
|
|
44
|
-
C.SNAPSHOT_FAILED
|
|
45
|
-
);
|
|
27
|
+
return new f(t, A.INVALID_PARAMETER);
|
|
46
28
|
}
|
|
47
29
|
}
|
|
48
|
-
const
|
|
49
|
-
class
|
|
30
|
+
const St = {};
|
|
31
|
+
class At {
|
|
50
32
|
defaultServer = "https://server.virtualdisplay.io";
|
|
51
33
|
options;
|
|
52
34
|
constructor(t) {
|
|
@@ -82,10 +64,10 @@ class St {
|
|
|
82
64
|
}
|
|
83
65
|
buildUrl() {
|
|
84
66
|
const t = this.getServerUrl(), e = new URL(t);
|
|
85
|
-
return e.searchParams.set("license", this.options.license), e.searchParams.set("model", this.options.model), this.options.language !== void 0 && e.searchParams.set("language", this.options.language), this.options.debug === !0 && e.searchParams.set("debug", "true"), this.options.traceparent !== void 0 && e.searchParams.set("traceparent", this.options.traceparent),
|
|
67
|
+
return e.searchParams.set("license", this.options.license), e.searchParams.set("model", this.options.model), this.options.language !== void 0 && e.searchParams.set("language", this.options.language), this.options.debug === !0 && e.searchParams.set("debug", "true"), this.options.traceparent !== void 0 && e.searchParams.set("traceparent", this.options.traceparent), e.toString();
|
|
86
68
|
}
|
|
87
69
|
getServerUrl() {
|
|
88
|
-
if (
|
|
70
|
+
if (St?.VITE_VIRTUALDISPLAY_SERVER_HOST === void 0)
|
|
89
71
|
return this.defaultServer;
|
|
90
72
|
}
|
|
91
73
|
getParentElement() {
|
|
@@ -97,18 +79,18 @@ class St {
|
|
|
97
79
|
return t;
|
|
98
80
|
}
|
|
99
81
|
}
|
|
100
|
-
function
|
|
82
|
+
function Et(n) {
|
|
101
83
|
const t = new Date(n.timestamp).toLocaleTimeString("en-GB", { hour12: !1 }), e = n.level.toUpperCase().padEnd(5), i = n.trace_id?.slice(0, 8) ?? "--------", o = n.msg, s = ["timestamp", "level", "msg", "service", "trace_id", "span_id"], r = Object.entries(n).filter(([l]) => !s.includes(l)).map(([l, d]) => `${l}=${JSON.stringify(d)}`).join(" ");
|
|
102
84
|
return `${t} ${e} [${i}] ${o}${r ? " " + r : ""}`;
|
|
103
85
|
}
|
|
104
|
-
function
|
|
86
|
+
function xt(n) {
|
|
105
87
|
return JSON.stringify(n);
|
|
106
88
|
}
|
|
107
|
-
function
|
|
108
|
-
const e = t ?
|
|
89
|
+
function Tt(n, t) {
|
|
90
|
+
const e = t ? Et(n) : xt(n);
|
|
109
91
|
n.level === "error" ? console.error(e) : n.level === "warn" ? console.warn(e) : console.log(e);
|
|
110
92
|
}
|
|
111
|
-
function
|
|
93
|
+
function ct(n, t = 0) {
|
|
112
94
|
const e = {
|
|
113
95
|
name: n.name,
|
|
114
96
|
message: n.message
|
|
@@ -120,34 +102,34 @@ function lt(n, t = 0) {
|
|
|
120
102
|
const o = n[i];
|
|
121
103
|
o !== void 0 && (e[i] = o);
|
|
122
104
|
}
|
|
123
|
-
return n.cause !== void 0 && n.cause !== null && (e.cause = n.cause instanceof Error && t < 5 ?
|
|
105
|
+
return n.cause !== void 0 && n.cause !== null && (e.cause = n.cause instanceof Error && t < 5 ? ct(n.cause, t + 1) : String(n.cause)), e;
|
|
124
106
|
}
|
|
125
|
-
function
|
|
107
|
+
function Rt(n) {
|
|
126
108
|
const t = {};
|
|
127
109
|
for (const [e, i] of Object.entries(n))
|
|
128
|
-
t[e] = i instanceof Error ?
|
|
110
|
+
t[e] = i instanceof Error ? ct(i) : i;
|
|
129
111
|
return t;
|
|
130
112
|
}
|
|
131
|
-
function
|
|
113
|
+
function Ot() {
|
|
132
114
|
return /* @__PURE__ */ new Date();
|
|
133
115
|
}
|
|
134
116
|
function Nt(n) {
|
|
135
117
|
return n.toISOString();
|
|
136
118
|
}
|
|
137
|
-
function
|
|
119
|
+
function ut() {
|
|
138
120
|
return typeof navigator > "u" ? "" : navigator.userAgent;
|
|
139
121
|
}
|
|
140
|
-
function Ot() {
|
|
141
|
-
return typeof navigator > "u" ? !1 : navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
|
|
142
|
-
}
|
|
143
122
|
function It() {
|
|
144
|
-
return
|
|
123
|
+
return typeof navigator > "u" ? !1 : navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
|
|
145
124
|
}
|
|
146
125
|
function Lt() {
|
|
147
|
-
return /
|
|
126
|
+
return /iPhone|iPad|iPod/i.test(ut()) || It();
|
|
148
127
|
}
|
|
149
128
|
function Mt() {
|
|
150
|
-
return
|
|
129
|
+
return /Android/i.test(ut());
|
|
130
|
+
}
|
|
131
|
+
function zt() {
|
|
132
|
+
return Lt() || Mt();
|
|
151
133
|
}
|
|
152
134
|
class Z {
|
|
153
135
|
constructor(t) {
|
|
@@ -159,14 +141,14 @@ class Z {
|
|
|
159
141
|
*/
|
|
160
142
|
log(t, e, i = {}) {
|
|
161
143
|
const o = this.config.traceProvider?.() ?? {}, s = {
|
|
162
|
-
timestamp: Nt(
|
|
144
|
+
timestamp: Nt(Ot()),
|
|
163
145
|
level: t,
|
|
164
146
|
msg: e,
|
|
165
147
|
service: this.config.service,
|
|
166
148
|
...o,
|
|
167
|
-
...
|
|
149
|
+
...Rt(i)
|
|
168
150
|
};
|
|
169
|
-
|
|
151
|
+
Tt(s, this.config.isDev);
|
|
170
152
|
}
|
|
171
153
|
/**
|
|
172
154
|
* Log at DEBUG level (development only).
|
|
@@ -202,37 +184,37 @@ class Z {
|
|
|
202
184
|
}).bind(this), e;
|
|
203
185
|
}
|
|
204
186
|
}
|
|
205
|
-
function
|
|
187
|
+
function dt(n, t) {
|
|
206
188
|
const e = t?.isDev !== void 0 ? t.isDev : typeof process < "u" ? process.env.NODE_ENV !== "production" : !0;
|
|
207
189
|
return new Z({ service: n, isDev: e, traceProvider: t?.traceProvider });
|
|
208
190
|
}
|
|
209
|
-
function
|
|
191
|
+
function N(n) {
|
|
210
192
|
if (n !== void 0)
|
|
211
193
|
return typeof n == "object" && n !== null && !Array.isArray(n) && !(n instanceof Error) ? n : n instanceof Error ? { error: n.message } : { value: n };
|
|
212
194
|
}
|
|
213
|
-
function
|
|
195
|
+
function ht(n) {
|
|
214
196
|
return {
|
|
215
|
-
debug: (t, e) => n.debug(t,
|
|
216
|
-
info: (t, e) => n.info(t,
|
|
217
|
-
warn: (t, e) => n.warn(t,
|
|
218
|
-
error: (t, e) => n.error(t,
|
|
197
|
+
debug: (t, e) => n.debug(t, N(e)),
|
|
198
|
+
info: (t, e) => n.info(t, N(e)),
|
|
199
|
+
warn: (t, e) => n.warn(t, N(e)),
|
|
200
|
+
error: (t, e) => n.error(t, N(e))
|
|
219
201
|
};
|
|
220
202
|
}
|
|
221
|
-
let
|
|
222
|
-
function
|
|
223
|
-
|
|
203
|
+
let mt = !1, C = ht(dt("client", { isDev: !1 }));
|
|
204
|
+
function Pt() {
|
|
205
|
+
mt = !0, C = ht(dt("client", { isDev: !0 }));
|
|
224
206
|
}
|
|
225
|
-
function
|
|
226
|
-
return
|
|
207
|
+
function Vi() {
|
|
208
|
+
return mt;
|
|
227
209
|
}
|
|
228
|
-
class
|
|
210
|
+
class Ft {
|
|
229
211
|
ready = !1;
|
|
230
212
|
onReady;
|
|
231
213
|
constructor(t) {
|
|
232
214
|
this.onReady = t;
|
|
233
215
|
}
|
|
234
216
|
handleMappingReceived() {
|
|
235
|
-
this.ready || (this.ready = !0,
|
|
217
|
+
this.ready || (this.ready = !0, C.info("Mapping received from server, client is now ready"), this.onReady?.());
|
|
236
218
|
}
|
|
237
219
|
get isReady() {
|
|
238
220
|
return this.ready;
|
|
@@ -259,59 +241,59 @@ const c = {
|
|
|
259
241
|
}, X = {
|
|
260
242
|
FOCUS: "focus",
|
|
261
243
|
UNFOCUS: "unfocus"
|
|
262
|
-
}, Ft = {
|
|
263
|
-
FOCUSED: "focused"
|
|
264
244
|
}, $t = {
|
|
245
|
+
FOCUSED: "focused"
|
|
246
|
+
}, Dt = {
|
|
265
247
|
/** Behaves exactly like an unpriced combination: no price, no button. */
|
|
266
248
|
HIDDEN: "hidden"
|
|
267
|
-
},
|
|
268
|
-
function
|
|
249
|
+
}, Bt = new Set(Object.values(c));
|
|
250
|
+
function Ut(n) {
|
|
269
251
|
if (typeof n != "object" || n === null)
|
|
270
252
|
return !1;
|
|
271
253
|
const t = n;
|
|
272
|
-
return typeof t.target == "string" ? !1 : typeof t.type == "string" &&
|
|
254
|
+
return typeof t.target == "string" ? !1 : typeof t.type == "string" && Bt.has(t.type);
|
|
273
255
|
}
|
|
274
|
-
function
|
|
275
|
-
const t =
|
|
256
|
+
function Vt(n) {
|
|
257
|
+
const t = k(n);
|
|
276
258
|
return t !== null && t.type === c.HANDSHAKE;
|
|
277
259
|
}
|
|
278
|
-
function
|
|
279
|
-
const t =
|
|
260
|
+
function jt(n) {
|
|
261
|
+
const t = k(n);
|
|
280
262
|
return t !== null && t.type === c.MUTATION && Array.isArray(t.results);
|
|
281
263
|
}
|
|
282
|
-
function
|
|
283
|
-
const t =
|
|
264
|
+
function Ht(n) {
|
|
265
|
+
const t = k(n);
|
|
284
266
|
return t !== null && t.type === c.SNAPSHOT && ("data" in t || "error" in t);
|
|
285
267
|
}
|
|
286
|
-
function
|
|
287
|
-
const t =
|
|
268
|
+
function Gt(n) {
|
|
269
|
+
const t = k(n);
|
|
288
270
|
return t !== null && t.type === c.CAMERA && Array.isArray(t.transforms);
|
|
289
271
|
}
|
|
290
|
-
function
|
|
291
|
-
const t =
|
|
272
|
+
function qt(n) {
|
|
273
|
+
const t = k(n);
|
|
292
274
|
return t !== null && t.type === c.MAPPING && Array.isArray(t.attributes);
|
|
293
275
|
}
|
|
294
|
-
function
|
|
295
|
-
const t =
|
|
276
|
+
function Zt(n) {
|
|
277
|
+
const t = k(n);
|
|
296
278
|
return t !== null && t.type === c.LOADING_INDICATOR && typeof t.progress == "number";
|
|
297
279
|
}
|
|
298
|
-
function
|
|
299
|
-
const t =
|
|
280
|
+
function Wt(n) {
|
|
281
|
+
const t = k(n);
|
|
300
282
|
return t !== null && t.type === c.CONFIG && typeof t.viewerSettings == "object";
|
|
301
283
|
}
|
|
302
|
-
function
|
|
303
|
-
const t =
|
|
284
|
+
function Yt(n) {
|
|
285
|
+
const t = k(n);
|
|
304
286
|
return t !== null && t.type === c.ANNOTATION_PLACED && typeof t.position == "object" && t.position !== null;
|
|
305
287
|
}
|
|
306
|
-
function
|
|
307
|
-
const t =
|
|
288
|
+
function Xt(n) {
|
|
289
|
+
const t = k(n);
|
|
308
290
|
return t !== null && t.type === c.FOCUS && typeof t.state == "string";
|
|
309
291
|
}
|
|
310
|
-
function
|
|
311
|
-
const t =
|
|
292
|
+
function Kt(n) {
|
|
293
|
+
const t = k(n);
|
|
312
294
|
return t !== null && t.type === c.PRICING && typeof t.pricing == "object" && t.pricing !== null;
|
|
313
295
|
}
|
|
314
|
-
function
|
|
296
|
+
function k(n) {
|
|
315
297
|
return typeof n != "object" || n === null ? null : n;
|
|
316
298
|
}
|
|
317
299
|
class K {
|
|
@@ -361,7 +343,7 @@ class K {
|
|
|
361
343
|
this.pending.length = 0;
|
|
362
344
|
}
|
|
363
345
|
}
|
|
364
|
-
class
|
|
346
|
+
class Qt {
|
|
365
347
|
constructor(t, e) {
|
|
366
348
|
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();
|
|
367
349
|
}
|
|
@@ -424,7 +406,7 @@ class Kt {
|
|
|
424
406
|
start() {
|
|
425
407
|
this.listener === null && (this.listener = (t) => {
|
|
426
408
|
const { data: e } = t;
|
|
427
|
-
if (!
|
|
409
|
+
if (!Ut(e) || e._source === this.sourceId)
|
|
428
410
|
return;
|
|
429
411
|
const i = this.getTarget();
|
|
430
412
|
if (i !== null && t.source !== null && t.source !== i)
|
|
@@ -470,7 +452,7 @@ class Kt {
|
|
|
470
452
|
});
|
|
471
453
|
}
|
|
472
454
|
}
|
|
473
|
-
class
|
|
455
|
+
class Jt {
|
|
474
456
|
constructor(t) {
|
|
475
457
|
this.send = t;
|
|
476
458
|
}
|
|
@@ -503,7 +485,7 @@ class Qt {
|
|
|
503
485
|
e(t);
|
|
504
486
|
}
|
|
505
487
|
}
|
|
506
|
-
class
|
|
488
|
+
class te {
|
|
507
489
|
constructor(t, e) {
|
|
508
490
|
this.value = t, this.attribute = e;
|
|
509
491
|
}
|
|
@@ -517,7 +499,7 @@ class Jt {
|
|
|
517
499
|
this.isSelectedValue = t;
|
|
518
500
|
}
|
|
519
501
|
}
|
|
520
|
-
class
|
|
502
|
+
class ee {
|
|
521
503
|
name;
|
|
522
504
|
defaultValue;
|
|
523
505
|
values;
|
|
@@ -569,18 +551,18 @@ class te {
|
|
|
569
551
|
createValues(t) {
|
|
570
552
|
const e = /* @__PURE__ */ new Map();
|
|
571
553
|
for (const i of t) {
|
|
572
|
-
const o = new
|
|
554
|
+
const o = new te(i, this.name);
|
|
573
555
|
i === this.defaultValue && o.setSelected(!0), e.set(i, o);
|
|
574
556
|
}
|
|
575
557
|
return e;
|
|
576
558
|
}
|
|
577
559
|
}
|
|
578
|
-
class
|
|
560
|
+
class ne {
|
|
579
561
|
attributes = /* @__PURE__ */ new Map();
|
|
580
562
|
constructor(t, e, i) {
|
|
581
563
|
for (const o of t) {
|
|
582
564
|
const s = this.buildOptions(o, e);
|
|
583
|
-
this.attributes.set(o.name, new
|
|
565
|
+
this.attributes.set(o.name, new ee(s));
|
|
584
566
|
}
|
|
585
567
|
this.onMutationFailed = i;
|
|
586
568
|
}
|
|
@@ -617,7 +599,7 @@ class ee {
|
|
|
617
599
|
return t.defaultValue !== void 0 ? { ...i, defaultValue: t.defaultValue } : i;
|
|
618
600
|
}
|
|
619
601
|
}
|
|
620
|
-
class
|
|
602
|
+
class ie {
|
|
621
603
|
constructor(t, e) {
|
|
622
604
|
this.send = t, this.onMutationFailed = e;
|
|
623
605
|
}
|
|
@@ -629,9 +611,9 @@ class ne {
|
|
|
629
611
|
* Handle incoming MAPPING message from server
|
|
630
612
|
*/
|
|
631
613
|
handleMappingReceived(t) {
|
|
632
|
-
|
|
614
|
+
C.debug("Initializing from server mapping", {
|
|
633
615
|
attributeCount: t.attributes.length
|
|
634
|
-
}), this.registry = new
|
|
616
|
+
}), this.registry = new ne(
|
|
635
617
|
t.attributes,
|
|
636
618
|
(e, i) => this.sendMutation(e, i),
|
|
637
619
|
this.onMutationFailed
|
|
@@ -665,7 +647,7 @@ class ne {
|
|
|
665
647
|
}
|
|
666
648
|
const i = this.registry.get(t);
|
|
667
649
|
if (i === void 0) {
|
|
668
|
-
|
|
650
|
+
C.warn(`onChange: attribute "${t}" not found — callback will not fire`);
|
|
669
651
|
return;
|
|
670
652
|
}
|
|
671
653
|
i.onChange(e);
|
|
@@ -691,12 +673,12 @@ class ne {
|
|
|
691
673
|
replayPendingCallbacks() {
|
|
692
674
|
for (const { name: t, callback: e } of this.pendingCallbacks) {
|
|
693
675
|
const i = this.registry?.get(t);
|
|
694
|
-
i === void 0 &&
|
|
676
|
+
i === void 0 && C.warn(`onChange: attribute "${t}" not found — buffered callback will not fire`), i?.onChange(e);
|
|
695
677
|
}
|
|
696
678
|
this.pendingCallbacks.length = 0;
|
|
697
679
|
}
|
|
698
680
|
}
|
|
699
|
-
let
|
|
681
|
+
let oe = class {
|
|
700
682
|
constructor(t) {
|
|
701
683
|
this.send = t;
|
|
702
684
|
}
|
|
@@ -759,7 +741,7 @@ let ie = class {
|
|
|
759
741
|
this.send(t);
|
|
760
742
|
}
|
|
761
743
|
};
|
|
762
|
-
class
|
|
744
|
+
class se {
|
|
763
745
|
state;
|
|
764
746
|
limitsState;
|
|
765
747
|
changeCallbacks = [];
|
|
@@ -847,7 +829,7 @@ class oe {
|
|
|
847
829
|
}
|
|
848
830
|
}
|
|
849
831
|
}
|
|
850
|
-
const
|
|
832
|
+
const O = {
|
|
851
833
|
/** Attribute selection requested (cancelable). `detail`: `{ attribute, value }`. */
|
|
852
834
|
SELECT: "ui:select",
|
|
853
835
|
/** Attribute selection applied. `detail`: `{ attribute, value }`. */
|
|
@@ -859,7 +841,7 @@ const N = {
|
|
|
859
841
|
/** Configuration submitted (bubbles). `detail`: the resolved configuration handed to the host. */
|
|
860
842
|
CONFIGURATION_SUBMIT: "vd:configuration-submit"
|
|
861
843
|
};
|
|
862
|
-
class
|
|
844
|
+
class re {
|
|
863
845
|
constructor(t, e) {
|
|
864
846
|
this.send = t, this.dispatch = e;
|
|
865
847
|
}
|
|
@@ -896,27 +878,27 @@ class se {
|
|
|
896
878
|
}
|
|
897
879
|
/** Called by the client when a FocusStateMessage is received from the viewer. */
|
|
898
880
|
handleStateReceived(t) {
|
|
899
|
-
t.state ===
|
|
881
|
+
t.state === $t.FOCUSED && t.component !== void 0 ? (this.focused = t.component, this.attributes = t.attributes ?? []) : (this.focused = null, this.attributes = []);
|
|
900
882
|
const e = this.focused !== null ? { component: this.focused, attributes: this.attributes } : null;
|
|
901
883
|
for (const i of this.changeCallbacks)
|
|
902
884
|
i(e);
|
|
903
885
|
this.dispatch(e);
|
|
904
886
|
}
|
|
905
887
|
}
|
|
906
|
-
function
|
|
907
|
-
const e = n.filter((s) =>
|
|
888
|
+
function ae(n, t) {
|
|
889
|
+
const e = n.filter((s) => le(s, t));
|
|
908
890
|
if (e.length === 0)
|
|
909
891
|
return;
|
|
910
892
|
const i = Math.max(...e.map(Q)), o = e.filter((s) => Q(s) === i);
|
|
911
893
|
return o.length === 1 ? o[0] : void 0;
|
|
912
894
|
}
|
|
913
|
-
function
|
|
895
|
+
function le(n, t) {
|
|
914
896
|
return Object.entries(n.attributes).every(([e, i]) => t[e] === i);
|
|
915
897
|
}
|
|
916
898
|
function Q(n) {
|
|
917
899
|
return Object.keys(n.attributes).length;
|
|
918
900
|
}
|
|
919
|
-
class
|
|
901
|
+
class ce {
|
|
920
902
|
constructor(t, e) {
|
|
921
903
|
this.dispatchChange = t, this.dispatchSubmit = e;
|
|
922
904
|
}
|
|
@@ -1026,8 +1008,8 @@ class le {
|
|
|
1026
1008
|
resolve() {
|
|
1027
1009
|
if (this.pricing === void 0)
|
|
1028
1010
|
return;
|
|
1029
|
-
const t =
|
|
1030
|
-
if (!(t === void 0 || t.availability ===
|
|
1011
|
+
const t = ae(this.pricing.rules, this.selection);
|
|
1012
|
+
if (!(t === void 0 || t.availability === Dt.HIDDEN))
|
|
1031
1013
|
return {
|
|
1032
1014
|
attributes: { ...this.selection },
|
|
1033
1015
|
reference: t.reference,
|
|
@@ -1037,7 +1019,7 @@ class le {
|
|
|
1037
1019
|
};
|
|
1038
1020
|
}
|
|
1039
1021
|
}
|
|
1040
|
-
class
|
|
1022
|
+
class ue {
|
|
1041
1023
|
constructor(t) {
|
|
1042
1024
|
this.filename = t;
|
|
1043
1025
|
}
|
|
@@ -1090,7 +1072,8 @@ class ce {
|
|
|
1090
1072
|
}), this.developedCallbacks.clear(), this.errorCallbacks.clear());
|
|
1091
1073
|
}
|
|
1092
1074
|
}
|
|
1093
|
-
|
|
1075
|
+
const J = 3e4;
|
|
1076
|
+
class de {
|
|
1094
1077
|
constructor(t) {
|
|
1095
1078
|
this.send = t;
|
|
1096
1079
|
}
|
|
@@ -1105,9 +1088,14 @@ class ue {
|
|
|
1105
1088
|
* @throws VirtualdisplayError if filename is invalid
|
|
1106
1089
|
*/
|
|
1107
1090
|
take(t) {
|
|
1108
|
-
this.validateFilename(t),
|
|
1109
|
-
const e = new
|
|
1110
|
-
|
|
1091
|
+
this.validateFilename(t), C.debug("Taking snapshot", { filename: t });
|
|
1092
|
+
const e = new ue(t), i = setTimeout(() => {
|
|
1093
|
+
this.pendingPhotos.delete(t), C.warn("Snapshot timed out", { filename: t }), e.fail(new f(
|
|
1094
|
+
`Snapshot timed out: the viewer did not respond within ${J}ms`,
|
|
1095
|
+
A.SNAPSHOT_FAILED
|
|
1096
|
+
));
|
|
1097
|
+
}, J);
|
|
1098
|
+
return this.pendingPhotos.set(t, { photo: e, timeout: i }), this.send({
|
|
1111
1099
|
type: c.SNAPSHOT,
|
|
1112
1100
|
filename: t
|
|
1113
1101
|
}), e;
|
|
@@ -1119,17 +1107,19 @@ class ue {
|
|
|
1119
1107
|
handleSnapshotResult(t) {
|
|
1120
1108
|
const e = this.pendingPhotos.get(t.filename);
|
|
1121
1109
|
if (e === void 0) {
|
|
1122
|
-
|
|
1110
|
+
C.warn("No pending photo found for filename", {
|
|
1123
1111
|
filename: t.filename,
|
|
1124
1112
|
pendingFilenames: Array.from(this.pendingPhotos.keys())
|
|
1125
1113
|
});
|
|
1126
1114
|
return;
|
|
1127
1115
|
}
|
|
1128
|
-
|
|
1129
|
-
|
|
1116
|
+
clearTimeout(e.timeout), this.pendingPhotos.delete(t.filename);
|
|
1117
|
+
const { photo: i } = e;
|
|
1118
|
+
if (t.error !== void 0) {
|
|
1119
|
+
i.fail(new f(t.error, A.SNAPSHOT_FAILED));
|
|
1130
1120
|
return;
|
|
1131
1121
|
}
|
|
1132
|
-
t.data !== void 0 &&
|
|
1122
|
+
t.data !== void 0 && i.develop({ filename: t.filename, data: t.data });
|
|
1133
1123
|
}
|
|
1134
1124
|
/**
|
|
1135
1125
|
* Fail any pending photos and forget them. Called from client destroy
|
|
@@ -1141,10 +1131,10 @@ class ue {
|
|
|
1141
1131
|
return;
|
|
1142
1132
|
const t = new f(
|
|
1143
1133
|
"Client destroyed before snapshot completed",
|
|
1144
|
-
|
|
1134
|
+
A.SNAPSHOT_FAILED
|
|
1145
1135
|
);
|
|
1146
|
-
for (const e of this.pendingPhotos.values())
|
|
1147
|
-
e.fail(t);
|
|
1136
|
+
for (const { photo: e, timeout: i } of this.pendingPhotos.values())
|
|
1137
|
+
clearTimeout(i), e.fail(t);
|
|
1148
1138
|
this.pendingPhotos.clear();
|
|
1149
1139
|
}
|
|
1150
1140
|
/**
|
|
@@ -1154,23 +1144,23 @@ class ue {
|
|
|
1154
1144
|
if (t === "" || typeof t != "string")
|
|
1155
1145
|
throw new f(
|
|
1156
1146
|
"Filename must be a non-empty string",
|
|
1157
|
-
|
|
1147
|
+
A.INVALID_PARAMETER
|
|
1158
1148
|
);
|
|
1159
1149
|
if (!this.validExtensions.some(
|
|
1160
1150
|
(i) => t.toLowerCase().endsWith(i)
|
|
1161
1151
|
))
|
|
1162
1152
|
throw new f(
|
|
1163
1153
|
`Invalid filename: "${t}". Filename must end with one of: ${this.validExtensions.join(", ")}`,
|
|
1164
|
-
|
|
1154
|
+
A.INVALID_PARAMETER
|
|
1165
1155
|
);
|
|
1166
1156
|
if (t.includes("..") || t.includes("/") || t.includes("\\"))
|
|
1167
1157
|
throw new f(
|
|
1168
1158
|
'Filename cannot contain path separators or ".."',
|
|
1169
|
-
|
|
1159
|
+
A.INVALID_PARAMETER
|
|
1170
1160
|
);
|
|
1171
1161
|
}
|
|
1172
1162
|
}
|
|
1173
|
-
class
|
|
1163
|
+
class he {
|
|
1174
1164
|
container = null;
|
|
1175
1165
|
attach(t) {
|
|
1176
1166
|
this.container = t;
|
|
@@ -1191,30 +1181,30 @@ class de {
|
|
|
1191
1181
|
};
|
|
1192
1182
|
}
|
|
1193
1183
|
}
|
|
1194
|
-
const
|
|
1184
|
+
const me = {}, pe = "en", pt = (
|
|
1195
1185
|
/** @type {const} */
|
|
1196
1186
|
["en", "nl", "de"]
|
|
1197
1187
|
), W = [
|
|
1198
1188
|
"baseLocale"
|
|
1199
|
-
],
|
|
1200
|
-
let
|
|
1201
|
-
function
|
|
1202
|
-
if (
|
|
1189
|
+
], tt = [];
|
|
1190
|
+
let et, nt;
|
|
1191
|
+
function fe(n) {
|
|
1192
|
+
if (tt.length === 0)
|
|
1203
1193
|
return;
|
|
1204
1194
|
const t = typeof n == "string" ? n : n.href;
|
|
1205
|
-
if (
|
|
1206
|
-
return
|
|
1195
|
+
if (et === t)
|
|
1196
|
+
return nt;
|
|
1207
1197
|
const e = new URL(t, "http://dummy.com");
|
|
1208
1198
|
let i;
|
|
1209
|
-
for (const o of
|
|
1210
|
-
if (new
|
|
1199
|
+
for (const o of tt)
|
|
1200
|
+
if (new me(o.match, e.href).exec(e.href)) {
|
|
1211
1201
|
i = o;
|
|
1212
1202
|
break;
|
|
1213
1203
|
}
|
|
1214
|
-
return
|
|
1204
|
+
return et = t, nt = i, i;
|
|
1215
1205
|
}
|
|
1216
|
-
function
|
|
1217
|
-
const t =
|
|
1206
|
+
function ft(n) {
|
|
1207
|
+
const t = fe(n);
|
|
1218
1208
|
return t && t.exclude !== !0 && Array.isArray(t.strategy) ? t.strategy : W;
|
|
1219
1209
|
}
|
|
1220
1210
|
const q = typeof window > "u";
|
|
@@ -1222,38 +1212,38 @@ globalThis.__paraglide = /** @type {any} */
|
|
|
1222
1212
|
globalThis.__paraglide ?? {};
|
|
1223
1213
|
globalThis.__paraglide.ssr = /** @type {any} */
|
|
1224
1214
|
globalThis.__paraglide.ssr ?? {};
|
|
1225
|
-
let
|
|
1215
|
+
let it = !1, h = () => {
|
|
1226
1216
|
let n = W;
|
|
1227
|
-
!q && typeof window < "u" && window.location?.href && (n =
|
|
1228
|
-
const t =
|
|
1217
|
+
!q && typeof window < "u" && window.location?.href && (n = ft(window.location.href));
|
|
1218
|
+
const t = ge(n);
|
|
1229
1219
|
if (t)
|
|
1230
|
-
return
|
|
1220
|
+
return it || (it = !0, gt(t, { reload: !1 })), t;
|
|
1231
1221
|
throw new Error("No locale found. Read the docs https://paraglidejs.com/errors#no-locale-found");
|
|
1232
1222
|
};
|
|
1233
|
-
function
|
|
1223
|
+
function ge(n, t) {
|
|
1234
1224
|
let e;
|
|
1235
1225
|
for (const i of n) {
|
|
1236
1226
|
if (i === "baseLocale")
|
|
1237
|
-
e =
|
|
1238
|
-
else if (
|
|
1227
|
+
e = pe;
|
|
1228
|
+
else if (vt(i) && I.has(i)) {
|
|
1239
1229
|
const s = I.get(i);
|
|
1240
1230
|
if (s) {
|
|
1241
1231
|
const r = s.getLocale();
|
|
1242
1232
|
if (r instanceof Promise)
|
|
1243
1233
|
continue;
|
|
1244
1234
|
if (r !== void 0)
|
|
1245
|
-
return
|
|
1235
|
+
return ve(r);
|
|
1246
1236
|
}
|
|
1247
1237
|
}
|
|
1248
|
-
const o =
|
|
1238
|
+
const o = bt(e);
|
|
1249
1239
|
if (o)
|
|
1250
1240
|
return o;
|
|
1251
1241
|
}
|
|
1252
1242
|
}
|
|
1253
|
-
const
|
|
1243
|
+
const be = (n) => {
|
|
1254
1244
|
window.location.reload();
|
|
1255
1245
|
};
|
|
1256
|
-
let
|
|
1246
|
+
let gt = (n, t) => {
|
|
1257
1247
|
const e = {
|
|
1258
1248
|
reload: !0,
|
|
1259
1249
|
...t
|
|
@@ -1265,9 +1255,9 @@ let ft = (n, t) => {
|
|
|
1265
1255
|
}
|
|
1266
1256
|
const o = [];
|
|
1267
1257
|
let s = W;
|
|
1268
|
-
!q && typeof window < "u" && window.location?.href && (s =
|
|
1258
|
+
!q && typeof window < "u" && window.location?.href && (s = ft(window.location.href));
|
|
1269
1259
|
for (const l of s)
|
|
1270
|
-
if (l !== "baseLocale" &&
|
|
1260
|
+
if (l !== "baseLocale" && vt(l) && I.has(l)) {
|
|
1271
1261
|
const d = I.get(l);
|
|
1272
1262
|
if (d) {
|
|
1273
1263
|
let u = d.setLocale(n);
|
|
@@ -1279,7 +1269,7 @@ let ft = (n, t) => {
|
|
|
1279
1269
|
}
|
|
1280
1270
|
}
|
|
1281
1271
|
const r = () => {
|
|
1282
|
-
!q && e.reload && window.location && n !== i &&
|
|
1272
|
+
!q && e.reload && window.location && n !== i && be();
|
|
1283
1273
|
};
|
|
1284
1274
|
if (o.length)
|
|
1285
1275
|
return Promise.all(o).then(() => {
|
|
@@ -1287,95 +1277,95 @@ let ft = (n, t) => {
|
|
|
1287
1277
|
});
|
|
1288
1278
|
r();
|
|
1289
1279
|
};
|
|
1290
|
-
function
|
|
1280
|
+
function bt(n) {
|
|
1291
1281
|
if (typeof n != "string")
|
|
1292
1282
|
return;
|
|
1293
1283
|
const t = n.toLowerCase();
|
|
1294
|
-
for (const e of
|
|
1284
|
+
for (const e of pt)
|
|
1295
1285
|
if (e.toLowerCase() === t)
|
|
1296
1286
|
return e;
|
|
1297
1287
|
}
|
|
1298
|
-
function
|
|
1299
|
-
const t =
|
|
1288
|
+
function ve(n) {
|
|
1289
|
+
const t = bt(n);
|
|
1300
1290
|
if (t)
|
|
1301
1291
|
return t;
|
|
1302
|
-
throw new Error(`Invalid locale: ${n}. Expected one of: ${
|
|
1292
|
+
throw new Error(`Invalid locale: ${n}. Expected one of: ${pt.join(", ")}`);
|
|
1303
1293
|
}
|
|
1304
1294
|
const I = /* @__PURE__ */ new Map();
|
|
1305
|
-
function
|
|
1295
|
+
function vt(n) {
|
|
1306
1296
|
return typeof n == "string" && /^custom-[A-Za-z0-9_-]+$/.test(n);
|
|
1307
1297
|
}
|
|
1308
|
-
const
|
|
1298
|
+
const ye = (
|
|
1309
1299
|
/** @type {(inputs: Controls_Ar_Buttonlabel1Inputs) => LocalizedString} */
|
|
1310
1300
|
() => (
|
|
1311
1301
|
/** @type {LocalizedString} */
|
|
1312
1302
|
"Activate AR"
|
|
1313
1303
|
)
|
|
1314
|
-
),
|
|
1304
|
+
), _e = (
|
|
1315
1305
|
/** @type {(inputs: Controls_Ar_Buttonlabel1Inputs) => LocalizedString} */
|
|
1316
1306
|
() => (
|
|
1317
1307
|
/** @type {LocalizedString} */
|
|
1318
1308
|
"AR activeren"
|
|
1319
1309
|
)
|
|
1320
|
-
),
|
|
1310
|
+
), Ce = (
|
|
1321
1311
|
/** @type {(inputs: Controls_Ar_Buttonlabel1Inputs) => LocalizedString} */
|
|
1322
1312
|
() => (
|
|
1323
1313
|
/** @type {LocalizedString} */
|
|
1324
1314
|
"AR aktivieren"
|
|
1325
1315
|
)
|
|
1326
|
-
),
|
|
1316
|
+
), we = (
|
|
1327
1317
|
/** @type {((inputs?: Controls_Ar_Buttonlabel1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Ar_Buttonlabel1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1328
1318
|
((n = {}, t = {}) => {
|
|
1329
1319
|
const e = t.locale ?? h();
|
|
1330
|
-
return e === "en" ?
|
|
1320
|
+
return e === "en" ? ye() : e === "nl" ? _e() : Ce();
|
|
1331
1321
|
})
|
|
1332
|
-
),
|
|
1322
|
+
), ke = (
|
|
1333
1323
|
/** @type {(inputs: Controls_Qr_Modaltitle1Inputs) => LocalizedString} */
|
|
1334
1324
|
() => (
|
|
1335
1325
|
/** @type {LocalizedString} */
|
|
1336
1326
|
"Scan to view in AR"
|
|
1337
1327
|
)
|
|
1338
|
-
),
|
|
1328
|
+
), Se = (
|
|
1339
1329
|
/** @type {(inputs: Controls_Qr_Modaltitle1Inputs) => LocalizedString} */
|
|
1340
1330
|
() => (
|
|
1341
1331
|
/** @type {LocalizedString} */
|
|
1342
1332
|
"Scan om in AR te bekijken"
|
|
1343
1333
|
)
|
|
1344
|
-
),
|
|
1334
|
+
), Ae = (
|
|
1345
1335
|
/** @type {(inputs: Controls_Qr_Modaltitle1Inputs) => LocalizedString} */
|
|
1346
1336
|
() => (
|
|
1347
1337
|
/** @type {LocalizedString} */
|
|
1348
1338
|
"Scannen für AR-Ansicht"
|
|
1349
1339
|
)
|
|
1350
|
-
),
|
|
1340
|
+
), Ee = (
|
|
1351
1341
|
/** @type {((inputs?: Controls_Qr_Modaltitle1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Qr_Modaltitle1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1352
1342
|
((n = {}, t = {}) => {
|
|
1353
1343
|
const e = t.locale ?? h();
|
|
1354
|
-
return e === "en" ?
|
|
1344
|
+
return e === "en" ? ke() : e === "nl" ? Se() : Ae();
|
|
1355
1345
|
})
|
|
1356
|
-
),
|
|
1346
|
+
), xe = (
|
|
1357
1347
|
/** @type {(inputs: Controls_Qr_Modaldescription1Inputs) => LocalizedString} */
|
|
1358
1348
|
() => (
|
|
1359
1349
|
/** @type {LocalizedString} */
|
|
1360
1350
|
"Use your smartphone camera to scan this QR code"
|
|
1361
1351
|
)
|
|
1362
|
-
),
|
|
1352
|
+
), Te = (
|
|
1363
1353
|
/** @type {(inputs: Controls_Qr_Modaldescription1Inputs) => LocalizedString} */
|
|
1364
1354
|
() => (
|
|
1365
1355
|
/** @type {LocalizedString} */
|
|
1366
1356
|
"Gebruik de camera van je smartphone om deze QR-code te scannen"
|
|
1367
1357
|
)
|
|
1368
|
-
),
|
|
1358
|
+
), Re = (
|
|
1369
1359
|
/** @type {(inputs: Controls_Qr_Modaldescription1Inputs) => LocalizedString} */
|
|
1370
1360
|
() => (
|
|
1371
1361
|
/** @type {LocalizedString} */
|
|
1372
1362
|
"Verwenden Sie die Kamera Ihres Smartphones, um diesen QR-Code zu scannen"
|
|
1373
1363
|
)
|
|
1374
|
-
),
|
|
1364
|
+
), Oe = (
|
|
1375
1365
|
/** @type {((inputs?: Controls_Qr_Modaldescription1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Qr_Modaldescription1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1376
1366
|
((n = {}, t = {}) => {
|
|
1377
1367
|
const e = t.locale ?? h();
|
|
1378
|
-
return e === "en" ?
|
|
1368
|
+
return e === "en" ? xe() : e === "nl" ? Te() : Re();
|
|
1379
1369
|
})
|
|
1380
1370
|
), Ne = (
|
|
1381
1371
|
/** @type {(inputs: Controls_Qr_Modalinstructions1Inputs) => LocalizedString} */
|
|
@@ -1383,319 +1373,319 @@ const ve = (
|
|
|
1383
1373
|
/** @type {LocalizedString} */
|
|
1384
1374
|
"Your phone will open the 3D model in AR mode."
|
|
1385
1375
|
)
|
|
1386
|
-
),
|
|
1376
|
+
), Ie = (
|
|
1387
1377
|
/** @type {(inputs: Controls_Qr_Modalinstructions1Inputs) => LocalizedString} */
|
|
1388
1378
|
() => (
|
|
1389
1379
|
/** @type {LocalizedString} */
|
|
1390
1380
|
"Je telefoon opent het 3D-model in AR-modus."
|
|
1391
1381
|
)
|
|
1392
|
-
),
|
|
1382
|
+
), Le = (
|
|
1393
1383
|
/** @type {(inputs: Controls_Qr_Modalinstructions1Inputs) => LocalizedString} */
|
|
1394
1384
|
() => (
|
|
1395
1385
|
/** @type {LocalizedString} */
|
|
1396
1386
|
"Das 3D-Modell wird im AR-Modus Ihres Telefons geöffnet"
|
|
1397
1387
|
)
|
|
1398
|
-
),
|
|
1388
|
+
), Me = (
|
|
1399
1389
|
/** @type {((inputs?: Controls_Qr_Modalinstructions1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Qr_Modalinstructions1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1400
1390
|
((n = {}, t = {}) => {
|
|
1401
1391
|
const e = t.locale ?? h();
|
|
1402
|
-
return e === "en" ? Ne() : e === "nl" ?
|
|
1392
|
+
return e === "en" ? Ne() : e === "nl" ? Ie() : Le();
|
|
1403
1393
|
})
|
|
1404
|
-
),
|
|
1394
|
+
), ze = (
|
|
1405
1395
|
/** @type {(inputs: Controls_Qr_Closebutton1Inputs) => LocalizedString} */
|
|
1406
1396
|
() => (
|
|
1407
1397
|
/** @type {LocalizedString} */
|
|
1408
1398
|
"Close"
|
|
1409
1399
|
)
|
|
1410
|
-
),
|
|
1400
|
+
), Pe = (
|
|
1411
1401
|
/** @type {(inputs: Controls_Qr_Closebutton1Inputs) => LocalizedString} */
|
|
1412
1402
|
() => (
|
|
1413
1403
|
/** @type {LocalizedString} */
|
|
1414
1404
|
"Sluiten"
|
|
1415
1405
|
)
|
|
1416
|
-
),
|
|
1406
|
+
), Fe = (
|
|
1417
1407
|
/** @type {(inputs: Controls_Qr_Closebutton1Inputs) => LocalizedString} */
|
|
1418
1408
|
() => (
|
|
1419
1409
|
/** @type {LocalizedString} */
|
|
1420
1410
|
"Schließen"
|
|
1421
1411
|
)
|
|
1422
|
-
),
|
|
1412
|
+
), $e = (
|
|
1423
1413
|
/** @type {((inputs?: Controls_Qr_Closebutton1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Qr_Closebutton1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1424
1414
|
((n = {}, t = {}) => {
|
|
1425
1415
|
const e = t.locale ?? h();
|
|
1426
|
-
return e === "en" ?
|
|
1416
|
+
return e === "en" ? ze() : e === "nl" ? Pe() : Fe();
|
|
1427
1417
|
})
|
|
1428
|
-
),
|
|
1418
|
+
), De = (
|
|
1429
1419
|
/** @type {(inputs: Controls_Fullscreen_Buttonlabel1Inputs) => LocalizedString} */
|
|
1430
1420
|
() => (
|
|
1431
1421
|
/** @type {LocalizedString} */
|
|
1432
1422
|
"Fullscreen"
|
|
1433
1423
|
)
|
|
1434
|
-
),
|
|
1424
|
+
), Be = (
|
|
1435
1425
|
/** @type {(inputs: Controls_Fullscreen_Buttonlabel1Inputs) => LocalizedString} */
|
|
1436
1426
|
() => (
|
|
1437
1427
|
/** @type {LocalizedString} */
|
|
1438
1428
|
"Volledig scherm"
|
|
1439
1429
|
)
|
|
1440
|
-
),
|
|
1430
|
+
), Ue = (
|
|
1441
1431
|
/** @type {(inputs: Controls_Fullscreen_Buttonlabel1Inputs) => LocalizedString} */
|
|
1442
1432
|
() => (
|
|
1443
1433
|
/** @type {LocalizedString} */
|
|
1444
1434
|
"Vollbild"
|
|
1445
1435
|
)
|
|
1446
|
-
),
|
|
1436
|
+
), Ve = (
|
|
1447
1437
|
/** @type {((inputs?: Controls_Fullscreen_Buttonlabel1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Fullscreen_Buttonlabel1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1448
1438
|
((n = {}, t = {}) => {
|
|
1449
1439
|
const e = t.locale ?? h();
|
|
1450
|
-
return e === "en" ?
|
|
1440
|
+
return e === "en" ? De() : e === "nl" ? Be() : Ue();
|
|
1451
1441
|
})
|
|
1452
|
-
),
|
|
1442
|
+
), je = (
|
|
1453
1443
|
/** @type {(inputs: Loading_Downloadingshort1Inputs) => LocalizedString} */
|
|
1454
1444
|
() => (
|
|
1455
1445
|
/** @type {LocalizedString} */
|
|
1456
1446
|
"Downloading"
|
|
1457
1447
|
)
|
|
1458
|
-
),
|
|
1448
|
+
), He = (
|
|
1459
1449
|
/** @type {(inputs: Loading_Downloadingshort1Inputs) => LocalizedString} */
|
|
1460
1450
|
() => (
|
|
1461
1451
|
/** @type {LocalizedString} */
|
|
1462
1452
|
"Downloaden"
|
|
1463
1453
|
)
|
|
1464
|
-
),
|
|
1454
|
+
), Ge = (
|
|
1465
1455
|
/** @type {(inputs: Loading_Downloadingshort1Inputs) => LocalizedString} */
|
|
1466
1456
|
() => (
|
|
1467
1457
|
/** @type {LocalizedString} */
|
|
1468
1458
|
"Herunterladen"
|
|
1469
1459
|
)
|
|
1470
|
-
),
|
|
1460
|
+
), yt = (
|
|
1471
1461
|
/** @type {((inputs?: Loading_Downloadingshort1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Loading_Downloadingshort1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1472
1462
|
((n = {}, t = {}) => {
|
|
1473
1463
|
const e = t.locale ?? h();
|
|
1474
|
-
return e === "en" ?
|
|
1464
|
+
return e === "en" ? je() : e === "nl" ? He() : Ge();
|
|
1475
1465
|
})
|
|
1476
|
-
),
|
|
1466
|
+
), qe = (
|
|
1477
1467
|
/** @type {(inputs: Loading_RenderingInputs) => LocalizedString} */
|
|
1478
1468
|
() => (
|
|
1479
1469
|
/** @type {LocalizedString} */
|
|
1480
1470
|
"Rendering"
|
|
1481
1471
|
)
|
|
1482
|
-
),
|
|
1472
|
+
), Ze = (
|
|
1483
1473
|
/** @type {(inputs: Loading_RenderingInputs) => LocalizedString} */
|
|
1484
1474
|
() => (
|
|
1485
1475
|
/** @type {LocalizedString} */
|
|
1486
1476
|
"Renderen"
|
|
1487
1477
|
)
|
|
1488
|
-
),
|
|
1478
|
+
), We = (
|
|
1489
1479
|
/** @type {(inputs: Loading_RenderingInputs) => LocalizedString} */
|
|
1490
1480
|
() => (
|
|
1491
1481
|
/** @type {LocalizedString} */
|
|
1492
1482
|
"Rendern"
|
|
1493
1483
|
)
|
|
1494
|
-
),
|
|
1484
|
+
), Ye = (
|
|
1495
1485
|
/** @type {((inputs?: Loading_RenderingInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Loading_RenderingInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1496
1486
|
((n = {}, t = {}) => {
|
|
1497
1487
|
const e = t.locale ?? h();
|
|
1498
|
-
return e === "en" ?
|
|
1488
|
+
return e === "en" ? qe() : e === "nl" ? Ze() : We();
|
|
1499
1489
|
})
|
|
1500
|
-
),
|
|
1490
|
+
), Xe = (
|
|
1501
1491
|
/** @type {(inputs: Controls_Screenshot_Buttonlabel1Inputs) => LocalizedString} */
|
|
1502
1492
|
() => (
|
|
1503
1493
|
/** @type {LocalizedString} */
|
|
1504
1494
|
"Screenshot"
|
|
1505
1495
|
)
|
|
1506
|
-
),
|
|
1496
|
+
), Ke = (
|
|
1507
1497
|
/** @type {(inputs: Controls_Screenshot_Buttonlabel1Inputs) => LocalizedString} */
|
|
1508
1498
|
() => (
|
|
1509
1499
|
/** @type {LocalizedString} */
|
|
1510
1500
|
"Screenshot"
|
|
1511
1501
|
)
|
|
1512
|
-
),
|
|
1502
|
+
), Qe = (
|
|
1513
1503
|
/** @type {(inputs: Controls_Screenshot_Buttonlabel1Inputs) => LocalizedString} */
|
|
1514
1504
|
() => (
|
|
1515
1505
|
/** @type {LocalizedString} */
|
|
1516
1506
|
"Screenshot"
|
|
1517
1507
|
)
|
|
1518
|
-
),
|
|
1508
|
+
), Je = (
|
|
1519
1509
|
/** @type {((inputs?: Controls_Screenshot_Buttonlabel1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Screenshot_Buttonlabel1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1520
1510
|
((n = {}, t = {}) => {
|
|
1521
1511
|
const e = t.locale ?? h();
|
|
1522
|
-
return e === "en" ?
|
|
1512
|
+
return e === "en" ? Xe() : e === "nl" ? Ke() : Qe();
|
|
1523
1513
|
})
|
|
1524
|
-
),
|
|
1514
|
+
), tn = (
|
|
1525
1515
|
/** @type {(inputs: Controls_Configurator_OpenInputs) => LocalizedString} */
|
|
1526
1516
|
() => (
|
|
1527
1517
|
/** @type {LocalizedString} */
|
|
1528
1518
|
"Configure"
|
|
1529
1519
|
)
|
|
1530
|
-
),
|
|
1520
|
+
), en = (
|
|
1531
1521
|
/** @type {(inputs: Controls_Configurator_OpenInputs) => LocalizedString} */
|
|
1532
1522
|
() => (
|
|
1533
1523
|
/** @type {LocalizedString} */
|
|
1534
1524
|
"Configureer"
|
|
1535
1525
|
)
|
|
1536
|
-
),
|
|
1526
|
+
), nn = (
|
|
1537
1527
|
/** @type {(inputs: Controls_Configurator_OpenInputs) => LocalizedString} */
|
|
1538
1528
|
() => (
|
|
1539
1529
|
/** @type {LocalizedString} */
|
|
1540
1530
|
"Konfigurieren"
|
|
1541
1531
|
)
|
|
1542
|
-
),
|
|
1532
|
+
), on = (
|
|
1543
1533
|
/** @type {((inputs?: Controls_Configurator_OpenInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Configurator_OpenInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1544
1534
|
((n = {}, t = {}) => {
|
|
1545
1535
|
const e = t.locale ?? h();
|
|
1546
|
-
return e === "en" ?
|
|
1536
|
+
return e === "en" ? tn() : e === "nl" ? en() : nn();
|
|
1547
1537
|
})
|
|
1548
|
-
),
|
|
1538
|
+
), sn = (
|
|
1549
1539
|
/** @type {(inputs: Controls_Configurator_CloseInputs) => LocalizedString} */
|
|
1550
1540
|
() => (
|
|
1551
1541
|
/** @type {LocalizedString} */
|
|
1552
1542
|
"Close"
|
|
1553
1543
|
)
|
|
1554
|
-
),
|
|
1544
|
+
), rn = (
|
|
1555
1545
|
/** @type {(inputs: Controls_Configurator_CloseInputs) => LocalizedString} */
|
|
1556
1546
|
() => (
|
|
1557
1547
|
/** @type {LocalizedString} */
|
|
1558
1548
|
"Sluiten"
|
|
1559
1549
|
)
|
|
1560
|
-
),
|
|
1550
|
+
), an = (
|
|
1561
1551
|
/** @type {(inputs: Controls_Configurator_CloseInputs) => LocalizedString} */
|
|
1562
1552
|
() => (
|
|
1563
1553
|
/** @type {LocalizedString} */
|
|
1564
1554
|
"Schließen"
|
|
1565
1555
|
)
|
|
1566
|
-
),
|
|
1556
|
+
), ln = (
|
|
1567
1557
|
/** @type {((inputs?: Controls_Configurator_CloseInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Configurator_CloseInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1568
1558
|
((n = {}, t = {}) => {
|
|
1569
1559
|
const e = t.locale ?? h();
|
|
1570
|
-
return e === "en" ?
|
|
1560
|
+
return e === "en" ? sn() : e === "nl" ? rn() : an();
|
|
1571
1561
|
})
|
|
1572
|
-
),
|
|
1562
|
+
), cn = (
|
|
1573
1563
|
/** @type {(inputs: Controls_Camera_ResetInputs) => LocalizedString} */
|
|
1574
1564
|
() => (
|
|
1575
1565
|
/** @type {LocalizedString} */
|
|
1576
1566
|
"Reset camera"
|
|
1577
1567
|
)
|
|
1578
|
-
),
|
|
1568
|
+
), un = (
|
|
1579
1569
|
/** @type {(inputs: Controls_Camera_ResetInputs) => LocalizedString} */
|
|
1580
1570
|
() => (
|
|
1581
1571
|
/** @type {LocalizedString} */
|
|
1582
1572
|
"Camera resetten"
|
|
1583
1573
|
)
|
|
1584
|
-
),
|
|
1574
|
+
), dn = (
|
|
1585
1575
|
/** @type {(inputs: Controls_Camera_ResetInputs) => LocalizedString} */
|
|
1586
1576
|
() => (
|
|
1587
1577
|
/** @type {LocalizedString} */
|
|
1588
1578
|
"Kamera zurücksetzen"
|
|
1589
1579
|
)
|
|
1590
|
-
),
|
|
1580
|
+
), hn = (
|
|
1591
1581
|
/** @type {((inputs?: Controls_Camera_ResetInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_ResetInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1592
1582
|
((n = {}, t = {}) => {
|
|
1593
1583
|
const e = t.locale ?? h();
|
|
1594
|
-
return e === "en" ?
|
|
1584
|
+
return e === "en" ? cn() : e === "nl" ? un() : dn();
|
|
1595
1585
|
})
|
|
1596
|
-
),
|
|
1586
|
+
), mn = (
|
|
1597
1587
|
/** @type {(inputs: Controls_Camera_Zoomin1Inputs) => LocalizedString} */
|
|
1598
1588
|
() => (
|
|
1599
1589
|
/** @type {LocalizedString} */
|
|
1600
1590
|
"Zoom in"
|
|
1601
1591
|
)
|
|
1602
|
-
),
|
|
1592
|
+
), pn = (
|
|
1603
1593
|
/** @type {(inputs: Controls_Camera_Zoomin1Inputs) => LocalizedString} */
|
|
1604
1594
|
() => (
|
|
1605
1595
|
/** @type {LocalizedString} */
|
|
1606
1596
|
"Inzoomen"
|
|
1607
1597
|
)
|
|
1608
|
-
),
|
|
1598
|
+
), fn = (
|
|
1609
1599
|
/** @type {(inputs: Controls_Camera_Zoomin1Inputs) => LocalizedString} */
|
|
1610
1600
|
() => (
|
|
1611
1601
|
/** @type {LocalizedString} */
|
|
1612
1602
|
"Hineinzoomen"
|
|
1613
1603
|
)
|
|
1614
|
-
),
|
|
1604
|
+
), gn = (
|
|
1615
1605
|
/** @type {((inputs?: Controls_Camera_Zoomin1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Zoomin1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1616
1606
|
((n = {}, t = {}) => {
|
|
1617
1607
|
const e = t.locale ?? h();
|
|
1618
|
-
return e === "en" ?
|
|
1608
|
+
return e === "en" ? mn() : e === "nl" ? pn() : fn();
|
|
1619
1609
|
})
|
|
1620
|
-
),
|
|
1610
|
+
), bn = (
|
|
1621
1611
|
/** @type {(inputs: Controls_Camera_Zoomout1Inputs) => LocalizedString} */
|
|
1622
1612
|
() => (
|
|
1623
1613
|
/** @type {LocalizedString} */
|
|
1624
1614
|
"Zoom out"
|
|
1625
1615
|
)
|
|
1626
|
-
),
|
|
1616
|
+
), vn = (
|
|
1627
1617
|
/** @type {(inputs: Controls_Camera_Zoomout1Inputs) => LocalizedString} */
|
|
1628
1618
|
() => (
|
|
1629
1619
|
/** @type {LocalizedString} */
|
|
1630
1620
|
"Uitzoomen"
|
|
1631
1621
|
)
|
|
1632
|
-
),
|
|
1622
|
+
), yn = (
|
|
1633
1623
|
/** @type {(inputs: Controls_Camera_Zoomout1Inputs) => LocalizedString} */
|
|
1634
1624
|
() => (
|
|
1635
1625
|
/** @type {LocalizedString} */
|
|
1636
1626
|
"Herauszoomen"
|
|
1637
1627
|
)
|
|
1638
|
-
),
|
|
1628
|
+
), _n = (
|
|
1639
1629
|
/** @type {((inputs?: Controls_Camera_Zoomout1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Zoomout1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1640
1630
|
((n = {}, t = {}) => {
|
|
1641
1631
|
const e = t.locale ?? h();
|
|
1642
|
-
return e === "en" ?
|
|
1632
|
+
return e === "en" ? bn() : e === "nl" ? vn() : yn();
|
|
1643
1633
|
})
|
|
1644
|
-
),
|
|
1634
|
+
), Cn = (
|
|
1645
1635
|
/** @type {(inputs: Controls_Camera_Rotateleft1Inputs) => LocalizedString} */
|
|
1646
1636
|
() => (
|
|
1647
1637
|
/** @type {LocalizedString} */
|
|
1648
1638
|
"Rotate left"
|
|
1649
1639
|
)
|
|
1650
|
-
),
|
|
1640
|
+
), wn = (
|
|
1651
1641
|
/** @type {(inputs: Controls_Camera_Rotateleft1Inputs) => LocalizedString} */
|
|
1652
1642
|
() => (
|
|
1653
1643
|
/** @type {LocalizedString} */
|
|
1654
1644
|
"Naar links draaien"
|
|
1655
1645
|
)
|
|
1656
|
-
),
|
|
1646
|
+
), kn = (
|
|
1657
1647
|
/** @type {(inputs: Controls_Camera_Rotateleft1Inputs) => LocalizedString} */
|
|
1658
1648
|
() => (
|
|
1659
1649
|
/** @type {LocalizedString} */
|
|
1660
1650
|
"Nach links drehen"
|
|
1661
1651
|
)
|
|
1662
|
-
),
|
|
1652
|
+
), Sn = (
|
|
1663
1653
|
/** @type {((inputs?: Controls_Camera_Rotateleft1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Rotateleft1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1664
1654
|
((n = {}, t = {}) => {
|
|
1665
1655
|
const e = t.locale ?? h();
|
|
1666
|
-
return e === "en" ?
|
|
1656
|
+
return e === "en" ? Cn() : e === "nl" ? wn() : kn();
|
|
1667
1657
|
})
|
|
1668
|
-
),
|
|
1658
|
+
), An = (
|
|
1669
1659
|
/** @type {(inputs: Controls_Camera_Rotateright1Inputs) => LocalizedString} */
|
|
1670
1660
|
() => (
|
|
1671
1661
|
/** @type {LocalizedString} */
|
|
1672
1662
|
"Rotate right"
|
|
1673
1663
|
)
|
|
1674
|
-
),
|
|
1664
|
+
), En = (
|
|
1675
1665
|
/** @type {(inputs: Controls_Camera_Rotateright1Inputs) => LocalizedString} */
|
|
1676
1666
|
() => (
|
|
1677
1667
|
/** @type {LocalizedString} */
|
|
1678
1668
|
"Naar rechts draaien"
|
|
1679
1669
|
)
|
|
1680
|
-
),
|
|
1670
|
+
), xn = (
|
|
1681
1671
|
/** @type {(inputs: Controls_Camera_Rotateright1Inputs) => LocalizedString} */
|
|
1682
1672
|
() => (
|
|
1683
1673
|
/** @type {LocalizedString} */
|
|
1684
1674
|
"Nach rechts drehen"
|
|
1685
1675
|
)
|
|
1686
|
-
),
|
|
1676
|
+
), Tn = (
|
|
1687
1677
|
/** @type {((inputs?: Controls_Camera_Rotateright1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Rotateright1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1688
1678
|
((n = {}, t = {}) => {
|
|
1689
1679
|
const e = t.locale ?? h();
|
|
1690
|
-
return e === "en" ?
|
|
1680
|
+
return e === "en" ? An() : e === "nl" ? En() : xn();
|
|
1691
1681
|
})
|
|
1692
|
-
),
|
|
1682
|
+
), Rn = (
|
|
1693
1683
|
/** @type {(inputs: Controls_Camera_Tiltup1Inputs) => LocalizedString} */
|
|
1694
1684
|
() => (
|
|
1695
1685
|
/** @type {LocalizedString} */
|
|
1696
1686
|
"Tilt up"
|
|
1697
1687
|
)
|
|
1698
|
-
),
|
|
1688
|
+
), On = (
|
|
1699
1689
|
/** @type {(inputs: Controls_Camera_Tiltup1Inputs) => LocalizedString} */
|
|
1700
1690
|
() => (
|
|
1701
1691
|
/** @type {LocalizedString} */
|
|
@@ -1707,110 +1697,110 @@ const ve = (
|
|
|
1707
1697
|
/** @type {LocalizedString} */
|
|
1708
1698
|
"Nach oben kippen"
|
|
1709
1699
|
)
|
|
1710
|
-
),
|
|
1700
|
+
), In = (
|
|
1711
1701
|
/** @type {((inputs?: Controls_Camera_Tiltup1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Tiltup1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1712
1702
|
((n = {}, t = {}) => {
|
|
1713
1703
|
const e = t.locale ?? h();
|
|
1714
|
-
return e === "en" ?
|
|
1704
|
+
return e === "en" ? Rn() : e === "nl" ? On() : Nn();
|
|
1715
1705
|
})
|
|
1716
|
-
),
|
|
1706
|
+
), Ln = (
|
|
1717
1707
|
/** @type {(inputs: Controls_Camera_Tiltdown1Inputs) => LocalizedString} */
|
|
1718
1708
|
() => (
|
|
1719
1709
|
/** @type {LocalizedString} */
|
|
1720
1710
|
"Tilt down"
|
|
1721
1711
|
)
|
|
1722
|
-
),
|
|
1712
|
+
), Mn = (
|
|
1723
1713
|
/** @type {(inputs: Controls_Camera_Tiltdown1Inputs) => LocalizedString} */
|
|
1724
1714
|
() => (
|
|
1725
1715
|
/** @type {LocalizedString} */
|
|
1726
1716
|
"Omlaag kantelen"
|
|
1727
1717
|
)
|
|
1728
|
-
),
|
|
1718
|
+
), zn = (
|
|
1729
1719
|
/** @type {(inputs: Controls_Camera_Tiltdown1Inputs) => LocalizedString} */
|
|
1730
1720
|
() => (
|
|
1731
1721
|
/** @type {LocalizedString} */
|
|
1732
1722
|
"Nach unten kippen"
|
|
1733
1723
|
)
|
|
1734
|
-
),
|
|
1724
|
+
), Pn = (
|
|
1735
1725
|
/** @type {((inputs?: Controls_Camera_Tiltdown1Inputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Controls_Camera_Tiltdown1Inputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1736
1726
|
((n = {}, t = {}) => {
|
|
1737
1727
|
const e = t.locale ?? h();
|
|
1738
|
-
return e === "en" ?
|
|
1728
|
+
return e === "en" ? Ln() : e === "nl" ? Mn() : zn();
|
|
1739
1729
|
})
|
|
1740
|
-
),
|
|
1730
|
+
), Fn = (
|
|
1741
1731
|
/** @type {(inputs: Commerce_Submit_BusyInputs) => LocalizedString} */
|
|
1742
1732
|
() => (
|
|
1743
1733
|
/** @type {LocalizedString} */
|
|
1744
1734
|
"Working…"
|
|
1745
1735
|
)
|
|
1746
|
-
),
|
|
1736
|
+
), $n = (
|
|
1747
1737
|
/** @type {(inputs: Commerce_Submit_BusyInputs) => LocalizedString} */
|
|
1748
1738
|
() => (
|
|
1749
1739
|
/** @type {LocalizedString} */
|
|
1750
1740
|
"Bezig…"
|
|
1751
1741
|
)
|
|
1752
|
-
),
|
|
1742
|
+
), Dn = (
|
|
1753
1743
|
/** @type {(inputs: Commerce_Submit_BusyInputs) => LocalizedString} */
|
|
1754
1744
|
() => (
|
|
1755
1745
|
/** @type {LocalizedString} */
|
|
1756
1746
|
"Läuft…"
|
|
1757
1747
|
)
|
|
1758
|
-
),
|
|
1748
|
+
), Bn = (
|
|
1759
1749
|
/** @type {((inputs?: Commerce_Submit_BusyInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Commerce_Submit_BusyInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1760
1750
|
((n = {}, t = {}) => {
|
|
1761
1751
|
const e = t.locale ?? h();
|
|
1762
|
-
return e === "en" ?
|
|
1752
|
+
return e === "en" ? Fn() : e === "nl" ? $n() : Dn();
|
|
1763
1753
|
})
|
|
1764
|
-
),
|
|
1754
|
+
), Un = (
|
|
1765
1755
|
/** @type {(inputs: Commerce_Submit_SuccessInputs) => LocalizedString} */
|
|
1766
1756
|
() => (
|
|
1767
1757
|
/** @type {LocalizedString} */
|
|
1768
1758
|
"Done"
|
|
1769
1759
|
)
|
|
1770
|
-
),
|
|
1760
|
+
), Vn = (
|
|
1771
1761
|
/** @type {(inputs: Commerce_Submit_SuccessInputs) => LocalizedString} */
|
|
1772
1762
|
() => (
|
|
1773
1763
|
/** @type {LocalizedString} */
|
|
1774
1764
|
"Gelukt"
|
|
1775
1765
|
)
|
|
1776
|
-
),
|
|
1766
|
+
), jn = (
|
|
1777
1767
|
/** @type {(inputs: Commerce_Submit_SuccessInputs) => LocalizedString} */
|
|
1778
1768
|
() => (
|
|
1779
1769
|
/** @type {LocalizedString} */
|
|
1780
1770
|
"Fertig"
|
|
1781
1771
|
)
|
|
1782
|
-
),
|
|
1772
|
+
), Hn = (
|
|
1783
1773
|
/** @type {((inputs?: Commerce_Submit_SuccessInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Commerce_Submit_SuccessInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1784
1774
|
((n = {}, t = {}) => {
|
|
1785
1775
|
const e = t.locale ?? h();
|
|
1786
|
-
return e === "en" ?
|
|
1776
|
+
return e === "en" ? Un() : e === "nl" ? Vn() : jn();
|
|
1787
1777
|
})
|
|
1788
|
-
),
|
|
1778
|
+
), Gn = (
|
|
1789
1779
|
/** @type {(inputs: Commerce_Submit_FailedInputs) => LocalizedString} */
|
|
1790
1780
|
() => (
|
|
1791
1781
|
/** @type {LocalizedString} */
|
|
1792
1782
|
"Failed"
|
|
1793
1783
|
)
|
|
1794
|
-
),
|
|
1784
|
+
), qn = (
|
|
1795
1785
|
/** @type {(inputs: Commerce_Submit_FailedInputs) => LocalizedString} */
|
|
1796
1786
|
() => (
|
|
1797
1787
|
/** @type {LocalizedString} */
|
|
1798
1788
|
"Mislukt"
|
|
1799
1789
|
)
|
|
1800
|
-
),
|
|
1790
|
+
), Zn = (
|
|
1801
1791
|
/** @type {(inputs: Commerce_Submit_FailedInputs) => LocalizedString} */
|
|
1802
1792
|
() => (
|
|
1803
1793
|
/** @type {LocalizedString} */
|
|
1804
1794
|
"Fehlgeschlagen"
|
|
1805
1795
|
)
|
|
1806
|
-
),
|
|
1796
|
+
), Wn = (
|
|
1807
1797
|
/** @type {((inputs?: Commerce_Submit_FailedInputs, options?: { locale?: "en" | "nl" | "de" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Commerce_Submit_FailedInputs, { locale?: "en" | "nl" | "de" }, {}>} */
|
|
1808
1798
|
((n = {}, t = {}) => {
|
|
1809
1799
|
const e = t.locale ?? h();
|
|
1810
|
-
return e === "en" ?
|
|
1800
|
+
return e === "en" ? Gn() : e === "nl" ? qn() : Zn();
|
|
1811
1801
|
})
|
|
1812
1802
|
);
|
|
1813
|
-
const
|
|
1803
|
+
const Yn = {
|
|
1814
1804
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1815
1805
|
width: 24,
|
|
1816
1806
|
height: 24,
|
|
@@ -1821,22 +1811,22 @@ const Wn = {
|
|
|
1821
1811
|
"stroke-linecap": "round",
|
|
1822
1812
|
"stroke-linejoin": "round"
|
|
1823
1813
|
};
|
|
1824
|
-
const
|
|
1814
|
+
const _t = ([n, t, e]) => {
|
|
1825
1815
|
const i = document.createElementNS("http://www.w3.org/2000/svg", n);
|
|
1826
1816
|
return Object.keys(t).forEach((o) => {
|
|
1827
1817
|
i.setAttribute(o, String(t[o]));
|
|
1828
1818
|
}), e?.length && e.forEach((o) => {
|
|
1829
|
-
const s =
|
|
1819
|
+
const s = _t(o);
|
|
1830
1820
|
i.appendChild(s);
|
|
1831
1821
|
}), i;
|
|
1832
|
-
},
|
|
1822
|
+
}, Ct = (n, t = {}) => {
|
|
1833
1823
|
const i = {
|
|
1834
|
-
...
|
|
1824
|
+
...Yn,
|
|
1835
1825
|
...t
|
|
1836
1826
|
};
|
|
1837
|
-
return
|
|
1827
|
+
return _t(["svg", i, n]);
|
|
1838
1828
|
};
|
|
1839
|
-
const
|
|
1829
|
+
const Xn = [
|
|
1840
1830
|
[
|
|
1841
1831
|
"path",
|
|
1842
1832
|
{
|
|
@@ -1846,7 +1836,7 @@ const Yn = [
|
|
|
1846
1836
|
["path", { d: "m3.3 7 8.7 5 8.7-5" }],
|
|
1847
1837
|
["path", { d: "M12 22V12" }]
|
|
1848
1838
|
];
|
|
1849
|
-
const
|
|
1839
|
+
const Kn = [
|
|
1850
1840
|
[
|
|
1851
1841
|
"path",
|
|
1852
1842
|
{
|
|
@@ -1855,27 +1845,27 @@ const Xn = [
|
|
|
1855
1845
|
],
|
|
1856
1846
|
["circle", { cx: "12", cy: "13", r: "3" }]
|
|
1857
1847
|
];
|
|
1858
|
-
const
|
|
1859
|
-
const
|
|
1860
|
-
const
|
|
1861
|
-
const
|
|
1862
|
-
const
|
|
1848
|
+
const wt = [["path", { d: "m6 9 6 6 6-6" }]];
|
|
1849
|
+
const Qn = [["path", { d: "m15 18-6-6 6-6" }]];
|
|
1850
|
+
const Jn = [["path", { d: "m9 18 6-6-6-6" }]];
|
|
1851
|
+
const ti = [["path", { d: "m18 15-6-6-6 6" }]];
|
|
1852
|
+
const ei = [
|
|
1863
1853
|
["path", { d: "M15 3h6v6" }],
|
|
1864
1854
|
["path", { d: "m21 3-7 7" }],
|
|
1865
1855
|
["path", { d: "m3 21 7-7" }],
|
|
1866
1856
|
["path", { d: "M9 21H3v-6" }]
|
|
1867
1857
|
];
|
|
1868
|
-
const
|
|
1858
|
+
const ni = [
|
|
1869
1859
|
["path", { d: "m14 10 7-7" }],
|
|
1870
1860
|
["path", { d: "M20 10h-6V4" }],
|
|
1871
1861
|
["path", { d: "m3 21 7-7" }],
|
|
1872
1862
|
["path", { d: "M4 14h6v6" }]
|
|
1873
1863
|
];
|
|
1874
|
-
const
|
|
1864
|
+
const ii = [
|
|
1875
1865
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" }],
|
|
1876
1866
|
["path", { d: "M3 3v5h5" }]
|
|
1877
1867
|
];
|
|
1878
|
-
const
|
|
1868
|
+
const oi = [
|
|
1879
1869
|
["path", { d: "M10 5H3" }],
|
|
1880
1870
|
["path", { d: "M12 19H3" }],
|
|
1881
1871
|
["path", { d: "M14 3v4" }],
|
|
@@ -1886,38 +1876,38 @@ const ii = [
|
|
|
1886
1876
|
["path", { d: "M8 10v4" }],
|
|
1887
1877
|
["path", { d: "M8 12H3" }]
|
|
1888
1878
|
];
|
|
1889
|
-
const
|
|
1879
|
+
const si = [
|
|
1890
1880
|
["path", { d: "M18 6 6 18" }],
|
|
1891
1881
|
["path", { d: "m6 6 12 12" }]
|
|
1892
1882
|
];
|
|
1893
|
-
const
|
|
1883
|
+
const ri = [
|
|
1894
1884
|
["circle", { cx: "11", cy: "11", r: "8" }],
|
|
1895
1885
|
["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65" }],
|
|
1896
1886
|
["line", { x1: "11", x2: "11", y1: "8", y2: "14" }],
|
|
1897
1887
|
["line", { x1: "8", x2: "14", y1: "11", y2: "11" }]
|
|
1898
1888
|
];
|
|
1899
|
-
const
|
|
1889
|
+
const ai = [
|
|
1900
1890
|
["circle", { cx: "11", cy: "11", r: "8" }],
|
|
1901
1891
|
["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65" }],
|
|
1902
1892
|
["line", { x1: "8", x2: "14", y1: "11", y2: "11" }]
|
|
1903
1893
|
];
|
|
1904
1894
|
function y(n, { size: t = 20, strokeWidth: e = 1.75 } = {}) {
|
|
1905
|
-
return
|
|
1895
|
+
return Ct(n, { width: t, height: t, "stroke-width": e });
|
|
1906
1896
|
}
|
|
1907
1897
|
const g = {
|
|
1908
|
-
ar: (n) => y(
|
|
1909
|
-
fullscreen: (n) => y(
|
|
1910
|
-
exitFullscreen: (n) => y(
|
|
1911
|
-
screenshot: (n) => y(
|
|
1912
|
-
tiltUp: (n) => y(
|
|
1913
|
-
tiltDown: (n) => y(
|
|
1914
|
-
rotateLeft: (n) => y(
|
|
1915
|
-
rotateRight: (n) => y(
|
|
1916
|
-
zoomIn: (n) => y(
|
|
1917
|
-
zoomOut: (n) => y(
|
|
1918
|
-
reset: (n) => y(
|
|
1919
|
-
configurator: (n) => y(
|
|
1920
|
-
close: (n) => y(
|
|
1898
|
+
ar: (n) => y(Xn, n),
|
|
1899
|
+
fullscreen: (n) => y(ei, n),
|
|
1900
|
+
exitFullscreen: (n) => y(ni, n),
|
|
1901
|
+
screenshot: (n) => y(Kn, n),
|
|
1902
|
+
tiltUp: (n) => y(ti, n),
|
|
1903
|
+
tiltDown: (n) => y(wt, n),
|
|
1904
|
+
rotateLeft: (n) => y(Qn, n),
|
|
1905
|
+
rotateRight: (n) => y(Jn, n),
|
|
1906
|
+
zoomIn: (n) => y(ri, n),
|
|
1907
|
+
zoomOut: (n) => y(ai, n),
|
|
1908
|
+
reset: (n) => y(ii, n),
|
|
1909
|
+
configurator: (n) => y(oi, n),
|
|
1910
|
+
close: (n) => y(si, n)
|
|
1921
1911
|
};
|
|
1922
1912
|
class b {
|
|
1923
1913
|
element;
|
|
@@ -1966,7 +1956,7 @@ const m = {
|
|
|
1966
1956
|
24: "6rem"
|
|
1967
1957
|
// 96px
|
|
1968
1958
|
};
|
|
1969
|
-
class
|
|
1959
|
+
class li {
|
|
1970
1960
|
element;
|
|
1971
1961
|
constructor() {
|
|
1972
1962
|
this.element = document.createElement("div"), Object.assign(this.element.style, {
|
|
@@ -1979,9 +1969,9 @@ class ai {
|
|
|
1979
1969
|
});
|
|
1980
1970
|
}
|
|
1981
1971
|
}
|
|
1982
|
-
class
|
|
1972
|
+
class ci {
|
|
1983
1973
|
constructor(t = {}) {
|
|
1984
|
-
this.options = t, this.card = new
|
|
1974
|
+
this.options = t, this.card = new li(), this.backdrop = this.createBackdrop(), this.backdrop.appendChild(this.card.element);
|
|
1985
1975
|
}
|
|
1986
1976
|
options;
|
|
1987
1977
|
card;
|
|
@@ -2010,7 +2000,7 @@ class li {
|
|
|
2010
2000
|
}), t;
|
|
2011
2001
|
}
|
|
2012
2002
|
}
|
|
2013
|
-
class
|
|
2003
|
+
class ui {
|
|
2014
2004
|
element;
|
|
2015
2005
|
selectCallback = null;
|
|
2016
2006
|
constructor(t, e, i) {
|
|
@@ -2032,7 +2022,7 @@ class ci {
|
|
|
2032
2022
|
this.selectCallback = t;
|
|
2033
2023
|
}
|
|
2034
2024
|
}
|
|
2035
|
-
class
|
|
2025
|
+
class di {
|
|
2036
2026
|
element;
|
|
2037
2027
|
select;
|
|
2038
2028
|
constructor(t, e, i, o, s) {
|
|
@@ -2045,7 +2035,7 @@ class ui {
|
|
|
2045
2035
|
v.value = p, v.textContent = s?.[u] ?? p, p === o && (v.selected = !0, l = !0), this.select.appendChild(v);
|
|
2046
2036
|
}
|
|
2047
2037
|
l || (r.selected = !0);
|
|
2048
|
-
const d =
|
|
2038
|
+
const d = Ct(wt, { width: 16, height: 16, "stroke-width": 2 });
|
|
2049
2039
|
d.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(d);
|
|
2050
2040
|
}
|
|
2051
2041
|
setSelected(t) {
|
|
@@ -2074,8 +2064,8 @@ const _ = {
|
|
|
2074
2064
|
medium: "500",
|
|
2075
2065
|
semibold: "600"
|
|
2076
2066
|
}
|
|
2077
|
-
},
|
|
2078
|
-
class
|
|
2067
|
+
}, hi = _.fontFamily.sans.join(", ");
|
|
2068
|
+
class mi {
|
|
2079
2069
|
qrLib = null;
|
|
2080
2070
|
dialog = null;
|
|
2081
2071
|
async show(t) {
|
|
@@ -2086,28 +2076,28 @@ class hi {
|
|
|
2086
2076
|
errorCorrectionLevel: "M",
|
|
2087
2077
|
color: { dark: m.black, light: m.white }
|
|
2088
2078
|
});
|
|
2089
|
-
this.dialog = new
|
|
2079
|
+
this.dialog = new ci({ onClose: () => {
|
|
2090
2080
|
this.dialog = null;
|
|
2091
2081
|
} }), Object.assign(this.dialog.card.element.style, {
|
|
2092
2082
|
display: "flex",
|
|
2093
2083
|
flexDirection: "column",
|
|
2094
2084
|
alignItems: "center",
|
|
2095
2085
|
gap: a[3],
|
|
2096
|
-
fontFamily:
|
|
2097
|
-
}), this.dialog.card.element.appendChild(this.createText(
|
|
2086
|
+
fontFamily: hi
|
|
2087
|
+
}), this.dialog.card.element.appendChild(this.createText(Ee(), {
|
|
2098
2088
|
fontSize: _.fontSize.base,
|
|
2099
2089
|
fontWeight: _.fontWeight.semibold,
|
|
2100
2090
|
color: m.neutral[900]
|
|
2101
|
-
})), this.dialog.card.element.appendChild(this.createText(
|
|
2091
|
+
})), this.dialog.card.element.appendChild(this.createText(Oe(), {
|
|
2102
2092
|
fontSize: _.fontSize.sm,
|
|
2103
2093
|
color: m.neutral[600]
|
|
2104
|
-
})), this.dialog.card.element.appendChild(this.createQrImage(e)), this.dialog.card.element.appendChild(this.createText(
|
|
2094
|
+
})), this.dialog.card.element.appendChild(this.createQrImage(e)), this.dialog.card.element.appendChild(this.createText(Me(), {
|
|
2105
2095
|
fontSize: _.fontSize.xs,
|
|
2106
2096
|
color: m.neutral[500]
|
|
2107
2097
|
}));
|
|
2108
2098
|
const i = new b({
|
|
2109
2099
|
variant: "outline",
|
|
2110
|
-
label:
|
|
2100
|
+
label: $e(),
|
|
2111
2101
|
onClick: () => {
|
|
2112
2102
|
this.hide();
|
|
2113
2103
|
}
|
|
@@ -2130,7 +2120,7 @@ class hi {
|
|
|
2130
2120
|
}), e;
|
|
2131
2121
|
}
|
|
2132
2122
|
}
|
|
2133
|
-
const x = _.fontFamily.sans.join(", "),
|
|
2123
|
+
const x = _.fontFamily.sans.join(", "), pi = `
|
|
2134
2124
|
--primary: oklch(5% 0 0);
|
|
2135
2125
|
--primary-foreground: oklch(100% 0 0);
|
|
2136
2126
|
--secondary: oklch(92% 0 0);
|
|
@@ -2143,8 +2133,8 @@ const x = _.fontFamily.sans.join(", "), mi = `
|
|
|
2143
2133
|
--accent: oklch(92% 0 0);
|
|
2144
2134
|
--accent-foreground: oklch(5% 0 0);
|
|
2145
2135
|
--muted-foreground: oklch(44% 0 0);
|
|
2146
|
-
`,
|
|
2147
|
-
:root { ${
|
|
2136
|
+
`, fi = `
|
|
2137
|
+
:root { ${pi} }
|
|
2148
2138
|
|
|
2149
2139
|
/* ── Button ──────────────────────────────────────────────── */
|
|
2150
2140
|
.ui-btn {
|
|
@@ -2389,34 +2379,34 @@ const x = _.fontFamily.sans.join(", "), mi = `
|
|
|
2389
2379
|
margin-block-start: 0.25rem;
|
|
2390
2380
|
}
|
|
2391
2381
|
`;
|
|
2392
|
-
let
|
|
2393
|
-
function
|
|
2394
|
-
if (
|
|
2382
|
+
let ot = !1;
|
|
2383
|
+
function gi() {
|
|
2384
|
+
if (ot || typeof document > "u")
|
|
2395
2385
|
return;
|
|
2396
|
-
|
|
2386
|
+
ot = !0;
|
|
2397
2387
|
const n = document.createElement("style");
|
|
2398
|
-
n.id = "vd-ui-vanilla", n.textContent =
|
|
2388
|
+
n.id = "vd-ui-vanilla", n.textContent = fi, document.head.appendChild(n);
|
|
2399
2389
|
}
|
|
2400
|
-
function
|
|
2390
|
+
function st(n) {
|
|
2401
2391
|
const t = Math.max(0, Math.min(1, n));
|
|
2402
2392
|
return t * t * (3 - 2 * t);
|
|
2403
2393
|
}
|
|
2404
|
-
function
|
|
2405
|
-
const [r, l, d] = n, u = Math.cos(t), p = Math.sin(t), v = u * r + p * d, E = -p * r + u * d,
|
|
2394
|
+
function bi(n, t, e, i, o, s) {
|
|
2395
|
+
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), w = Math.sin(e), R = S * l - w * E, M = w * l + S * E, Y = 0.55;
|
|
2406
2396
|
return [i + v * s * Y, o - R * s * Y, M];
|
|
2407
2397
|
}
|
|
2408
|
-
function
|
|
2398
|
+
function vi(n, t, e) {
|
|
2409
2399
|
n.beginPath(), n.moveTo(t[0], t[1]), n.lineTo(e[0], e[1]), n.strokeStyle = "#000", n.lineWidth = 2, n.stroke();
|
|
2410
2400
|
}
|
|
2411
|
-
function
|
|
2401
|
+
function yi(n, t, e, i, o) {
|
|
2412
2402
|
const s = t(e), r = t(i), l = [
|
|
2413
2403
|
s[0] + (r[0] - s[0]) * o,
|
|
2414
2404
|
s[1] + (r[1] - s[1]) * o,
|
|
2415
2405
|
s[2]
|
|
2416
2406
|
];
|
|
2417
|
-
|
|
2407
|
+
vi(n, s, l);
|
|
2418
2408
|
}
|
|
2419
|
-
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],
|
|
2409
|
+
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 = [
|
|
2420
2410
|
[z, P],
|
|
2421
2411
|
[P, F],
|
|
2422
2412
|
[F, $],
|
|
@@ -2429,8 +2419,8 @@ const z = [-1, -1, 1], P = [1, -1, 1], F = [1, -1, -1], $ = [-1, -1, -1], D = [-
|
|
|
2429
2419
|
[B, U],
|
|
2430
2420
|
[U, V],
|
|
2431
2421
|
[V, D]
|
|
2432
|
-
],
|
|
2433
|
-
function
|
|
2422
|
+
], _i = 400, at = '-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif';
|
|
2423
|
+
function Ci() {
|
|
2434
2424
|
const n = document.createElement("div");
|
|
2435
2425
|
Object.assign(n.style, {
|
|
2436
2426
|
position: "absolute",
|
|
@@ -2466,16 +2456,16 @@ function _i() {
|
|
|
2466
2456
|
fontWeight: "400",
|
|
2467
2457
|
color: "#000",
|
|
2468
2458
|
fontVariantNumeric: "tabular-nums",
|
|
2469
|
-
fontFamily:
|
|
2459
|
+
fontFamily: at
|
|
2470
2460
|
});
|
|
2471
2461
|
const o = document.createElement("span");
|
|
2472
2462
|
return Object.assign(o.style, {
|
|
2473
2463
|
fontSize: "13px",
|
|
2474
2464
|
color: "#000",
|
|
2475
|
-
fontFamily:
|
|
2476
|
-
}), o.textContent =
|
|
2465
|
+
fontFamily: at
|
|
2466
|
+
}), o.textContent = yt(), e.appendChild(i), e.appendChild(o), n.appendChild(t), n.appendChild(e), { overlay: n, canvas: t, pctEl: i, phaseEl: o };
|
|
2477
2467
|
}
|
|
2478
|
-
class
|
|
2468
|
+
class wi {
|
|
2479
2469
|
overlay;
|
|
2480
2470
|
canvas;
|
|
2481
2471
|
ctx;
|
|
@@ -2488,17 +2478,17 @@ class Ci {
|
|
|
2488
2478
|
visible = !1;
|
|
2489
2479
|
constructor(t, e = {}) {
|
|
2490
2480
|
this.startTime = performance.now();
|
|
2491
|
-
const i =
|
|
2481
|
+
const i = Ci();
|
|
2492
2482
|
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());
|
|
2493
|
-
const o = e.showDelay ??
|
|
2483
|
+
const o = e.showDelay ?? _i;
|
|
2494
2484
|
this.showTimerId = setTimeout(() => {
|
|
2495
2485
|
this.reveal();
|
|
2496
2486
|
}, o);
|
|
2497
2487
|
}
|
|
2498
2488
|
get loadingTexts() {
|
|
2499
2489
|
return {
|
|
2500
|
-
downloading:
|
|
2501
|
-
rendering:
|
|
2490
|
+
downloading: yt(),
|
|
2491
|
+
rendering: Ye()
|
|
2502
2492
|
};
|
|
2503
2493
|
}
|
|
2504
2494
|
updateProgress(t, e) {
|
|
@@ -2551,20 +2541,20 @@ class Ci {
|
|
|
2551
2541
|
return;
|
|
2552
2542
|
const t = this.canvas.width / Math.min(devicePixelRatio, 2), e = this.canvas.height / Math.min(devicePixelRatio, 2), i = (performance.now() - this.startTime) / 1e3;
|
|
2553
2543
|
this.ctx.fillStyle = "#fff", this.ctx.fillRect(0, 0, t, e);
|
|
2554
|
-
const o = t / 2, s = e * 0.44, r = Math.min(t, e) * 0.08, l = 0.785, d = 0.615, u = (w) =>
|
|
2555
|
-
let
|
|
2556
|
-
v < 0.35 ?
|
|
2557
|
-
for (let w = 0; w < E && !(w >=
|
|
2558
|
-
const R =
|
|
2544
|
+
const o = t / 2, s = e * 0.44, r = Math.min(t, e) * 0.08, l = 0.785, d = 0.615, u = (w) => bi(w, l, d, o, s, r), p = 6, v = i % p / p, E = rt.length;
|
|
2545
|
+
let S;
|
|
2546
|
+
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)";
|
|
2547
|
+
for (let w = 0; w < E && !(w >= S); w++) {
|
|
2548
|
+
const R = rt[w];
|
|
2559
2549
|
if (R === void 0)
|
|
2560
2550
|
continue;
|
|
2561
|
-
const M = Math.min(1,
|
|
2562
|
-
|
|
2551
|
+
const M = Math.min(1, S - w);
|
|
2552
|
+
yi(this.ctx, u, R[0], R[1], M);
|
|
2563
2553
|
}
|
|
2564
2554
|
this.ctx.shadowBlur = 0;
|
|
2565
2555
|
}
|
|
2566
2556
|
}
|
|
2567
|
-
class
|
|
2557
|
+
class ki {
|
|
2568
2558
|
constructor(t) {
|
|
2569
2559
|
this.options = t, this.element = document.createElement("div"), Object.assign(this.element.style, { display: "flex", gap: "0.375rem" }), this.onFullscreenChange = () => {
|
|
2570
2560
|
this.setFullscreenIcon(document.fullscreenElement !== null);
|
|
@@ -2589,7 +2579,7 @@ class wi {
|
|
|
2589
2579
|
this.arBtn = this.syncButton(this.arBtn, t.ar !== !1 && this.options.onAr !== void 0, () => new b({
|
|
2590
2580
|
variant: "outline",
|
|
2591
2581
|
size: "icon",
|
|
2592
|
-
label:
|
|
2582
|
+
label: we(),
|
|
2593
2583
|
icon: g.ar(),
|
|
2594
2584
|
onClick: () => {
|
|
2595
2585
|
this.options.onAr?.();
|
|
@@ -2597,7 +2587,7 @@ class wi {
|
|
|
2597
2587
|
})), this.fullscreenBtn = this.syncButton(this.fullscreenBtn, t.fullscreen !== !1 && this.options.onFullscreen !== void 0, () => new b({
|
|
2598
2588
|
variant: "outline",
|
|
2599
2589
|
size: "icon",
|
|
2600
|
-
label:
|
|
2590
|
+
label: Ve(),
|
|
2601
2591
|
icon: g.fullscreen(),
|
|
2602
2592
|
onClick: () => {
|
|
2603
2593
|
this.options.onFullscreen?.();
|
|
@@ -2618,9 +2608,9 @@ class L {
|
|
|
2618
2608
|
targetTilt: e.tilt,
|
|
2619
2609
|
targetZoom: e.zoom,
|
|
2620
2610
|
thetaOffset: 0
|
|
2621
|
-
}, o =
|
|
2611
|
+
}, o = Si(t, e, i);
|
|
2622
2612
|
e.onChange((s) => {
|
|
2623
|
-
i.targetRotation = s.rotation - i.thetaOffset, i.targetTilt = s.tilt, i.targetZoom = s.zoom,
|
|
2613
|
+
i.targetRotation = s.rotation - i.thetaOffset, i.targetTilt = s.tilt, i.targetZoom = s.zoom, Ai(o, e, s);
|
|
2624
2614
|
}), this.element.appendChild(L.buildZoom(o.zoomOut, o.zoomIn)), this.element.appendChild(L.buildDpad(o.tiltUp, o.rotateLeft, o.reset, o.rotateRight, o.tiltDown));
|
|
2625
2615
|
}
|
|
2626
2616
|
static buildZoom(t, e) {
|
|
@@ -2641,7 +2631,7 @@ class L {
|
|
|
2641
2631
|
return r;
|
|
2642
2632
|
}
|
|
2643
2633
|
}
|
|
2644
|
-
function
|
|
2634
|
+
function Si(n, t, e) {
|
|
2645
2635
|
const i = (r) => Math.max(t.limits?.minZoom ?? 1, Math.min(t.limits?.maxZoom ?? 1 / 0, r)), o = (r) => {
|
|
2646
2636
|
const l = t.limits?.minRotate, d = t.limits?.maxRotate;
|
|
2647
2637
|
return l !== void 0 || d !== void 0 ? Math.max(l ?? -1 / 0, Math.min(d ?? 1 / 0, r)) : r;
|
|
@@ -2655,54 +2645,54 @@ function ki(n, t, e) {
|
|
|
2655
2645
|
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());
|
|
2656
2646
|
};
|
|
2657
2647
|
return {
|
|
2658
|
-
zoomOut: new b({ variant: "outline", size: "icon", label:
|
|
2648
|
+
zoomOut: new b({ variant: "outline", size: "icon", label: _n(), icon: g.zoomOut(), onClick: () => {
|
|
2659
2649
|
e.targetZoom = i(e.targetZoom - 10), n.zoom(e.targetZoom).set();
|
|
2660
2650
|
} }),
|
|
2661
|
-
zoomIn: new b({ variant: "outline", size: "icon", label:
|
|
2651
|
+
zoomIn: new b({ variant: "outline", size: "icon", label: gn(), icon: g.zoomIn(), onClick: () => {
|
|
2662
2652
|
e.targetZoom = i(e.targetZoom + 10), n.zoom(e.targetZoom).set();
|
|
2663
2653
|
} }),
|
|
2664
|
-
tiltUp: new b({ variant: "outline", size: "icon", label:
|
|
2654
|
+
tiltUp: new b({ variant: "outline", size: "icon", label: In(), icon: g.tiltUp(), onClick: () => {
|
|
2665
2655
|
s(-15);
|
|
2666
2656
|
} }),
|
|
2667
|
-
rotateLeft: new b({ variant: "outline", size: "icon", label:
|
|
2657
|
+
rotateLeft: new b({ variant: "outline", size: "icon", label: Sn(), icon: g.rotateLeft(), onClick: () => {
|
|
2668
2658
|
e.targetRotation = o(e.targetRotation - 15), n.rotate(e.targetRotation + e.thetaOffset).set();
|
|
2669
2659
|
} }),
|
|
2670
|
-
reset: new b({ variant: "outline", size: "icon", label:
|
|
2660
|
+
reset: new b({ variant: "outline", size: "icon", label: hn(), icon: g.reset(), onClick: () => {
|
|
2671
2661
|
e.thetaOffset = 0, n.reset();
|
|
2672
2662
|
} }),
|
|
2673
|
-
rotateRight: new b({ variant: "outline", size: "icon", label:
|
|
2663
|
+
rotateRight: new b({ variant: "outline", size: "icon", label: Tn(), icon: g.rotateRight(), onClick: () => {
|
|
2674
2664
|
e.targetRotation = o(e.targetRotation + 15), n.rotate(e.targetRotation + e.thetaOffset).set();
|
|
2675
2665
|
} }),
|
|
2676
|
-
tiltDown: new b({ variant: "outline", size: "icon", label:
|
|
2666
|
+
tiltDown: new b({ variant: "outline", size: "icon", label: Pn(), icon: g.tiltDown(), onClick: () => {
|
|
2677
2667
|
s(15);
|
|
2678
2668
|
} })
|
|
2679
2669
|
};
|
|
2680
2670
|
}
|
|
2681
|
-
function
|
|
2671
|
+
function Ai(n, t, e) {
|
|
2682
2672
|
const i = t.limits;
|
|
2683
2673
|
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);
|
|
2684
2674
|
}
|
|
2685
|
-
const
|
|
2686
|
-
let
|
|
2675
|
+
const Ei = 5;
|
|
2676
|
+
let xi = 0;
|
|
2687
2677
|
function j(n) {
|
|
2688
2678
|
const t = n.replace(/([A-Z])/g, " $1").trim();
|
|
2689
2679
|
return t.charAt(0).toUpperCase() + t.slice(1).toLowerCase();
|
|
2690
2680
|
}
|
|
2691
|
-
function
|
|
2681
|
+
function Ti(n, t, e, i, o) {
|
|
2692
2682
|
const s = document.createElement("div");
|
|
2693
2683
|
s.className = "vd-attribute", s.dataset.name = n.name;
|
|
2694
2684
|
const r = document.createElement("span");
|
|
2695
|
-
r.className = "vd-attribute-label", r.textContent = j(n.name), r.id = `vd-attribute-label-${
|
|
2696
|
-
const l = n.values.find((p) => t.getValue(n.name, p)?.isSelected === !0), d = n.values.map(j), u = n.values.length <=
|
|
2685
|
+
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);
|
|
2686
|
+
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);
|
|
2697
2687
|
return u.onSelect((p) => {
|
|
2698
|
-
e.dispatch(
|
|
2688
|
+
e.dispatch(O.SELECT, { attribute: n.name, value: p }, !0).defaultPrevented || i(n.name, p);
|
|
2699
2689
|
}), o(n.name, (p) => {
|
|
2700
|
-
u.setSelected(p.value), e.dispatch(
|
|
2690
|
+
u.setSelected(p.value), e.dispatch(O.SELECTED, { attribute: n.name, value: p.value });
|
|
2701
2691
|
}), s.appendChild(u.element), s;
|
|
2702
2692
|
}
|
|
2703
|
-
const
|
|
2693
|
+
const Ri = 80, Oi = 2500;
|
|
2704
2694
|
class Ni {
|
|
2705
|
-
constructor(t, e =
|
|
2695
|
+
constructor(t, e = Oi) {
|
|
2706
2696
|
this.configuration = t, this.resetMs = e, this.element = document.createElement("div"), this.element.className = "vd-commerce vd-hidden";
|
|
2707
2697
|
const i = document.createElement("div");
|
|
2708
2698
|
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: () => {
|
|
@@ -2734,19 +2724,19 @@ class Ni {
|
|
|
2734
2724
|
this.priceEl.textContent = "", this.vatEl.textContent = "";
|
|
2735
2725
|
return;
|
|
2736
2726
|
}
|
|
2737
|
-
this.priceEl.textContent =
|
|
2727
|
+
this.priceEl.textContent = Ii(t.price, t.currency), this.vatEl.textContent = lt(this.configuration.vatDisplay);
|
|
2738
2728
|
}
|
|
2739
2729
|
renderButton() {
|
|
2740
2730
|
const t = this.configuration.submitEnabled;
|
|
2741
|
-
this.button.element.classList.toggle("vd-hidden", !t), t && this.state === "idle" && this.setButtonText(
|
|
2731
|
+
this.button.element.classList.toggle("vd-hidden", !t), t && this.state === "idle" && this.setButtonText(lt(this.configuration.buttonLabel));
|
|
2742
2732
|
}
|
|
2743
2733
|
async handleSubmit() {
|
|
2744
2734
|
if (this.state !== "busy") {
|
|
2745
|
-
this.setState("busy",
|
|
2735
|
+
this.setState("busy", Bn());
|
|
2746
2736
|
try {
|
|
2747
|
-
await this.configuration.submit(), this.setState("success",
|
|
2737
|
+
await this.configuration.submit(), this.setState("success", Hn());
|
|
2748
2738
|
} catch {
|
|
2749
|
-
this.setState("failed",
|
|
2739
|
+
this.setState("failed", Wn());
|
|
2750
2740
|
}
|
|
2751
2741
|
this.scheduleReset();
|
|
2752
2742
|
}
|
|
@@ -2763,10 +2753,10 @@ class Ni {
|
|
|
2763
2753
|
this.button.element.textContent = t, this.button.element.setAttribute("aria-label", t);
|
|
2764
2754
|
}
|
|
2765
2755
|
}
|
|
2766
|
-
function
|
|
2767
|
-
return (n ?? "").slice(0,
|
|
2756
|
+
function lt(n) {
|
|
2757
|
+
return (n ?? "").slice(0, Ri);
|
|
2768
2758
|
}
|
|
2769
|
-
function
|
|
2759
|
+
function Ii(n, t) {
|
|
2770
2760
|
try {
|
|
2771
2761
|
const e = new Intl.NumberFormat(h(), { style: "currency", currency: t }), i = e.resolvedOptions().maximumFractionDigits ?? 2;
|
|
2772
2762
|
return e.format(n / 10 ** i);
|
|
@@ -2774,7 +2764,7 @@ function Oi(n, t) {
|
|
|
2774
2764
|
return `${t} ${(n / 100).toFixed(2)}`;
|
|
2775
2765
|
}
|
|
2776
2766
|
}
|
|
2777
|
-
class
|
|
2767
|
+
class kt {
|
|
2778
2768
|
slot = null;
|
|
2779
2769
|
panel = null;
|
|
2780
2770
|
attach(t, e) {
|
|
@@ -2787,8 +2777,8 @@ class wt {
|
|
|
2787
2777
|
this.slot?.remove(), this.slot = null, this.panel = null;
|
|
2788
2778
|
}
|
|
2789
2779
|
}
|
|
2790
|
-
const
|
|
2791
|
-
class
|
|
2780
|
+
const Li = 572;
|
|
2781
|
+
class Mi {
|
|
2792
2782
|
element = null;
|
|
2793
2783
|
body = null;
|
|
2794
2784
|
openButton = null;
|
|
@@ -2802,7 +2792,7 @@ class Li {
|
|
|
2802
2792
|
this.container = t, e.classList.add("vd-attributes-sidebar"), this.closeButton = new b({
|
|
2803
2793
|
variant: "ghost",
|
|
2804
2794
|
size: "icon-sm",
|
|
2805
|
-
label:
|
|
2795
|
+
label: ln(),
|
|
2806
2796
|
icon: g.close({ size: 18 }),
|
|
2807
2797
|
onClick: () => {
|
|
2808
2798
|
this.expanded = !1, this.render();
|
|
@@ -2812,7 +2802,7 @@ class Li {
|
|
|
2812
2802
|
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({
|
|
2813
2803
|
variant: "outline",
|
|
2814
2804
|
size: "default",
|
|
2815
|
-
label:
|
|
2805
|
+
label: on(),
|
|
2816
2806
|
icon: g.configurator({ size: 18 }),
|
|
2817
2807
|
onClick: () => {
|
|
2818
2808
|
this.expanded = !0, this.render();
|
|
@@ -2828,7 +2818,7 @@ class Li {
|
|
|
2828
2818
|
observe() {
|
|
2829
2819
|
typeof ResizeObserver > "u" || this.container === null || (this.observer = new ResizeObserver((t) => {
|
|
2830
2820
|
const e = t[0]?.contentRect.width ?? 0;
|
|
2831
|
-
this.setCollapsible(e > 0 && e <
|
|
2821
|
+
this.setCollapsible(e > 0 && e < Li);
|
|
2832
2822
|
}), this.observer.observe(this.container));
|
|
2833
2823
|
}
|
|
2834
2824
|
setCollapsible(t) {
|
|
@@ -2841,7 +2831,7 @@ class Li {
|
|
|
2841
2831
|
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);
|
|
2842
2832
|
}
|
|
2843
2833
|
}
|
|
2844
|
-
class
|
|
2834
|
+
class zi {
|
|
2845
2835
|
attach(t, e) {
|
|
2846
2836
|
}
|
|
2847
2837
|
setVisible(t) {
|
|
@@ -2849,20 +2839,20 @@ class Mi {
|
|
|
2849
2839
|
destroy() {
|
|
2850
2840
|
}
|
|
2851
2841
|
}
|
|
2852
|
-
const
|
|
2853
|
-
"inframe-bottom-left": () => new
|
|
2854
|
-
"sidebar-right": () => new
|
|
2855
|
-
hidden: () => new
|
|
2842
|
+
const Pi = {
|
|
2843
|
+
"inframe-bottom-left": () => new kt(),
|
|
2844
|
+
"sidebar-right": () => new Mi(),
|
|
2845
|
+
hidden: () => new zi()
|
|
2856
2846
|
};
|
|
2857
|
-
function
|
|
2858
|
-
return (
|
|
2847
|
+
function Fi(n) {
|
|
2848
|
+
return (Pi[n ?? ""] ?? (() => new kt()))();
|
|
2859
2849
|
}
|
|
2860
2850
|
const H = _.fontFamily.sans.join(", "), G = `
|
|
2861
2851
|
position: absolute;
|
|
2862
2852
|
display: flex;
|
|
2863
2853
|
z-index: 10;
|
|
2864
2854
|
transition: inset-inline-end 0.18s ease;
|
|
2865
|
-
`,
|
|
2855
|
+
`, $i = `
|
|
2866
2856
|
/* Override browser's default black fullscreen backdrop */
|
|
2867
2857
|
.vd-container:fullscreen {
|
|
2868
2858
|
background: oklch(100% 0 0);
|
|
@@ -3053,17 +3043,17 @@ const H = _.fontFamily.sans.join(", "), G = `
|
|
|
3053
3043
|
}
|
|
3054
3044
|
|
|
3055
3045
|
`;
|
|
3056
|
-
function
|
|
3057
|
-
if (
|
|
3046
|
+
function Di() {
|
|
3047
|
+
if (gi(), document.getElementById("vd-styles") !== null)
|
|
3058
3048
|
return;
|
|
3059
3049
|
const n = document.createElement("style");
|
|
3060
|
-
n.id = "vd-styles", n.textContent =
|
|
3050
|
+
n.id = "vd-styles", n.textContent = $i, document.head.appendChild(n);
|
|
3061
3051
|
}
|
|
3062
|
-
function
|
|
3052
|
+
function Bi(n, t) {
|
|
3063
3053
|
const e = document.createElement("a");
|
|
3064
3054
|
e.href = `data:image/png;base64,${n}`, e.download = t, e.click();
|
|
3065
3055
|
}
|
|
3066
|
-
class
|
|
3056
|
+
class Ui {
|
|
3067
3057
|
options;
|
|
3068
3058
|
settings = {};
|
|
3069
3059
|
container = null;
|
|
@@ -3079,7 +3069,7 @@ class Bi {
|
|
|
3079
3069
|
this.options = t;
|
|
3080
3070
|
}
|
|
3081
3071
|
attach(t) {
|
|
3082
|
-
|
|
3072
|
+
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");
|
|
3083
3073
|
}
|
|
3084
3074
|
onReady() {
|
|
3085
3075
|
this.loading?.hide(), this.loading = null, this.mountToolbar(), this.cameraControls !== null && (this.cameraControls.element.style.display = "flex"), this.layout?.setVisible(!0);
|
|
@@ -3088,7 +3078,7 @@ class Bi {
|
|
|
3088
3078
|
if (this.actionBar !== null || this.slots.bottomRight === null || this.container === null)
|
|
3089
3079
|
return;
|
|
3090
3080
|
const t = typeof this.container.requestFullscreen == "function";
|
|
3091
|
-
this.actionBar = new
|
|
3081
|
+
this.actionBar = new ki({
|
|
3092
3082
|
onAr: this.options.onAr,
|
|
3093
3083
|
onFullscreen: t ? () => {
|
|
3094
3084
|
this.toggleFullscreen();
|
|
@@ -3105,20 +3095,20 @@ class Bi {
|
|
|
3105
3095
|
this.loading?.showError(t);
|
|
3106
3096
|
}
|
|
3107
3097
|
applyViewerSettings(t) {
|
|
3108
|
-
this.settings = t, t.language !== void 0 &&
|
|
3098
|
+
this.settings = t, t.language !== void 0 && gt(t.language, { reload: !1 }), this.syncScreenshotButton(), this.actionBar?.applySettings(t), this.cameraControls !== null && (this.cameraControls.element.style.display = t.cameraControls === !0 ? "flex" : "none"), this.placeScreenshotButton();
|
|
3109
3099
|
}
|
|
3110
3100
|
renderAttributeControls(t, e) {
|
|
3111
3101
|
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)) {
|
|
3112
3102
|
this.attributes = document.createElement("div"), this.attributes.className = "vd-attributes";
|
|
3113
3103
|
for (const i of e)
|
|
3114
|
-
this.attributes.appendChild(
|
|
3104
|
+
this.attributes.appendChild(Ti(
|
|
3115
3105
|
i,
|
|
3116
3106
|
t,
|
|
3117
3107
|
this.options.eventBus,
|
|
3118
3108
|
this.options.onSelect,
|
|
3119
3109
|
this.options.onSubscribe
|
|
3120
3110
|
));
|
|
3121
|
-
this.commerce = new Ni(this.options.configuration), this.attributes.appendChild(this.commerce.element), this.layout =
|
|
3111
|
+
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);
|
|
3122
3112
|
}
|
|
3123
3113
|
}
|
|
3124
3114
|
get viewerSettings() {
|
|
@@ -3143,11 +3133,11 @@ class Bi {
|
|
|
3143
3133
|
t && this.screenshotBtn === null && (this.screenshotBtn = new b({
|
|
3144
3134
|
variant: "outline",
|
|
3145
3135
|
size: "icon",
|
|
3146
|
-
label:
|
|
3136
|
+
label: Je(),
|
|
3147
3137
|
icon: g.screenshot(),
|
|
3148
3138
|
onClick: () => {
|
|
3149
3139
|
this.options.snapshotApi.take("snapshot.png").onDeveloped(({ data: e, filename: i }) => {
|
|
3150
|
-
|
|
3140
|
+
Bi(e, i);
|
|
3151
3141
|
});
|
|
3152
3142
|
}
|
|
3153
3143
|
})), !t && this.screenshotBtn !== null && (this.screenshotBtn.element.remove(), this.screenshotBtn = null);
|
|
@@ -3156,7 +3146,7 @@ class Bi {
|
|
|
3156
3146
|
this.screenshotBtn === null || this.slots.topRight === null || (this.cameraControls !== null ? this.cameraControls.element.appendChild(this.screenshotBtn.element) : this.slots.topRight.appendChild(this.screenshotBtn.element));
|
|
3157
3147
|
}
|
|
3158
3148
|
}
|
|
3159
|
-
class
|
|
3149
|
+
class Hi {
|
|
3160
3150
|
attributes;
|
|
3161
3151
|
readyStateTracker;
|
|
3162
3152
|
messenger;
|
|
@@ -3175,29 +3165,29 @@ class ji {
|
|
|
3175
3165
|
readyCallbacks = [];
|
|
3176
3166
|
mutationFailedCallbacks = [];
|
|
3177
3167
|
constructor(t) {
|
|
3178
|
-
this.options = t, this.initializeLogging(), this.messenger = new
|
|
3168
|
+
this.options = t, this.initializeLogging(), this.messenger = new Qt(() => this.iframe?.contentWindow ?? null);
|
|
3179
3169
|
const e = (i) => {
|
|
3180
3170
|
this.messenger.send(i);
|
|
3181
3171
|
};
|
|
3182
|
-
this.attributes = new
|
|
3172
|
+
this.attributes = new ie(e, (i, o) => {
|
|
3183
3173
|
for (const s of this.mutationFailedCallbacks)
|
|
3184
3174
|
s({ attribute: i, value: o });
|
|
3185
|
-
}), this.snapshotApi = new
|
|
3175
|
+
}), this.snapshotApi = new de(e), this.annotationsApi = new Jt(e), this.cameraApi = new oe(e), this.cameraPositionApi = new se(), this.focusApi = new re(e, (i) => {
|
|
3186
3176
|
this.dispatchFocusChange(i);
|
|
3187
|
-
}), this.configurationApi = new
|
|
3177
|
+
}), this.configurationApi = new ce(
|
|
3188
3178
|
(i) => {
|
|
3189
3179
|
this.dispatchConfigurationChange(i);
|
|
3190
3180
|
},
|
|
3191
3181
|
(i) => {
|
|
3192
3182
|
this.dispatchConfigurationSubmit(i);
|
|
3193
3183
|
}
|
|
3194
|
-
), this.eventBus = new
|
|
3184
|
+
), this.eventBus = new he(), this.qrModal = new mi(), this.readyStateTracker = new Ft(() => {
|
|
3195
3185
|
const i = this.readyCallbacks;
|
|
3196
3186
|
this.readyCallbacks = [];
|
|
3197
3187
|
for (const o of i)
|
|
3198
3188
|
o(this);
|
|
3199
3189
|
this.ui.onReady();
|
|
3200
|
-
}), this.ui = new
|
|
3190
|
+
}), this.ui = new Ui({
|
|
3201
3191
|
snapshotApi: this.snapshotApi,
|
|
3202
3192
|
cameraApi: this.cameraApi,
|
|
3203
3193
|
cameraPositionApi: this.cameraPositionApi,
|
|
@@ -3212,29 +3202,29 @@ class ji {
|
|
|
3212
3202
|
}
|
|
3213
3203
|
registerHandlers() {
|
|
3214
3204
|
this.messenger.on(c.HANDSHAKE, (t) => {
|
|
3215
|
-
|
|
3205
|
+
Vt(t) && (C.info("Server handshake received, flushing publisher queue"), this.messenger.markReady());
|
|
3216
3206
|
}), this.messenger.on(c.MUTATION, (t) => {
|
|
3217
|
-
|
|
3207
|
+
jt(t) && (this.attributes.handleMutationResult(t), this.configurationApi.handleSelectionChanged(this.attributes.getSelection()));
|
|
3218
3208
|
}), this.messenger.on(c.SNAPSHOT, (t) => {
|
|
3219
|
-
|
|
3209
|
+
Ht(t) && this.snapshotApi.handleSnapshotResult(t);
|
|
3220
3210
|
}), this.messenger.on(c.CAMERA, (t) => {
|
|
3221
|
-
|
|
3211
|
+
Gt(t) && this.cameraPositionApi.handlePositionUpdate(t);
|
|
3222
3212
|
}), this.messenger.on(c.LOADING_INDICATOR, (t) => {
|
|
3223
|
-
|
|
3213
|
+
Zt(t) && (t.error !== void 0 ? this.ui.showError(t.error) : this.ui.updateProgress(t.progress, t.phase));
|
|
3224
3214
|
}), this.messenger.on(c.CONFIG, (t) => {
|
|
3225
|
-
|
|
3215
|
+
Wt(t) && this.handleConfig(t);
|
|
3226
3216
|
}), this.messenger.on(c.ANNOTATION_PLACED, (t) => {
|
|
3227
|
-
|
|
3217
|
+
Yt(t) && this.annotationsApi.handlePlaced(t.position);
|
|
3228
3218
|
}), this.messenger.on(c.MAPPING, (t) => {
|
|
3229
|
-
|
|
3219
|
+
qt(t) && (this.attributes.handleMappingReceived(t), this.configurationApi.handleSelectionChanged(this.attributes.getSelection()), this.ui.renderAttributeControls(this.attributes, t.attributes), this.readyStateTracker.handleMappingReceived());
|
|
3230
3220
|
}), this.registerFacadeStateHandlers();
|
|
3231
3221
|
}
|
|
3232
3222
|
/** Handlers that feed viewer-reported state into the facades (focus, pricing). */
|
|
3233
3223
|
registerFacadeStateHandlers() {
|
|
3234
3224
|
this.messenger.on(c.FOCUS, (t) => {
|
|
3235
|
-
|
|
3225
|
+
Xt(t) && this.focusApi.handleStateReceived(t);
|
|
3236
3226
|
}), this.messenger.on(c.PRICING, (t) => {
|
|
3237
|
-
|
|
3227
|
+
Kt(t) && this.configurationApi.handlePricingReceived(t.pricing);
|
|
3238
3228
|
});
|
|
3239
3229
|
}
|
|
3240
3230
|
/**
|
|
@@ -3243,7 +3233,7 @@ class ji {
|
|
|
3243
3233
|
*/
|
|
3244
3234
|
dispatchFocusChange(t) {
|
|
3245
3235
|
this.container?.dispatchEvent(
|
|
3246
|
-
new CustomEvent(
|
|
3236
|
+
new CustomEvent(O.FOCUS_CHANGE, { detail: t, bubbles: !0 })
|
|
3247
3237
|
);
|
|
3248
3238
|
}
|
|
3249
3239
|
/**
|
|
@@ -3252,13 +3242,13 @@ class ji {
|
|
|
3252
3242
|
*/
|
|
3253
3243
|
dispatchConfigurationChange(t) {
|
|
3254
3244
|
this.container?.dispatchEvent(
|
|
3255
|
-
new CustomEvent(
|
|
3245
|
+
new CustomEvent(O.CONFIGURATION_CHANGE, { detail: t ?? null, bubbles: !0 })
|
|
3256
3246
|
);
|
|
3257
3247
|
}
|
|
3258
3248
|
/** Dispatch a bubbling `vd:configuration-submit` event when the CTA is used. */
|
|
3259
3249
|
dispatchConfigurationSubmit(t) {
|
|
3260
3250
|
this.container?.dispatchEvent(
|
|
3261
|
-
new CustomEvent(
|
|
3251
|
+
new CustomEvent(O.CONFIGURATION_SUBMIT, { detail: t, bubbles: !0 })
|
|
3262
3252
|
);
|
|
3263
3253
|
}
|
|
3264
3254
|
handleConfig(t) {
|
|
@@ -3267,24 +3257,24 @@ class ji {
|
|
|
3267
3257
|
const o = i !== void 0 ? { ...e ?? {}, ...i } : e;
|
|
3268
3258
|
if (i !== void 0 && e !== void 0) {
|
|
3269
3259
|
const s = Object.entries(i).filter(([r, l]) => e[r] !== l).map(([r, l]) => `${r} (metadata: ${e[r] ?? "undefined"}, override: ${l})`);
|
|
3270
|
-
s.length > 0 &&
|
|
3260
|
+
s.length > 0 && C.warn(`Viewer settings override active: ${s.join(", ")}`);
|
|
3271
3261
|
}
|
|
3272
3262
|
this.ui.applyViewerSettings(o), this.annotationsApi.setEnabled(o.annotations !== !1);
|
|
3273
3263
|
}
|
|
3274
3264
|
this.cameraPositionApi.applyLimits(t.cameraLimits);
|
|
3275
3265
|
}
|
|
3276
3266
|
activateAr() {
|
|
3277
|
-
if (
|
|
3267
|
+
if (zt()) {
|
|
3278
3268
|
this.messenger.send({ type: c.AR_ACTIVATE });
|
|
3279
3269
|
return;
|
|
3280
3270
|
}
|
|
3281
3271
|
this.qrModal.show(this.iframe?.src ?? "");
|
|
3282
3272
|
}
|
|
3283
3273
|
initializeLogging() {
|
|
3284
|
-
this.options.debug === !0 &&
|
|
3274
|
+
this.options.debug === !0 && Pt(), C.info("Initializing Virtualdisplay client", { model: this.options.model });
|
|
3285
3275
|
}
|
|
3286
3276
|
createAndConnectIframe() {
|
|
3287
|
-
const e = new
|
|
3277
|
+
const e = new At(this.options).create();
|
|
3288
3278
|
this.container = e.container, this.iframe = e.iframe, this.eventBus.attach(this.container), this.ui.attach(this.container);
|
|
3289
3279
|
try {
|
|
3290
3280
|
const i = new URL(this.iframe.src).origin;
|
|
@@ -3349,19 +3339,19 @@ class ji {
|
|
|
3349
3339
|
}
|
|
3350
3340
|
}
|
|
3351
3341
|
export {
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3342
|
+
Jt as Annotations,
|
|
3343
|
+
ee as Attribute,
|
|
3344
|
+
te as AttributeValue,
|
|
3345
|
+
oe as Camera,
|
|
3346
|
+
ce as Configuration,
|
|
3347
|
+
A as ERROR_CODES,
|
|
3348
|
+
re as Focus,
|
|
3349
|
+
ue as Photo,
|
|
3350
|
+
de as Snapshot,
|
|
3351
|
+
O as VD_EVENTS,
|
|
3352
|
+
Hi as VirtualdisplayClient,
|
|
3363
3353
|
f as VirtualdisplayError,
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3354
|
+
Pt as enableDebugMode,
|
|
3355
|
+
Vi as isDebugMode,
|
|
3356
|
+
C as logger
|
|
3367
3357
|
};
|