@qwik.dev/core 2.0.0-alpha.0 → 2.0.0-alpha.10
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/bindings/qwik.darwin-arm64.node +0 -0
- package/bindings/qwik.darwin-x64.node +0 -0
- package/bindings/qwik.linux-x64-gnu.node +0 -0
- package/bindings/qwik.wasm.cjs +259 -272
- package/bindings/qwik.wasm.mjs +259 -272
- package/bindings/qwik.win32-x64-msvc.node +0 -0
- package/bindings/qwik_wasm_bg.wasm +0 -0
- package/dist/build/index.cjs +3 -3
- package/dist/build/index.d.ts +22 -22
- package/dist/build/package.json +1 -1
- package/dist/cli.cjs +1453 -798
- package/dist/core-internal.d.ts +4368 -3895
- package/dist/core.cjs +6792 -6121
- package/dist/core.cjs.map +1 -1
- package/dist/core.min.mjs +1 -1
- package/dist/core.mjs +6765 -6117
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.cjs +3571 -3206
- package/dist/core.prod.mjs +3919 -3586
- package/dist/insights/index.qwik.cjs +1 -751
- package/dist/insights/index.qwik.mjs +62 -741
- package/dist/insights/vite/index.cjs +1 -82
- package/dist/insights/vite/index.mjs +65 -37
- package/dist/insights/vite.d.ts +22 -0
- package/dist/{insights/insights.d.ts → insights.d.ts} +33 -22
- package/dist/loader/index.cjs +2 -2
- package/dist/loader/index.mjs +2 -2
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.cjs +693 -5851
- package/dist/optimizer.d.ts +741 -707
- package/dist/optimizer.mjs +679 -6276
- package/dist/preloader.cjs +243 -0
- package/dist/preloader.mjs +183 -0
- package/dist/qwikloader.debug.js +211 -220
- package/dist/qwikloader.js +1 -3
- package/dist/server.cjs +1371 -7273
- package/dist/server.d.ts +467 -402
- package/dist/server.mjs +1339 -7224
- package/dist/starters/adapters/aws-lambda/serverless.yml +15 -0
- package/dist/starters/adapters/aws-lambda/src/entry_aws-lambda.tsx +0 -2
- package/dist/starters/adapters/azure-swa/public/staticwebapp.config.json +7 -0
- package/dist/starters/adapters/azure-swa/src/entry.azure-swa.tsx +1 -2
- package/dist/starters/adapters/bun/src/entry.bun.ts +3 -2
- package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +1 -3
- package/dist/starters/adapters/cloudflare-pages/public/_headers +2 -0
- package/dist/starters/adapters/cloudflare-pages/src/entry.cloudflare-pages.tsx +1 -2
- package/dist/starters/adapters/deno/src/entry.deno.ts +3 -2
- package/dist/starters/adapters/express/src/entry.express.tsx +5 -2
- package/dist/starters/adapters/fastify/src/entry.fastify.tsx +2 -1
- package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +11 -1
- package/dist/starters/adapters/firebase/firebase.json +12 -1
- package/dist/starters/adapters/firebase/functions/index.js +2 -3
- package/dist/starters/adapters/firebase/src/entry-firebase.tsx +1 -2
- package/dist/starters/adapters/netlify-edge/public/_headers +2 -0
- package/dist/starters/adapters/netlify-edge/src/entry.netlify-edge.tsx +1 -2
- package/dist/starters/adapters/node-server/src/entry.node-server.tsx +3 -2
- package/dist/starters/adapters/static/README.md +4 -0
- package/dist/starters/adapters/vercel-edge/src/entry.vercel-edge.tsx +1 -2
- package/dist/starters/adapters/vercel-edge/vercel.json +1 -1
- package/dist/starters/features/auth/package.json +3 -1
- package/dist/starters/features/bootstrap/src/routes/bootstrap/layout.tsx +0 -11
- package/dist/starters/features/cypress/package.json +1 -1
- package/dist/starters/features/drizzle/drizzle/schema.ts +6 -18
- package/dist/starters/features/drizzle/drizzle.config.ts +5 -4
- package/dist/starters/features/drizzle/package.json +16 -12
- package/dist/starters/features/localize/src/entry.ssr.tsx +0 -2
- package/dist/starters/features/localize/src/routes/[locale]/i18n-utils.ts +1 -1
- package/dist/starters/features/pandacss/package.json +1 -1
- package/dist/starters/features/partytown/package.json +1 -1
- package/dist/starters/features/postcss/package.json +4 -1
- package/dist/starters/features/postcss/postcss.config.js +1 -1
- package/dist/starters/features/prisma/package.json +3 -2
- package/dist/starters/features/react/package.json +1 -1
- package/dist/starters/features/service-worker/package.json +13 -0
- package/dist/starters/features/service-worker/src/routes/service-worker.ts +14 -0
- package/dist/starters/features/storybook/package.json +1 -1
- package/dist/starters/features/styled-vanilla-extract/package.json +4 -2
- package/dist/starters/features/tailwind/package.json +19 -9
- package/dist/starters/features/tailwind/src/global.css +1 -7
- package/dist/starters/features/tailwind-v3/package.json +21 -0
- package/dist/starters/features/{tailwind → tailwind-v3}/postcss.config.cjs +1 -1
- package/dist/starters/features/tailwind-v3/src/global.css +7 -0
- package/dist/starters/features/{tailwind → tailwind-v3}/tailwind.config.js +1 -1
- package/dist/starters/features/turso/package.json +5 -2
- package/dist/starters/features/turso/src/utils/turso.ts +1 -1
- package/dist/starters/features/vitest/package.json +1 -1
- package/dist/testing/index.cjs +7568 -6858
- package/dist/testing/index.d.ts +141 -140
- package/dist/testing/index.mjs +7501 -6790
- package/dist/testing/package.json +1 -1
- package/handlers.mjs +9 -0
- package/package.json +32 -20
- package/public.d.ts +15 -0
- package/server.d.ts +1 -0
- package/dist/index.d.ts +0 -2
- package/dist/insights/index.d.ts +0 -1
- package/dist/insights/vite/index.d.ts +0 -1
- package/dist/insights/vite/insights-plugin.d.ts +0 -10
- package/dist/prefetch/index.cjs +0 -4
- package/dist/prefetch/index.d.ts +0 -2
- package/dist/prefetch/index.mjs +0 -3
- package/dist/prefetch/package.json +0 -8
- package/dist/qwik-prefetch.debug.js +0 -244
- package/dist/qwik-prefetch.js +0 -1
- /package/dist/starters/features/{tailwind → tailwind-v3}/.vscode/settings.json +0 -0
package/dist/qwikloader.debug.js
CHANGED
|
@@ -1,228 +1,219 @@
|
|
|
1
1
|
(() => {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
const doc = document;
|
|
3
|
+
const win = window;
|
|
4
|
+
const events = /* @__PURE__ */ new Set();
|
|
5
|
+
const roots = /* @__PURE__ */ new Set([doc]);
|
|
6
|
+
let hasInitialized;
|
|
7
|
+
const nativeQuerySelectorAll = (root, selector) => Array.from(root.querySelectorAll(selector));
|
|
8
|
+
const querySelectorAll = (query) => {
|
|
9
|
+
const elements = [];
|
|
10
|
+
roots.forEach((root) => elements.push(...nativeQuerySelectorAll(root, query)));
|
|
11
|
+
return elements;
|
|
12
|
+
};
|
|
13
|
+
const findShadowRoots = (fragment) => {
|
|
14
|
+
processEventOrNode(fragment);
|
|
15
|
+
nativeQuerySelectorAll(fragment, "[q\\:shadowroot]").forEach((parent) => {
|
|
16
|
+
const shadowRoot = parent.shadowRoot;
|
|
17
|
+
shadowRoot && findShadowRoots(shadowRoot);
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
const isPromise = (promise) => promise && typeof promise.then === "function";
|
|
21
|
+
const broadcast = (infix, ev, type = ev.type) => {
|
|
22
|
+
querySelectorAll("[on" + infix + "\\:" + type + "]").forEach(
|
|
23
|
+
(el) => dispatch(el, infix, ev, type)
|
|
24
|
+
);
|
|
25
|
+
};
|
|
26
|
+
const resolveContainer = (containerEl) => {
|
|
27
|
+
if (containerEl._qwikjson_ === void 0) {
|
|
28
|
+
const parentJSON = containerEl === doc.documentElement ? doc.body : containerEl;
|
|
29
|
+
let script = parentJSON.lastElementChild;
|
|
30
|
+
while (script) {
|
|
31
|
+
if (script.tagName === "SCRIPT" && script.getAttribute("type") === "qwik/json") {
|
|
32
|
+
containerEl._qwikjson_ = JSON.parse(
|
|
33
|
+
script.textContent.replace(/\\x3C(\/?script)/gi, "<$1")
|
|
34
|
+
);
|
|
35
|
+
break;
|
|
15
36
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
37
|
+
script = script.previousElementSibling;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
const createEvent = (eventName, detail) => new CustomEvent(eventName, {
|
|
42
|
+
detail
|
|
43
|
+
});
|
|
44
|
+
const dispatch = async (element, scope, ev, eventName = ev.type) => {
|
|
45
|
+
const attrName = "on" + scope + ":" + eventName;
|
|
46
|
+
if (element.hasAttribute("preventdefault:" + eventName)) {
|
|
47
|
+
ev.preventDefault();
|
|
48
|
+
}
|
|
49
|
+
if (element.hasAttribute("stoppropagation:" + eventName)) {
|
|
50
|
+
ev.stopPropagation();
|
|
51
|
+
}
|
|
52
|
+
const ctx = element._qc_;
|
|
53
|
+
const relevantListeners = ctx && ctx.li.filter((li) => li[0] === attrName);
|
|
54
|
+
if (relevantListeners && relevantListeners.length > 0) {
|
|
55
|
+
for (const listener of relevantListeners) {
|
|
56
|
+
const results = listener[1].getFn([element, ev], () => element.isConnected)(ev, element);
|
|
57
|
+
const cancelBubble = ev.cancelBubble;
|
|
58
|
+
if (isPromise(results)) {
|
|
59
|
+
await results;
|
|
20
60
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
isPromise(results) && await results;
|
|
70
|
-
cancelBubble && ev.stopPropagation();
|
|
71
|
-
}
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
const qDispatchEvent = element.qDispatchEvent;
|
|
75
|
-
if (qDispatchEvent) {
|
|
76
|
-
return qDispatchEvent(ev, scope);
|
|
77
|
-
}
|
|
78
|
-
const attrValue = element.getAttribute(attrName);
|
|
79
|
-
if (attrValue) {
|
|
80
|
-
const container = element.closest("[q\\:container]:not([q\\:container=html]):not([q\\:container=text])");
|
|
81
|
-
const qBase = container.getAttribute("q:base");
|
|
82
|
-
const qVersion = container.getAttribute("q:version") || "unknown";
|
|
83
|
-
const qManifest = container.getAttribute("q:manifest-hash") || "dev";
|
|
84
|
-
const base = new URL(qBase, doc.baseURI);
|
|
85
|
-
for (const qrl of attrValue.split("\n")) {
|
|
86
|
-
const url = new URL(qrl, base);
|
|
87
|
-
const href = url.href;
|
|
88
|
-
const symbol = url.hash.replace(/^#?([^?[|]*).*$/, "$1") || "default";
|
|
89
|
-
const reqTime = performance.now();
|
|
90
|
-
let handler;
|
|
91
|
-
let importError;
|
|
92
|
-
let error;
|
|
93
|
-
const isSync = qrl.startsWith("#");
|
|
94
|
-
const eventData = {
|
|
95
|
-
qBase: qBase,
|
|
96
|
-
qManifest: qManifest,
|
|
97
|
-
qVersion: qVersion,
|
|
98
|
-
href: href,
|
|
99
|
-
symbol: symbol,
|
|
100
|
-
element: element,
|
|
101
|
-
reqTime: reqTime
|
|
102
|
-
};
|
|
103
|
-
if (isSync) {
|
|
104
|
-
const hash = container.getAttribute("q:instance");
|
|
105
|
-
handler = (doc["qFuncs_" + hash] || [])[Number.parseInt(symbol)];
|
|
106
|
-
if (!handler) {
|
|
107
|
-
importError = "sync";
|
|
108
|
-
error = new Error("sync handler error for symbol: " + symbol);
|
|
109
|
-
}
|
|
110
|
-
} else {
|
|
111
|
-
const uri = url.href.split("#")[0];
|
|
112
|
-
try {
|
|
113
|
-
const module = import(
|
|
114
|
-
/* @vite-ignore */
|
|
115
|
-
uri);
|
|
116
|
-
resolveContainer(container);
|
|
117
|
-
handler = (await module)[symbol];
|
|
118
|
-
if (!handler) {
|
|
119
|
-
importError = "no-symbol";
|
|
120
|
-
error = new Error(`${symbol} not in ${uri}`);
|
|
121
|
-
}
|
|
122
|
-
} catch (err) {
|
|
123
|
-
importError || (importError = "async");
|
|
124
|
-
error = err;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
if (!handler) {
|
|
128
|
-
emitEvent("qerror", __spreadValues({
|
|
129
|
-
importError: importError,
|
|
130
|
-
error: error
|
|
131
|
-
}, eventData));
|
|
132
|
-
console.error(error);
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
const previousCtx = doc[Q_CONTEXT];
|
|
136
|
-
if (element.isConnected) {
|
|
137
|
-
const handleEvent = async (retryCount = 0) => {
|
|
138
|
-
try {
|
|
139
|
-
doc[Q_CONTEXT] = [ element, ev, url ];
|
|
140
|
-
isSync || emitEvent("qsymbol", __spreadValues({}, eventData));
|
|
141
|
-
const results = handler(ev, element);
|
|
142
|
-
isPromise(results) && await results;
|
|
143
|
-
} catch (error2) {
|
|
144
|
-
isPromise(error2) && retryCount < 100 ? error2.then((() => handleEvent(retryCount++))) : emitEvent("qerror", __spreadValues({
|
|
145
|
-
error: error2
|
|
146
|
-
}, eventData));
|
|
147
|
-
} finally {
|
|
148
|
-
doc[Q_CONTEXT] = previousCtx;
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
handleEvent();
|
|
152
|
-
}
|
|
153
|
-
}
|
|
61
|
+
if (cancelBubble) {
|
|
62
|
+
ev.stopPropagation();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const attrValue = element.getAttribute(attrName);
|
|
68
|
+
const qDispatchEvent = element.qDispatchEvent;
|
|
69
|
+
if (qDispatchEvent) {
|
|
70
|
+
return qDispatchEvent(ev, scope);
|
|
71
|
+
}
|
|
72
|
+
if (attrValue) {
|
|
73
|
+
const container = element.closest(
|
|
74
|
+
"[q\\:container]:not([q\\:container=html]):not([q\\:container=text])"
|
|
75
|
+
);
|
|
76
|
+
const qBase = container.getAttribute("q:base");
|
|
77
|
+
const qVersion = container.getAttribute("q:version") || "unknown";
|
|
78
|
+
const qManifest = container.getAttribute("q:manifest-hash") || "dev";
|
|
79
|
+
const base = new URL(qBase, doc.baseURI);
|
|
80
|
+
for (const qrl of attrValue.split("\n")) {
|
|
81
|
+
const url = new URL(qrl, base);
|
|
82
|
+
const href = url.href;
|
|
83
|
+
const symbol = url.hash.replace(/^#?([^?[|]*).*$/, "$1") || "default";
|
|
84
|
+
const reqTime = performance.now();
|
|
85
|
+
let handler;
|
|
86
|
+
let importError;
|
|
87
|
+
let error;
|
|
88
|
+
const isSync = qrl.startsWith("#");
|
|
89
|
+
const eventData = { qBase, qManifest, qVersion, href, symbol, element, reqTime };
|
|
90
|
+
if (isSync) {
|
|
91
|
+
const hash = container.getAttribute("q:instance");
|
|
92
|
+
handler = (doc["qFuncs_" + hash] || [])[Number.parseInt(symbol)];
|
|
93
|
+
if (!handler) {
|
|
94
|
+
importError = "sync";
|
|
95
|
+
error = new Error("sym:" + symbol);
|
|
96
|
+
}
|
|
97
|
+
} else {
|
|
98
|
+
const uri = url.href.split("#")[0];
|
|
99
|
+
try {
|
|
100
|
+
const module = import(
|
|
101
|
+
/* @vite-ignore */
|
|
102
|
+
uri
|
|
103
|
+
);
|
|
104
|
+
resolveContainer(container);
|
|
105
|
+
handler = (await module)[symbol];
|
|
106
|
+
if (!handler) {
|
|
107
|
+
importError = "no-symbol";
|
|
108
|
+
error = new Error(`${symbol} not in ${uri}`);
|
|
154
109
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
110
|
+
} catch (err) {
|
|
111
|
+
importError || (importError = "async");
|
|
112
|
+
error = err;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (!handler) {
|
|
116
|
+
emitEvent("qerror", { importError, error, ...eventData });
|
|
117
|
+
console.error(error);
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
const previousCtx = doc.__q_context__;
|
|
121
|
+
if (element.isConnected) {
|
|
122
|
+
try {
|
|
123
|
+
doc.__q_context__ = [element, ev, url];
|
|
124
|
+
isSync || emitEvent("qsymbol", { ...eventData });
|
|
125
|
+
const results = handler(ev, element);
|
|
126
|
+
if (isPromise(results)) {
|
|
127
|
+
await results;
|
|
170
128
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
129
|
+
} catch (error2) {
|
|
130
|
+
emitEvent("qerror", { error: error2, ...eventData });
|
|
131
|
+
} finally {
|
|
132
|
+
doc.__q_context__ = previousCtx;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
const emitEvent = (eventName, detail) => {
|
|
139
|
+
doc.dispatchEvent(createEvent(eventName, detail));
|
|
140
|
+
};
|
|
141
|
+
const camelToKebab = (str) => str.replace(/([A-Z])/g, (a) => "-" + a.toLowerCase());
|
|
142
|
+
const processDocumentEvent = async (ev) => {
|
|
143
|
+
let type = camelToKebab(ev.type);
|
|
144
|
+
let element = ev.target;
|
|
145
|
+
broadcast("-document", ev, type);
|
|
146
|
+
while (element && element.getAttribute) {
|
|
147
|
+
const results = dispatch(element, "", ev, type);
|
|
148
|
+
let cancelBubble = ev.cancelBubble;
|
|
149
|
+
if (isPromise(results)) {
|
|
150
|
+
await results;
|
|
151
|
+
}
|
|
152
|
+
cancelBubble = cancelBubble || ev.cancelBubble || element.hasAttribute("stoppropagation:" + ev.type);
|
|
153
|
+
element = ev.bubbles && cancelBubble !== true ? element.parentElement : null;
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
const processWindowEvent = (ev) => {
|
|
157
|
+
broadcast("-window", ev, camelToKebab(ev.type));
|
|
158
|
+
};
|
|
159
|
+
const processReadyStateChange = () => {
|
|
160
|
+
var _a;
|
|
161
|
+
const readyState = doc.readyState;
|
|
162
|
+
if (!hasInitialized && (readyState == "interactive" || readyState == "complete")) {
|
|
163
|
+
roots.forEach(findShadowRoots);
|
|
164
|
+
hasInitialized = 1;
|
|
165
|
+
emitEvent("qinit");
|
|
166
|
+
const riC = (_a = win.requestIdleCallback) != null ? _a : win.setTimeout;
|
|
167
|
+
riC.bind(win)(() => emitEvent("qidle"));
|
|
168
|
+
if (events.has("qvisible")) {
|
|
169
|
+
const results = querySelectorAll("[on\\:qvisible]");
|
|
170
|
+
const observer = new IntersectionObserver((entries) => {
|
|
171
|
+
for (const entry of entries) {
|
|
172
|
+
if (entry.isIntersecting) {
|
|
173
|
+
observer.unobserve(entry.target);
|
|
174
|
+
dispatch(entry.target, "", createEvent("qvisible", entry));
|
|
195
175
|
}
|
|
196
|
-
|
|
197
|
-
const addEventListener = (el, eventName, handler, capture = !1) => el.addEventListener(eventName, handler, {
|
|
198
|
-
capture: capture,
|
|
199
|
-
passive: !1
|
|
176
|
+
}
|
|
200
177
|
});
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
addEventListener(doc, "readystatechange", processReadyStateChange);
|
|
225
|
-
processReadyStateChange();
|
|
178
|
+
results.forEach((el) => observer.observe(el));
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
const addEventListener = (el, eventName, handler, capture = false) => {
|
|
183
|
+
return el.addEventListener(eventName, handler, { capture, passive: false });
|
|
184
|
+
};
|
|
185
|
+
const processEventOrNode = (...eventNames) => {
|
|
186
|
+
for (const eventNameOrNode of eventNames) {
|
|
187
|
+
if (typeof eventNameOrNode === "string") {
|
|
188
|
+
if (!events.has(eventNameOrNode)) {
|
|
189
|
+
roots.forEach(
|
|
190
|
+
(root) => addEventListener(root, eventNameOrNode, processDocumentEvent, true)
|
|
191
|
+
);
|
|
192
|
+
addEventListener(win, eventNameOrNode, processWindowEvent, true);
|
|
193
|
+
events.add(eventNameOrNode);
|
|
194
|
+
}
|
|
195
|
+
} else {
|
|
196
|
+
if (!roots.has(eventNameOrNode)) {
|
|
197
|
+
events.forEach(
|
|
198
|
+
(eventName) => addEventListener(eventNameOrNode, eventName, processDocumentEvent, true)
|
|
199
|
+
);
|
|
200
|
+
roots.add(eventNameOrNode);
|
|
226
201
|
}
|
|
227
|
-
|
|
228
|
-
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
if (!("__q_context__" in doc)) {
|
|
206
|
+
doc.__q_context__ = 0;
|
|
207
|
+
const qwikevents = win.qwikevents;
|
|
208
|
+
if (Array.isArray(qwikevents)) {
|
|
209
|
+
processEventOrNode(...qwikevents);
|
|
210
|
+
}
|
|
211
|
+
win.qwikevents = {
|
|
212
|
+
events,
|
|
213
|
+
roots,
|
|
214
|
+
push: processEventOrNode
|
|
215
|
+
};
|
|
216
|
+
addEventListener(doc, "readystatechange", processReadyStateChange);
|
|
217
|
+
processReadyStateChange();
|
|
218
|
+
}
|
|
219
|
+
})();
|
package/dist/qwikloader.js
CHANGED
|
@@ -1,3 +1 @@
|
|
|
1
|
-
(()=>{
|
|
2
|
-
/* @vite-ignore */
|
|
3
|
-
e);w(r),m=(await t)[y],m||(v="no-symbol",E=Error(`${y} not in ${e}`))}catch(e){v||(v="async"),E=e}}if(!m){g("qerror",s({importError:v,error:E},A)),console.error(E);break}const k=e[n];if(t[p]){const r=async(a=0)=>{try{e[n]=[t,o,u],_||g("qsymbol",s({},A));const r=m(o,t);q(r)&&await r}catch(e){q(e)&&a<100?e.then((()=>r(a++))):g("qerror",s({error:e},A))}finally{e[n]=k}};r()}}}},g=(t,n)=>{e.dispatchEvent(v(t,n))},_=e=>e[c](/([A-Z])/g,(e=>"-"+e.toLowerCase())),A=async e=>{let t=_(e.type),n=e[l];for(m("-document",e,t);n&&n[f];){const r=E(n,"",e,t);let o=e.cancelBubble;q(r)&&await r,o=o||e.cancelBubble||n.hasAttribute("stoppropagation:"+e.type),n=e.bubbles&&!0!==o?n.parentElement:null}},k=e=>{m("-window",e,_(e.type))},C=()=>{var n;const s=e.readyState;if(!t&&("interactive"==s||"complete"==s)&&(a.forEach(d),t=1,g("qinit"),(null!=(n=r.requestIdleCallback)?n:r.setTimeout).bind(r)((()=>g("qidle"))),o.has(b))){const e=y("[on\\:"+b+"]"),t=new IntersectionObserver((e=>{for(const n of e)n.isIntersecting&&(t.unobserve(n[l]),E(n[l],"",v(b,n)))}));e[i]((e=>t.observe(e)))}},O=(e,t,n,r=!1)=>e.addEventListener(t,n,{capture:r,passive:!1}),S=(...e)=>{for(const t of e)"string"==typeof t?o.has(t)||(a.forEach((e=>O(e,t,A,!0))),O(r,t,k,!0),o.add(t)):a.has(t)||(o.forEach((e=>O(t,e,A,!0))),a.add(t))};if(!(n in e)){e[n]=0;const t=r.qwikevents;Array.isArray(t)&&S(...t),r.qwikevents={events:o,roots:a,push:S},O(e,"readystatechange",C),C()}})(document)})();
|
|
1
|
+
(()=>{const t=document,e=window,n=new Set,o=new Set([t]);let r;const s=(t,e)=>Array.from(t.querySelectorAll(e)),a=t=>{const e=[];return o.forEach((n=>e.push(...s(n,t)))),e},i=t=>{m(t),s(t,"[q\\:shadowroot]").forEach((t=>{const e=t.shadowRoot;e&&i(e)}))},c=t=>t&&"function"==typeof t.then,l=(t,e,n=e.type)=>{a("[on"+t+"\\:"+n+"]").forEach((o=>u(o,t,e,n)))},f=e=>{if(void 0===e._qwikjson_){let n=(e===t.documentElement?t.body:e).lastElementChild;for(;n;){if("SCRIPT"===n.tagName&&"qwik/json"===n.getAttribute("type")){e._qwikjson_=JSON.parse(n.textContent.replace(/\\x3C(\/?script)/gi,"<$1"));break}n=n.previousElementSibling}}},p=(t,e)=>new CustomEvent(t,{detail:e}),u=async(e,n,o,r=o.type)=>{const s="on"+n+":"+r;e.hasAttribute("preventdefault:"+r)&&o.preventDefault(),e.hasAttribute("stoppropagation:"+r)&&o.stopPropagation();const a=e._qc_,i=a&&a.li.filter((t=>t[0]===s));if(i&&i.length>0){for(const t of i){const n=t[1].getFn([e,o],(()=>e.isConnected))(o,e),r=o.cancelBubble;c(n)&&await n,r&&o.stopPropagation()}return}const l=e.getAttribute(s),p=e.qDispatchEvent;if(p)return p(o,n);if(l){const n=e.closest("[q\\:container]:not([q\\:container=html]):not([q\\:container=text])"),r=n.getAttribute("q:base"),s=n.getAttribute("q:version")||"unknown",a=n.getAttribute("q:manifest-hash")||"dev",i=new URL(r,t.baseURI);for(const p of l.split("\n")){const l=new URL(p,i),u=l.href,q=l.hash.replace(/^#?([^?[|]*).*$/,"$1")||"default",h=performance.now();let _,d,y;const m=p.startsWith("#"),w={qBase:r,qManifest:a,qVersion:s,href:u,symbol:q,element:e,reqTime:h};if(m){const e=n.getAttribute("q:instance");_=(t["qFuncs_"+e]||[])[Number.parseInt(q)],_||(d="sync",y=Error("sym:"+q))}else{const t=l.href.split("#")[0];try{const e=import(t);f(n),_=(await e)[q],_||(d="no-symbol",y=Error(`${q} not in ${t}`))}catch(t){d||(d="async"),y=t}}if(!_){b("qerror",{importError:d,error:y,...w}),console.error(y);break}const g=t.__q_context__;if(e.isConnected)try{t.__q_context__=[e,o,l],m||b("qsymbol",{...w});const n=_(o,e);c(n)&&await n}catch(t){b("qerror",{error:t,...w})}finally{t.__q_context__=g}}}},b=(e,n)=>{t.dispatchEvent(p(e,n))},q=t=>t.replace(/([A-Z])/g,(t=>"-"+t.toLowerCase())),h=async t=>{let e=q(t.type),n=t.target;for(l("-document",t,e);n&&n.getAttribute;){const o=u(n,"",t,e);let r=t.cancelBubble;c(o)&&await o,r=r||t.cancelBubble||n.hasAttribute("stoppropagation:"+t.type),n=t.bubbles&&!0!==r?n.parentElement:null}},_=t=>{l("-window",t,q(t.type))},d=()=>{var s;const c=t.readyState;if(!r&&("interactive"==c||"complete"==c)&&(o.forEach(i),r=1,b("qinit"),(null!=(s=e.requestIdleCallback)?s:e.setTimeout).bind(e)((()=>b("qidle"))),n.has("qvisible"))){const t=a("[on\\:qvisible]"),e=new IntersectionObserver((t=>{for(const n of t)n.isIntersecting&&(e.unobserve(n.target),u(n.target,"",p("qvisible",n)))}));t.forEach((t=>e.observe(t)))}},y=(t,e,n,o=!1)=>t.addEventListener(e,n,{capture:o,passive:!1}),m=(...t)=>{for(const r of t)"string"==typeof r?n.has(r)||(o.forEach((t=>y(t,r,h,!0))),y(e,r,_,!0),n.add(r)):o.has(r)||(n.forEach((t=>y(r,t,h,!0))),o.add(r))};if(!("__q_context__"in t)){t.__q_context__=0;const r=e.qwikevents;Array.isArray(r)&&m(...r),e.qwikevents={events:n,roots:o,push:m},y(t,"readystatechange",d),d()}})();
|