@qwik.dev/core 2.0.0-beta.31 → 2.0.0-beta.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backpatch/package.json +1 -1
- package/dist/build/package.json +1 -1
- package/dist/cli.mjs +2 -2
- package/dist/core-internal.d.ts +112 -34
- package/dist/core.min.mjs +2 -2
- package/dist/core.mjs +696 -347
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.mjs +3269 -3020
- package/dist/loader/index.mjs +2 -2
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.mjs +4 -4
- package/dist/qwikloader.debug.js +237 -90
- package/dist/qwikloader.js +1 -1
- package/dist/server.mjs +10 -7
- package/dist/server.prod.mjs +694 -690
- package/dist/starters/adapters/bun/src/entry.bun.ts +2 -8
- package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +2 -4
- package/dist/starters/adapters/deno/src/entry.deno.ts +2 -8
- package/dist/starters/adapters/express/src/entry.express.tsx +1 -4
- package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +1 -2
- package/dist/starters/adapters/node-server/src/entry.node-server.tsx +2 -4
- package/dist/testing/index.d.ts +5 -3
- package/dist/testing/index.mjs +717 -281
- package/dist/testing/package.json +1 -1
- package/package.json +3 -3
package/dist/server.prod.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* @qwik.dev/core/server 2.0.0-beta.
|
|
3
|
+
* @qwik.dev/core/server 2.0.0-beta.32-dev+0e29f8a
|
|
4
4
|
* Copyright QwikDev. All Rights Reserved.
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://github.com/QwikDev/qwik/blob/main/LICENSE
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import { setPlatform as setPlatform2 } from "@qwik.dev/core";
|
|
10
10
|
|
|
11
11
|
// packages/qwik/src/server/platform.ts
|
|
12
|
-
import { setPlatform as
|
|
12
|
+
import { setPlatform as jr } from "@qwik.dev/core";
|
|
13
13
|
|
|
14
14
|
import { isDev as isDev5 } from "@qwik.dev/core/build";
|
|
15
15
|
|
|
@@ -17,123 +17,125 @@ import { isDev as isDev5 } from "@qwik.dev/core/build";
|
|
|
17
17
|
import { isDev as isDev2 } from "@qwik.dev/core/build";
|
|
18
18
|
|
|
19
19
|
// packages/qwik/src/core/shared/error/assert.ts
|
|
20
|
-
import { isDev as
|
|
20
|
+
import { isDev as ne } from "@qwik.dev/core/build";
|
|
21
21
|
|
|
22
22
|
// packages/qwik/src/core/shared/utils/qdev.ts
|
|
23
|
-
var
|
|
23
|
+
var ee = globalThis;
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var re = ee.qDev !== false;
|
|
26
26
|
|
|
27
|
-
var qInspector =
|
|
27
|
+
var qInspector = ee.qInspector === true;
|
|
28
28
|
|
|
29
|
-
var
|
|
29
|
+
var ie = ee.qDynamicPlatform !== false;
|
|
30
30
|
|
|
31
|
-
var
|
|
31
|
+
var se = ee.qTest === true;
|
|
32
32
|
|
|
33
|
-
var
|
|
33
|
+
var oe = ee.qRuntimeQrl === true;
|
|
34
34
|
|
|
35
35
|
// packages/qwik/src/core/shared/utils/log.ts
|
|
36
|
-
var
|
|
36
|
+
var ue = re ? `background: #564CE0; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;` : "";
|
|
37
37
|
|
|
38
38
|
var throwErrorAndStop = (e, ...t) => {
|
|
39
|
-
const
|
|
39
|
+
const n = he(false, e, ...t);
|
|
40
40
|
debugger;
|
|
41
|
-
throw
|
|
41
|
+
throw n;
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
var logErrorAndStop = (e, ...t) => {
|
|
45
|
-
const
|
|
45
|
+
const n = he(re, e, ...t);
|
|
46
46
|
debugger;
|
|
47
|
-
return
|
|
47
|
+
return n;
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
var
|
|
51
|
-
const
|
|
52
|
-
!
|
|
53
|
-
e && !
|
|
54
|
-
throw
|
|
50
|
+
var he = (e, t, ...n) => {
|
|
51
|
+
const r = t instanceof Error ? t : new Error(t);
|
|
52
|
+
!se && console.error("%cQWIK ERROR", ue, r.message, ...n, r.stack);
|
|
53
|
+
e && !se && setTimeout(() => {
|
|
54
|
+
throw r;
|
|
55
55
|
}, 0);
|
|
56
|
-
return
|
|
56
|
+
return r;
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
// packages/qwik/src/core/shared/error/assert.ts
|
|
60
60
|
var ASSERT_DISCLAIMER = "Internal assert, this is likely caused by a bug in Qwik: ";
|
|
61
61
|
|
|
62
|
-
function assertTrue(e, t, ...
|
|
63
|
-
if (
|
|
62
|
+
function assertTrue(e, t, ...n) {
|
|
63
|
+
if (ne) {
|
|
64
64
|
if (e === true) {
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
|
-
throwErrorAndStop(ASSERT_DISCLAIMER + t, ...
|
|
67
|
+
throwErrorAndStop(ASSERT_DISCLAIMER + t, ...n);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
// packages/qwik/src/core/client/util-mapArray.ts
|
|
72
|
-
var
|
|
73
|
-
isDev2 && assertTrue(
|
|
74
|
-
let
|
|
72
|
+
var de = (e, t, n) => {
|
|
73
|
+
isDev2 && assertTrue(n % 2 === 0, "Expecting even number.");
|
|
74
|
+
let r = n >> 1;
|
|
75
75
|
let s = e.length - 2 >> 1;
|
|
76
|
-
while (
|
|
77
|
-
const
|
|
78
|
-
const i = e[
|
|
76
|
+
while (r <= s) {
|
|
77
|
+
const n = r + (s - r >> 1);
|
|
78
|
+
const i = e[n << 1];
|
|
79
79
|
if (i === t) {
|
|
80
|
-
return
|
|
80
|
+
return n << 1;
|
|
81
81
|
}
|
|
82
82
|
if (i < t) {
|
|
83
|
-
|
|
83
|
+
r = n + 1;
|
|
84
84
|
} else {
|
|
85
|
-
s =
|
|
85
|
+
s = n - 1;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
return
|
|
88
|
+
return r << 1 ^ -1;
|
|
89
89
|
};
|
|
90
90
|
|
|
91
|
-
var
|
|
92
|
-
const i =
|
|
91
|
+
var pe = (e, t, n, r, s = false) => {
|
|
92
|
+
const i = de(e, t, r);
|
|
93
93
|
if (i >= 0) {
|
|
94
|
-
if (
|
|
94
|
+
if (n == null && !s) {
|
|
95
95
|
e.splice(i, 2);
|
|
96
96
|
} else {
|
|
97
|
-
e[i + 1] =
|
|
97
|
+
e[i + 1] = n;
|
|
98
98
|
}
|
|
99
|
-
} else if (
|
|
100
|
-
e.splice(i ^ -1, 0, t,
|
|
99
|
+
} else if (n != null || s) {
|
|
100
|
+
e.splice(i ^ -1, 0, t, n);
|
|
101
101
|
}
|
|
102
102
|
};
|
|
103
103
|
|
|
104
|
-
var mapApp_remove = (e, t,
|
|
105
|
-
const
|
|
104
|
+
var mapApp_remove = (e, t, n) => {
|
|
105
|
+
const r = de(e, t, n);
|
|
106
106
|
let s = null;
|
|
107
|
-
if (
|
|
108
|
-
s = e[
|
|
109
|
-
e.splice(
|
|
107
|
+
if (r >= 0) {
|
|
108
|
+
s = e[r + 1];
|
|
109
|
+
e.splice(r, 2);
|
|
110
110
|
return s;
|
|
111
111
|
}
|
|
112
112
|
return s;
|
|
113
113
|
};
|
|
114
114
|
|
|
115
|
-
var $e = (e, t,
|
|
116
|
-
const
|
|
117
|
-
if (
|
|
118
|
-
return e[
|
|
115
|
+
var $e = (e, t, n) => {
|
|
116
|
+
const r = de(e, t, n);
|
|
117
|
+
if (r >= 0) {
|
|
118
|
+
return e[r + 1];
|
|
119
119
|
} else {
|
|
120
120
|
return null;
|
|
121
121
|
}
|
|
122
122
|
};
|
|
123
123
|
|
|
124
|
-
var
|
|
124
|
+
var me = (e, t, n) => de(e, t, n) >= 0;
|
|
125
125
|
|
|
126
126
|
// packages/qwik/src/core/shared/utils/types.ts
|
|
127
|
-
var
|
|
127
|
+
var we = e => typeof e === "object" && e !== null;
|
|
128
128
|
|
|
129
|
-
var
|
|
129
|
+
var be = e => Array.isArray(e);
|
|
130
130
|
|
|
131
|
-
var
|
|
131
|
+
var ve = e => typeof e === "string";
|
|
132
132
|
|
|
133
133
|
// packages/qwik/src/core/shared/error/error.ts
|
|
134
|
+
var baseUrl = "https://qwikdev-build-v2.qwik-8nx.pages.dev/docs/errors/#Q";
|
|
135
|
+
|
|
134
136
|
var codeToText = (e, ...t) => {
|
|
135
|
-
if (
|
|
136
|
-
const
|
|
137
|
+
if (re) {
|
|
138
|
+
const n = [ "Error while serializing class or style attributes",
|
|
137
139
|
// 0
|
|
138
140
|
"Scheduler not found",
|
|
139
141
|
// 1
|
|
@@ -201,40 +203,42 @@ var codeToText = (e, ...t) => {
|
|
|
201
203
|
// 32
|
|
202
204
|
"SerializerSymbol function returned rejected promise",
|
|
203
205
|
// 33
|
|
204
|
-
"Serialization Error: Cannot serialize function: {{0}}"
|
|
205
|
-
|
|
206
|
+
"Serialization Error: Cannot serialize function: {{0}}",
|
|
207
|
+
// 34
|
|
208
|
+
"Cannot read .value of a clientOnly async signal during SSR. Use .loading to check state, or provide an initial value." ];
|
|
209
|
+
let r = n[e] ?? "";
|
|
206
210
|
if (t.length) {
|
|
207
|
-
|
|
208
|
-
let
|
|
209
|
-
if (
|
|
210
|
-
|
|
211
|
+
r = r.replaceAll(/{{(\d+)}}/g, (e, n) => {
|
|
212
|
+
let r = t[n];
|
|
213
|
+
if (r && we(r) && r.constructor === Object) {
|
|
214
|
+
r = JSON.stringify(r).slice(0, 50);
|
|
211
215
|
}
|
|
212
|
-
return
|
|
216
|
+
return r;
|
|
213
217
|
});
|
|
214
218
|
}
|
|
215
|
-
return `Code(Q${e}): ${
|
|
219
|
+
return `Code(Q${e}): ${r}`;
|
|
216
220
|
} else {
|
|
217
|
-
return `Code(Q${e})
|
|
221
|
+
return `Code(Q${e}) ${baseUrl}${e}`;
|
|
218
222
|
}
|
|
219
223
|
};
|
|
220
224
|
|
|
221
|
-
var
|
|
222
|
-
const
|
|
223
|
-
return logErrorAndStop(
|
|
225
|
+
var Se = (e, t = []) => {
|
|
226
|
+
const n = codeToText(e, ...t);
|
|
227
|
+
return logErrorAndStop(n, ...t);
|
|
224
228
|
};
|
|
225
229
|
|
|
226
230
|
// packages/qwik/src/core/shared/qrl/qrl-utils.ts
|
|
227
231
|
import { isDev as isDev3 } from "@qwik.dev/core/build";
|
|
228
232
|
|
|
229
|
-
var
|
|
233
|
+
var ke = "<sync>";
|
|
230
234
|
|
|
231
|
-
var
|
|
235
|
+
var Ia = e => {
|
|
232
236
|
const t = e.lastIndexOf("_") + 1;
|
|
233
237
|
return e.slice(t);
|
|
234
238
|
};
|
|
235
239
|
|
|
236
240
|
// packages/qwik/src/core/shared/types.ts
|
|
237
|
-
var
|
|
241
|
+
var qe = "q:type";
|
|
238
242
|
|
|
239
243
|
// packages/qwik/src/core/shared/vnode-data-types.ts
|
|
240
244
|
var VNodeDataSeparator = {
|
|
@@ -409,25 +413,25 @@ var VNodeDataChar = {
|
|
|
409
413
|
// packages/qwik/src/core/shared/utils/character-escaping.ts
|
|
410
414
|
function escapeHTML(e) {
|
|
411
415
|
let t = "";
|
|
412
|
-
const
|
|
413
|
-
let
|
|
414
|
-
let s =
|
|
415
|
-
for (;
|
|
416
|
-
const
|
|
417
|
-
if (
|
|
418
|
-
t += e.substring(s,
|
|
419
|
-
} else if (
|
|
420
|
-
t += e.substring(s,
|
|
421
|
-
} else if (
|
|
422
|
-
t += e.substring(s,
|
|
423
|
-
} else if (
|
|
424
|
-
t += e.substring(s,
|
|
425
|
-
} else if (
|
|
426
|
-
t += e.substring(s,
|
|
416
|
+
const n = e.length;
|
|
417
|
+
let r = 0;
|
|
418
|
+
let s = r;
|
|
419
|
+
for (;r < n; r++) {
|
|
420
|
+
const n = e.charCodeAt(r);
|
|
421
|
+
if (n === 60) {
|
|
422
|
+
t += e.substring(s, r) + "<";
|
|
423
|
+
} else if (n === 62) {
|
|
424
|
+
t += e.substring(s, r) + ">";
|
|
425
|
+
} else if (n === 38) {
|
|
426
|
+
t += e.substring(s, r) + "&";
|
|
427
|
+
} else if (n === 34) {
|
|
428
|
+
t += e.substring(s, r) + """;
|
|
429
|
+
} else if (n === 39) {
|
|
430
|
+
t += e.substring(s, r) + "'";
|
|
427
431
|
} else {
|
|
428
432
|
continue;
|
|
429
433
|
}
|
|
430
|
-
s =
|
|
434
|
+
s = r + 1;
|
|
431
435
|
}
|
|
432
436
|
if (s === 0) {
|
|
433
437
|
return e;
|
|
@@ -438,17 +442,17 @@ function escapeHTML(e) {
|
|
|
438
442
|
|
|
439
443
|
function encodeVNodeDataString(e) {
|
|
440
444
|
let t = "";
|
|
441
|
-
const
|
|
442
|
-
let
|
|
443
|
-
let s =
|
|
444
|
-
for (;
|
|
445
|
-
const
|
|
446
|
-
if (
|
|
447
|
-
t += e.substring(s,
|
|
445
|
+
const n = e.length;
|
|
446
|
+
let r = 0;
|
|
447
|
+
let s = r;
|
|
448
|
+
for (;r < n; r++) {
|
|
449
|
+
const n = e.charCodeAt(r);
|
|
450
|
+
if (n >= VNodeDataSeparator.ADVANCE_1 && n <= VNodeDataSeparator.ADVANCE_8192) {
|
|
451
|
+
t += e.substring(s, r) + "\\" + e.charAt(r);
|
|
448
452
|
} else {
|
|
449
453
|
continue;
|
|
450
454
|
}
|
|
451
|
-
s =
|
|
455
|
+
s = r + 1;
|
|
452
456
|
}
|
|
453
457
|
if (s === 0) {
|
|
454
458
|
return e;
|
|
@@ -458,9 +462,9 @@ function encodeVNodeDataString(e) {
|
|
|
458
462
|
}
|
|
459
463
|
|
|
460
464
|
// packages/qwik/src/core/shared/utils/markers.ts
|
|
461
|
-
var
|
|
465
|
+
var Ee = "q:renderFn";
|
|
462
466
|
|
|
463
|
-
var
|
|
467
|
+
var je = "q:slot";
|
|
464
468
|
|
|
465
469
|
var QSlotParent = "q:sparent";
|
|
466
470
|
|
|
@@ -476,7 +480,7 @@ var Ne = "q:sstyle";
|
|
|
476
480
|
|
|
477
481
|
var Ie = "q:ctx";
|
|
478
482
|
|
|
479
|
-
var
|
|
483
|
+
var Fe = "q:brefs";
|
|
480
484
|
|
|
481
485
|
var QRenderAttr = "q:render";
|
|
482
486
|
|
|
@@ -494,109 +498,109 @@ var QInstanceAttr = "q:instance";
|
|
|
494
498
|
|
|
495
499
|
var Le = "q:container-island";
|
|
496
500
|
|
|
497
|
-
var
|
|
501
|
+
var Ue = "/" + Le;
|
|
498
502
|
|
|
499
503
|
var We = "q:ignore";
|
|
500
504
|
|
|
501
|
-
var
|
|
505
|
+
var Qe = "/" + We;
|
|
502
506
|
|
|
503
507
|
var Ve = "q:container";
|
|
504
508
|
|
|
505
|
-
var
|
|
509
|
+
var Je = "/" + Ve;
|
|
506
510
|
|
|
507
|
-
var
|
|
511
|
+
var Be = "q:template";
|
|
508
512
|
|
|
509
513
|
var QContainerSelector = "[q\\:container]:not([q\\:container=" + "html" /* HTML */ + "]):not([q\\:container=" + "text" /* TEXT */ + "])";
|
|
510
514
|
|
|
511
|
-
var
|
|
515
|
+
var Ke = "";
|
|
512
516
|
|
|
513
517
|
var ELEMENT_ID = "q:id";
|
|
514
518
|
|
|
515
|
-
var
|
|
519
|
+
var Ze = "q:key";
|
|
516
520
|
|
|
517
|
-
var
|
|
521
|
+
var tr = "q:props";
|
|
518
522
|
|
|
519
|
-
var
|
|
523
|
+
var nr = "q:seq";
|
|
520
524
|
|
|
521
|
-
var
|
|
525
|
+
var er = "q:seqIdx";
|
|
522
526
|
|
|
523
527
|
var ELEMENT_BACKPATCH_DATA = "qwik/backpatch";
|
|
524
528
|
|
|
525
|
-
var
|
|
529
|
+
var rr = "q:p";
|
|
526
530
|
|
|
527
|
-
var
|
|
531
|
+
var ir = "q:ps";
|
|
528
532
|
|
|
529
|
-
var
|
|
533
|
+
var sr = ":";
|
|
530
534
|
|
|
531
|
-
var
|
|
535
|
+
var or = sr + "on";
|
|
532
536
|
|
|
533
|
-
var
|
|
537
|
+
var lr = sr + "onIdx";
|
|
534
538
|
|
|
535
|
-
var
|
|
539
|
+
var ur = sr + "onFlags";
|
|
536
540
|
|
|
537
541
|
var cr = ":";
|
|
538
542
|
|
|
539
|
-
var
|
|
543
|
+
var fr = "dangerouslySetInnerHTML";
|
|
540
544
|
|
|
541
545
|
// packages/qwik/src/core/shared/utils/promises.ts
|
|
542
|
-
import { isDev as isDev4, isServer as
|
|
546
|
+
import { isDev as isDev4, isServer as Zn } from "@qwik.dev/core/build";
|
|
543
547
|
|
|
544
|
-
var
|
|
548
|
+
var hr = 100;
|
|
545
549
|
|
|
546
|
-
var
|
|
550
|
+
var dr = e => !!e && typeof e == "object" && typeof e.then === "function";
|
|
547
551
|
|
|
548
|
-
var $r = (e, t) =>
|
|
552
|
+
var $r = (e, t) => dr(e) ? e.then(t) : t(e);
|
|
549
553
|
|
|
550
554
|
var checkError = e => {
|
|
551
|
-
if (
|
|
555
|
+
if (Zn && e instanceof ReferenceError && e.message.includes("window")) {
|
|
552
556
|
e.message = 'It seems like you forgot to add "if (isBrowser) {...}" here:' + e.message;
|
|
553
557
|
}
|
|
554
558
|
};
|
|
555
559
|
|
|
556
|
-
var
|
|
560
|
+
var mr = e => {
|
|
557
561
|
throw e;
|
|
558
562
|
};
|
|
559
563
|
|
|
560
|
-
function n(e, t =
|
|
561
|
-
let
|
|
562
|
-
let
|
|
564
|
+
function n(e, t = mr) {
|
|
565
|
+
let n = false;
|
|
566
|
+
let r;
|
|
563
567
|
try {
|
|
564
|
-
|
|
565
|
-
|
|
568
|
+
r = e();
|
|
569
|
+
n = true;
|
|
566
570
|
} catch (e) {
|
|
567
|
-
|
|
571
|
+
r = e;
|
|
568
572
|
}
|
|
569
|
-
if (!
|
|
570
|
-
if (
|
|
571
|
-
return
|
|
573
|
+
if (!dr(r)) {
|
|
574
|
+
if (n) {
|
|
575
|
+
return r;
|
|
572
576
|
}
|
|
573
|
-
isDev4 && checkError(
|
|
574
|
-
return t(
|
|
577
|
+
isDev4 && checkError(r);
|
|
578
|
+
return t(r);
|
|
575
579
|
}
|
|
576
|
-
let s =
|
|
577
|
-
const i = async
|
|
578
|
-
while (
|
|
580
|
+
let s = hr;
|
|
581
|
+
const i = async n => {
|
|
582
|
+
while (dr(n)) {
|
|
579
583
|
try {
|
|
580
|
-
await
|
|
584
|
+
await n;
|
|
581
585
|
return await e();
|
|
582
586
|
} catch (e) {
|
|
583
|
-
if (
|
|
587
|
+
if (dr(e)) {
|
|
584
588
|
if (! --s) {
|
|
585
|
-
|
|
589
|
+
n = new Error("Exceeded max retry count in retryOnPromise");
|
|
586
590
|
break;
|
|
587
591
|
} else {
|
|
588
|
-
|
|
592
|
+
n = e;
|
|
589
593
|
}
|
|
590
594
|
} else {
|
|
591
|
-
|
|
595
|
+
n = e;
|
|
592
596
|
break;
|
|
593
597
|
}
|
|
594
598
|
}
|
|
595
599
|
}
|
|
596
|
-
isDev4 && checkError(
|
|
597
|
-
return t(
|
|
600
|
+
isDev4 && checkError(n);
|
|
601
|
+
return t(n);
|
|
598
602
|
};
|
|
599
|
-
return
|
|
603
|
+
return n ? r.catch(i) : i(r);
|
|
600
604
|
}
|
|
601
605
|
|
|
602
606
|
// packages/qwik/src/core/shared/utils/scoped-styles.ts
|
|
@@ -609,67 +613,67 @@ function convertStyleIdsToString(e) {
|
|
|
609
613
|
}
|
|
610
614
|
|
|
611
615
|
// packages/qwik/src/core/shared/utils/event-names.ts
|
|
612
|
-
var
|
|
616
|
+
var br = e => e.charCodeAt(0) === 113 && e.charCodeAt(1) === 45 && (e.charCodeAt(3) === 58 || e.charCodeAt(3) === 112 && e.charCodeAt(4) === 58);
|
|
613
617
|
|
|
614
618
|
function isPreventDefault(e) {
|
|
615
619
|
return e.startsWith("preventdefault:");
|
|
616
620
|
}
|
|
617
621
|
|
|
618
622
|
// packages/qwik/src/core/shared/utils/unitless_number.ts
|
|
619
|
-
var
|
|
623
|
+
var kr = /* @__PURE__ */ new Set([ "animationIterationCount", "aspectRatio", "borderImageOutset", "borderImageSlice", "borderImageWidth", "boxFlex", "boxFlexGroup", "boxOrdinalGroup", "columnCount", "columns", "flex", "flexGrow", "flexShrink", "gridArea", "gridRow", "gridRowEnd", "gridRowStart", "gridColumn", "gridColumnEnd", "gridColumnStart", "fontWeight", "lineClamp", "lineHeight", "opacity", "order", "orphans", "scale", "tabSize", "widows", "zIndex", "zoom", "MozAnimationIterationCount",
|
|
620
624
|
// Known Prefixed Properties
|
|
621
625
|
"MozBoxFlex",
|
|
622
626
|
// TODO: Remove these since they shouldn't be used in modern code
|
|
623
627
|
"msFlex", "msFlexPositive", "WebkitAnimationIterationCount", "WebkitBoxFlex", "WebkitBoxOrdinalGroup", "WebkitColumnCount", "WebkitColumns", "WebkitFlex", "WebkitFlexGrow", "WebkitFlexShrink", "WebkitLineClamp" ]);
|
|
624
628
|
|
|
625
|
-
var isUnitlessNumber = e =>
|
|
629
|
+
var isUnitlessNumber = e => kr.has(e);
|
|
626
630
|
|
|
627
631
|
// packages/qwik/src/core/shared/utils/styles.ts
|
|
628
|
-
var
|
|
632
|
+
var qr = e => {
|
|
629
633
|
if (!e) {
|
|
630
634
|
return "";
|
|
631
635
|
}
|
|
632
|
-
if (
|
|
636
|
+
if (ve(e)) {
|
|
633
637
|
return e.trim();
|
|
634
638
|
}
|
|
635
639
|
const t = [];
|
|
636
|
-
if (
|
|
637
|
-
for (let
|
|
638
|
-
const
|
|
639
|
-
const s =
|
|
640
|
+
if (be(e)) {
|
|
641
|
+
for (let n = 0; n < e.length; n++) {
|
|
642
|
+
const r = e[n];
|
|
643
|
+
const s = qr(r);
|
|
640
644
|
if (s) {
|
|
641
645
|
t.push(s);
|
|
642
646
|
}
|
|
643
647
|
}
|
|
644
648
|
} else {
|
|
645
|
-
for (const [
|
|
646
|
-
if (
|
|
647
|
-
t.push(
|
|
649
|
+
for (const [n, r] of Object.entries(e)) {
|
|
650
|
+
if (r) {
|
|
651
|
+
t.push(n.trim());
|
|
648
652
|
}
|
|
649
653
|
}
|
|
650
654
|
}
|
|
651
655
|
return t.join(" ");
|
|
652
656
|
};
|
|
653
657
|
|
|
654
|
-
var
|
|
658
|
+
var Rr = e => e.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
655
659
|
|
|
656
660
|
var stringifyStyle = e => {
|
|
657
661
|
if (e == null) {
|
|
658
662
|
return "";
|
|
659
663
|
}
|
|
660
664
|
if (typeof e == "object") {
|
|
661
|
-
if (
|
|
662
|
-
throw
|
|
665
|
+
if (be(e)) {
|
|
666
|
+
throw Se(0 /* stringifyClassOrStyle */ , [ e, "style" ]);
|
|
663
667
|
} else {
|
|
664
668
|
const t = [];
|
|
665
|
-
for (const
|
|
666
|
-
if (Object.prototype.hasOwnProperty.call(e,
|
|
667
|
-
const
|
|
668
|
-
if (
|
|
669
|
-
if (
|
|
670
|
-
t.push(
|
|
669
|
+
for (const n in e) {
|
|
670
|
+
if (Object.prototype.hasOwnProperty.call(e, n)) {
|
|
671
|
+
const r = e[n];
|
|
672
|
+
if (r != null && typeof r !== "function") {
|
|
673
|
+
if (n.startsWith("--")) {
|
|
674
|
+
t.push(n + ":" + r);
|
|
671
675
|
} else {
|
|
672
|
-
t.push(
|
|
676
|
+
t.push(Rr(n) + ":" + Cr(n, r));
|
|
673
677
|
}
|
|
674
678
|
}
|
|
675
679
|
}
|
|
@@ -682,10 +686,10 @@ var stringifyStyle = e => {
|
|
|
682
686
|
|
|
683
687
|
var serializeBooleanOrNumberAttribute = e => e != null ? String(e) : null;
|
|
684
688
|
|
|
685
|
-
function r(e, t,
|
|
689
|
+
function r(e, t, n) {
|
|
686
690
|
if (isClassAttr(e)) {
|
|
687
|
-
const e =
|
|
688
|
-
t =
|
|
691
|
+
const e = qr(t);
|
|
692
|
+
t = n ? n + (e.length ? " " + e : e) : e;
|
|
689
693
|
} else if (e === "style") {
|
|
690
694
|
t = stringifyStyle(t);
|
|
691
695
|
} else if (isEnumeratedBooleanAttribute(e) || typeof t === "number") {
|
|
@@ -702,7 +706,7 @@ function isEnumeratedBooleanAttribute(e) {
|
|
|
702
706
|
return isAriaAttribute(e) || [ "spellcheck", "draggable", "contenteditable" ].includes(e);
|
|
703
707
|
}
|
|
704
708
|
|
|
705
|
-
var
|
|
709
|
+
var Cr = (e, t) => {
|
|
706
710
|
if (typeof t === "number" && t !== 0 && !isUnitlessNumber(e)) {
|
|
707
711
|
return t + "px";
|
|
708
712
|
}
|
|
@@ -722,30 +726,30 @@ import { isServer as isServer4 } from "@qwik.dev/core/build";
|
|
|
722
726
|
// packages/qwik/src/core/shared/platform/platform.ts
|
|
723
727
|
import { isServer as isServer2 } from "@qwik.dev/core/build";
|
|
724
728
|
|
|
725
|
-
var
|
|
729
|
+
var Er = () => ({
|
|
726
730
|
isServer: isServer2,
|
|
727
|
-
importSymbol(e, t,
|
|
731
|
+
importSymbol(e, t, n) {
|
|
728
732
|
if (isServer2) {
|
|
729
|
-
const e =
|
|
733
|
+
const e = Ia(n);
|
|
730
734
|
const t = globalThis.__qwik_reg_symbols?.get(e);
|
|
731
735
|
if (t) {
|
|
732
736
|
return t;
|
|
733
737
|
}
|
|
734
|
-
throw
|
|
738
|
+
throw Se(6 /* dynamicImportFailed */ , [ n ]);
|
|
735
739
|
}
|
|
736
740
|
if (!t) {
|
|
737
|
-
throw
|
|
741
|
+
throw Se(14 /* qrlMissingChunk */ , [ n ]);
|
|
738
742
|
}
|
|
739
743
|
if (!e) {
|
|
740
|
-
throw
|
|
744
|
+
throw Se(13 /* qrlMissingContainer */ , [ t, n ]);
|
|
741
745
|
}
|
|
742
|
-
const
|
|
743
|
-
const s = new URL(
|
|
746
|
+
const r = Tr(e.ownerDocument, e, t).toString();
|
|
747
|
+
const s = new URL(r);
|
|
744
748
|
s.hash = "";
|
|
745
749
|
const i = s.href;
|
|
746
750
|
return import(
|
|
747
751
|
/* @vite-ignore */
|
|
748
|
-
i).then(e => e[
|
|
752
|
+
i).then(e => e[n]);
|
|
749
753
|
},
|
|
750
754
|
raf: e => new Promise(t => {
|
|
751
755
|
requestAnimationFrame(() => {
|
|
@@ -757,28 +761,28 @@ var qr = () => ({
|
|
|
757
761
|
}
|
|
758
762
|
});
|
|
759
763
|
|
|
760
|
-
var
|
|
761
|
-
const
|
|
762
|
-
const s = new URL(t.getAttribute(ze) ??
|
|
763
|
-
return new URL(
|
|
764
|
+
var Tr = (e, t, n) => {
|
|
765
|
+
const r = e.baseURI;
|
|
766
|
+
const s = new URL(t.getAttribute(ze) ?? r, r);
|
|
767
|
+
return new URL(n, s);
|
|
764
768
|
};
|
|
765
769
|
|
|
766
|
-
var
|
|
770
|
+
var Pr = /* @__PURE__ */ Er();
|
|
767
771
|
|
|
768
|
-
var
|
|
769
|
-
if (
|
|
770
|
-
return
|
|
772
|
+
var Or = () => {
|
|
773
|
+
if (ie) {
|
|
774
|
+
return Pr.isServer;
|
|
771
775
|
}
|
|
772
776
|
return false;
|
|
773
777
|
};
|
|
774
778
|
|
|
775
779
|
// packages/qwik/src/core/shared/platform/next-tick.ts
|
|
776
|
-
var
|
|
780
|
+
var Ar = e => {
|
|
777
781
|
let t;
|
|
778
782
|
if (typeof MessageChannel !== "undefined") {
|
|
779
|
-
const
|
|
780
|
-
|
|
781
|
-
t = () =>
|
|
783
|
+
const n = new MessageChannel;
|
|
784
|
+
n.port1.onmessage = () => e();
|
|
785
|
+
t = () => n.port2.postMessage(null);
|
|
782
786
|
} else {
|
|
783
787
|
t = () => setTimeout(e);
|
|
784
788
|
}
|
|
@@ -788,9 +792,9 @@ var Pr = e => {
|
|
|
788
792
|
// packages/qwik/src/core/preloader/constants.ts
|
|
789
793
|
import { isServer as isServer3 } from "@qwik.dev/core/build";
|
|
790
794
|
|
|
791
|
-
var
|
|
795
|
+
var Mr = import.meta.env.TEST ? !Or() : !isServer3;
|
|
792
796
|
|
|
793
|
-
var
|
|
797
|
+
var Nr = Mr ? document : void 0;
|
|
794
798
|
|
|
795
799
|
var config = {
|
|
796
800
|
t: false,
|
|
@@ -798,13 +802,13 @@ var config = {
|
|
|
798
802
|
v: .65
|
|
799
803
|
};
|
|
800
804
|
|
|
801
|
-
var
|
|
805
|
+
var Ir = Mr && Nr.createElement("link").relList?.supports?.("modulepreload") ? "modulePreload" : "preload";
|
|
802
806
|
|
|
803
807
|
var loadStart = performance.now();
|
|
804
808
|
|
|
805
|
-
var
|
|
809
|
+
var Fr = /\.[mc]?js$/;
|
|
806
810
|
|
|
807
|
-
var
|
|
811
|
+
var Dr = 1e3 / 60;
|
|
808
812
|
|
|
809
813
|
// packages/qwik/src/core/preloader/types.ts
|
|
810
814
|
var BundleImportState_None = 0;
|
|
@@ -822,61 +826,61 @@ var base;
|
|
|
822
826
|
|
|
823
827
|
var graph;
|
|
824
828
|
|
|
825
|
-
var isBrowser2 = import.meta.env.TEST ? !
|
|
829
|
+
var isBrowser2 = import.meta.env.TEST ? !Or() : !isServer4;
|
|
826
830
|
|
|
827
831
|
var makeBundle = (e, t) => ({
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
832
|
+
zt: e,
|
|
833
|
+
At: Fr.test(e) ? BundleImportState_None : BundleImportState_Alias,
|
|
834
|
+
Lt: shouldResetFactor ? t?.map(e => ({
|
|
831
835
|
...e,
|
|
832
836
|
Kt: 1
|
|
833
837
|
})) : t,
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
+
Ut: 1,
|
|
839
|
+
Wt: performance.now(),
|
|
840
|
+
Qt: 0,
|
|
841
|
+
Vt: 0
|
|
838
842
|
});
|
|
839
843
|
|
|
840
844
|
var parseBundleGraph = e => {
|
|
841
845
|
const t = /* @__PURE__ */ new Map;
|
|
842
|
-
let
|
|
843
|
-
while (
|
|
844
|
-
const
|
|
846
|
+
let n = 0;
|
|
847
|
+
while (n < e.length) {
|
|
848
|
+
const r = e[n++];
|
|
845
849
|
const s = [];
|
|
846
850
|
let i;
|
|
847
851
|
let o = 1;
|
|
848
|
-
while (i = e[
|
|
852
|
+
while (i = e[n], typeof i === "number") {
|
|
849
853
|
if (i < 0) {
|
|
850
854
|
o = -i / 10;
|
|
851
855
|
} else {
|
|
852
856
|
s.push({
|
|
853
|
-
|
|
857
|
+
zt: e[i],
|
|
854
858
|
Gt: o,
|
|
855
859
|
Kt: 1
|
|
856
860
|
});
|
|
857
861
|
}
|
|
858
|
-
|
|
862
|
+
n++;
|
|
859
863
|
}
|
|
860
|
-
t.set(
|
|
864
|
+
t.set(r, s);
|
|
861
865
|
}
|
|
862
866
|
return t;
|
|
863
867
|
};
|
|
864
868
|
|
|
865
|
-
var
|
|
866
|
-
let t =
|
|
869
|
+
var zr = e => {
|
|
870
|
+
let t = Lr.get(e);
|
|
867
871
|
if (!t) {
|
|
868
|
-
let
|
|
872
|
+
let n;
|
|
869
873
|
if (graph) {
|
|
870
|
-
|
|
871
|
-
if (!
|
|
874
|
+
n = graph.get(e);
|
|
875
|
+
if (!n) {
|
|
872
876
|
return;
|
|
873
877
|
}
|
|
874
|
-
if (!
|
|
875
|
-
|
|
878
|
+
if (!n.length) {
|
|
879
|
+
n = void 0;
|
|
876
880
|
}
|
|
877
881
|
}
|
|
878
|
-
t = makeBundle(e,
|
|
879
|
-
|
|
882
|
+
t = makeBundle(e, n);
|
|
883
|
+
Lr.set(e, t);
|
|
880
884
|
}
|
|
881
885
|
return t;
|
|
882
886
|
};
|
|
@@ -898,49 +902,49 @@ var initPreloader = (e, t) => {
|
|
|
898
902
|
};
|
|
899
903
|
|
|
900
904
|
// packages/qwik/src/core/preloader/queue.ts
|
|
901
|
-
var
|
|
905
|
+
var Lr = /* @__PURE__ */ new Map;
|
|
902
906
|
|
|
903
907
|
var shouldResetFactor;
|
|
904
908
|
|
|
905
909
|
var queueDirty;
|
|
906
910
|
|
|
907
|
-
var
|
|
911
|
+
var Ur = 0;
|
|
908
912
|
|
|
909
|
-
var
|
|
913
|
+
var Wr = [];
|
|
910
914
|
|
|
911
|
-
var
|
|
915
|
+
var Qr = Ar(Fa);
|
|
912
916
|
|
|
913
|
-
var
|
|
917
|
+
var Vr = Ar(i);
|
|
914
918
|
|
|
915
|
-
var
|
|
919
|
+
var Jr = false;
|
|
916
920
|
|
|
917
|
-
var
|
|
921
|
+
var Br = false;
|
|
918
922
|
|
|
919
|
-
var
|
|
923
|
+
var Hr = false;
|
|
920
924
|
|
|
921
|
-
var
|
|
925
|
+
var Yr = import.meta.env.TEST ? !Or() : isBrowser3;
|
|
922
926
|
|
|
923
|
-
var
|
|
927
|
+
var Xr = [];
|
|
924
928
|
|
|
925
929
|
var log = (...e) => {
|
|
926
|
-
console.log(`Preloader ${performance.now() - loadStart}ms ${
|
|
930
|
+
console.log(`Preloader ${performance.now() - loadStart}ms ${Ur}/${Wr.length} queued>`, ...e);
|
|
927
931
|
};
|
|
928
932
|
|
|
929
933
|
var resetQueue = () => {
|
|
930
|
-
|
|
934
|
+
Lr.clear();
|
|
931
935
|
queueDirty = false;
|
|
932
936
|
shouldResetFactor = true;
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
937
|
+
Ur = 0;
|
|
938
|
+
Wr.length = 0;
|
|
939
|
+
Xr.length = 0;
|
|
940
|
+
Jr = false;
|
|
941
|
+
Br = false;
|
|
942
|
+
Hr = false;
|
|
939
943
|
};
|
|
940
944
|
|
|
941
945
|
var sortQueue = () => {
|
|
942
946
|
if (queueDirty) {
|
|
943
|
-
|
|
947
|
+
Wr.sort((e, t) => e.Ut - t.Ut);
|
|
944
948
|
queueDirty = false;
|
|
945
949
|
}
|
|
946
950
|
};
|
|
@@ -949,36 +953,36 @@ var getQueue = () => {
|
|
|
949
953
|
sortQueue();
|
|
950
954
|
let e = .4;
|
|
951
955
|
const t = [];
|
|
952
|
-
for (let
|
|
953
|
-
const
|
|
954
|
-
const s = Math.round((1 -
|
|
956
|
+
for (let n = 0; n < Wr.length; n++) {
|
|
957
|
+
const r = Wr[n];
|
|
958
|
+
const s = Math.round((1 - r.Ut) * 10);
|
|
955
959
|
if (s !== e) {
|
|
956
960
|
e = s;
|
|
957
961
|
t.push(e);
|
|
958
962
|
}
|
|
959
|
-
t.push(
|
|
963
|
+
t.push(r.zt);
|
|
960
964
|
}
|
|
961
965
|
return t;
|
|
962
966
|
};
|
|
963
967
|
|
|
964
|
-
function
|
|
965
|
-
|
|
966
|
-
if (!
|
|
968
|
+
function Fa() {
|
|
969
|
+
Jr = false;
|
|
970
|
+
if (!Wr.length) {
|
|
967
971
|
return;
|
|
968
972
|
}
|
|
969
973
|
sortQueue();
|
|
970
|
-
const e = performance.now() +
|
|
974
|
+
const e = performance.now() + Dr;
|
|
971
975
|
let t = false;
|
|
972
|
-
while (
|
|
973
|
-
const
|
|
974
|
-
const
|
|
975
|
-
const s = 1 -
|
|
976
|
+
while (Wr.length) {
|
|
977
|
+
const n = Wr[0];
|
|
978
|
+
const r = n.Ut;
|
|
979
|
+
const s = 1 - r;
|
|
976
980
|
const i = graph ? config.i :
|
|
977
981
|
// While the graph is not available, we limit to 5 preloads
|
|
978
982
|
5;
|
|
979
|
-
if (s >= .99 ||
|
|
980
|
-
|
|
981
|
-
|
|
983
|
+
if (s >= .99 || Ur < i) {
|
|
984
|
+
Wr.shift();
|
|
985
|
+
Zr(n);
|
|
982
986
|
if (performance.now() >= e) {
|
|
983
987
|
t = true;
|
|
984
988
|
break;
|
|
@@ -987,162 +991,162 @@ function _a() {
|
|
|
987
991
|
break;
|
|
988
992
|
}
|
|
989
993
|
}
|
|
990
|
-
if (t &&
|
|
991
|
-
|
|
992
|
-
|
|
994
|
+
if (t && Wr.length && !Jr) {
|
|
995
|
+
Jr = true;
|
|
996
|
+
Qr();
|
|
993
997
|
}
|
|
994
|
-
if (config.t && !
|
|
995
|
-
const e = [ ...
|
|
996
|
-
const t = e.reduce((e, t) => e + t.
|
|
997
|
-
const
|
|
998
|
-
log(`>>>> done ${e.length}/${
|
|
998
|
+
if (config.t && !Wr.length) {
|
|
999
|
+
const e = [ ...Lr.values() ].filter(e => e.At > BundleImportState_None);
|
|
1000
|
+
const t = e.reduce((e, t) => e + t.Qt, 0);
|
|
1001
|
+
const n = e.reduce((e, t) => e + t.Vt, 0);
|
|
1002
|
+
log(`>>>> done ${e.length}/${Lr.size} total: ${t}ms waited, ${n}ms loaded`);
|
|
999
1003
|
}
|
|
1000
1004
|
}
|
|
1001
1005
|
|
|
1002
|
-
var
|
|
1003
|
-
|
|
1006
|
+
var Gr = (e, t, n, r) => {
|
|
1007
|
+
Xr.unshift({
|
|
1004
1008
|
Jt: e,
|
|
1005
|
-
|
|
1006
|
-
Bt:
|
|
1007
|
-
Ht:
|
|
1009
|
+
Ut: t,
|
|
1010
|
+
Bt: r,
|
|
1011
|
+
Ht: n
|
|
1008
1012
|
});
|
|
1009
1013
|
};
|
|
1010
1014
|
|
|
1011
|
-
var
|
|
1012
|
-
const e =
|
|
1015
|
+
var Kr = () => {
|
|
1016
|
+
const e = Xr[Xr.length - 1];
|
|
1013
1017
|
const t = e.Jt;
|
|
1014
|
-
if (e.
|
|
1015
|
-
const
|
|
1016
|
-
if (
|
|
1017
|
-
|
|
1018
|
+
if (e.Lt) {
|
|
1019
|
+
const n = e.Yt;
|
|
1020
|
+
if (n >= e.Lt.length) {
|
|
1021
|
+
Xr.pop();
|
|
1018
1022
|
return false;
|
|
1019
1023
|
}
|
|
1020
|
-
const
|
|
1021
|
-
e.Yt =
|
|
1022
|
-
const s =
|
|
1023
|
-
if (s.
|
|
1024
|
+
const r = e.Lt[n];
|
|
1025
|
+
e.Yt = n + 1;
|
|
1026
|
+
const s = zr(r.zt);
|
|
1027
|
+
if (s.Ut === 0) {
|
|
1024
1028
|
return true;
|
|
1025
1029
|
}
|
|
1026
|
-
const i = 1 - t.
|
|
1030
|
+
const i = 1 - t.Ut;
|
|
1027
1031
|
let o;
|
|
1028
1032
|
if (i === 1 || i >= .99 && e.Ht.Xt < 100) {
|
|
1029
1033
|
e.Ht.Xt++;
|
|
1030
|
-
o = Math.min(.01, 1 -
|
|
1034
|
+
o = Math.min(.01, 1 - r.Gt);
|
|
1031
1035
|
} else {
|
|
1032
|
-
const e = 1 -
|
|
1033
|
-
const t =
|
|
1034
|
-
const
|
|
1035
|
-
o = Math.max(.02, s.
|
|
1036
|
-
|
|
1036
|
+
const e = 1 - r.Gt * i;
|
|
1037
|
+
const t = r.Kt;
|
|
1038
|
+
const n = e / t;
|
|
1039
|
+
o = Math.max(.02, s.Ut * n);
|
|
1040
|
+
r.Kt = n;
|
|
1037
1041
|
}
|
|
1038
|
-
|
|
1042
|
+
Xr.push({
|
|
1039
1043
|
Jt: s,
|
|
1040
|
-
|
|
1044
|
+
Ut: o,
|
|
1041
1045
|
Bt: e.Bt,
|
|
1042
1046
|
Ht: e.Ht
|
|
1043
1047
|
});
|
|
1044
1048
|
return true;
|
|
1045
1049
|
}
|
|
1046
1050
|
if (e.Bt?.has(t)) {
|
|
1047
|
-
|
|
1051
|
+
Xr.pop();
|
|
1048
1052
|
return false;
|
|
1049
1053
|
}
|
|
1050
|
-
const
|
|
1051
|
-
t.
|
|
1052
|
-
if (
|
|
1053
|
-
|
|
1054
|
+
const n = t.Ut;
|
|
1055
|
+
t.Ut = e.Ut;
|
|
1056
|
+
if (n - t.Ut < .01) {
|
|
1057
|
+
Xr.pop();
|
|
1054
1058
|
return false;
|
|
1055
1059
|
}
|
|
1056
1060
|
if (
|
|
1057
1061
|
// don't queue until we have initialized the preloader
|
|
1058
|
-
base != null && t.
|
|
1059
|
-
if (t.
|
|
1060
|
-
t.
|
|
1061
|
-
|
|
1062
|
-
config.t && log(`queued ${Math.round((1 - t.
|
|
1062
|
+
base != null && t.At < BundleImportState_Preload) {
|
|
1063
|
+
if (t.At === BundleImportState_None) {
|
|
1064
|
+
t.At = BundleImportState_Queued;
|
|
1065
|
+
Wr.push(t);
|
|
1066
|
+
config.t && log(`queued ${Math.round((1 - t.Ut) * 100)}%`, t.zt);
|
|
1063
1067
|
}
|
|
1064
1068
|
queueDirty = true;
|
|
1065
1069
|
}
|
|
1066
|
-
if (t.
|
|
1067
|
-
const
|
|
1068
|
-
|
|
1069
|
-
e.Bt =
|
|
1070
|
-
e.
|
|
1070
|
+
if (t.Lt?.length) {
|
|
1071
|
+
const n = e.Bt || /* @__PURE__ */ new Set;
|
|
1072
|
+
n.add(t);
|
|
1073
|
+
e.Bt = n;
|
|
1074
|
+
e.Lt = t.Lt;
|
|
1071
1075
|
e.Yt = 0;
|
|
1072
1076
|
return false;
|
|
1073
1077
|
}
|
|
1074
|
-
|
|
1078
|
+
Xr.pop();
|
|
1075
1079
|
return false;
|
|
1076
1080
|
};
|
|
1077
1081
|
|
|
1078
1082
|
function i() {
|
|
1079
|
-
if (
|
|
1083
|
+
if (Hr || !Xr.length) {
|
|
1080
1084
|
return;
|
|
1081
1085
|
}
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
const e =
|
|
1086
|
+
Br = false;
|
|
1087
|
+
Hr = true;
|
|
1088
|
+
const e = Yr ? performance.now() + Dr : 0;
|
|
1085
1089
|
let t = false;
|
|
1086
|
-
while (
|
|
1090
|
+
while (Xr.length) {
|
|
1087
1091
|
t = true;
|
|
1088
|
-
const
|
|
1089
|
-
if (
|
|
1090
|
-
if (!
|
|
1091
|
-
|
|
1092
|
-
|
|
1092
|
+
const n = Kr();
|
|
1093
|
+
if (Yr && n && performance.now() >= e) {
|
|
1094
|
+
if (!Br) {
|
|
1095
|
+
Br = true;
|
|
1096
|
+
Vr();
|
|
1093
1097
|
}
|
|
1094
1098
|
break;
|
|
1095
1099
|
}
|
|
1096
1100
|
}
|
|
1097
|
-
|
|
1098
|
-
if (t &&
|
|
1099
|
-
|
|
1101
|
+
Hr = false;
|
|
1102
|
+
if (t && Yr) {
|
|
1103
|
+
Qr();
|
|
1100
1104
|
}
|
|
1101
1105
|
}
|
|
1102
1106
|
|
|
1103
|
-
var
|
|
1104
|
-
if (e.
|
|
1107
|
+
var Zr = e => {
|
|
1108
|
+
if (e.At >= BundleImportState_Preload) {
|
|
1105
1109
|
return;
|
|
1106
1110
|
}
|
|
1107
|
-
|
|
1111
|
+
Ur++;
|
|
1108
1112
|
const t = performance.now();
|
|
1109
|
-
e.
|
|
1110
|
-
e.
|
|
1111
|
-
config.t && log(`<< load ${Math.round((1 - e.
|
|
1112
|
-
const
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
const
|
|
1119
|
-
e.
|
|
1120
|
-
e.
|
|
1121
|
-
config.t && log(`>> done after ${e.
|
|
1122
|
-
|
|
1123
|
-
|
|
1113
|
+
e.Qt = t - e.Wt;
|
|
1114
|
+
e.At = BundleImportState_Preload;
|
|
1115
|
+
config.t && log(`<< load ${Math.round((1 - e.Ut) * 100)}% after ${`${e.Qt}ms`}`, e.zt);
|
|
1116
|
+
const n = Nr.createElement("link");
|
|
1117
|
+
n.href = new URL(`${base}${e.zt}`, Nr.baseURI).toString();
|
|
1118
|
+
n.rel = Ir;
|
|
1119
|
+
n.as = "script";
|
|
1120
|
+
n.onload = n.onerror = () => {
|
|
1121
|
+
Ur--;
|
|
1122
|
+
const r = performance.now();
|
|
1123
|
+
e.Vt = r - t;
|
|
1124
|
+
e.At = BundleImportState_Loaded;
|
|
1125
|
+
config.t && log(`>> done after ${e.Vt}ms`, e.zt);
|
|
1126
|
+
n.remove();
|
|
1127
|
+
Qr();
|
|
1124
1128
|
};
|
|
1125
|
-
|
|
1129
|
+
Nr.head.appendChild(n);
|
|
1126
1130
|
};
|
|
1127
1131
|
|
|
1128
|
-
var adjustProbabilities = (e, t,
|
|
1129
|
-
|
|
1132
|
+
var adjustProbabilities = (e, t, n) => {
|
|
1133
|
+
Gr(e, t, {
|
|
1130
1134
|
Xt: 0
|
|
1131
|
-
},
|
|
1132
|
-
if (
|
|
1133
|
-
|
|
1135
|
+
}, n);
|
|
1136
|
+
if (Yr) {
|
|
1137
|
+
Vr();
|
|
1134
1138
|
} else {
|
|
1135
1139
|
i();
|
|
1136
1140
|
}
|
|
1137
1141
|
};
|
|
1138
1142
|
|
|
1139
|
-
var
|
|
1140
|
-
const
|
|
1141
|
-
if (
|
|
1142
|
-
if (
|
|
1143
|
-
|
|
1143
|
+
var ti = (e, t, n) => {
|
|
1144
|
+
const r = zr(e);
|
|
1145
|
+
if (r && r.Ut > t) {
|
|
1146
|
+
if (n) {
|
|
1147
|
+
Gr(r, t, n);
|
|
1144
1148
|
} else {
|
|
1145
|
-
adjustProbabilities(
|
|
1149
|
+
adjustProbabilities(r, t);
|
|
1146
1150
|
}
|
|
1147
1151
|
}
|
|
1148
1152
|
};
|
|
@@ -1151,33 +1155,33 @@ var preload = (e, t) => {
|
|
|
1151
1155
|
if (!e?.length) {
|
|
1152
1156
|
return;
|
|
1153
1157
|
}
|
|
1154
|
-
let
|
|
1155
|
-
const
|
|
1158
|
+
let n = t ? 1 - t : .4;
|
|
1159
|
+
const r = {
|
|
1156
1160
|
Xt: 0
|
|
1157
1161
|
};
|
|
1158
1162
|
if (Array.isArray(e)) {
|
|
1159
1163
|
for (let t = e.length - 1; t >= 0; t--) {
|
|
1160
1164
|
const s = e[t];
|
|
1161
1165
|
if (typeof s === "number") {
|
|
1162
|
-
|
|
1166
|
+
n = 1 - s / 10;
|
|
1163
1167
|
} else {
|
|
1164
|
-
|
|
1168
|
+
ti(s, n, r);
|
|
1165
1169
|
}
|
|
1166
1170
|
}
|
|
1167
1171
|
} else {
|
|
1168
|
-
|
|
1172
|
+
ti(e, n, r);
|
|
1169
1173
|
}
|
|
1170
|
-
if (
|
|
1171
|
-
|
|
1174
|
+
if (Yr) {
|
|
1175
|
+
Vr();
|
|
1172
1176
|
} else {
|
|
1173
1177
|
i();
|
|
1174
1178
|
}
|
|
1175
1179
|
};
|
|
1176
1180
|
|
|
1177
|
-
if (import.meta.env.TEST ? !
|
|
1181
|
+
if (import.meta.env.TEST ? !Or() : isBrowser3) {
|
|
1178
1182
|
document.addEventListener("qsymbol", e => {
|
|
1179
|
-
const {symbol: t, href:
|
|
1180
|
-
if (
|
|
1183
|
+
const {symbol: t, href: n} = e.detail;
|
|
1184
|
+
if (n) {
|
|
1181
1185
|
const e = t.slice(t.lastIndexOf("_") + 1);
|
|
1182
1186
|
preload(e, 1);
|
|
1183
1187
|
}
|
|
@@ -1185,7 +1189,7 @@ if (import.meta.env.TEST ? !_r() : isBrowser3) {
|
|
|
1185
1189
|
}
|
|
1186
1190
|
|
|
1187
1191
|
// packages/qwik/src/core/shared/utils/objects.ts
|
|
1188
|
-
var
|
|
1192
|
+
var ni = e => {
|
|
1189
1193
|
for (const t in e) {
|
|
1190
1194
|
if (Object.prototype.hasOwnProperty.call(e, t)) {
|
|
1191
1195
|
return false;
|
|
@@ -1201,7 +1205,7 @@ var GT = ">";
|
|
|
1201
1205
|
|
|
1202
1206
|
var CLOSE_TAG = "</";
|
|
1203
1207
|
|
|
1204
|
-
var
|
|
1208
|
+
var Lf = " ";
|
|
1205
1209
|
|
|
1206
1210
|
var ATTR_EQUALS_QUOTE = '="';
|
|
1207
1211
|
|
|
@@ -1215,71 +1219,71 @@ var BRACKET_CLOSE = "]";
|
|
|
1215
1219
|
|
|
1216
1220
|
var PAREN_CLOSE = ")";
|
|
1217
1221
|
|
|
1218
|
-
var
|
|
1222
|
+
var ei = ",";
|
|
1219
1223
|
|
|
1220
1224
|
// packages/qwik/src/server/platform.ts
|
|
1221
|
-
var getDevSegmentPath = (e, t,
|
|
1225
|
+
var getDevSegmentPath = (e, t, n, r) => {
|
|
1222
1226
|
const s = e?.[t];
|
|
1223
1227
|
if (s) {
|
|
1224
1228
|
return s;
|
|
1225
1229
|
}
|
|
1226
|
-
if (
|
|
1227
|
-
return [
|
|
1230
|
+
if (n === ke) {
|
|
1231
|
+
return [ n, "" ];
|
|
1228
1232
|
}
|
|
1229
|
-
if (!
|
|
1230
|
-
if (
|
|
1231
|
-
return [
|
|
1233
|
+
if (!r) {
|
|
1234
|
+
if (n.startsWith("_") && n.length < 6) {
|
|
1235
|
+
return [ n, `${import.meta.env.BASE_URL}@qwik-handlers` ];
|
|
1232
1236
|
}
|
|
1233
|
-
console.error("qwik symbolMapper: unknown qrl requested without parent:",
|
|
1234
|
-
return [
|
|
1237
|
+
console.error("qwik symbolMapper: unknown qrl requested without parent:", n);
|
|
1238
|
+
return [ n, `${import.meta.env.BASE_URL}${n}.js` ];
|
|
1235
1239
|
}
|
|
1236
|
-
const i = `${import.meta.env.BASE_URL}${
|
|
1237
|
-
return [
|
|
1240
|
+
const i = `${import.meta.env.BASE_URL}${r.startsWith("/") ? r.slice(1) : r}_${n}.js`;
|
|
1241
|
+
return [ n, i ];
|
|
1238
1242
|
};
|
|
1239
1243
|
|
|
1240
1244
|
function createPlatform2(e, t) {
|
|
1241
|
-
const
|
|
1242
|
-
const
|
|
1243
|
-
if (
|
|
1245
|
+
const n = t?.mapper;
|
|
1246
|
+
const r = e.symbolMapper ? e.symbolMapper : (e, t, r) => {
|
|
1247
|
+
if (n || isDev5 && import.meta.env.MODE !== "test") {
|
|
1244
1248
|
const t = getSymbolHash2(e);
|
|
1245
|
-
const s = !isDev5 ?
|
|
1249
|
+
const s = !isDev5 ? n[t] : getDevSegmentPath(n, t, e, r);
|
|
1246
1250
|
if (!s) {
|
|
1247
|
-
if (t ===
|
|
1251
|
+
if (t === ke) {
|
|
1248
1252
|
return [ t, "" ];
|
|
1249
1253
|
}
|
|
1250
1254
|
const s = globalThis.__qwik_reg_symbols?.has(t);
|
|
1251
1255
|
if (s) {
|
|
1252
1256
|
return [ e, "_" ];
|
|
1253
1257
|
}
|
|
1254
|
-
console.error("Cannot resolve symbol", e, "in",
|
|
1258
|
+
console.error("Cannot resolve symbol", e, "in", n, r);
|
|
1255
1259
|
}
|
|
1256
1260
|
return s;
|
|
1257
1261
|
}
|
|
1258
1262
|
};
|
|
1259
1263
|
const s = {
|
|
1260
1264
|
isServer: true,
|
|
1261
|
-
async importSymbol(e, t,
|
|
1262
|
-
const
|
|
1263
|
-
const s = globalThis.__qwik_reg_symbols?.get(
|
|
1265
|
+
async importSymbol(e, t, n) {
|
|
1266
|
+
const r = getSymbolHash2(n);
|
|
1267
|
+
const s = globalThis.__qwik_reg_symbols?.get(r);
|
|
1264
1268
|
if (s) {
|
|
1265
1269
|
return s;
|
|
1266
1270
|
}
|
|
1267
|
-
throw
|
|
1271
|
+
throw Se(6 /* dynamicImportFailed */ , [ n ]);
|
|
1268
1272
|
},
|
|
1269
1273
|
raf: () => {
|
|
1270
1274
|
console.error("server can not rerender");
|
|
1271
1275
|
return Promise.resolve();
|
|
1272
1276
|
},
|
|
1273
1277
|
chunkForSymbol(e, t, s) {
|
|
1274
|
-
return
|
|
1278
|
+
return r(e, n, s);
|
|
1275
1279
|
}
|
|
1276
1280
|
};
|
|
1277
1281
|
return s;
|
|
1278
1282
|
}
|
|
1279
1283
|
|
|
1280
1284
|
async function setServerPlatform(e, t) {
|
|
1281
|
-
const
|
|
1282
|
-
|
|
1285
|
+
const n = createPlatform2(e, t);
|
|
1286
|
+
jr(n);
|
|
1283
1287
|
}
|
|
1284
1288
|
|
|
1285
1289
|
var getSymbolHash2 = e => {
|
|
@@ -1298,8 +1302,8 @@ function createTimer() {
|
|
|
1298
1302
|
const e = performance.now();
|
|
1299
1303
|
return () => {
|
|
1300
1304
|
const t = performance.now();
|
|
1301
|
-
const
|
|
1302
|
-
return
|
|
1305
|
+
const n = t - e;
|
|
1306
|
+
return n / 1e6;
|
|
1303
1307
|
};
|
|
1304
1308
|
}
|
|
1305
1309
|
|
|
@@ -1318,65 +1322,65 @@ function getBuildBase(e) {
|
|
|
1318
1322
|
}
|
|
1319
1323
|
|
|
1320
1324
|
var versions = {
|
|
1321
|
-
qwik: "2.0.0-beta.
|
|
1325
|
+
qwik: "2.0.0-beta.32-dev+0e29f8a",
|
|
1322
1326
|
qwikDom: "2.1.19"
|
|
1323
1327
|
};
|
|
1324
1328
|
|
|
1325
1329
|
// packages/qwik/src/server/ssr-container.ts
|
|
1326
1330
|
import { isDev as isDev7 } from "@qwik.dev/core/build";
|
|
1327
1331
|
|
|
1328
|
-
import { _SubscriptionData as
|
|
1332
|
+
import { _SubscriptionData as fs, _SharedContainer as Au, _jsxSorted as xs, _jsxSplit as qs, _res as w, _setEvent, _walkJSX as Cn, _createQRL as Gc, isSignal as Dl } from "@qwik.dev/core/internal";
|
|
1329
1333
|
|
|
1330
1334
|
// packages/qwik/src/server/preload-strategy.ts
|
|
1331
|
-
import { getPlatform as
|
|
1335
|
+
import { getPlatform as _r } from "@qwik.dev/core";
|
|
1332
1336
|
|
|
1333
1337
|
// packages/qwik/src/server/preload-utils.ts
|
|
1334
1338
|
function flattenPrefetchResources(e) {
|
|
1335
1339
|
const t = [];
|
|
1336
|
-
const
|
|
1340
|
+
const n = e => {
|
|
1337
1341
|
if (e) {
|
|
1338
|
-
for (let
|
|
1339
|
-
const s = e[
|
|
1342
|
+
for (let r = 0; r < e.length; r++) {
|
|
1343
|
+
const s = e[r];
|
|
1340
1344
|
if (!t.includes(s.url)) {
|
|
1341
1345
|
t.push(s.url);
|
|
1342
1346
|
if (s.imports) {
|
|
1343
|
-
|
|
1347
|
+
n(s.imports);
|
|
1344
1348
|
}
|
|
1345
1349
|
}
|
|
1346
1350
|
}
|
|
1347
1351
|
}
|
|
1348
1352
|
};
|
|
1349
|
-
|
|
1353
|
+
n(e);
|
|
1350
1354
|
return t;
|
|
1351
1355
|
}
|
|
1352
1356
|
|
|
1353
1357
|
// packages/qwik/src/server/preload-strategy.ts
|
|
1354
1358
|
var getBundles = e => {
|
|
1355
|
-
const t =
|
|
1356
|
-
const
|
|
1357
|
-
const
|
|
1358
|
-
const
|
|
1359
|
-
const s = t.chunkForSymbol(
|
|
1359
|
+
const t = _r();
|
|
1360
|
+
const n = e?.map(e => {
|
|
1361
|
+
const n = e.bt;
|
|
1362
|
+
const r = e.vt;
|
|
1363
|
+
const s = t.chunkForSymbol(n, r, e.dev?.file);
|
|
1360
1364
|
if (s) {
|
|
1361
1365
|
return s[1];
|
|
1362
1366
|
}
|
|
1363
|
-
return
|
|
1367
|
+
return r;
|
|
1364
1368
|
}).filter(Boolean);
|
|
1365
|
-
return [ ...new Set(
|
|
1369
|
+
return [ ...new Set(n) ];
|
|
1366
1370
|
};
|
|
1367
1371
|
|
|
1368
|
-
function getPreloadPaths(e, t,
|
|
1369
|
-
const
|
|
1370
|
-
if (
|
|
1372
|
+
function getPreloadPaths(e, t, n) {
|
|
1373
|
+
const r = t.prefetchStrategy;
|
|
1374
|
+
if (r === null) {
|
|
1371
1375
|
return [];
|
|
1372
1376
|
}
|
|
1373
|
-
if (!
|
|
1377
|
+
if (!n?.manifest.bundleGraph) {
|
|
1374
1378
|
return getBundles(e);
|
|
1375
1379
|
}
|
|
1376
|
-
if (typeof
|
|
1380
|
+
if (typeof r?.symbolsToPrefetch === "function") {
|
|
1377
1381
|
try {
|
|
1378
|
-
const e =
|
|
1379
|
-
manifest:
|
|
1382
|
+
const e = r.symbolsToPrefetch({
|
|
1383
|
+
manifest: n.manifest
|
|
1380
1384
|
});
|
|
1381
1385
|
return flattenPrefetchResources(e);
|
|
1382
1386
|
} catch (e) {
|
|
@@ -1385,9 +1389,9 @@ function getPreloadPaths(e, t, r) {
|
|
|
1385
1389
|
}
|
|
1386
1390
|
const s = /* @__PURE__ */ new Set;
|
|
1387
1391
|
for (let t = 0; t < e.length; t++) {
|
|
1388
|
-
const
|
|
1389
|
-
if (
|
|
1390
|
-
s.add(
|
|
1392
|
+
const n = getSymbolHash2(e[t].bt);
|
|
1393
|
+
if (n && n.length >= 10) {
|
|
1394
|
+
s.add(n);
|
|
1391
1395
|
}
|
|
1392
1396
|
}
|
|
1393
1397
|
return [ ...s ];
|
|
@@ -1398,10 +1402,10 @@ var expandBundles = (e, t) => {
|
|
|
1398
1402
|
return [ ...new Set(e) ];
|
|
1399
1403
|
}
|
|
1400
1404
|
resetQueue();
|
|
1401
|
-
let
|
|
1405
|
+
let n = .99;
|
|
1402
1406
|
for (let t = 0; t < e.length; t++) {
|
|
1403
|
-
preload(e[t],
|
|
1404
|
-
|
|
1407
|
+
preload(e[t], n);
|
|
1408
|
+
n *= .95;
|
|
1405
1409
|
}
|
|
1406
1410
|
return getQueue();
|
|
1407
1411
|
};
|
|
@@ -1411,42 +1415,42 @@ var simplifyPath = (e, t) => {
|
|
|
1411
1415
|
if (t == null) {
|
|
1412
1416
|
return null;
|
|
1413
1417
|
}
|
|
1414
|
-
const
|
|
1415
|
-
const
|
|
1416
|
-
for (let e = 0; e <
|
|
1417
|
-
const t =
|
|
1418
|
-
if (t === ".." &&
|
|
1419
|
-
|
|
1418
|
+
const n = `${e}${t}`.split("/");
|
|
1419
|
+
const r = [];
|
|
1420
|
+
for (let e = 0; e < n.length; e++) {
|
|
1421
|
+
const t = n[e];
|
|
1422
|
+
if (t === ".." && r.length > 0) {
|
|
1423
|
+
r.pop();
|
|
1420
1424
|
} else {
|
|
1421
|
-
|
|
1425
|
+
r.push(t);
|
|
1422
1426
|
}
|
|
1423
1427
|
}
|
|
1424
|
-
return
|
|
1428
|
+
return r.join("/");
|
|
1425
1429
|
};
|
|
1426
1430
|
|
|
1427
1431
|
var getBase = e => {
|
|
1428
|
-
let t = e.
|
|
1432
|
+
let t = e.ae;
|
|
1429
1433
|
if (import.meta.env.DEV && !import.meta.env.TEST) {
|
|
1430
1434
|
t = import.meta.env.BASE_URL;
|
|
1431
1435
|
}
|
|
1432
1436
|
return t;
|
|
1433
1437
|
};
|
|
1434
1438
|
|
|
1435
|
-
var preloaderPre = (e, t,
|
|
1436
|
-
const {resolvedManifest:
|
|
1439
|
+
var preloaderPre = (e, t, n) => {
|
|
1440
|
+
const {resolvedManifest: r} = e;
|
|
1437
1441
|
const s = getBase(e);
|
|
1438
|
-
const i = simplifyPath(s,
|
|
1439
|
-
let o =
|
|
1442
|
+
const i = simplifyPath(s, r?.manifest?.preloader);
|
|
1443
|
+
let o = r?.manifest.bundleGraphAsset;
|
|
1440
1444
|
if (o) {
|
|
1441
1445
|
o = (import.meta.env.BASE_URL || "/") + o;
|
|
1442
1446
|
}
|
|
1443
1447
|
if (i && o && t !== false) {
|
|
1444
|
-
const
|
|
1448
|
+
const r = typeof t === "object" ? {
|
|
1445
1449
|
debug: t.debug,
|
|
1446
1450
|
preloadProbability: t.ssrPreloadProbability
|
|
1447
1451
|
} : void 0;
|
|
1448
1452
|
const a = e.resolvedManifest?.manifest.bundleGraph;
|
|
1449
|
-
initPreloader(a,
|
|
1453
|
+
initPreloader(a, r);
|
|
1450
1454
|
const l = [];
|
|
1451
1455
|
if (t) {
|
|
1452
1456
|
if (t.debug) {
|
|
@@ -1464,8 +1468,8 @@ var preloaderPre = (e, t, r) => {
|
|
|
1464
1468
|
rel: "modulepreload",
|
|
1465
1469
|
href: i
|
|
1466
1470
|
};
|
|
1467
|
-
if (
|
|
1468
|
-
u["nonce"] =
|
|
1471
|
+
if (n) {
|
|
1472
|
+
u["nonce"] = n;
|
|
1469
1473
|
}
|
|
1470
1474
|
e.openElement("link", null, u, null, null, null);
|
|
1471
1475
|
e.closeElement();
|
|
@@ -1482,29 +1486,29 @@ var preloaderPre = (e, t, r) => {
|
|
|
1482
1486
|
async: true,
|
|
1483
1487
|
crossorigin: "anonymous"
|
|
1484
1488
|
};
|
|
1485
|
-
if (
|
|
1486
|
-
h["nonce"] =
|
|
1489
|
+
if (n) {
|
|
1490
|
+
h["nonce"] = n;
|
|
1487
1491
|
}
|
|
1488
1492
|
e.openElement("script", null, h, null, null, null);
|
|
1489
1493
|
e.write(d);
|
|
1490
1494
|
e.closeElement();
|
|
1491
1495
|
}
|
|
1492
|
-
const a = simplifyPath(s,
|
|
1496
|
+
const a = simplifyPath(s, r?.manifest.core);
|
|
1493
1497
|
if (a) {
|
|
1494
1498
|
const t = {
|
|
1495
1499
|
rel: "modulepreload",
|
|
1496
1500
|
href: a
|
|
1497
1501
|
};
|
|
1498
|
-
if (
|
|
1499
|
-
t["nonce"] =
|
|
1502
|
+
if (n) {
|
|
1503
|
+
t["nonce"] = n;
|
|
1500
1504
|
}
|
|
1501
1505
|
e.openElement("link", null, t, null, null, null);
|
|
1502
1506
|
e.closeElement();
|
|
1503
1507
|
}
|
|
1504
1508
|
};
|
|
1505
1509
|
|
|
1506
|
-
var includePreloader = (e, t,
|
|
1507
|
-
if (
|
|
1510
|
+
var includePreloader = (e, t, n, r) => {
|
|
1511
|
+
if (n.length === 0 || t === false) {
|
|
1508
1512
|
return null;
|
|
1509
1513
|
}
|
|
1510
1514
|
const {ssrPreloads: s, ssrPreloadProbability: i} = normalizePreLoaderOptions(typeof t === "boolean" ? void 0 : t);
|
|
@@ -1515,11 +1519,11 @@ var includePreloader = (e, t, r, n) => {
|
|
|
1515
1519
|
if (o) {
|
|
1516
1520
|
const e = c?.manifest.preloader;
|
|
1517
1521
|
const t = c?.manifest.core;
|
|
1518
|
-
const
|
|
1522
|
+
const r = expandBundles(n, c);
|
|
1519
1523
|
let s = 4;
|
|
1520
1524
|
const a = i * 10;
|
|
1521
|
-
for (let
|
|
1522
|
-
const i = n
|
|
1525
|
+
for (let n = 0; n < r.length; n++) {
|
|
1526
|
+
const i = r[n];
|
|
1523
1527
|
if (typeof i === "string") {
|
|
1524
1528
|
if (s < a) {
|
|
1525
1529
|
break;
|
|
@@ -1545,7 +1549,7 @@ var includePreloader = (e, t, r, n) => {
|
|
|
1545
1549
|
*/ `${JSON.stringify(l)}.map((l,e)=>{e=document.createElement('link');e.rel='modulepreload';e.href=${JSON.stringify(a)}+l;document.head.appendChild(e)});` : "";
|
|
1546
1550
|
let h = d;
|
|
1547
1551
|
if (u) {
|
|
1548
|
-
h += `window.addEventListener('load',f=>{f=_=>import("${u}").then(({p})=>p(${JSON.stringify(
|
|
1552
|
+
h += `window.addEventListener('load',f=>{f=_=>import("${u}").then(({p})=>p(${JSON.stringify(n)}));try{requestIdleCallback(f,{timeout:2000})}catch(e){setTimeout(f,200)}})`;
|
|
1549
1553
|
}
|
|
1550
1554
|
if (h) {
|
|
1551
1555
|
const t = {
|
|
@@ -1553,8 +1557,8 @@ var includePreloader = (e, t, r, n) => {
|
|
|
1553
1557
|
async: "true",
|
|
1554
1558
|
"q:type": "preload"
|
|
1555
1559
|
};
|
|
1556
|
-
if (
|
|
1557
|
-
t["nonce"] =
|
|
1560
|
+
if (r) {
|
|
1561
|
+
t["nonce"] = r;
|
|
1558
1562
|
}
|
|
1559
1563
|
e.openElement("script", null, t, null, null, null);
|
|
1560
1564
|
e.write(h);
|
|
@@ -1563,12 +1567,12 @@ var includePreloader = (e, t, r, n) => {
|
|
|
1563
1567
|
return null;
|
|
1564
1568
|
};
|
|
1565
1569
|
|
|
1566
|
-
var preloaderPost = (e, t,
|
|
1570
|
+
var preloaderPost = (e, t, n) => {
|
|
1567
1571
|
if (t.preloader !== false) {
|
|
1568
|
-
const
|
|
1569
|
-
const s = getPreloadPaths(
|
|
1572
|
+
const r = Array.from(e.serializationCtx.jt);
|
|
1573
|
+
const s = getPreloadPaths(r, t, e.resolvedManifest);
|
|
1570
1574
|
if (s.length > 0) {
|
|
1571
|
-
includePreloader(e, t.preloader, s,
|
|
1575
|
+
includePreloader(e, t.preloader, s, n);
|
|
1572
1576
|
}
|
|
1573
1577
|
}
|
|
1574
1578
|
};
|
|
@@ -1589,9 +1593,9 @@ var preLoaderOptionsDefault = {
|
|
|
1589
1593
|
};
|
|
1590
1594
|
|
|
1591
1595
|
// packages/qwik/src/server/scripts.ts
|
|
1592
|
-
var QWIK_LOADER_DEFAULT_MINIFIED = 'const e=document,t=window,
|
|
1596
|
+
var QWIK_LOADER_DEFAULT_MINIFIED = 'const e=document,t=window,r="w",n="wp",o="d",s="dp",i="e",c="ep",l="capture:",a=new Set,p=new Set([e]),q=new Map;let u,f,h;const d=(e,t)=>Array.from(e.querySelectorAll(t)),b=e=>{const t=[];return p.forEach(r=>t.push(...d(r,e))),t},m=(e,t,r,n=!1,o=!1)=>e.addEventListener(t,r,{capture:n,passive:o}),g=e=>{J(e);const t=d(e,"[q\\\\:shadowroot]");for(let e=0;e<t.length;e++){const r=t[e].shadowRoot;r&&g(r)}},v=e=>e&&"function"==typeof e.then,y=async e=>{for(let t=0;t<e.length;t++)await e[t]()},w=e=>{if(e.length){const t=()=>y(e);h=h?h.then(t,t):t()}},E=t=>{if(void 0===t._qwikjson_){let r=(t===e.documentElement?e.body:t).lastElementChild;for(;r;){if("SCRIPT"===r.tagName&&"qwik/json"===r.getAttribute("type")){t._qwikjson_=JSON.parse(r.textContent.replace(/\\\\x3C(\\/?script)/gi,"<$1"));break}r=r.previousElementSibling}}},A=(e,t)=>new CustomEvent(e,{detail:t}),C=(t,r)=>{e.dispatchEvent(A(t,r))},_=e=>e.replace(/([A-Z-])/g,e=>"-"+e.toLowerCase()),k=e=>e.replace(/-./g,e=>e[1].toUpperCase()),B=e=>{const t=e.indexOf(":");return{scope:e.slice(0,t),eventName:k(e.slice(t+1))}},S=e=>2===e.length,I=e=>e.charAt(0),N=e=>!!e&&1===e.nodeType,T=(e,t,r)=>e.hasAttribute(r)&&(!!e._qDispatch?.[t]||e.hasAttribute("q-"+t)),$=(t,r,n,o,s,i,c)=>{const l={qBase:n,symbol:i,element:r,reqTime:c};if(""===s){const r=t.getAttribute("q:instance"),n=(e["qFuncs_"+r]||[])[Number.parseInt(i)];if(!n){const e=Error("sym:"+i);C("qerror",{importError:"sync",error:e,...l}),console.error(e)}return n}const a=`${i}|${n}|${s}`,p=q.get(a);if(p)return p;const u=new URL(s,o).href,f=import(u);return E(t),f.then(e=>{const t=e[i];if(t)q.set(a,t),C("qsymbol",l);else{const e=Error(`${i} not in ${u}`);C("qerror",{importError:"no-symbol",error:e,...l}),console.error(e)}return t},e=>{C("qerror",{importError:"async",error:e,...l}),console.error(e)})},R=(t,r,n,o,s,i=!0)=>{let c=!1;s&&(i&&t.hasAttribute("preventdefault:"+s)&&r.preventDefault(),t.hasAttribute("stoppropagation:"+s)&&r.stopPropagation());const l=t._qDispatch?.[n];if(l){if("function"==typeof l){const e=()=>l(r,t);if(c)o.push(async()=>{const t=e();v(t)&&await t});else{const t=e();v(t)&&(c=!0,o.push(()=>t))}}else if(l.length)for(let e=0;e<l.length;e++){const n=l[e];if(n){const e=()=>n(r,t);if(c)o.push(async()=>{const t=e();v(t)&&await t});else{const t=e();v(t)&&(c=!0,o.push(()=>t))}}}return}const a=t.getAttribute("q-"+n);if(a){const n=t.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"),s=n.getAttribute("q:base"),i=new URL(s,e.baseURI),l=a.split("|");for(let e=0;e<l.length;e++){const a=l[e],p=performance.now(),[q,u,f]=a.split("#"),h=e=>{if(e&&t.isConnected)try{const n=e.call(f,r,t);if(v(n))return n.catch(e=>{C("qerror",{error:e,qBase:s,symbol:u,element:t,reqTime:p})})}catch(e){C("qerror",{error:e,qBase:s,symbol:u,element:t,reqTime:p})}},d=$(n,t,s,i,q,u,p);if(c||v(d))c=!0,o.push(async()=>{await h(v(d)?await d:d)});else{const e=h(d);v(e)&&(c=!0,o.push(()=>e))}}}},x=(e,t=i,r=!0)=>{const n=_(e.type),o=t+":"+n,s=l+n,c=[],a=[],p=[];let q=e.target;for(;q;)N(q)?(c.push(q),a.push(T(q,o,s)),q=q.parentElement):q=q.parentElement;for(let t=c.length-1;t>=0;t--)if(a[t]&&(R(c[t],e,o,p,n,r),e.cancelBubble||e.cancelBubble))return void w(p);for(let t=0;t<c.length;t++)if(!a[t]&&(R(c[t],e,o,p,n,r),!e.bubbles||e.cancelBubble||e.cancelBubble))return void w(p);w(p)},L=e=>x(e,c,!1),U=(e,t,r=!0)=>{const n=_(t.type),o=e+":"+n,s=b("[q-"+e+"\\\\:"+n+"]"),i=[];for(let e=0;e<s.length;e++){const c=s[e];R(c,t,o,i,n,r)}w(i)},j=e=>{U(o,e)},D=e=>{U(s,e,!1)},O=e=>{U(r,e)},P=e=>{U(n,e,!1)},F=()=>{const r=e.readyState;if("interactive"==r||"complete"==r){if(f=1,p.forEach(g),a.has("d:qinit")){a.delete("d:qinit");const e=A("qinit"),t=b("[q-d\\\\:qinit]"),r=[];for(let n=0;n<t.length;n++){const o=t[n];R(o,e,"d:qinit",r),o.removeAttribute("q-d:qinit")}w(r)}if(a.has("d:qidle")&&(a.delete("d:qidle"),(t.requestIdleCallback??t.setTimeout).bind(t)(()=>{const e=A("qidle"),t=b("[q-d\\\\:qidle]"),r=[];for(let n=0;n<t.length;n++){const o=t[n];R(o,e,"d:qidle",r),o.removeAttribute("q-d:qidle")}w(r)})),a.has("e:qvisible")){u||(u=new IntersectionObserver(e=>{const t=[];for(let r=0;r<e.length;r++){const n=e[r];n.isIntersecting&&(u.unobserve(n.target),R(n.target,A("qvisible",n),"e:qvisible",t))}w(t)}));const e=b("[q-e\\\\:qvisible]:not([q\\\\:observed])");for(let t=0;t<e.length;t++){const r=e[t];u.observe(r),r.setAttribute("q:observed","true")}}}},J=(...e)=>{for(let n=0;n<e.length;n++){const s=e[n];if("string"==typeof s){if(!a.has(s)){a.add(s);const{scope:e,eventName:n}=B(s),i=S(e),c=I(e);c===r?m(t,n,i?P:O,!0,i):p.forEach(e=>m(e,n,c===o?i?D:j:i?L:x,!0,i)),1!==f||"e:qvisible"!==s&&"d:qinit"!==s&&"d:qidle"!==s||F()}}else p.has(s)||(a.forEach(e=>{const{scope:t,eventName:n}=B(e),i=S(t),c=I(t);c!==r&&m(s,n,c===o?i?D:j:i?L:x,!0,i)}),p.add(s))}},M=t._qwikEv;M?.roots||(Array.isArray(M)?J(...M):J("e:click","e:input"),t._qwikEv={events:a,roots:p,push:J},m(e,"readystatechange",F),F())';
|
|
1593
1597
|
|
|
1594
|
-
var QWIK_LOADER_DEFAULT_DEBUG = 'const doc = document;\nconst win = window;\nconst windowPrefix = "w";\nconst documentPrefix = "d";\nconst events = /* @__PURE__ */ new Set();\nconst roots = /* @__PURE__ */ new Set([doc]);\nconst symbols = /* @__PURE__ */ new Map();\nlet observer;\nlet hasInitialized;\nconst nativeQuerySelectorAll = (root, selector) => Array.from(root.querySelectorAll(selector));\nconst querySelectorAll = (query) => {\n const elements = [];\n roots.forEach((root) => elements.push(...nativeQuerySelectorAll(root, query)));\n return elements;\n};\nconst addEventListener = (el, eventName, handler, capture = false) => el.addEventListener(eventName, handler, { capture, passive: false });\nconst findShadowRoots = (fragment) => {\n addEventOrRoot(fragment);\n const shadowRoots = nativeQuerySelectorAll(fragment, "[q\\\\:shadowroot]");\n for (let i = 0; i < shadowRoots.length; i++) {\n const parent = shadowRoots[i];\n const shadowRoot = parent.shadowRoot;\n shadowRoot && findShadowRoots(shadowRoot);\n }\n};\nconst isPromise = (promise) => promise && typeof promise.then === "function";\nconst resolveContainer = (containerEl) => {\n if (containerEl._qwikjson_ === void 0) {\n const parentJSON = containerEl === doc.documentElement ? doc.body : containerEl;\n let script = parentJSON.lastElementChild;\n while (script) {\n if (script.tagName === "SCRIPT" && script.getAttribute("type") === "qwik/json") {\n containerEl._qwikjson_ = JSON.parse(\n script.textContent.replace(/\\\\x3C(\\/?script)/gi, "<$1")\n );\n break;\n }\n script = script.previousElementSibling;\n }\n }\n};\nconst createEvent = (eventName, detail) => new CustomEvent(eventName, { detail });\nconst emitEvent = (eventName, detail) => {\n doc.dispatchEvent(createEvent(eventName, detail));\n};\nconst camelToKebab = (str) => str.replace(/([A-Z-])/g, (a) => "-" + a.toLowerCase());\nconst kebabToCamel = (eventName) => eventName.replace(/-./g, (a) => a[1].toUpperCase());\nconst parseKebabEvent = (event) => ({\n scope: event.charAt(0),\n eventName: kebabToCamel(event.slice(2))\n});\nconst dispatch = async (element, ev, scopedKebabName, kebabName) => {\n if (kebabName) {\n if (element.hasAttribute("preventdefault:" + kebabName)) {\n ev.preventDefault();\n }\n if (element.hasAttribute("stoppropagation:" + kebabName)) {\n ev.stopPropagation();\n }\n }\n const handlers = element._qDispatch?.[scopedKebabName];\n if (handlers) {\n if (typeof handlers === "function") {\n const result = handlers(ev, element);\n if (isPromise(result)) {\n await result;\n }\n } else if (handlers.length) {\n for (let i = 0; i < handlers.length; i++) {\n const handler = handlers[i];\n const result = handler?.(ev, element);\n if (isPromise(result)) {\n await result;\n }\n }\n }\n return;\n }\n const attrValue = element.getAttribute("q-" + scopedKebabName);\n if (attrValue) {\n const container = element.closest(\n "[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"\n );\n const qBase = container.getAttribute("q:base");\n const base = new URL(qBase, doc.baseURI);\n const qrls = attrValue.split("|");\n for (let i = 0; i < qrls.length; i++) {\n const qrl = qrls[i];\n const reqTime = performance.now();\n const [chunk, symbol, capturedIds] = qrl.split("#");\n const eventData = {\n qBase,\n symbol,\n element,\n reqTime\n };\n let handler;\n let importError;\n let error;\n if (chunk === "") {\n const hash = container.getAttribute("q:instance");\n handler = (doc["qFuncs_" + hash] || [])[Number.parseInt(symbol)];\n if (!handler) {\n importError = "sync";\n error = new Error("sym:" + symbol);\n }\n } else {\n const key = `${symbol}|${qBase}|${chunk}`;\n handler = symbols.get(key);\n if (!handler) {\n const href = new URL(chunk, base).href;\n try {\n const module = import(\n href\n );\n resolveContainer(container);\n handler = (await module)[symbol];\n if (!handler) {\n importError = "no-symbol";\n error = new Error(`${symbol} not in ${href}`);\n } else {\n symbols.set(key, handler);\n emitEvent("qsymbol", eventData);\n }\n } catch (err) {\n importError = "async";\n error = err;\n }\n }\n }\n if (!handler) {\n emitEvent("qerror", {\n importError,\n error,\n ...eventData\n });\n console.error(error);\n continue;\n }\n if (element.isConnected) {\n try {\n const result = handler.call(capturedIds, ev, element);\n if (isPromise(result)) {\n await result;\n }\n } catch (error2) {\n emitEvent("qerror", { error: error2, ...eventData });\n }\n }\n }\n }\n};\nconst processElementEvent = async (ev) => {\n const kebabName = camelToKebab(ev.type);\n const scopedKebabName = "e:" + kebabName;\n let element = ev.target;\n while (element && element.getAttribute) {\n const results = dispatch(element, ev, scopedKebabName, kebabName);\n const doBubble = ev.bubbles && !ev.cancelBubble;\n if (isPromise(results)) {\n await results;\n }\n element = doBubble && ev.bubbles && !ev.cancelBubble ? element.parentElement : null;\n }\n};\nconst broadcast = (infix, ev) => {\n const kebabName = camelToKebab(ev.type);\n const scopedKebabName = infix + ":" + kebabName;\n const elements = querySelectorAll("[q-" + infix + "\\\\:" + kebabName + "]");\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, scopedKebabName, kebabName);\n }\n};\nconst processDocumentEvent = async (ev) => {\n broadcast(documentPrefix, ev);\n};\nconst processWindowEvent = (ev) => {\n broadcast(windowPrefix, ev);\n};\nconst processReadyStateChange = () => {\n const readyState = doc.readyState;\n if (readyState == "interactive" || readyState == "complete") {\n hasInitialized = 1;\n roots.forEach(findShadowRoots);\n if (events.has("d:qinit")) {\n events.delete("d:qinit");\n const ev = createEvent("qinit");\n const elements = querySelectorAll("[q-d\\\\:qinit]");\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, "d:qinit");\n el.removeAttribute("q-d:qinit");\n }\n }\n if (events.has("d:qidle")) {\n events.delete("d:qidle");\n const riC = win.requestIdleCallback ?? win.setTimeout;\n riC.bind(win)(() => {\n const ev = createEvent("qidle");\n const elements = querySelectorAll("[q-d\\\\:qidle]");\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, "d:qidle");\n el.removeAttribute("q-d:qidle");\n }\n });\n }\n if (events.has("e:qvisible")) {\n observer || (observer = new IntersectionObserver((entries) => {\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i];\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n dispatch(entry.target, createEvent("qvisible", entry), "e:qvisible");\n }\n }\n }));\n const elements = querySelectorAll("[q-e\\\\:qvisible]:not([q\\\\:observed])");\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n observer.observe(el);\n el.setAttribute("q:observed", "true");\n }\n }\n }\n};\nconst addEventOrRoot = (...eventNames) => {\n for (let i = 0; i < eventNames.length; i++) {\n const eventNameOrRoot = eventNames[i];\n if (typeof eventNameOrRoot === "string") {\n if (!events.has(eventNameOrRoot)) {\n events.add(eventNameOrRoot);\n const { scope, eventName } = parseKebabEvent(eventNameOrRoot);\n if (scope === windowPrefix) {\n addEventListener(win, eventName, processWindowEvent, true);\n } else {\n roots.forEach(\n (root) => addEventListener(\n root,\n eventName,\n scope === documentPrefix ? processDocumentEvent : processElementEvent,\n true\n )\n );\n }\n if (hasInitialized === 1 && (eventNameOrRoot === "e:qvisible" || eventNameOrRoot === "d:qinit" || eventNameOrRoot === "d:qidle")) {\n processReadyStateChange();\n }\n }\n } else {\n if (!roots.has(eventNameOrRoot)) {\n events.forEach((kebabEventName) => {\n const { scope, eventName } = parseKebabEvent(kebabEventName);\n if (scope !== windowPrefix) {\n addEventListener(\n eventNameOrRoot,\n eventName,\n scope === documentPrefix ? processDocumentEvent : processElementEvent,\n true\n );\n }\n });\n roots.add(eventNameOrRoot);\n }\n }\n }\n};\nconst _qwikEv = win._qwikEv;\nif (!_qwikEv?.roots) {\n if (Array.isArray(_qwikEv)) {\n addEventOrRoot(..._qwikEv);\n } else {\n addEventOrRoot("e:click", "e:input");\n }\n win._qwikEv = {\n events,\n roots,\n push: addEventOrRoot\n };\n addEventListener(doc, "readystatechange", processReadyStateChange);\n processReadyStateChange();\n}';
|
|
1598
|
+
var QWIK_LOADER_DEFAULT_DEBUG = 'const doc = document;\nconst win = window;\nconst windowPrefix = "w";\nconst passiveWindowPrefix = "wp";\nconst documentPrefix = "d";\nconst passiveDocumentPrefix = "dp";\nconst elementPrefix = "e";\nconst passiveElementPrefix = "ep";\nconst capturePrefix = "capture:";\nconst events = /* @__PURE__ */ new Set();\nconst roots = /* @__PURE__ */ new Set([doc]);\nconst symbols = /* @__PURE__ */ new Map();\nlet observer;\nlet hasInitialized;\nlet queuedTasks;\nconst nativeQuerySelectorAll = (root, selector) => Array.from(root.querySelectorAll(selector));\nconst querySelectorAll = (query) => {\n const elements = [];\n roots.forEach((root) => elements.push(...nativeQuerySelectorAll(root, query)));\n return elements;\n};\nconst addEventListener = (el, eventName, handler, capture = false, passive = false) => el.addEventListener(eventName, handler, { capture, passive });\nconst findShadowRoots = (fragment) => {\n addEventOrRoot(fragment);\n const shadowRoots = nativeQuerySelectorAll(fragment, "[q\\\\:shadowroot]");\n for (let i = 0; i < shadowRoots.length; i++) {\n const parent = shadowRoots[i];\n const shadowRoot = parent.shadowRoot;\n shadowRoot && findShadowRoots(shadowRoot);\n }\n};\nconst isPromise = (promise) => promise && typeof promise.then === "function";\nconst runTasks = async (tasks) => {\n for (let i = 0; i < tasks.length; i++) {\n await tasks[i]();\n }\n};\nconst queueTasks = (tasks) => {\n if (tasks.length) {\n const run = () => runTasks(tasks);\n queuedTasks = queuedTasks ? queuedTasks.then(run, run) : run();\n }\n};\nconst resolveContainer = (containerEl) => {\n if (containerEl._qwikjson_ === void 0) {\n const parentJSON = containerEl === doc.documentElement ? doc.body : containerEl;\n let script = parentJSON.lastElementChild;\n while (script) {\n if (script.tagName === "SCRIPT" && script.getAttribute("type") === "qwik/json") {\n containerEl._qwikjson_ = JSON.parse(\n script.textContent.replace(/\\\\x3C(\\/?script)/gi, "<$1")\n );\n break;\n }\n script = script.previousElementSibling;\n }\n }\n};\nconst createEvent = (eventName, detail) => new CustomEvent(eventName, { detail });\nconst emitEvent = (eventName, detail) => {\n doc.dispatchEvent(createEvent(eventName, detail));\n};\nconst camelToKebab = (str) => str.replace(/([A-Z-])/g, (a) => "-" + a.toLowerCase());\nconst kebabToCamel = (eventName) => eventName.replace(/-./g, (a) => a[1].toUpperCase());\nconst parseKebabEvent = (event) => {\n const separatorIndex = event.indexOf(":");\n const scope = event.slice(0, separatorIndex);\n return {\n scope,\n eventName: kebabToCamel(event.slice(separatorIndex + 1))\n };\n};\nconst isPassiveScope = (scope) => scope.length === 2;\nconst getRootScope = (scope) => scope.charAt(0);\nconst isElementNode = (node) => !!node && node.nodeType === 1;\nconst isCaptureHandlerElement = (element, scopedKebabName, captureAttribute) => element.hasAttribute(captureAttribute) && (!!element._qDispatch?.[scopedKebabName] || element.hasAttribute("q-" + scopedKebabName));\nconst resolveHandler = (container, element, qBase, base, chunk, symbol, reqTime) => {\n const eventData = {\n qBase,\n symbol,\n element,\n reqTime\n };\n if (chunk === "") {\n const hash = container.getAttribute("q:instance");\n const handler2 = (doc["qFuncs_" + hash] || [])[Number.parseInt(symbol)];\n if (!handler2) {\n const error = new Error("sym:" + symbol);\n emitEvent("qerror", {\n importError: "sync",\n error,\n ...eventData\n });\n console.error(error);\n }\n return handler2;\n }\n const key = `${symbol}|${qBase}|${chunk}`;\n const handler = symbols.get(key);\n if (handler) {\n return handler;\n }\n const href = new URL(chunk, base).href;\n const module = import(\n href\n );\n resolveContainer(container);\n return module.then(\n (module2) => {\n const handler2 = module2[symbol];\n if (!handler2) {\n const error = new Error(`${symbol} not in ${href}`);\n emitEvent("qerror", {\n importError: "no-symbol",\n error,\n ...eventData\n });\n console.error(error);\n } else {\n symbols.set(key, handler2);\n emitEvent("qsymbol", eventData);\n }\n return handler2;\n },\n (error) => {\n emitEvent("qerror", {\n importError: "async",\n error,\n ...eventData\n });\n console.error(error);\n return void 0;\n }\n );\n};\nconst dispatch = (element, ev, scopedKebabName, tasks, kebabName, allowPreventDefault = true) => {\n let defer = false;\n if (kebabName) {\n if (allowPreventDefault && element.hasAttribute("preventdefault:" + kebabName)) {\n ev.preventDefault();\n }\n if (element.hasAttribute("stoppropagation:" + kebabName)) {\n ev.stopPropagation();\n }\n }\n const handlers = element._qDispatch?.[scopedKebabName];\n if (handlers) {\n if (typeof handlers === "function") {\n const run = () => handlers(ev, element);\n if (defer) {\n tasks.push(async () => {\n const result = run();\n if (isPromise(result)) {\n await result;\n }\n });\n } else {\n const result = run();\n if (isPromise(result)) {\n defer = true;\n tasks.push(() => result);\n }\n }\n } else if (handlers.length) {\n for (let i = 0; i < handlers.length; i++) {\n const handler = handlers[i];\n if (handler) {\n const run = () => handler(ev, element);\n if (defer) {\n tasks.push(async () => {\n const result = run();\n if (isPromise(result)) {\n await result;\n }\n });\n } else {\n const result = run();\n if (isPromise(result)) {\n defer = true;\n tasks.push(() => result);\n }\n }\n }\n }\n }\n return;\n }\n const attrValue = element.getAttribute("q-" + scopedKebabName);\n if (attrValue) {\n const container = element.closest(\n "[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"\n );\n const qBase = container.getAttribute("q:base");\n const base = new URL(qBase, doc.baseURI);\n const qrls = attrValue.split("|");\n for (let i = 0; i < qrls.length; i++) {\n const qrl = qrls[i];\n const reqTime = performance.now();\n const [chunk, symbol, capturedIds] = qrl.split("#");\n const run = (handler2) => {\n if (handler2 && element.isConnected) {\n try {\n const result = handler2.call(capturedIds, ev, element);\n if (isPromise(result)) {\n return result.catch((error) => {\n emitEvent("qerror", {\n error,\n qBase,\n symbol,\n element,\n reqTime\n });\n });\n }\n } catch (error) {\n emitEvent("qerror", {\n error,\n qBase,\n symbol,\n element,\n reqTime\n });\n }\n }\n };\n const handler = resolveHandler(container, element, qBase, base, chunk, symbol, reqTime);\n if (defer || isPromise(handler)) {\n defer = true;\n tasks.push(async () => {\n await run(isPromise(handler) ? await handler : handler);\n });\n } else {\n const result = run(handler);\n if (isPromise(result)) {\n defer = true;\n tasks.push(() => result);\n }\n }\n }\n }\n};\nconst processElementEvent = (ev, scope = elementPrefix, allowPreventDefault = true) => {\n const kebabName = camelToKebab(ev.type);\n const scopedKebabName = scope + ":" + kebabName;\n const captureAttribute = capturePrefix + kebabName;\n const elements = [];\n const captureHandlers = [];\n const tasks = [];\n let current = ev.target;\n while (current) {\n if (isElementNode(current)) {\n elements.push(current);\n captureHandlers.push(isCaptureHandlerElement(current, scopedKebabName, captureAttribute));\n current = current.parentElement;\n } else {\n current = current.parentElement;\n }\n }\n for (let i = elements.length - 1; i >= 0; i--) {\n if (captureHandlers[i]) {\n dispatch(elements[i], ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n const continuePropagation = !ev.cancelBubble;\n if (!continuePropagation || ev.cancelBubble) {\n queueTasks(tasks);\n return;\n }\n }\n }\n for (let i = 0; i < elements.length; i++) {\n if (!captureHandlers[i]) {\n dispatch(elements[i], ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n const doBubble = ev.bubbles && !ev.cancelBubble;\n if (!doBubble || ev.cancelBubble) {\n queueTasks(tasks);\n return;\n }\n }\n }\n queueTasks(tasks);\n};\nconst processPassiveElementEvent = (ev) => processElementEvent(ev, passiveElementPrefix, false);\nconst broadcast = (scope, ev, allowPreventDefault = true) => {\n const kebabName = camelToKebab(ev.type);\n const scopedKebabName = scope + ":" + kebabName;\n const elements = querySelectorAll("[q-" + scope + "\\\\:" + kebabName + "]");\n const tasks = [];\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n }\n queueTasks(tasks);\n};\nconst processDocumentEvent = (ev) => {\n broadcast(documentPrefix, ev);\n};\nconst processPassiveDocumentEvent = (ev) => {\n broadcast(passiveDocumentPrefix, ev, false);\n};\nconst processWindowEvent = (ev) => {\n broadcast(windowPrefix, ev);\n};\nconst processPassiveWindowEvent = (ev) => {\n broadcast(passiveWindowPrefix, ev, false);\n};\nconst processReadyStateChange = () => {\n const readyState = doc.readyState;\n if (readyState == "interactive" || readyState == "complete") {\n hasInitialized = 1;\n roots.forEach(findShadowRoots);\n if (events.has("d:qinit")) {\n events.delete("d:qinit");\n const ev = createEvent("qinit");\n const elements = querySelectorAll("[q-d\\\\:qinit]");\n const tasks = [];\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, "d:qinit", tasks);\n el.removeAttribute("q-d:qinit");\n }\n queueTasks(tasks);\n }\n if (events.has("d:qidle")) {\n events.delete("d:qidle");\n const riC = win.requestIdleCallback ?? win.setTimeout;\n riC.bind(win)(() => {\n const ev = createEvent("qidle");\n const elements = querySelectorAll("[q-d\\\\:qidle]");\n const tasks = [];\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, "d:qidle", tasks);\n el.removeAttribute("q-d:qidle");\n }\n queueTasks(tasks);\n });\n }\n if (events.has("e:qvisible")) {\n observer || (observer = new IntersectionObserver((entries) => {\n const tasks = [];\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i];\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n dispatch(\n entry.target,\n createEvent("qvisible", entry),\n "e:qvisible",\n tasks\n );\n }\n }\n queueTasks(tasks);\n }));\n const elements = querySelectorAll("[q-e\\\\:qvisible]:not([q\\\\:observed])");\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n observer.observe(el);\n el.setAttribute("q:observed", "true");\n }\n }\n }\n};\nconst addEventOrRoot = (...eventNames) => {\n for (let i = 0; i < eventNames.length; i++) {\n const eventNameOrRoot = eventNames[i];\n if (typeof eventNameOrRoot === "string") {\n if (!events.has(eventNameOrRoot)) {\n events.add(eventNameOrRoot);\n const { scope, eventName } = parseKebabEvent(eventNameOrRoot);\n const passive = isPassiveScope(scope);\n const rootScope = getRootScope(scope);\n if (rootScope === windowPrefix) {\n addEventListener(\n win,\n eventName,\n passive ? processPassiveWindowEvent : processWindowEvent,\n true,\n passive\n );\n } else {\n roots.forEach(\n (root) => addEventListener(\n root,\n eventName,\n rootScope === documentPrefix ? passive ? processPassiveDocumentEvent : processDocumentEvent : passive ? processPassiveElementEvent : processElementEvent,\n true,\n passive\n )\n );\n }\n if (hasInitialized === 1 && (eventNameOrRoot === "e:qvisible" || eventNameOrRoot === "d:qinit" || eventNameOrRoot === "d:qidle")) {\n processReadyStateChange();\n }\n }\n } else {\n if (!roots.has(eventNameOrRoot)) {\n events.forEach((kebabEventName) => {\n const { scope, eventName } = parseKebabEvent(kebabEventName);\n const passive = isPassiveScope(scope);\n const rootScope = getRootScope(scope);\n if (rootScope !== windowPrefix) {\n addEventListener(\n eventNameOrRoot,\n eventName,\n rootScope === documentPrefix ? passive ? processPassiveDocumentEvent : processDocumentEvent : passive ? processPassiveElementEvent : processElementEvent,\n true,\n passive\n );\n }\n });\n roots.add(eventNameOrRoot);\n }\n }\n }\n};\nconst _qwikEv = win._qwikEv;\nif (!_qwikEv?.roots) {\n if (Array.isArray(_qwikEv)) {\n addEventOrRoot(..._qwikEv);\n } else {\n addEventOrRoot("e:click", "e:input");\n }\n win._qwikEv = {\n events,\n roots,\n push: addEventOrRoot\n };\n addEventListener(doc, "readystatechange", processReadyStateChange);\n processReadyStateChange();\n}';
|
|
1595
1599
|
|
|
1596
1600
|
var QWIK_BACKPATCH_EXECUTOR_MINIFIED = `const t='script[type="qwik/backpatch"]',e=document.currentScript;if(e){const o=e.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");if(o){const e=o.querySelector(t);if(e){const t=JSON.parse(e.textContent||"[]"),n=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);let r=n.currentNode,c=r.hasAttribute(":")?0:-1;for(let e=0;e<t.length;e+=3){const o=t[e],i=t[e+1];let s=t[e+2];for(;c<o&&(r=n.nextNode(),r);)r.hasAttribute(":")&&c++;const l=r;null==s||!1===s?l.removeAttribute(i):("boolean"==typeof s&&(s=""),l.setAttribute(i,s))}}}}`;
|
|
1597
1601
|
|
|
@@ -1614,15 +1618,15 @@ function getQwikBackpatchExecutorScript(e = {}) {
|
|
|
1614
1618
|
}
|
|
1615
1619
|
|
|
1616
1620
|
// packages/qwik/src/server/ssr-node.ts
|
|
1617
|
-
import { _isJSXNode as
|
|
1621
|
+
import { _isJSXNode as $s, _EMPTY_OBJ, _EFFECT_BACK_REF as si } from "@qwik.dev/core/internal";
|
|
1618
1622
|
|
|
1619
1623
|
import { isDev as isDev6 } from "@qwik.dev/core/build";
|
|
1620
1624
|
|
|
1621
1625
|
var SsrNode = class {
|
|
1622
|
-
constructor(e, t,
|
|
1626
|
+
constructor(e, t, n, r, s, i) {
|
|
1623
1627
|
this.parentComponent = e;
|
|
1624
|
-
this.attributesIndex =
|
|
1625
|
-
this.cleanupQueue =
|
|
1628
|
+
this.attributesIndex = n;
|
|
1629
|
+
this.cleanupQueue = r;
|
|
1626
1630
|
this.vnodeData = s;
|
|
1627
1631
|
this.currentFile = i;
|
|
1628
1632
|
this.id = t;
|
|
@@ -1646,19 +1650,19 @@ var SsrNode = class {
|
|
|
1646
1650
|
attrs;
|
|
1647
1651
|
/** Local props which don't serialize; */
|
|
1648
1652
|
localProps=null;
|
|
1649
|
-
get [
|
|
1650
|
-
return this.getProp(
|
|
1653
|
+
get [si]() {
|
|
1654
|
+
return this.getProp(Fe);
|
|
1651
1655
|
}
|
|
1652
1656
|
setProp(e, t) {
|
|
1653
1657
|
if (this.attrs === _EMPTY_OBJ) {
|
|
1654
1658
|
this.setEmptyArrayAsVNodeDataAttributes();
|
|
1655
1659
|
}
|
|
1656
|
-
if (e.startsWith(
|
|
1660
|
+
if (e.startsWith(sr)) {
|
|
1657
1661
|
(this.localProps ||= {})[e] = t;
|
|
1658
1662
|
} else {
|
|
1659
1663
|
this.attrs[e] = t;
|
|
1660
1664
|
}
|
|
1661
|
-
if (e ==
|
|
1665
|
+
if (e == nr && t) {
|
|
1662
1666
|
this.cleanupQueue.push(t);
|
|
1663
1667
|
}
|
|
1664
1668
|
}
|
|
@@ -1674,14 +1678,14 @@ var SsrNode = class {
|
|
|
1674
1678
|
}
|
|
1675
1679
|
}
|
|
1676
1680
|
getProp(e) {
|
|
1677
|
-
if (e.startsWith(
|
|
1681
|
+
if (e.startsWith(sr)) {
|
|
1678
1682
|
return this.localProps ? this.localProps[e] ?? null : null;
|
|
1679
1683
|
} else {
|
|
1680
1684
|
return this.attrs[e] ?? null;
|
|
1681
1685
|
}
|
|
1682
1686
|
}
|
|
1683
1687
|
removeProp(e) {
|
|
1684
|
-
if (e.startsWith(
|
|
1688
|
+
if (e.startsWith(sr)) {
|
|
1685
1689
|
if (this.localProps) {
|
|
1686
1690
|
delete this.localProps[e];
|
|
1687
1691
|
}
|
|
@@ -1710,9 +1714,9 @@ var SsrNode = class {
|
|
|
1710
1714
|
if (isDev6) {
|
|
1711
1715
|
let e = "";
|
|
1712
1716
|
for (const t in this.attrs) {
|
|
1713
|
-
const
|
|
1717
|
+
const n = this.attrs[t];
|
|
1714
1718
|
e += `${t}=`;
|
|
1715
|
-
e += `${typeof
|
|
1719
|
+
e += `${typeof n === "string" || typeof n === "number" ? JSON.stringify(n) : "*"}`;
|
|
1716
1720
|
e += ", ";
|
|
1717
1721
|
}
|
|
1718
1722
|
return `<SSRNode id="${this.id}" ${e} />`;
|
|
@@ -1724,7 +1728,7 @@ var SsrNode = class {
|
|
|
1724
1728
|
|
|
1725
1729
|
var DomRef = class {
|
|
1726
1730
|
constructor(e) {
|
|
1727
|
-
this.
|
|
1731
|
+
this.Hn = e;
|
|
1728
1732
|
}
|
|
1729
1733
|
__brand__="DomRef";
|
|
1730
1734
|
};
|
|
@@ -1738,57 +1742,57 @@ var SsrComponentFrame = class {
|
|
|
1738
1742
|
scopedStyleIds=/* @__PURE__ */ new Set;
|
|
1739
1743
|
projectionScopedStyle=null;
|
|
1740
1744
|
projectionComponentFrame=null;
|
|
1741
|
-
distributeChildrenIntoSlots(e, t,
|
|
1745
|
+
distributeChildrenIntoSlots(e, t, n) {
|
|
1742
1746
|
this.projectionScopedStyle = t;
|
|
1743
|
-
this.projectionComponentFrame =
|
|
1744
|
-
if (
|
|
1747
|
+
this.projectionComponentFrame = n;
|
|
1748
|
+
if ($s(e)) {
|
|
1745
1749
|
const t = this.getSlotName(e);
|
|
1746
|
-
|
|
1750
|
+
pe(this.slots, t, e, 0);
|
|
1747
1751
|
} else if (Array.isArray(e) && e.length > 0) {
|
|
1748
1752
|
const t = [];
|
|
1749
|
-
for (let
|
|
1750
|
-
const
|
|
1751
|
-
if (
|
|
1752
|
-
const e = this.getSlotName(
|
|
1753
|
-
if (e ===
|
|
1754
|
-
t.push(
|
|
1753
|
+
for (let n = 0; n < e.length; n++) {
|
|
1754
|
+
const r = e[n];
|
|
1755
|
+
if ($s(r)) {
|
|
1756
|
+
const e = this.getSlotName(r);
|
|
1757
|
+
if (e === Ke) {
|
|
1758
|
+
t.push(r);
|
|
1755
1759
|
} else {
|
|
1756
|
-
this.updateSlot(e,
|
|
1760
|
+
this.updateSlot(e, r);
|
|
1757
1761
|
}
|
|
1758
1762
|
} else {
|
|
1759
|
-
t.push(
|
|
1763
|
+
t.push(r);
|
|
1760
1764
|
}
|
|
1761
1765
|
}
|
|
1762
|
-
t.length > 0 &&
|
|
1766
|
+
t.length > 0 && pe(this.slots, Ke, t, 0);
|
|
1763
1767
|
} else {
|
|
1764
|
-
|
|
1768
|
+
pe(this.slots, Ke, e, 0);
|
|
1765
1769
|
}
|
|
1766
1770
|
}
|
|
1767
1771
|
updateSlot(e, t) {
|
|
1768
|
-
let
|
|
1769
|
-
if (
|
|
1770
|
-
|
|
1771
|
-
} else if (Array.isArray(
|
|
1772
|
-
|
|
1772
|
+
let n = $e(this.slots, e, 0);
|
|
1773
|
+
if (n === null) {
|
|
1774
|
+
n = t;
|
|
1775
|
+
} else if (Array.isArray(n)) {
|
|
1776
|
+
n.push(t);
|
|
1773
1777
|
} else {
|
|
1774
|
-
|
|
1778
|
+
n = [ n, t ];
|
|
1775
1779
|
}
|
|
1776
|
-
|
|
1780
|
+
pe(this.slots, e, n, 0);
|
|
1777
1781
|
}
|
|
1778
1782
|
getSlotName(e) {
|
|
1779
|
-
if (e.props[
|
|
1780
|
-
return e.props[
|
|
1783
|
+
if (e.props[je]) {
|
|
1784
|
+
return e.props[je];
|
|
1781
1785
|
}
|
|
1782
|
-
return
|
|
1786
|
+
return Ke;
|
|
1783
1787
|
}
|
|
1784
1788
|
hasSlot(e) {
|
|
1785
|
-
return
|
|
1789
|
+
return me(this.slots, e, 0);
|
|
1786
1790
|
}
|
|
1787
1791
|
consumeChildrenForSlot(e, t) {
|
|
1788
|
-
const
|
|
1792
|
+
const n = mapApp_remove(this.slots, t, 0);
|
|
1789
1793
|
this.componentNode.setProp(t, e.id);
|
|
1790
1794
|
e.setProp(QSlotParent, this.componentNode.id);
|
|
1791
|
-
return
|
|
1795
|
+
return n;
|
|
1792
1796
|
}
|
|
1793
1797
|
};
|
|
1794
1798
|
|
|
@@ -2189,18 +2193,18 @@ var WRITE_ELEMENT_ATTRS = Number.MAX_SAFE_INTEGER - 2;
|
|
|
2189
2193
|
|
|
2190
2194
|
function vNodeData_incrementElementCount(e) {
|
|
2191
2195
|
const t = e.length;
|
|
2192
|
-
const
|
|
2193
|
-
if (
|
|
2196
|
+
const n = t > 1 ? e[t - 1] : 0;
|
|
2197
|
+
if (n >= 0) {
|
|
2194
2198
|
e.push(-1);
|
|
2195
2199
|
} else {
|
|
2196
|
-
e[t - 1] =
|
|
2200
|
+
e[t - 1] = n - 1;
|
|
2197
2201
|
}
|
|
2198
2202
|
}
|
|
2199
2203
|
|
|
2200
2204
|
function vNodeData_addTextSize(e, t) {
|
|
2201
|
-
const
|
|
2202
|
-
const
|
|
2203
|
-
if (
|
|
2205
|
+
const n = e.length;
|
|
2206
|
+
const r = n > 1 ? e[n - 1] : 0;
|
|
2207
|
+
if (n > 1 && r >= 0) {
|
|
2204
2208
|
e[0] |= 1 /* TEXT_DATA */;
|
|
2205
2209
|
}
|
|
2206
2210
|
e.push(t);
|
|
@@ -2223,29 +2227,29 @@ function vNodeData_openElement(e) {
|
|
|
2223
2227
|
e[0] |= 4 /* ELEMENT_NODE */;
|
|
2224
2228
|
}
|
|
2225
2229
|
|
|
2226
|
-
function vNodeData_createSsrNodeReference(e, t,
|
|
2230
|
+
function vNodeData_createSsrNodeReference(e, t, n, r, s) {
|
|
2227
2231
|
t[0] |= 8 /* REFERENCE */;
|
|
2228
2232
|
const i = [ -1 ];
|
|
2229
2233
|
let o = -1;
|
|
2230
2234
|
for (let e = 1; e < t.length; e++) {
|
|
2231
|
-
const
|
|
2232
|
-
if (typeof
|
|
2235
|
+
const n = t[e];
|
|
2236
|
+
if (typeof n === "object" && n !== null) {
|
|
2233
2237
|
o = e;
|
|
2234
2238
|
e++;
|
|
2235
2239
|
if (t[e] !== WRITE_ELEMENT_ATTRS) {
|
|
2236
2240
|
i[i.length - 1]++;
|
|
2237
2241
|
i.push(-1);
|
|
2238
2242
|
}
|
|
2239
|
-
} else if (
|
|
2243
|
+
} else if (n === CLOSE_FRAGMENT) {
|
|
2240
2244
|
i.pop();
|
|
2241
|
-
} else if (
|
|
2242
|
-
const e = 0 -
|
|
2245
|
+
} else if (n < 0) {
|
|
2246
|
+
const e = 0 - n;
|
|
2243
2247
|
i[i.length - 1] += e;
|
|
2244
2248
|
} else {
|
|
2245
2249
|
i[i.length - 1]++;
|
|
2246
2250
|
}
|
|
2247
2251
|
}
|
|
2248
|
-
let a =
|
|
2252
|
+
let a = n + "";
|
|
2249
2253
|
if (t[0] & (2 /* VIRTUAL_NODE */ | 1 /* TEXT_DATA */)) {
|
|
2250
2254
|
for (let e = 0; e < i.length; e++) {
|
|
2251
2255
|
const t = i[e];
|
|
@@ -2254,7 +2258,7 @@ function vNodeData_createSsrNodeReference(e, t, r, n, s) {
|
|
|
2254
2258
|
}
|
|
2255
2259
|
}
|
|
2256
2260
|
}
|
|
2257
|
-
return new SsrNode(e, a, o,
|
|
2261
|
+
return new SsrNode(e, a, o, r, t, s);
|
|
2258
2262
|
}
|
|
2259
2263
|
|
|
2260
2264
|
var ALPHANUMERIC = [];
|
|
@@ -2309,14 +2313,14 @@ var StringBufferWriter = class {
|
|
|
2309
2313
|
}
|
|
2310
2314
|
};
|
|
2311
2315
|
|
|
2312
|
-
var
|
|
2316
|
+
var Di = {};
|
|
2313
2317
|
|
|
2314
2318
|
var QTemplateProps = {
|
|
2315
2319
|
hidden: true,
|
|
2316
2320
|
"aria-hidden": true
|
|
2317
2321
|
};
|
|
2318
2322
|
|
|
2319
|
-
var SSRContainer = class extends
|
|
2323
|
+
var SSRContainer = class extends Au {
|
|
2320
2324
|
tag;
|
|
2321
2325
|
isHtml;
|
|
2322
2326
|
writer;
|
|
@@ -2358,17 +2362,17 @@ var SSRContainer = class extends qc {
|
|
|
2358
2362
|
componentStack=[];
|
|
2359
2363
|
cleanupQueue=[];
|
|
2360
2364
|
emitContainerDataFrame=null;
|
|
2361
|
-
|
|
2365
|
+
fe=randomStr();
|
|
2362
2366
|
// Temporary flag to find missing roots after the state was serialized
|
|
2363
2367
|
S=false;
|
|
2364
2368
|
qlInclude;
|
|
2365
2369
|
promiseAttributes=null;
|
|
2366
2370
|
constructor(e) {
|
|
2367
|
-
super(e.renderOptions.serverData ??
|
|
2371
|
+
super(e.renderOptions.serverData ?? Di, e.locale);
|
|
2368
2372
|
this.symbolToChunkResolver = e => {
|
|
2369
2373
|
const t = e.lastIndexOf("_");
|
|
2370
|
-
const
|
|
2371
|
-
return
|
|
2374
|
+
const n = this.resolvedManifest.mapper[t == -1 ? e : e.substring(t + 1)];
|
|
2375
|
+
return n ? n[1] : "";
|
|
2372
2376
|
};
|
|
2373
2377
|
this.serializationCtx = this.serializationCtxFactory(SsrNode, DomRef, this.symbolToChunkResolver, e.writer);
|
|
2374
2378
|
this.renderTimer = createTimer();
|
|
@@ -2377,10 +2381,10 @@ var SSRContainer = class extends qc {
|
|
|
2377
2381
|
this.writer = e.writer;
|
|
2378
2382
|
this.streamHandler = e.streamHandler;
|
|
2379
2383
|
this.timing = e.timing;
|
|
2380
|
-
this.
|
|
2384
|
+
this.ae = e.buildBase;
|
|
2381
2385
|
this.resolvedManifest = e.resolvedManifest;
|
|
2382
2386
|
this.renderOptions = e.renderOptions;
|
|
2383
|
-
this.
|
|
2387
|
+
this.ce = 1e5;
|
|
2384
2388
|
const t = this.renderOptions.qwikLoader;
|
|
2385
2389
|
this.qlInclude = t ? typeof t === "object" ? t.include === "never" ? 2 /* Done */ : 0 /* Module */ : t === "inline" ? 1 /* Inline */ : t === "never" ? 2 /* Done */ : 0 /* Module */ : 0 /* Module */;
|
|
2386
2390
|
if (this.qlInclude === 0 /* Module */) {
|
|
@@ -2395,15 +2399,15 @@ var SSRContainer = class extends qc {
|
|
|
2395
2399
|
handleError(e, t) {
|
|
2396
2400
|
throw e;
|
|
2397
2401
|
}
|
|
2398
|
-
addBackpatchEntry(e, t,
|
|
2399
|
-
const
|
|
2402
|
+
addBackpatchEntry(e, t, n) {
|
|
2403
|
+
const r = parseInt(e, 10);
|
|
2400
2404
|
const s = {
|
|
2401
2405
|
attrName: t,
|
|
2402
|
-
value:
|
|
2406
|
+
value: n
|
|
2403
2407
|
};
|
|
2404
|
-
const i = this.backpatchMap.get(
|
|
2408
|
+
const i = this.backpatchMap.get(r) || [];
|
|
2405
2409
|
i.push(s);
|
|
2406
|
-
this.backpatchMap.set(
|
|
2410
|
+
this.backpatchMap.set(r, i);
|
|
2407
2411
|
}
|
|
2408
2412
|
async render(e) {
|
|
2409
2413
|
this.openContainer();
|
|
@@ -2414,25 +2418,25 @@ var SSRContainer = class extends qc {
|
|
|
2414
2418
|
await this.closeContainer();
|
|
2415
2419
|
}
|
|
2416
2420
|
async renderJSX(e, t) {
|
|
2417
|
-
await
|
|
2421
|
+
await Cn(this, e, t);
|
|
2418
2422
|
}
|
|
2419
|
-
setContext(e, t,
|
|
2420
|
-
const
|
|
2421
|
-
let s =
|
|
2423
|
+
setContext(e, t, n) {
|
|
2424
|
+
const r = e;
|
|
2425
|
+
let s = r.getProp(Ie);
|
|
2422
2426
|
if (s == null) {
|
|
2423
|
-
|
|
2427
|
+
r.setProp(Ie, s = []);
|
|
2424
2428
|
}
|
|
2425
|
-
|
|
2426
|
-
this.addRoot(
|
|
2429
|
+
pe(s, t.id, n, 0, true);
|
|
2430
|
+
this.addRoot(r);
|
|
2427
2431
|
}
|
|
2428
2432
|
resolveContext(e, t) {
|
|
2429
|
-
let
|
|
2430
|
-
while (
|
|
2431
|
-
const e =
|
|
2432
|
-
if (e != null &&
|
|
2433
|
+
let n = e;
|
|
2434
|
+
while (n) {
|
|
2435
|
+
const e = n.getProp(Ie);
|
|
2436
|
+
if (e != null && me(e, t.id, 0)) {
|
|
2433
2437
|
return $e(e, t.id, 0);
|
|
2434
2438
|
}
|
|
2435
|
-
|
|
2439
|
+
n = n.parentComponent;
|
|
2436
2440
|
}
|
|
2437
2441
|
return void 0;
|
|
2438
2442
|
}
|
|
@@ -2440,13 +2444,13 @@ var SSRContainer = class extends qc {
|
|
|
2440
2444
|
const t = e;
|
|
2441
2445
|
return t.parentComponent;
|
|
2442
2446
|
}
|
|
2443
|
-
setHostProp(e, t,
|
|
2444
|
-
const
|
|
2445
|
-
return
|
|
2447
|
+
setHostProp(e, t, n) {
|
|
2448
|
+
const r = e;
|
|
2449
|
+
return r.setProp(t, n);
|
|
2446
2450
|
}
|
|
2447
2451
|
getHostProp(e, t) {
|
|
2448
|
-
const
|
|
2449
|
-
return
|
|
2452
|
+
const n = e;
|
|
2453
|
+
return n.getProp(t);
|
|
2450
2454
|
}
|
|
2451
2455
|
/**
|
|
2452
2456
|
* Renders opening tag for container. It could be a html tag for regular apps or custom element
|
|
@@ -2459,13 +2463,13 @@ var SSRContainer = class extends qc {
|
|
|
2459
2463
|
const t = e[QRenderAttr];
|
|
2460
2464
|
e[Ve] = "paused" /* PAUSED */;
|
|
2461
2465
|
e[QRuntimeAttr] = "2";
|
|
2462
|
-
e[QVersionAttr] = this.
|
|
2466
|
+
e[QVersionAttr] = this.ue ?? "dev";
|
|
2463
2467
|
e[QRenderAttr] = (t ? t + "-" : "") + (isDev7 ? "ssr-dev" : "ssr");
|
|
2464
|
-
e[ze] = this.
|
|
2465
|
-
e[QLocaleAttr] = this.
|
|
2468
|
+
e[ze] = this.ae || "";
|
|
2469
|
+
e[QLocaleAttr] = this.Mt;
|
|
2466
2470
|
e[QManifestHashAttr] = this.resolvedManifest.manifest.manifestHash;
|
|
2467
|
-
e[QInstanceAttr] = this.
|
|
2468
|
-
this.
|
|
2471
|
+
e[QInstanceAttr] = this.fe;
|
|
2472
|
+
this.Dt.containerAttributes = e;
|
|
2469
2473
|
this.openElement(this.tag, null, e);
|
|
2470
2474
|
if (!this.isHtml) {
|
|
2471
2475
|
this.emitContainerDataFrame = this.currentElementFrame;
|
|
@@ -2476,8 +2480,8 @@ var SSRContainer = class extends qc {
|
|
|
2476
2480
|
}
|
|
2477
2481
|
Et=0;
|
|
2478
2482
|
/** Renders opening tag for DOM element */
|
|
2479
|
-
openElement(e, t,
|
|
2480
|
-
const a = isQwikStyleElement(e,
|
|
2483
|
+
openElement(e, t, n, r = null, s = null, i = null, o = true) {
|
|
2484
|
+
const a = isQwikStyleElement(e, n) || isQwikStyleElement(e, r);
|
|
2481
2485
|
if (e === "noscript" || e === "template" || e === "script") {
|
|
2482
2486
|
this.Et++;
|
|
2483
2487
|
}
|
|
@@ -2502,8 +2506,8 @@ var SSRContainer = class extends qc {
|
|
|
2502
2506
|
this.write(LT);
|
|
2503
2507
|
this.write(e);
|
|
2504
2508
|
const c = this.getOrCreateLastNode();
|
|
2505
|
-
if (
|
|
2506
|
-
l = this.writeAttrs(e,
|
|
2509
|
+
if (n) {
|
|
2510
|
+
l = this.writeAttrs(e, n, false, s, i, o);
|
|
2507
2511
|
}
|
|
2508
2512
|
this.write(" " + cr);
|
|
2509
2513
|
if (t !== null) {
|
|
@@ -2511,8 +2515,8 @@ var SSRContainer = class extends qc {
|
|
|
2511
2515
|
} else if (import.meta.env.TEST) {
|
|
2512
2516
|
this.write(EMPTY_ATTR);
|
|
2513
2517
|
}
|
|
2514
|
-
if (
|
|
2515
|
-
l = this.writeAttrs(e,
|
|
2518
|
+
if (r && !ni(r)) {
|
|
2519
|
+
l = this.writeAttrs(e, r, true, s, i, o) || l;
|
|
2516
2520
|
}
|
|
2517
2521
|
this.write(GT);
|
|
2518
2522
|
if (c) {
|
|
@@ -2539,9 +2543,9 @@ var SSRContainer = class extends qc {
|
|
|
2539
2543
|
let e = this.cleanupQueue.pop();
|
|
2540
2544
|
while (e) {
|
|
2541
2545
|
for (let t = 0; t < e.length; t++) {
|
|
2542
|
-
const
|
|
2543
|
-
if (hasDestroy(
|
|
2544
|
-
|
|
2546
|
+
const n = e[t];
|
|
2547
|
+
if (hasDestroy(n)) {
|
|
2548
|
+
n.Cn();
|
|
2545
2549
|
}
|
|
2546
2550
|
}
|
|
2547
2551
|
e = this.cleanupQueue.pop();
|
|
@@ -2600,8 +2604,8 @@ var SSRContainer = class extends qc {
|
|
|
2600
2604
|
* @returns
|
|
2601
2605
|
*/ getComponentFrame(e = 0) {
|
|
2602
2606
|
const t = this.componentStack.length;
|
|
2603
|
-
const
|
|
2604
|
-
return
|
|
2607
|
+
const n = t - e - 1;
|
|
2608
|
+
return n >= 0 ? this.componentStack[n] : null;
|
|
2605
2609
|
}
|
|
2606
2610
|
getParentComponentFrame() {
|
|
2607
2611
|
const e = this.getComponentFrame()?.projectionDepth || 0;
|
|
@@ -2617,13 +2621,13 @@ var SSRContainer = class extends qc {
|
|
|
2617
2621
|
if (e.slots.length === 0) {
|
|
2618
2622
|
return;
|
|
2619
2623
|
}
|
|
2620
|
-
this.openElement(
|
|
2624
|
+
this.openElement(Be, null, QTemplateProps, null);
|
|
2621
2625
|
const t = e.projectionScopedStyle;
|
|
2622
|
-
for (let
|
|
2623
|
-
const
|
|
2624
|
-
const s = e.slots[
|
|
2626
|
+
for (let n = 0; n < e.slots.length; n += 2) {
|
|
2627
|
+
const r = e.slots[n];
|
|
2628
|
+
const s = e.slots[n + 1];
|
|
2625
2629
|
this.openFragment(isDev7 ? {
|
|
2626
|
-
[
|
|
2630
|
+
[qe]: "P" /* Projection */ ,
|
|
2627
2631
|
[QSlotParent]: e.componentNode.id
|
|
2628
2632
|
} : {
|
|
2629
2633
|
[QSlotParent]: e.componentNode.id
|
|
@@ -2632,7 +2636,7 @@ var SSRContainer = class extends qc {
|
|
|
2632
2636
|
if (i.vnodeData) {
|
|
2633
2637
|
i.vnodeData[0] |= 16 /* SERIALIZE */;
|
|
2634
2638
|
}
|
|
2635
|
-
e.componentNode.setProp(
|
|
2639
|
+
e.componentNode.setProp(r, i.id);
|
|
2636
2640
|
await this.renderJSX(s, {
|
|
2637
2641
|
currentStyleScoped: t,
|
|
2638
2642
|
parentComponentFrame: e.projectionComponentFrame
|
|
@@ -2654,7 +2658,7 @@ var SSRContainer = class extends qc {
|
|
|
2654
2658
|
}
|
|
2655
2659
|
addRoot(e) {
|
|
2656
2660
|
if (this.S) {
|
|
2657
|
-
return this.serializationCtx.
|
|
2661
|
+
return this.serializationCtx.oe(e);
|
|
2658
2662
|
}
|
|
2659
2663
|
return this.serializationCtx.kt(e);
|
|
2660
2664
|
}
|
|
@@ -2666,8 +2670,8 @@ var SSRContainer = class extends qc {
|
|
|
2666
2670
|
}
|
|
2667
2671
|
return this.lastNode;
|
|
2668
2672
|
}
|
|
2669
|
-
addUnclaimedProjection(e, t,
|
|
2670
|
-
e.slots.push(t,
|
|
2673
|
+
addUnclaimedProjection(e, t, n) {
|
|
2674
|
+
e.slots.push(t, n);
|
|
2671
2675
|
}
|
|
2672
2676
|
A() {
|
|
2673
2677
|
const e = this.resolvedManifest.manifest.injections;
|
|
@@ -2675,26 +2679,26 @@ var SSRContainer = class extends qc {
|
|
|
2675
2679
|
return;
|
|
2676
2680
|
}
|
|
2677
2681
|
for (let t = 0; t < e.length; t++) {
|
|
2678
|
-
const
|
|
2679
|
-
const
|
|
2680
|
-
if (
|
|
2681
|
-
this.additionalHeadNodes.push(
|
|
2682
|
+
const n = e[t];
|
|
2683
|
+
const r = qs(n.tag, null, n.attributes || {}, null, 0, null);
|
|
2684
|
+
if (n.location === "head") {
|
|
2685
|
+
this.additionalHeadNodes.push(r);
|
|
2682
2686
|
} else {
|
|
2683
|
-
this.additionalBodyNodes.push(
|
|
2687
|
+
this.additionalBodyNodes.push(r);
|
|
2684
2688
|
}
|
|
2685
2689
|
}
|
|
2686
2690
|
}
|
|
2687
|
-
|
|
2688
|
-
if (
|
|
2691
|
+
ve(e, t, n, r) {
|
|
2692
|
+
if (r) {
|
|
2689
2693
|
const e = this.getComponentFrame(0);
|
|
2690
2694
|
e.scopedStyleIds.add(t);
|
|
2691
|
-
const
|
|
2692
|
-
this.setHostProp(
|
|
2695
|
+
const r = convertStyleIdsToString(e.scopedStyleIds);
|
|
2696
|
+
this.setHostProp(n, Ne, r);
|
|
2693
2697
|
}
|
|
2694
2698
|
if (!this.styleIds.has(t)) {
|
|
2695
2699
|
this.styleIds.add(t);
|
|
2696
2700
|
if (this.currentElementFrame?.elementName === "html") {
|
|
2697
|
-
this.additionalHeadNodes.push(
|
|
2701
|
+
this.additionalHeadNodes.push(xs("style", null, {
|
|
2698
2702
|
dangerouslySetInnerHTML: e,
|
|
2699
2703
|
[Oe]: t
|
|
2700
2704
|
}, null, 0, t));
|
|
@@ -2715,7 +2719,7 @@ var SSRContainer = class extends qc {
|
|
|
2715
2719
|
return $r(this.resolvePromiseAttributes(), () => $r(this.emitStateData(), () => {
|
|
2716
2720
|
this.S = true;
|
|
2717
2721
|
this.emitVNodeData();
|
|
2718
|
-
preloaderPost(this, this.renderOptions, this.
|
|
2722
|
+
preloaderPost(this, this.renderOptions, this.Dt?.nonce);
|
|
2719
2723
|
this.emitSyncFnsData();
|
|
2720
2724
|
this.emitPatchDataIfNeeded();
|
|
2721
2725
|
this.emitExecutorIfNeeded();
|
|
@@ -2740,7 +2744,7 @@ var SSRContainer = class extends qc {
|
|
|
2740
2744
|
* NOTE: Not every element will need vNodeData. So we need to encode how many elements should be
|
|
2741
2745
|
* skipped. By choosing different separators we can encode different numbers of elements to skip.
|
|
2742
2746
|
*/ emitVNodeData() {
|
|
2743
|
-
if (!this.serializationCtx.
|
|
2747
|
+
if (!this.serializationCtx.Qn.length) {
|
|
2744
2748
|
return;
|
|
2745
2749
|
}
|
|
2746
2750
|
this.openElement("script", null, {
|
|
@@ -2748,35 +2752,35 @@ var SSRContainer = class extends qc {
|
|
|
2748
2752
|
});
|
|
2749
2753
|
const e = [];
|
|
2750
2754
|
const t = this.vNodeDatas;
|
|
2751
|
-
let
|
|
2752
|
-
for (let
|
|
2753
|
-
const s = t[
|
|
2755
|
+
let n = 0;
|
|
2756
|
+
for (let r = 0; r < t.length; r++) {
|
|
2757
|
+
const s = t[r];
|
|
2754
2758
|
const i = s[0];
|
|
2755
2759
|
if (i & 16 /* SERIALIZE */) {
|
|
2756
|
-
|
|
2760
|
+
n = this.emitVNodeSeparators(n, r);
|
|
2757
2761
|
if (i & 8 /* REFERENCE */) {
|
|
2758
2762
|
this.write(VNodeDataSeparator.REFERENCE_CH);
|
|
2759
2763
|
}
|
|
2760
2764
|
if (i & (1 /* TEXT_DATA */ | 2 /* VIRTUAL_NODE */ | 4 /* ELEMENT_NODE */)) {
|
|
2761
2765
|
let t = null;
|
|
2762
|
-
let
|
|
2763
|
-
for (let
|
|
2764
|
-
const i = s[
|
|
2766
|
+
let n = 0;
|
|
2767
|
+
for (let r = 1; r < s.length; r++) {
|
|
2768
|
+
const i = s[r];
|
|
2765
2769
|
if (typeof i === "object" && i !== null) {
|
|
2766
2770
|
e.push(t);
|
|
2767
2771
|
t = i;
|
|
2768
2772
|
} else if (i === OPEN_FRAGMENT) {
|
|
2769
|
-
|
|
2773
|
+
n++;
|
|
2770
2774
|
this.write(VNodeDataChar.OPEN_CHAR);
|
|
2771
2775
|
} else if (i === CLOSE_FRAGMENT) {
|
|
2772
2776
|
if (t) {
|
|
2773
2777
|
this.writeFragmentAttrs(t);
|
|
2774
2778
|
t = e.pop();
|
|
2775
2779
|
}
|
|
2776
|
-
|
|
2780
|
+
n--;
|
|
2777
2781
|
this.write(VNodeDataChar.CLOSE_CHAR);
|
|
2778
2782
|
} else if (i === WRITE_ELEMENT_ATTRS) {
|
|
2779
|
-
if (t && !
|
|
2783
|
+
if (t && !ni(t)) {
|
|
2780
2784
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2781
2785
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2782
2786
|
this.writeFragmentAttrs(t);
|
|
@@ -2790,7 +2794,7 @@ var SSRContainer = class extends qc {
|
|
|
2790
2794
|
this.write(String(0 - i));
|
|
2791
2795
|
}
|
|
2792
2796
|
}
|
|
2793
|
-
while (
|
|
2797
|
+
while (n-- > 0) {
|
|
2794
2798
|
if (t) {
|
|
2795
2799
|
this.writeFragmentAttrs(t);
|
|
2796
2800
|
t = e.pop();
|
|
@@ -2804,21 +2808,21 @@ var SSRContainer = class extends qc {
|
|
|
2804
2808
|
}
|
|
2805
2809
|
writeFragmentAttrs(e) {
|
|
2806
2810
|
for (const t in e) {
|
|
2807
|
-
let
|
|
2808
|
-
let
|
|
2809
|
-
if (typeof
|
|
2810
|
-
const e = this.addRoot(
|
|
2811
|
+
let n = e[t];
|
|
2812
|
+
let r = false;
|
|
2813
|
+
if (typeof n !== "string") {
|
|
2814
|
+
const e = this.addRoot(n);
|
|
2811
2815
|
if (e === void 0) {
|
|
2812
2816
|
continue;
|
|
2813
2817
|
}
|
|
2814
|
-
|
|
2818
|
+
n = String(e);
|
|
2815
2819
|
}
|
|
2816
2820
|
switch (t) {
|
|
2817
2821
|
case Ne:
|
|
2818
2822
|
this.write(VNodeDataChar.SCOPED_STYLE_CHAR);
|
|
2819
2823
|
break;
|
|
2820
2824
|
|
|
2821
|
-
case
|
|
2825
|
+
case Ee:
|
|
2822
2826
|
this.write(VNodeDataChar.RENDER_FN_CHAR);
|
|
2823
2827
|
break;
|
|
2824
2828
|
|
|
@@ -2826,24 +2830,24 @@ var SSRContainer = class extends qc {
|
|
|
2826
2830
|
this.write(VNodeDataChar.ID_CHAR);
|
|
2827
2831
|
break;
|
|
2828
2832
|
|
|
2829
|
-
case
|
|
2833
|
+
case tr:
|
|
2830
2834
|
this.write(VNodeDataChar.PROPS_CHAR);
|
|
2831
2835
|
break;
|
|
2832
2836
|
|
|
2833
|
-
case
|
|
2834
|
-
|
|
2837
|
+
case Ze:
|
|
2838
|
+
r = true;
|
|
2835
2839
|
this.write(VNodeDataChar.KEY_CHAR);
|
|
2836
2840
|
break;
|
|
2837
2841
|
|
|
2838
|
-
case
|
|
2842
|
+
case nr:
|
|
2839
2843
|
this.write(VNodeDataChar.SEQ_CHAR);
|
|
2840
2844
|
break;
|
|
2841
2845
|
|
|
2842
|
-
case
|
|
2846
|
+
case er:
|
|
2843
2847
|
this.write(VNodeDataChar.SEQ_IDX_CHAR);
|
|
2844
2848
|
break;
|
|
2845
2849
|
|
|
2846
|
-
case
|
|
2850
|
+
case Fe:
|
|
2847
2851
|
this.write(VNodeDataChar.BACK_REFS_CHAR);
|
|
2848
2852
|
break;
|
|
2849
2853
|
|
|
@@ -2856,36 +2860,36 @@ var SSRContainer = class extends qc {
|
|
|
2856
2860
|
this.write(VNodeDataChar.CONTEXT_CHAR);
|
|
2857
2861
|
break;
|
|
2858
2862
|
|
|
2859
|
-
case
|
|
2863
|
+
case je:
|
|
2860
2864
|
this.write(VNodeDataChar.SLOT_CHAR);
|
|
2861
2865
|
break;
|
|
2862
2866
|
|
|
2863
2867
|
default:
|
|
2864
2868
|
{
|
|
2865
|
-
|
|
2869
|
+
r = true;
|
|
2866
2870
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2867
2871
|
this.write(encodeVNodeDataString(t));
|
|
2868
2872
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2869
2873
|
}
|
|
2870
2874
|
}
|
|
2871
|
-
const s = encodeVNodeDataString(
|
|
2872
|
-
const i =
|
|
2875
|
+
const s = encodeVNodeDataString(r ? encodeURI(n) : n);
|
|
2876
|
+
const i = r ? s !== n : false;
|
|
2873
2877
|
if (i) {
|
|
2874
2878
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2875
2879
|
this.write(s);
|
|
2876
2880
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2877
2881
|
} else {
|
|
2878
|
-
this.write(
|
|
2882
|
+
this.write(n);
|
|
2879
2883
|
}
|
|
2880
2884
|
}
|
|
2881
2885
|
}
|
|
2882
2886
|
emitStateData() {
|
|
2883
|
-
if (!this.serializationCtx.
|
|
2887
|
+
if (!this.serializationCtx.Qn.length) {
|
|
2884
2888
|
return;
|
|
2885
2889
|
}
|
|
2886
2890
|
const e = this.stateScriptAttrs();
|
|
2887
2891
|
this.openElement("script", null, e);
|
|
2888
|
-
return $r(this.serializationCtx.
|
|
2892
|
+
return $r(this.serializationCtx._t(), () => {
|
|
2889
2893
|
this.closeElement();
|
|
2890
2894
|
});
|
|
2891
2895
|
}
|
|
@@ -2895,12 +2899,12 @@ var SSRContainer = class extends qc {
|
|
|
2895
2899
|
};
|
|
2896
2900
|
const t = this.serializationCtx.Ct;
|
|
2897
2901
|
if (t.size > 0) {
|
|
2898
|
-
e["q-d:qidle"] =
|
|
2902
|
+
e["q-d:qidle"] = Gc(null, "_res", w, null, [ ...t ]);
|
|
2899
2903
|
}
|
|
2900
2904
|
return e;
|
|
2901
2905
|
}
|
|
2902
2906
|
emitSyncFnsData() {
|
|
2903
|
-
const e = this.serializationCtx.
|
|
2907
|
+
const e = this.serializationCtx.re;
|
|
2904
2908
|
if (e.length) {
|
|
2905
2909
|
const t = {
|
|
2906
2910
|
"q:func": "qwik/json"
|
|
@@ -2909,19 +2913,19 @@ var SSRContainer = class extends qc {
|
|
|
2909
2913
|
t["nonce"] = this.renderOptions.serverData.nonce;
|
|
2910
2914
|
}
|
|
2911
2915
|
this.openElement("script", null, t);
|
|
2912
|
-
this.write(Q_FUNCS_PREFIX.replace("HASH", this.
|
|
2916
|
+
this.write(Q_FUNCS_PREFIX.replace("HASH", this.fe));
|
|
2913
2917
|
this.write(BRACKET_OPEN);
|
|
2914
|
-
this.writeArray(e,
|
|
2918
|
+
this.writeArray(e, ei);
|
|
2915
2919
|
this.write(BRACKET_CLOSE);
|
|
2916
2920
|
this.closeElement();
|
|
2917
2921
|
}
|
|
2918
2922
|
}
|
|
2919
2923
|
emitPatchDataIfNeeded() {
|
|
2920
2924
|
const e = [];
|
|
2921
|
-
for (const [t,
|
|
2922
|
-
for (let
|
|
2923
|
-
const s = r
|
|
2924
|
-
e.push(t, s.attrName,
|
|
2925
|
+
for (const [t, n] of this.backpatchMap) {
|
|
2926
|
+
for (let r = 0; r < n.length; r++) {
|
|
2927
|
+
const s = n[r];
|
|
2928
|
+
e.push(t, s.attrName, Dl(s.value) ? s.value.untrackedValue : s.value);
|
|
2925
2929
|
}
|
|
2926
2930
|
}
|
|
2927
2931
|
this.backpatchMap.clear();
|
|
@@ -2959,31 +2963,31 @@ var SSRContainer = class extends qc {
|
|
|
2959
2963
|
preloaderPre(this, this.renderOptions.preloader, this.renderOptions.serverData?.nonce);
|
|
2960
2964
|
}
|
|
2961
2965
|
isStatic() {
|
|
2962
|
-
return this.serializationCtx.
|
|
2966
|
+
return this.serializationCtx.jt.size === 0;
|
|
2963
2967
|
}
|
|
2964
2968
|
emitQwikLoaderAtTopIfNeeded() {
|
|
2965
2969
|
if (this.qlInclude === 0 /* Module */) {
|
|
2966
2970
|
this.qlInclude = 2 /* Done */;
|
|
2967
|
-
const e = this.
|
|
2971
|
+
const e = this.ae + this.resolvedManifest.manifest.qwikLoader;
|
|
2968
2972
|
const t = {
|
|
2969
2973
|
rel: "modulepreload",
|
|
2970
2974
|
href: e
|
|
2971
2975
|
};
|
|
2972
|
-
const
|
|
2973
|
-
if (
|
|
2974
|
-
t["nonce"] =
|
|
2976
|
+
const n = this.renderOptions.serverData?.nonce;
|
|
2977
|
+
if (n) {
|
|
2978
|
+
t["nonce"] = n;
|
|
2975
2979
|
}
|
|
2976
2980
|
this.openElement("link", null, t);
|
|
2977
2981
|
this.closeElement();
|
|
2978
|
-
const
|
|
2982
|
+
const r = {
|
|
2979
2983
|
async: true,
|
|
2980
2984
|
type: "module",
|
|
2981
2985
|
src: e
|
|
2982
2986
|
};
|
|
2983
|
-
if (
|
|
2984
|
-
|
|
2987
|
+
if (n) {
|
|
2988
|
+
r["nonce"] = n;
|
|
2985
2989
|
}
|
|
2986
|
-
this.openElement("script", null,
|
|
2990
|
+
this.openElement("script", null, r);
|
|
2987
2991
|
this.closeElement();
|
|
2988
2992
|
}
|
|
2989
2993
|
}
|
|
@@ -3009,76 +3013,76 @@ var SSRContainer = class extends qc {
|
|
|
3009
3013
|
if (this.qlInclude !== 2 /* Done */) {
|
|
3010
3014
|
this.emitQwikLoaderInline();
|
|
3011
3015
|
}
|
|
3012
|
-
this.emitQwikEvents(Array.from(this.serializationCtx.
|
|
3016
|
+
this.emitQwikEvents(Array.from(this.serializationCtx.Pt, e => JSON.stringify(e)));
|
|
3013
3017
|
}
|
|
3014
3018
|
}
|
|
3015
3019
|
emitQwikEvents(e) {
|
|
3016
3020
|
if (e.length > 0) {
|
|
3017
3021
|
const t = {};
|
|
3018
|
-
const
|
|
3019
|
-
if (
|
|
3020
|
-
t["nonce"] =
|
|
3022
|
+
const n = this.renderOptions.serverData?.nonce;
|
|
3023
|
+
if (n) {
|
|
3024
|
+
t["nonce"] = n;
|
|
3021
3025
|
}
|
|
3022
3026
|
this.openElement("script", null, t);
|
|
3023
3027
|
this.write(`(window._qwikEv||(window._qwikEv=[])).push(`);
|
|
3024
|
-
this.writeArray(e,
|
|
3028
|
+
this.writeArray(e, ei);
|
|
3025
3029
|
this.write(PAREN_CLOSE);
|
|
3026
3030
|
this.closeElement();
|
|
3027
3031
|
}
|
|
3028
3032
|
}
|
|
3029
3033
|
// Keep in sync with process-vnode-data.unit.ts
|
|
3030
3034
|
emitVNodeSeparators(e, t) {
|
|
3031
|
-
let
|
|
3032
|
-
while (
|
|
3033
|
-
if (
|
|
3035
|
+
let n = t - e;
|
|
3036
|
+
while (n != 0) {
|
|
3037
|
+
if (n >= 8192) {
|
|
3034
3038
|
this.write(VNodeDataSeparator.ADVANCE_8192_CH);
|
|
3035
|
-
|
|
3039
|
+
n -= 8192;
|
|
3036
3040
|
} else {
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3041
|
+
n & 4096 && this.write(VNodeDataSeparator.ADVANCE_4096_CH);
|
|
3042
|
+
n & 2048 && this.write(VNodeDataSeparator.ADVANCE_2048_CH);
|
|
3043
|
+
n & 1024 && this.write(VNodeDataSeparator.ADVANCE_1024_CH);
|
|
3044
|
+
n & 512 && this.write(VNodeDataSeparator.ADVANCE_512_CH);
|
|
3045
|
+
n & 256 && this.write(VNodeDataSeparator.ADVANCE_256_CH);
|
|
3046
|
+
n & 128 && this.write(VNodeDataSeparator.ADVANCE_128_CH);
|
|
3047
|
+
n & 64 && this.write(VNodeDataSeparator.ADVANCE_64_CH);
|
|
3048
|
+
n & 32 && this.write(VNodeDataSeparator.ADVANCE_32_CH);
|
|
3049
|
+
n & 16 && this.write(VNodeDataSeparator.ADVANCE_16_CH);
|
|
3050
|
+
n & 8 && this.write(VNodeDataSeparator.ADVANCE_8_CH);
|
|
3051
|
+
n & 4 && this.write(VNodeDataSeparator.ADVANCE_4_CH);
|
|
3052
|
+
n & 2 && this.write(VNodeDataSeparator.ADVANCE_2_CH);
|
|
3053
|
+
n & 1 && this.write(VNodeDataSeparator.ADVANCE_1_CH);
|
|
3054
|
+
n = 0;
|
|
3051
3055
|
}
|
|
3052
3056
|
}
|
|
3053
3057
|
return t;
|
|
3054
3058
|
}
|
|
3055
|
-
createAndPushFrame(e, t,
|
|
3056
|
-
let
|
|
3059
|
+
createAndPushFrame(e, t, n) {
|
|
3060
|
+
let r = 10 /* ANYTHING */;
|
|
3057
3061
|
if (isDev7) {
|
|
3058
3062
|
if (!this.currentElementFrame) {
|
|
3059
|
-
|
|
3063
|
+
r = initialTag(e);
|
|
3060
3064
|
} else {
|
|
3061
3065
|
let t = this.currentElementFrame;
|
|
3062
3066
|
const s = t.tagNesting;
|
|
3063
|
-
|
|
3064
|
-
if (
|
|
3065
|
-
const
|
|
3067
|
+
r = isTagAllowed(s, e);
|
|
3068
|
+
if (r === 0 /* NOT_ALLOWED */) {
|
|
3069
|
+
const r = [];
|
|
3066
3070
|
while (t) {
|
|
3067
|
-
|
|
3071
|
+
r.unshift(t);
|
|
3068
3072
|
t = t.parent;
|
|
3069
3073
|
}
|
|
3070
3074
|
const i = [];
|
|
3071
|
-
if (
|
|
3072
|
-
i.push(`Error found in file: ${
|
|
3075
|
+
if (n) {
|
|
3076
|
+
i.push(`Error found in file: ${n}`);
|
|
3073
3077
|
}
|
|
3074
3078
|
i.push(`HTML rules do not allow '<${e}>' at this location.`, ` (The HTML parser will try to recover by auto-closing or inserting additional tags which will confuse Qwik when it resumes.)`, ` Offending tag: <${e}>`, ` Existing tag context:`);
|
|
3075
3079
|
let o = " ";
|
|
3076
3080
|
let a = "";
|
|
3077
|
-
for (let e = 0; e <
|
|
3078
|
-
const t =
|
|
3079
|
-
const [
|
|
3080
|
-
i.push(`${o}<${t.elementName}>${a !==
|
|
3081
|
-
a =
|
|
3081
|
+
for (let e = 0; e < r.length; e++) {
|
|
3082
|
+
const t = r[e];
|
|
3083
|
+
const [n, s] = allowedContent(t.tagNesting);
|
|
3084
|
+
i.push(`${o}<${t.elementName}>${a !== n ? ` [${n}]${s ? ` -> ${s}` : ""}` : ""}`);
|
|
3085
|
+
a = n;
|
|
3082
3086
|
o += " ";
|
|
3083
3087
|
}
|
|
3084
3088
|
i.push(`${o}<${e}> <= is not allowed as a child of ${allowedContent(s)[0]}.`);
|
|
@@ -3087,12 +3091,12 @@ var SSRContainer = class extends qc {
|
|
|
3087
3091
|
}
|
|
3088
3092
|
}
|
|
3089
3093
|
const s = {
|
|
3090
|
-
tagNesting:
|
|
3094
|
+
tagNesting: r,
|
|
3091
3095
|
parent: this.currentElementFrame,
|
|
3092
3096
|
elementName: e,
|
|
3093
3097
|
depthFirstElementIdx: t,
|
|
3094
3098
|
vNodeData: [ 0 /* NONE */ ],
|
|
3095
|
-
currentFile: isDev7 ?
|
|
3099
|
+
currentFile: isDev7 ? n || null : null
|
|
3096
3100
|
};
|
|
3097
3101
|
this.currentElementFrame = s;
|
|
3098
3102
|
this.vNodeDatas.push(s.vNodeData);
|
|
@@ -3108,12 +3112,12 @@ var SSRContainer = class extends qc {
|
|
|
3108
3112
|
this.writer.write(e);
|
|
3109
3113
|
}
|
|
3110
3114
|
writeArray(e, t) {
|
|
3111
|
-
for (let
|
|
3112
|
-
const
|
|
3113
|
-
if (
|
|
3115
|
+
for (let n = 0; n < e.length; n++) {
|
|
3116
|
+
const r = e[n];
|
|
3117
|
+
if (n > 0) {
|
|
3114
3118
|
this.write(t);
|
|
3115
3119
|
}
|
|
3116
|
-
this.write(
|
|
3120
|
+
this.write(r);
|
|
3117
3121
|
}
|
|
3118
3122
|
}
|
|
3119
3123
|
writeAttrs(e, t, s, i, o, a) {
|
|
@@ -3122,15 +3126,15 @@ var SSRContainer = class extends qc {
|
|
|
3122
3126
|
let u = t[c];
|
|
3123
3127
|
if (isSSRUnsafeAttr(c)) {
|
|
3124
3128
|
if (isDev7) {
|
|
3125
|
-
throw
|
|
3129
|
+
throw Se(32 /* unsafeAttr */ , [ c ]);
|
|
3126
3130
|
}
|
|
3127
3131
|
continue;
|
|
3128
3132
|
}
|
|
3129
|
-
if (
|
|
3133
|
+
if (br(c)) {
|
|
3130
3134
|
u = _setEvent(this.serializationCtx, c, u, a);
|
|
3131
3135
|
} else if (c === "ref") {
|
|
3132
3136
|
const e = this.getOrCreateLastNode();
|
|
3133
|
-
if (
|
|
3137
|
+
if (Dl(u)) {
|
|
3134
3138
|
u.Zt = new DomRef(e);
|
|
3135
3139
|
continue;
|
|
3136
3140
|
} else if (typeof u === "function") {
|
|
@@ -3139,20 +3143,20 @@ var SSRContainer = class extends qc {
|
|
|
3139
3143
|
} else if (u == null) {
|
|
3140
3144
|
continue;
|
|
3141
3145
|
} else {
|
|
3142
|
-
throw
|
|
3146
|
+
throw Se(15 /* invalidRefValue */ , [ o ]);
|
|
3143
3147
|
}
|
|
3144
|
-
} else if (c ===
|
|
3148
|
+
} else if (c === rr || c === ir) {
|
|
3145
3149
|
u = this.serializationCtx.kt(u);
|
|
3146
|
-
} else if (
|
|
3150
|
+
} else if (Dl(u)) {
|
|
3147
3151
|
const e = this.getOrCreateLastNode();
|
|
3148
|
-
const t = new
|
|
3149
|
-
|
|
3152
|
+
const t = new fs({
|
|
3153
|
+
M: i,
|
|
3150
3154
|
et: s
|
|
3151
3155
|
});
|
|
3152
3156
|
const r = u;
|
|
3153
3157
|
u = n(() => this.trackSignalValue(r, e, c, t));
|
|
3154
3158
|
}
|
|
3155
|
-
if (
|
|
3159
|
+
if (dr(u)) {
|
|
3156
3160
|
const e = this.getOrCreateLastNode();
|
|
3157
3161
|
this.addPromiseAttribute(u);
|
|
3158
3162
|
u.then(t => {
|
|
@@ -3160,7 +3164,7 @@ var SSRContainer = class extends qc {
|
|
|
3160
3164
|
});
|
|
3161
3165
|
continue;
|
|
3162
3166
|
}
|
|
3163
|
-
if (c ===
|
|
3167
|
+
if (c === fr) {
|
|
3164
3168
|
if (u) {
|
|
3165
3169
|
l = String(u);
|
|
3166
3170
|
c = Ve;
|
|
@@ -3175,7 +3179,7 @@ var SSRContainer = class extends qc {
|
|
|
3175
3179
|
if (e === "textarea" && c === "value") {
|
|
3176
3180
|
if (u && typeof u !== "string") {
|
|
3177
3181
|
if (isDev7) {
|
|
3178
|
-
throw
|
|
3182
|
+
throw Se(23 /* wrongTextareaValue */ , [ o, u ]);
|
|
3179
3183
|
}
|
|
3180
3184
|
continue;
|
|
3181
3185
|
}
|
|
@@ -3185,7 +3189,7 @@ var SSRContainer = class extends qc {
|
|
|
3185
3189
|
}
|
|
3186
3190
|
const d = r(c, u, i);
|
|
3187
3191
|
if (d != null && d !== false) {
|
|
3188
|
-
this.write(
|
|
3192
|
+
this.write(Lf);
|
|
3189
3193
|
this.write(c);
|
|
3190
3194
|
if (d !== true) {
|
|
3191
3195
|
this.write(ATTR_EQUALS_QUOTE);
|
|
@@ -3217,17 +3221,17 @@ var isQwikStyleElement = (e, t) => {
|
|
|
3217
3221
|
};
|
|
3218
3222
|
|
|
3219
3223
|
function newTagError(e) {
|
|
3220
|
-
return
|
|
3224
|
+
return Se(12 /* tagError */ , [ e ]);
|
|
3221
3225
|
}
|
|
3222
3226
|
|
|
3223
3227
|
function hasDestroy(e) {
|
|
3224
|
-
return e && typeof e === "object" && typeof e.
|
|
3228
|
+
return e && typeof e === "object" && typeof e.Cn === "function";
|
|
3225
3229
|
}
|
|
3226
3230
|
|
|
3227
3231
|
function isSSRUnsafeAttr(e) {
|
|
3228
3232
|
for (let t = 0; t < e.length; t++) {
|
|
3229
|
-
const
|
|
3230
|
-
if (
|
|
3233
|
+
const n = e.charCodeAt(t);
|
|
3234
|
+
if (n === 62 || n === 47 || n === 61 || n === 34 || n === 39 || n === 9 || n === 10 || n === 12 || n === 32) {
|
|
3231
3235
|
return true;
|
|
3232
3236
|
}
|
|
3233
3237
|
}
|
|
@@ -3239,9 +3243,9 @@ function randomStr() {
|
|
|
3239
3243
|
}
|
|
3240
3244
|
|
|
3241
3245
|
function addPreventDefaultEventToSerializationContext(e, t) {
|
|
3242
|
-
const
|
|
3243
|
-
if (
|
|
3244
|
-
e.
|
|
3246
|
+
const n = "e" + t.substring(14);
|
|
3247
|
+
if (n) {
|
|
3248
|
+
e.Pt.add(n);
|
|
3245
3249
|
}
|
|
3246
3250
|
}
|
|
3247
3251
|
|
|
@@ -3303,8 +3307,8 @@ var StreamHandler = class {
|
|
|
3303
3307
|
default:
|
|
3304
3308
|
case "auto":
|
|
3305
3309
|
{
|
|
3306
|
-
const
|
|
3307
|
-
const
|
|
3310
|
+
const n = this.inOrderStreaming.maximumChunk ?? 0;
|
|
3311
|
+
const r = this.inOrderStreaming.maximumInitialChunk ?? 0;
|
|
3308
3312
|
t = {
|
|
3309
3313
|
write(t) {
|
|
3310
3314
|
if (t === void 0 || t === null) {
|
|
@@ -3312,7 +3316,7 @@ var StreamHandler = class {
|
|
|
3312
3316
|
}
|
|
3313
3317
|
e.enqueue(t);
|
|
3314
3318
|
if (e.streamBlockDepth === 0) {
|
|
3315
|
-
const t = e.networkFlushes === 0 ?
|
|
3319
|
+
const t = e.networkFlushes === 0 ? r : n;
|
|
3316
3320
|
if (e.bufferSize >= t) {
|
|
3317
3321
|
e.flush();
|
|
3318
3322
|
}
|
|
@@ -3362,42 +3366,42 @@ var StreamHandler = class {
|
|
|
3362
3366
|
|
|
3363
3367
|
// packages/qwik/src/server/ssr-render.ts
|
|
3364
3368
|
var renderToString = async (e, t = {}) => {
|
|
3365
|
-
const
|
|
3366
|
-
const
|
|
3369
|
+
const n = [];
|
|
3370
|
+
const r = {
|
|
3367
3371
|
write(e) {
|
|
3368
|
-
|
|
3372
|
+
n.push(e);
|
|
3369
3373
|
}
|
|
3370
3374
|
};
|
|
3371
3375
|
const s = await renderToStream(e, {
|
|
3372
3376
|
...t,
|
|
3373
|
-
stream:
|
|
3377
|
+
stream: r
|
|
3374
3378
|
});
|
|
3375
3379
|
return {
|
|
3376
3380
|
isStatic: s.isStatic,
|
|
3377
3381
|
timing: s.timing,
|
|
3378
3382
|
manifest: s.manifest,
|
|
3379
3383
|
snapshotResult: s.snapshotResult,
|
|
3380
|
-
html:
|
|
3384
|
+
html: n.join("")
|
|
3381
3385
|
};
|
|
3382
3386
|
};
|
|
3383
3387
|
|
|
3384
3388
|
var renderToStream = async (e, t) => {
|
|
3385
|
-
const
|
|
3389
|
+
const n = {
|
|
3386
3390
|
firstFlush: 0,
|
|
3387
3391
|
render: 0,
|
|
3388
3392
|
snapshot: 0
|
|
3389
3393
|
};
|
|
3390
|
-
const
|
|
3394
|
+
const r = t.containerTagName ?? "html";
|
|
3391
3395
|
const s = getBuildBase(t);
|
|
3392
3396
|
const i = resolveManifest(t.manifest);
|
|
3393
3397
|
const o = typeof t.locale === "function" ? t.locale(t) : t.serverData?.locale || t.locale || t.containerAttributes?.locale || "";
|
|
3394
|
-
const a = new StreamHandler(t,
|
|
3398
|
+
const a = new StreamHandler(t, n);
|
|
3395
3399
|
const l = ssrCreateContainer({
|
|
3396
|
-
tagName:
|
|
3400
|
+
tagName: r,
|
|
3397
3401
|
locale: o,
|
|
3398
3402
|
writer: a.stream,
|
|
3399
3403
|
streamHandler: a,
|
|
3400
|
-
timing:
|
|
3404
|
+
timing: n,
|
|
3401
3405
|
buildBase: s,
|
|
3402
3406
|
resolvedManifest: i,
|
|
3403
3407
|
renderOptions: t
|
|
@@ -3411,7 +3415,7 @@ var renderToStream = async (e, t) => {
|
|
|
3411
3415
|
manifest: i?.manifest,
|
|
3412
3416
|
size: l.size,
|
|
3413
3417
|
isStatic: false,
|
|
3414
|
-
timing:
|
|
3418
|
+
timing: n
|
|
3415
3419
|
};
|
|
3416
3420
|
return c;
|
|
3417
3421
|
};
|
|
@@ -3426,9 +3430,9 @@ function resolveManifest(e) {
|
|
|
3426
3430
|
}
|
|
3427
3431
|
if (t.mapping) {
|
|
3428
3432
|
const e = {};
|
|
3429
|
-
for (const
|
|
3430
|
-
const
|
|
3431
|
-
e[getSymbolHash2(
|
|
3433
|
+
for (const n in t.mapping) {
|
|
3434
|
+
const r = t.mapping[n];
|
|
3435
|
+
e[getSymbolHash2(n)] = [ n, r ];
|
|
3432
3436
|
}
|
|
3433
3437
|
return {
|
|
3434
3438
|
mapper: e,
|