@qwik.dev/core 2.0.0-alpha.9 → 2.0.0-beta.1

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