@qwik.dev/core 2.0.0-beta.17 → 2.0.0-beta.18
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.linux-x64-gnu.node +0 -0
- package/bindings/qwik.win32-x64-msvc.node +0 -0
- package/bindings/qwik_wasm_bg.wasm +0 -0
- package/dist/backpatch/package.json +1 -1
- package/dist/build/package.json +1 -1
- package/dist/cli.mjs +57 -57
- package/dist/core-internal.d.ts +23 -30
- package/dist/core.min.mjs +1 -1
- package/dist/core.mjs +1118 -688
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.mjs +753 -494
- package/dist/loader/index.mjs +2 -2
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.mjs +222 -220
- package/dist/qwikloader.debug.js +1 -1
- package/dist/qwikloader.js +1 -1
- package/dist/server.mjs +63 -105
- package/dist/starters/features/csr/package.json +1 -1
- package/dist/starters/features/playwright/playwright-report/index.html +0 -19
- package/dist/testing/index.d.ts +11 -11
- package/dist/testing/index.mjs +2907 -2466
- package/dist/testing/package.json +1 -1
- package/package.json +14 -11
- package/bindings/qwik.darwin-x64.node +0 -0
- package/bindings/qwik.wasm.cjs +0 -471
package/dist/qwikloader.debug.js
CHANGED
package/dist/qwikloader.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=document,e=window,n=new Set,o=new Set([t]),r={},s="-window",i="-document";let a;const c=(t,e)=>Array.from(t.querySelectorAll(e)),l=t=>{const e=[];return o.forEach(n=>e.push(...c(n,t))),e},f=t=>{A(t),c(t,"[q\\:shadowroot]").forEach(t=>{const e=t.shadowRoot;e&&f(e)})},p=t=>t&&"function"==typeof t.then,u=(t,e,n=e.type)=>{l("[on"+t+"\\:"+n+"]").forEach(o=>{h(o,t,e,n)})},b=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}}},q=(t,e)=>new CustomEvent(t,{detail:e}),h=async(e,n,o,s=o.type)=>{const i="on"+n+":"+s;e.hasAttribute("preventdefault:"+s)&&o.preventDefault(),e.hasAttribute("stoppropagation:"+s)&&o.stopPropagation();const a=e._qc_,c=a&&a.li.filter(t=>t[0]===i);if(c&&c.length>0){for(const t of c){const n=t[1].getFn([e,o],()=>e.isConnected)(o,e),r=o.cancelBubble;p(n)&&await n,r&&o.stopPropagation()}return}const l=e.qDispatchEvent;if(l)return l(o,n);const f=e.getAttribute(i);if(f){const n=e.closest("[q\\:container]:not([q\\:container=html]):not([q\\:container=text])"),s=n.getAttribute("q:base"),i=n.getAttribute("q:version")||"unknown",a=n.getAttribute("q:manifest-hash")||"dev",c=new URL(s,t.baseURI);for(const l of f.split("\n")){const f=new URL(l,c),u=f.href,q=f.hash.replace(/^#?([^?[|]*).*$/,"$1")||"default",h=performance.now();let d,m,g;const y=l.startsWith("#"),v={qBase:s,qManifest:a,qVersion:i,href:u,symbol:q,element:e,reqTime:h};if(y){const e=n.getAttribute("q:instance");d=(t["qFuncs_"+e]||[])[Number.parseInt(q)],d||(m="sync",g=Error("sym:"+q))}else if(q in r)d=r[q];else{_("qsymbol",v);const t=f.href.split("#")[0];try{const e=import(t);b(n),d=(await e)[q],d?r[q]=d:(m="no-symbol",g=Error(`${q} not in ${t}`))}catch(t){m||(m="async"),g=t}}if(!d){_("qerror",{importError:m,error:g,...v}),console.error(g);break}const w=t.__q_context__;if(e.isConnected)try{t.__q_context__=[e,o,f];const n=d(o,e);p(n)&&await n}catch(t){_("qerror",{error:t,...v})}finally{t.__q_context__=w}}}},_=(e,n)=>{t.dispatchEvent(q(e,n))},d=t=>t.replace(/([A-Z-])/g,t=>"-"+t.toLowerCase()),m=async(t,e)=>{let n=d(t.type),o=t.target;if(e!==i)for(;o&&o.getAttribute;){const e=h(o,"",t,n);let r=t.cancelBubble;p(e)&&await e,r||(r=r||t.cancelBubble||o.hasAttribute("stoppropagation:"+t.type)),o=t.bubbles&&!0!==r?o.parentElement:null}else u(i,t,n)},g=t=>{u(s,t,d(t.type))},y=()=>{const r=t.readyState;if(!a&&("interactive"==r||"complete"==r)&&(o.forEach(f),a=1,_("qinit"),(e.requestIdleCallback??e.setTimeout).bind(e)(()=>_("qidle")),n.has(":qvisible"))){const t=l("[on\\:qvisible]"),e=new IntersectionObserver(t=>{for(const n of t)n.isIntersecting&&(e.unobserve(n.target),h(n.target,"",q("qvisible",n)))});t.forEach(t=>e.observe(t))}},v=(t,e,n,o=!1)=>{t.addEventListener(e,n,{capture:o,passive:!1})},w=t=>t.replace(/-./g,t=>t[1].toUpperCase()),E=t=>{const e=t.indexOf(":");let n="",o=t;if(e>=0){const r=t.substring(0,e);""!==r&&r!==s&&r!==i||(n=r,o=t.substring(e+1))}return{scope:n,eventName:w(o)}},A=(...t)=>{for(const r of t)if("string"==typeof r){if(!n.has(r)){n.add(r);const{scope:t,eventName:i}=E(r);t===s?v(e,i,g,!0):o.forEach(e=>v(e,i,e=>m(e,t),!0))}}else o.has(r)||(n.forEach(t=>{const{scope:e,eventName:n}=E(t);v(r,n,t=>m(t,e),!0)}),o.add(r))};if(!("__q_context__"in t)){t.__q_context__=0;const r=e.qwikevents;r&&(Array.isArray(r)?A(...r):A("click","input")),e.qwikevents={events:n,roots:o,push:A},v(t,"readystatechange",y),y()}
|
|
1
|
+
const t=document,e=window,n=new Set,o=new Set([t]),r={},s="-window",i="-document";let a;const c=(t,e)=>Array.from(t.querySelectorAll(e)),l=t=>{const e=[];return o.forEach(n=>e.push(...c(n,t))),e},f=t=>{A(t),c(t,"[q\\:shadowroot]").forEach(t=>{const e=t.shadowRoot;e&&f(e)})},p=t=>t&&"function"==typeof t.then,u=(t,e,n=e.type)=>{l("[on"+t+"\\:"+n+"]").forEach(o=>{h(o,t,e,n)})},b=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}}},q=(t,e)=>new CustomEvent(t,{detail:e}),h=async(e,n,o,s=o.type)=>{const i="on"+n+":"+s;e.hasAttribute("preventdefault:"+s)&&o.preventDefault(),e.hasAttribute("stoppropagation:"+s)&&o.stopPropagation();const a=e._qc_,c=a&&a.li.filter(t=>t[0]===i);if(c&&c.length>0){for(const t of c){const n=t[1].getFn([e,o],()=>e.isConnected)(o,e),r=o.cancelBubble;p(n)&&await n,r&&o.stopPropagation()}return}const l=e.qDispatchEvent;if(l)return l(o,n);const f=e.getAttribute(i);if(f){const n=e.closest("[q\\:container]:not([q\\:container=html]):not([q\\:container=text])"),s=n.getAttribute("q:base"),i=n.getAttribute("q:version")||"unknown",a=n.getAttribute("q:manifest-hash")||"dev",c=new URL(s,t.baseURI);for(const l of f.split("\n")){const f=new URL(l,c),u=f.href,q=f.hash.replace(/^#?([^?[|]*).*$/,"$1")||"default",h=performance.now();let d,m,g;const y=l.startsWith("#"),v={qBase:s,qManifest:a,qVersion:i,href:u,symbol:q,element:e,reqTime:h};if(y){const e=n.getAttribute("q:instance");d=(t["qFuncs_"+e]||[])[Number.parseInt(q)],d||(m="sync",g=Error("sym:"+q))}else if(q in r)d=r[q];else{_("qsymbol",v);const t=f.href.split("#")[0];try{const e=import(t);b(n),d=(await e)[q],d?r[q]=d:(m="no-symbol",g=Error(`${q} not in ${t}`))}catch(t){m||(m="async"),g=t}}if(!d){_("qerror",{importError:m,error:g,...v}),console.error(g);break}const w=t.__q_context__;if(e.isConnected)try{t.__q_context__=[e,o,f];const n=d(o,e);p(n)&&await n}catch(t){_("qerror",{error:t,...v})}finally{t.__q_context__=w}}}},_=(e,n)=>{t.dispatchEvent(q(e,n))},d=t=>t.replace(/([A-Z-])/g,t=>"-"+t.toLowerCase()),m=async(t,e)=>{let n=d(t.type),o=t.target;if(e!==i)for(;o&&o.getAttribute;){const e=h(o,"",t,n);let r=t.cancelBubble;p(e)&&await e,r||(r=r||t.cancelBubble||o.hasAttribute("stoppropagation:"+t.type)),o=t.bubbles&&!0!==r?o.parentElement:null}else u(i,t,n)},g=t=>{u(s,t,d(t.type))},y=()=>{const r=t.readyState;if(!a&&("interactive"==r||"complete"==r)&&(o.forEach(f),a=1,_("qinit"),(e.requestIdleCallback??e.setTimeout).bind(e)(()=>_("qidle")),n.has(":qvisible"))){const t=l("[on\\:qvisible]"),e=new IntersectionObserver(t=>{for(const n of t)n.isIntersecting&&(e.unobserve(n.target),h(n.target,"",q("qvisible",n)))});t.forEach(t=>e.observe(t))}},v=(t,e,n,o=!1)=>{t.addEventListener(e,n,{capture:o,passive:!1})},w=t=>t.replace(/-./g,t=>t[1].toUpperCase()),E=t=>{const e=t.indexOf(":");let n="",o=t;if(e>=0){const r=t.substring(0,e);""!==r&&r!==s&&r!==i||(n=r,o=t.substring(e+1))}return{scope:n,eventName:w(o)}},A=(...t)=>{for(const r of t)if("string"==typeof r){if(!n.has(r)){n.add(r);const{scope:t,eventName:i}=E(r);t===s?v(e,i,g,!0):o.forEach(e=>v(e,i,e=>m(e,t),!0))}}else o.has(r)||(n.forEach(t=>{const{scope:e,eventName:n}=E(t);v(r,n,t=>m(t,e),!0)}),o.add(r))};if(!("__q_context__"in t)){t.__q_context__=0;const r=e.qwikevents;r&&(Array.isArray(r)?A(...r):A(":click",":input")),e.qwikevents={events:n,roots:o,push:A},v(t,"readystatechange",y),y()}
|
package/dist/server.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.18-dev+a8081d4
|
|
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
|
|
@@ -20,7 +20,10 @@ import { setPlatform as setPlatform2 } from "@qwik.dev/core";
|
|
|
20
20
|
|
|
21
21
|
// packages/qwik/src/server/platform.ts
|
|
22
22
|
import { setPlatform } from "@qwik.dev/core";
|
|
23
|
-
import { isDev as
|
|
23
|
+
import { isDev as isDev4 } from "@qwik.dev/core/build";
|
|
24
|
+
|
|
25
|
+
// packages/qwik/src/core/client/util-mapArray.ts
|
|
26
|
+
import { isDev } from "@qwik.dev/core/build";
|
|
24
27
|
|
|
25
28
|
// packages/qwik/src/core/shared/utils/qdev.ts
|
|
26
29
|
var qDev = globalThis.qDev !== false;
|
|
@@ -64,7 +67,7 @@ function assertTrue(value1, text, ...parts) {
|
|
|
64
67
|
|
|
65
68
|
// packages/qwik/src/core/client/util-mapArray.ts
|
|
66
69
|
var mapApp_findIndx = (array, key, start) => {
|
|
67
|
-
assertTrue(start % 2 === 0, "Expecting even number.");
|
|
70
|
+
isDev && assertTrue(start % 2 === 0, "Expecting even number.");
|
|
68
71
|
let bottom = start >> 1;
|
|
69
72
|
let top = array.length - 2 >> 1;
|
|
70
73
|
while (bottom <= top) {
|
|
@@ -223,7 +226,7 @@ var qError = (code, errorMessageArgs = []) => {
|
|
|
223
226
|
};
|
|
224
227
|
|
|
225
228
|
// packages/qwik/src/core/shared/qrl/qrl-utils.ts
|
|
226
|
-
import { isDev } from "@qwik.dev/core/build";
|
|
229
|
+
import { isDev as isDev2 } from "@qwik.dev/core/build";
|
|
227
230
|
var SYNC_QRL = "<sync>";
|
|
228
231
|
|
|
229
232
|
// packages/qwik/src/core/shared/types.ts
|
|
@@ -611,7 +614,7 @@ var Q_PROPS_SEPARATOR = ":";
|
|
|
611
614
|
var dangerouslySetInnerHTML = "dangerouslySetInnerHTML";
|
|
612
615
|
|
|
613
616
|
// packages/qwik/src/core/shared/utils/promises.ts
|
|
614
|
-
import { isDev as
|
|
617
|
+
import { isDev as isDev3, isServer } from "@qwik.dev/core/build";
|
|
615
618
|
var MAX_RETRY_ON_PROMISE_COUNT = 100;
|
|
616
619
|
var isPromise = (value) => {
|
|
617
620
|
return !!value && typeof value == "object" && typeof value.then === "function";
|
|
@@ -633,7 +636,7 @@ function retryOnPromise(fn, retryCount = 0) {
|
|
|
633
636
|
}
|
|
634
637
|
return result;
|
|
635
638
|
} catch (e) {
|
|
636
|
-
if (
|
|
639
|
+
if (isDev3 && isServer && e instanceof ReferenceError && e.message.includes("window")) {
|
|
637
640
|
e.message = 'It seems like you forgot to add "if (isBrowser) {...}" here:' + e.message;
|
|
638
641
|
throw e;
|
|
639
642
|
}
|
|
@@ -1089,9 +1092,9 @@ var getDevSegmentPath = (mapper, hash2, symbolName, parent) => {
|
|
|
1089
1092
|
function createPlatform(opts, resolvedManifest) {
|
|
1090
1093
|
const mapper = resolvedManifest?.mapper;
|
|
1091
1094
|
const mapperFn = opts.symbolMapper ? opts.symbolMapper : (symbolName, _chunk, parent) => {
|
|
1092
|
-
if (mapper ||
|
|
1095
|
+
if (mapper || isDev4 && import.meta.env.MODE !== "test") {
|
|
1093
1096
|
const hash2 = getSymbolHash(symbolName);
|
|
1094
|
-
const result = !
|
|
1097
|
+
const result = !isDev4 ? mapper[hash2] : getDevSegmentPath(mapper, hash2, symbolName, parent);
|
|
1095
1098
|
if (!result) {
|
|
1096
1099
|
if (hash2 === SYNC_QRL) {
|
|
1097
1100
|
return [hash2, ""];
|
|
@@ -1171,16 +1174,15 @@ function getBuildBase(opts) {
|
|
|
1171
1174
|
return `${import.meta.env.BASE_URL || "/"}build/`;
|
|
1172
1175
|
}
|
|
1173
1176
|
var versions = {
|
|
1174
|
-
qwik: "2.0.0-beta.
|
|
1177
|
+
qwik: "2.0.0-beta.18-dev+a8081d4",
|
|
1175
1178
|
qwikDom: "2.1.19"
|
|
1176
1179
|
};
|
|
1177
1180
|
|
|
1178
1181
|
// packages/qwik/src/server/ssr-container.ts
|
|
1179
|
-
import { isDev as
|
|
1182
|
+
import { isDev as isDev6 } from "@qwik.dev/core/build";
|
|
1180
1183
|
import {
|
|
1181
1184
|
_SubscriptionData as SubscriptionData,
|
|
1182
1185
|
_SharedContainer,
|
|
1183
|
-
_executeSsrChores,
|
|
1184
1186
|
_jsxSorted,
|
|
1185
1187
|
_jsxSplit,
|
|
1186
1188
|
_walkJSX,
|
|
@@ -1429,8 +1431,8 @@ var preLoaderOptionsDefault = {
|
|
|
1429
1431
|
};
|
|
1430
1432
|
|
|
1431
1433
|
// packages/qwik/src/server/scripts.ts
|
|
1432
|
-
var QWIK_LOADER_DEFAULT_MINIFIED = 'const t=document,e=window,n=new Set,o=new Set([t]),r={},s="-window",i="-document";let a;const c=(t,e)=>Array.from(t.querySelectorAll(e)),l=t=>{const e=[];return o.forEach(n=>e.push(...c(n,t))),e},f=t=>{A(t),c(t,"[q\\\\:shadowroot]").forEach(t=>{const e=t.shadowRoot;e&&f(e)})},p=t=>t&&"function"==typeof t.then,u=(t,e,n=e.type)=>{l("[on"+t+"\\\\:"+n+"]").forEach(o=>{h(o,t,e,n)})},b=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}}},q=(t,e)=>new CustomEvent(t,{detail:e}),h=async(e,n,o,s=o.type)=>{const i="on"+n+":"+s;e.hasAttribute("preventdefault:"+s)&&o.preventDefault(),e.hasAttribute("stoppropagation:"+s)&&o.stopPropagation();const a=e._qc_,c=a&&a.li.filter(t=>t[0]===i);if(c&&c.length>0){for(const t of c){const n=t[1].getFn([e,o],()=>e.isConnected)(o,e),r=o.cancelBubble;p(n)&&await n,r&&o.stopPropagation()}return}const l=e.qDispatchEvent;if(l)return l(o,n);const f=e.getAttribute(i);if(f){const n=e.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"),s=n.getAttribute("q:base"),i=n.getAttribute("q:version")||"unknown",a=n.getAttribute("q:manifest-hash")||"dev",c=new URL(s,t.baseURI);for(const l of f.split("\\n")){const f=new URL(l,c),u=f.href,q=f.hash.replace(/^#?([^?[|]*).*$/,"$1")||"default",h=performance.now();let d,m,g;const y=l.startsWith("#"),v={qBase:s,qManifest:a,qVersion:i,href:u,symbol:q,element:e,reqTime:h};if(y){const e=n.getAttribute("q:instance");d=(t["qFuncs_"+e]||[])[Number.parseInt(q)],d||(m="sync",g=Error("sym:"+q))}else if(q in r)d=r[q];else{_("qsymbol",v);const t=f.href.split("#")[0];try{const e=import(t);b(n),d=(await e)[q],d?r[q]=d:(m="no-symbol",g=Error(`${q} not in ${t}`))}catch(t){m||(m="async"),g=t}}if(!d){_("qerror",{importError:m,error:g,...v}),console.error(g);break}const w=t.__q_context__;if(e.isConnected)try{t.__q_context__=[e,o,f];const n=d(o,e);p(n)&&await n}catch(t){_("qerror",{error:t,...v})}finally{t.__q_context__=w}}}},_=(e,n)=>{t.dispatchEvent(q(e,n))},d=t=>t.replace(/([A-Z-])/g,t=>"-"+t.toLowerCase()),m=async(t,e)=>{let n=d(t.type),o=t.target;if(e!==i)for(;o&&o.getAttribute;){const e=h(o,"",t,n);let r=t.cancelBubble;p(e)&&await e,r||(r=r||t.cancelBubble||o.hasAttribute("stoppropagation:"+t.type)),o=t.bubbles&&!0!==r?o.parentElement:null}else u(i,t,n)},g=t=>{u(s,t,d(t.type))},y=()=>{const r=t.readyState;if(!a&&("interactive"==r||"complete"==r)&&(o.forEach(f),a=1,_("qinit"),(e.requestIdleCallback??e.setTimeout).bind(e)(()=>_("qidle")),n.has(":qvisible"))){const t=l("[on\\\\:qvisible]"),e=new IntersectionObserver(t=>{for(const n of t)n.isIntersecting&&(e.unobserve(n.target),h(n.target,"",q("qvisible",n)))});t.forEach(t=>e.observe(t))}},v=(t,e,n,o=!1)=>{t.addEventListener(e,n,{capture:o,passive:!1})},w=t=>t.replace(/-./g,t=>t[1].toUpperCase()),E=t=>{const e=t.indexOf(":");let n="",o=t;if(e>=0){const r=t.substring(0,e);""!==r&&r!==s&&r!==i||(n=r,o=t.substring(e+1))}return{scope:n,eventName:w(o)}},A=(...t)=>{for(const r of t)if("string"==typeof r){if(!n.has(r)){n.add(r);const{scope:t,eventName:i}=E(r);t===s?v(e,i,g,!0):o.forEach(e=>v(e,i,e=>m(e,t),!0))}}else o.has(r)||(n.forEach(t=>{const{scope:e,eventName:n}=E(t);v(r,n,t=>m(t,e),!0)}),o.add(r))};if(!("__q_context__"in t)){t.__q_context__=0;const r=e.qwikevents;r&&(Array.isArray(r)?A(...r):A("click","input")),e.qwikevents={events:n,roots:o,push:A},v(t,"readystatechange",y),y()}';
|
|
1433
|
-
var QWIK_LOADER_DEFAULT_DEBUG = 'const doc = document;\nconst win = window;\nconst events = /* @__PURE__ */ new Set();\nconst roots = /* @__PURE__ */ new Set([doc]);\nconst symbols = {};\nconst windowPrefix = "-window";\nconst documentPrefix = "-document";\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 findShadowRoots = (fragment) => {\n processEventOrNode(fragment);\n nativeQuerySelectorAll(fragment, "[q\\\\:shadowroot]").forEach((parent) => {\n const shadowRoot = parent.shadowRoot;\n shadowRoot && findShadowRoots(shadowRoot);\n });\n};\nconst isPromise = (promise) => promise && typeof promise.then === "function";\nconst broadcast = (infix, ev, type = ev.type) => {\n querySelectorAll("[on" + infix + "\\\\:" + type + "]").forEach((el) => {\n dispatch(el, infix, ev, type);\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, {\n detail\n});\nconst dispatch = async (element, scope, ev, eventName = ev.type) => {\n const attrName = "on" + scope + ":" + eventName;\n if (element.hasAttribute("preventdefault:" + eventName)) {\n ev.preventDefault();\n }\n if (element.hasAttribute("stoppropagation:" + eventName)) {\n ev.stopPropagation();\n }\n const ctx = element._qc_;\n const relevantListeners = ctx && ctx.li.filter((li) => li[0] === attrName);\n if (relevantListeners && relevantListeners.length > 0) {\n for (const listener of relevantListeners) {\n const results = listener[1].getFn([element, ev], () => element.isConnected)(ev, element);\n const cancelBubble = ev.cancelBubble;\n if (isPromise(results)) {\n await results;\n }\n if (cancelBubble) {\n ev.stopPropagation();\n }\n }\n return;\n }\n const qDispatchEvent = element.qDispatchEvent;\n if (qDispatchEvent) {\n return qDispatchEvent(ev, scope);\n }\n const attrValue = element.getAttribute(attrName);\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 qVersion = container.getAttribute("q:version") || "unknown";\n const qManifest = container.getAttribute("q:manifest-hash") || "dev";\n const base = new URL(qBase, doc.baseURI);\n for (const qrl of attrValue.split("\\n")) {\n const url = new URL(qrl, base);\n const href = url.href;\n const symbol = url.hash.replace(/^#?([^?[|]*).*$/, "$1") || "default";\n const reqTime = performance.now();\n let handler;\n let importError;\n let error;\n const isSync = qrl.startsWith("#");\n const eventData = {\n qBase,\n qManifest,\n qVersion,\n href,\n symbol,\n element,\n reqTime\n };\n if (isSync) {\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 if (symbol in symbols) {\n handler = symbols[symbol];\n } else {\n emitEvent("qsymbol", eventData);\n const uri = url.href.split("#")[0];\n try {\n const module = import(\n uri\n );\n resolveContainer(container);\n handler = (await module)[symbol];\n if (!handler) {\n importError = "no-symbol";\n error = new Error(`${symbol} not in ${uri}`);\n } else {\n symbols[symbol] = handler;\n }\n } catch (err) {\n importError || (importError = "async");\n error = err;\n }\n }\n if (!handler) {\n emitEvent("qerror", {\n importError,\n error,\n ...eventData\n });\n console.error(error);\n break;\n }\n const previousCtx = doc.__q_context__;\n if (element.isConnected) {\n try {\n doc.__q_context__ = [element, ev, url];\n const results = handler(ev, element);\n if (isPromise(results)) {\n await results;\n }\n } catch (error2) {\n emitEvent("qerror", { error: error2, ...eventData });\n } finally {\n doc.__q_context__ = previousCtx;\n }\n }\n }\n }\n};\nconst emitEvent = (eventName, detail) => {\n doc.dispatchEvent(createEvent(eventName, detail));\n};\nconst camelToKebab = (str) => str.replace(/([A-Z-])/g, (a) => "-" + a.toLowerCase());\nconst processDocumentEvent = async (ev, scope) => {\n let type = camelToKebab(ev.type);\n let element = ev.target;\n if (scope === documentPrefix) {\n broadcast(documentPrefix, ev, type);\n return;\n }\n while (element && element.getAttribute) {\n const results = dispatch(element, "", ev, type);\n let cancelBubble = ev.cancelBubble;\n if (isPromise(results)) {\n await results;\n }\n cancelBubble || (cancelBubble = cancelBubble || ev.cancelBubble || element.hasAttribute("stoppropagation:" + ev.type));\n element = ev.bubbles && cancelBubble !== true ? element.parentElement : null;\n }\n};\nconst processWindowEvent = (ev) => {\n broadcast(windowPrefix, ev, camelToKebab(ev.type));\n};\nconst processReadyStateChange = () => {\n const readyState = doc.readyState;\n if (!hasInitialized && (readyState == "interactive" || readyState == "complete")) {\n roots.forEach(findShadowRoots);\n hasInitialized = 1;\n emitEvent("qinit");\n const riC = win.requestIdleCallback ?? win.setTimeout;\n riC.bind(win)(() => emitEvent("qidle"));\n if (events.has(":qvisible")) {\n const results = querySelectorAll("[on\\\\:qvisible]");\n const observer = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n dispatch(entry.target, "", createEvent("qvisible", entry));\n }\n }\n });\n results.forEach((el) => observer.observe(el));\n }\n }\n};\nconst addEventListener = (el, eventName, handler, capture = false) => {\n el.addEventListener(eventName, handler, { capture, passive: false });\n};\nconst kebabToCamel = (eventName) => eventName.replace(/-./g, (a) => a[1].toUpperCase());\nconst processEventName = (event) => {\n const i = event.indexOf(":");\n let scope = "";\n let eventName = event;\n if (i >= 0) {\n const s = event.substring(0, i);\n if (s === "" || s === windowPrefix || s === documentPrefix) {\n scope = s;\n eventName = event.substring(i + 1);\n }\n }\n return { scope, eventName: kebabToCamel(eventName) };\n};\nconst processEventOrNode = (...eventNames) => {\n for (const eventNameOrNode of eventNames) {\n if (typeof eventNameOrNode === "string") {\n if (!events.has(eventNameOrNode)) {\n events.add(eventNameOrNode);\n const { scope, eventName } = processEventName(eventNameOrNode);\n if (scope === windowPrefix) {\n addEventListener(win, eventName, processWindowEvent, true);\n } else {\n roots.forEach(\n (root) => addEventListener(root, eventName, (ev) => processDocumentEvent(ev, scope), true)\n );\n }\n }\n } else {\n if (!roots.has(eventNameOrNode)) {\n events.forEach((kebabEventName) => {\n const { scope, eventName } = processEventName(kebabEventName);\n addEventListener(\n eventNameOrNode,\n eventName,\n (ev) => processDocumentEvent(ev, scope),\n true\n );\n });\n roots.add(eventNameOrNode);\n }\n }\n }\n};\nif (!("__q_context__" in doc)) {\n doc.__q_context__ = 0;\n const qwikevents = win.qwikevents;\n if (qwikevents) {\n if (Array.isArray(qwikevents)) {\n processEventOrNode(...qwikevents);\n } else {\n processEventOrNode("click", "input");\n }\n }\n win.qwikevents = {\n events,\n roots,\n push: processEventOrNode\n };\n addEventListener(doc, "readystatechange", processReadyStateChange);\n processReadyStateChange();\n}';
|
|
1434
|
+
var QWIK_LOADER_DEFAULT_MINIFIED = 'const t=document,e=window,n=new Set,o=new Set([t]),r={},s="-window",i="-document";let a;const c=(t,e)=>Array.from(t.querySelectorAll(e)),l=t=>{const e=[];return o.forEach(n=>e.push(...c(n,t))),e},f=t=>{A(t),c(t,"[q\\\\:shadowroot]").forEach(t=>{const e=t.shadowRoot;e&&f(e)})},p=t=>t&&"function"==typeof t.then,u=(t,e,n=e.type)=>{l("[on"+t+"\\\\:"+n+"]").forEach(o=>{h(o,t,e,n)})},b=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}}},q=(t,e)=>new CustomEvent(t,{detail:e}),h=async(e,n,o,s=o.type)=>{const i="on"+n+":"+s;e.hasAttribute("preventdefault:"+s)&&o.preventDefault(),e.hasAttribute("stoppropagation:"+s)&&o.stopPropagation();const a=e._qc_,c=a&&a.li.filter(t=>t[0]===i);if(c&&c.length>0){for(const t of c){const n=t[1].getFn([e,o],()=>e.isConnected)(o,e),r=o.cancelBubble;p(n)&&await n,r&&o.stopPropagation()}return}const l=e.qDispatchEvent;if(l)return l(o,n);const f=e.getAttribute(i);if(f){const n=e.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"),s=n.getAttribute("q:base"),i=n.getAttribute("q:version")||"unknown",a=n.getAttribute("q:manifest-hash")||"dev",c=new URL(s,t.baseURI);for(const l of f.split("\\n")){const f=new URL(l,c),u=f.href,q=f.hash.replace(/^#?([^?[|]*).*$/,"$1")||"default",h=performance.now();let d,m,g;const y=l.startsWith("#"),v={qBase:s,qManifest:a,qVersion:i,href:u,symbol:q,element:e,reqTime:h};if(y){const e=n.getAttribute("q:instance");d=(t["qFuncs_"+e]||[])[Number.parseInt(q)],d||(m="sync",g=Error("sym:"+q))}else if(q in r)d=r[q];else{_("qsymbol",v);const t=f.href.split("#")[0];try{const e=import(t);b(n),d=(await e)[q],d?r[q]=d:(m="no-symbol",g=Error(`${q} not in ${t}`))}catch(t){m||(m="async"),g=t}}if(!d){_("qerror",{importError:m,error:g,...v}),console.error(g);break}const w=t.__q_context__;if(e.isConnected)try{t.__q_context__=[e,o,f];const n=d(o,e);p(n)&&await n}catch(t){_("qerror",{error:t,...v})}finally{t.__q_context__=w}}}},_=(e,n)=>{t.dispatchEvent(q(e,n))},d=t=>t.replace(/([A-Z-])/g,t=>"-"+t.toLowerCase()),m=async(t,e)=>{let n=d(t.type),o=t.target;if(e!==i)for(;o&&o.getAttribute;){const e=h(o,"",t,n);let r=t.cancelBubble;p(e)&&await e,r||(r=r||t.cancelBubble||o.hasAttribute("stoppropagation:"+t.type)),o=t.bubbles&&!0!==r?o.parentElement:null}else u(i,t,n)},g=t=>{u(s,t,d(t.type))},y=()=>{const r=t.readyState;if(!a&&("interactive"==r||"complete"==r)&&(o.forEach(f),a=1,_("qinit"),(e.requestIdleCallback??e.setTimeout).bind(e)(()=>_("qidle")),n.has(":qvisible"))){const t=l("[on\\\\:qvisible]"),e=new IntersectionObserver(t=>{for(const n of t)n.isIntersecting&&(e.unobserve(n.target),h(n.target,"",q("qvisible",n)))});t.forEach(t=>e.observe(t))}},v=(t,e,n,o=!1)=>{t.addEventListener(e,n,{capture:o,passive:!1})},w=t=>t.replace(/-./g,t=>t[1].toUpperCase()),E=t=>{const e=t.indexOf(":");let n="",o=t;if(e>=0){const r=t.substring(0,e);""!==r&&r!==s&&r!==i||(n=r,o=t.substring(e+1))}return{scope:n,eventName:w(o)}},A=(...t)=>{for(const r of t)if("string"==typeof r){if(!n.has(r)){n.add(r);const{scope:t,eventName:i}=E(r);t===s?v(e,i,g,!0):o.forEach(e=>v(e,i,e=>m(e,t),!0))}}else o.has(r)||(n.forEach(t=>{const{scope:e,eventName:n}=E(t);v(r,n,t=>m(t,e),!0)}),o.add(r))};if(!("__q_context__"in t)){t.__q_context__=0;const r=e.qwikevents;r&&(Array.isArray(r)?A(...r):A(":click",":input")),e.qwikevents={events:n,roots:o,push:A},v(t,"readystatechange",y),y()}';
|
|
1435
|
+
var QWIK_LOADER_DEFAULT_DEBUG = 'const doc = document;\nconst win = window;\nconst events = /* @__PURE__ */ new Set();\nconst roots = /* @__PURE__ */ new Set([doc]);\nconst symbols = {};\nconst windowPrefix = "-window";\nconst documentPrefix = "-document";\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 findShadowRoots = (fragment) => {\n processEventOrNode(fragment);\n nativeQuerySelectorAll(fragment, "[q\\\\:shadowroot]").forEach((parent) => {\n const shadowRoot = parent.shadowRoot;\n shadowRoot && findShadowRoots(shadowRoot);\n });\n};\nconst isPromise = (promise) => promise && typeof promise.then === "function";\nconst broadcast = (infix, ev, type = ev.type) => {\n querySelectorAll("[on" + infix + "\\\\:" + type + "]").forEach((el) => {\n dispatch(el, infix, ev, type);\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, {\n detail\n});\nconst dispatch = async (element, scope, ev, eventName = ev.type) => {\n const attrName = "on" + scope + ":" + eventName;\n if (element.hasAttribute("preventdefault:" + eventName)) {\n ev.preventDefault();\n }\n if (element.hasAttribute("stoppropagation:" + eventName)) {\n ev.stopPropagation();\n }\n const ctx = element._qc_;\n const relevantListeners = ctx && ctx.li.filter((li) => li[0] === attrName);\n if (relevantListeners && relevantListeners.length > 0) {\n for (const listener of relevantListeners) {\n const results = listener[1].getFn([element, ev], () => element.isConnected)(ev, element);\n const cancelBubble = ev.cancelBubble;\n if (isPromise(results)) {\n await results;\n }\n if (cancelBubble) {\n ev.stopPropagation();\n }\n }\n return;\n }\n const qDispatchEvent = element.qDispatchEvent;\n if (qDispatchEvent) {\n return qDispatchEvent(ev, scope);\n }\n const attrValue = element.getAttribute(attrName);\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 qVersion = container.getAttribute("q:version") || "unknown";\n const qManifest = container.getAttribute("q:manifest-hash") || "dev";\n const base = new URL(qBase, doc.baseURI);\n for (const qrl of attrValue.split("\\n")) {\n const url = new URL(qrl, base);\n const href = url.href;\n const symbol = url.hash.replace(/^#?([^?[|]*).*$/, "$1") || "default";\n const reqTime = performance.now();\n let handler;\n let importError;\n let error;\n const isSync = qrl.startsWith("#");\n const eventData = {\n qBase,\n qManifest,\n qVersion,\n href,\n symbol,\n element,\n reqTime\n };\n if (isSync) {\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 if (symbol in symbols) {\n handler = symbols[symbol];\n } else {\n emitEvent("qsymbol", eventData);\n const uri = url.href.split("#")[0];\n try {\n const module = import(\n uri\n );\n resolveContainer(container);\n handler = (await module)[symbol];\n if (!handler) {\n importError = "no-symbol";\n error = new Error(`${symbol} not in ${uri}`);\n } else {\n symbols[symbol] = handler;\n }\n } catch (err) {\n importError || (importError = "async");\n error = err;\n }\n }\n if (!handler) {\n emitEvent("qerror", {\n importError,\n error,\n ...eventData\n });\n console.error(error);\n break;\n }\n const previousCtx = doc.__q_context__;\n if (element.isConnected) {\n try {\n doc.__q_context__ = [element, ev, url];\n const results = handler(ev, element);\n if (isPromise(results)) {\n await results;\n }\n } catch (error2) {\n emitEvent("qerror", { error: error2, ...eventData });\n } finally {\n doc.__q_context__ = previousCtx;\n }\n }\n }\n }\n};\nconst emitEvent = (eventName, detail) => {\n doc.dispatchEvent(createEvent(eventName, detail));\n};\nconst camelToKebab = (str) => str.replace(/([A-Z-])/g, (a) => "-" + a.toLowerCase());\nconst processDocumentEvent = async (ev, scope) => {\n let type = camelToKebab(ev.type);\n let element = ev.target;\n if (scope === documentPrefix) {\n broadcast(documentPrefix, ev, type);\n return;\n }\n while (element && element.getAttribute) {\n const results = dispatch(element, "", ev, type);\n let cancelBubble = ev.cancelBubble;\n if (isPromise(results)) {\n await results;\n }\n cancelBubble || (cancelBubble = cancelBubble || ev.cancelBubble || element.hasAttribute("stoppropagation:" + ev.type));\n element = ev.bubbles && cancelBubble !== true ? element.parentElement : null;\n }\n};\nconst processWindowEvent = (ev) => {\n broadcast(windowPrefix, ev, camelToKebab(ev.type));\n};\nconst processReadyStateChange = () => {\n const readyState = doc.readyState;\n if (!hasInitialized && (readyState == "interactive" || readyState == "complete")) {\n roots.forEach(findShadowRoots);\n hasInitialized = 1;\n emitEvent("qinit");\n const riC = win.requestIdleCallback ?? win.setTimeout;\n riC.bind(win)(() => emitEvent("qidle"));\n if (events.has(":qvisible")) {\n const results = querySelectorAll("[on\\\\:qvisible]");\n const observer = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n dispatch(entry.target, "", createEvent("qvisible", entry));\n }\n }\n });\n results.forEach((el) => observer.observe(el));\n }\n }\n};\nconst addEventListener = (el, eventName, handler, capture = false) => {\n el.addEventListener(eventName, handler, { capture, passive: false });\n};\nconst kebabToCamel = (eventName) => eventName.replace(/-./g, (a) => a[1].toUpperCase());\nconst processEventName = (event) => {\n const i = event.indexOf(":");\n let scope = "";\n let eventName = event;\n if (i >= 0) {\n const s = event.substring(0, i);\n if (s === "" || s === windowPrefix || s === documentPrefix) {\n scope = s;\n eventName = event.substring(i + 1);\n }\n }\n return { scope, eventName: kebabToCamel(eventName) };\n};\nconst processEventOrNode = (...eventNames) => {\n for (const eventNameOrNode of eventNames) {\n if (typeof eventNameOrNode === "string") {\n if (!events.has(eventNameOrNode)) {\n events.add(eventNameOrNode);\n const { scope, eventName } = processEventName(eventNameOrNode);\n if (scope === windowPrefix) {\n addEventListener(win, eventName, processWindowEvent, true);\n } else {\n roots.forEach(\n (root) => addEventListener(root, eventName, (ev) => processDocumentEvent(ev, scope), true)\n );\n }\n }\n } else {\n if (!roots.has(eventNameOrNode)) {\n events.forEach((kebabEventName) => {\n const { scope, eventName } = processEventName(kebabEventName);\n addEventListener(\n eventNameOrNode,\n eventName,\n (ev) => processDocumentEvent(ev, scope),\n true\n );\n });\n roots.add(eventNameOrNode);\n }\n }\n }\n};\nif (!("__q_context__" in doc)) {\n doc.__q_context__ = 0;\n const qwikevents = win.qwikevents;\n if (qwikevents) {\n if (Array.isArray(qwikevents)) {\n processEventOrNode(...qwikevents);\n } else {\n processEventOrNode(":click", ":input");\n }\n }\n win.qwikevents = {\n events,\n roots,\n push: processEventOrNode\n };\n addEventListener(doc, "readystatechange", processReadyStateChange);\n processReadyStateChange();\n}';
|
|
1434
1436
|
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))}}}}`;
|
|
1435
1437
|
var QWIK_BACKPATCH_EXECUTOR_DEBUG = `const BACKPATCH_DATA_SELECTOR = 'script[type="qwik/backpatch"]';
|
|
1436
1438
|
const executorScript = document.currentScript;
|
|
@@ -1485,7 +1487,7 @@ function getQwikBackpatchExecutorScript(opts = {}) {
|
|
|
1485
1487
|
|
|
1486
1488
|
// packages/qwik/src/server/ssr-node.ts
|
|
1487
1489
|
import { _isJSXNode as isJSXNode, _EMPTY_ARRAY, _EFFECT_BACK_REF } from "@qwik.dev/core/internal";
|
|
1488
|
-
import { isDev as
|
|
1490
|
+
import { isDev as isDev5 } from "@qwik.dev/core/build";
|
|
1489
1491
|
var SsrNode = class {
|
|
1490
1492
|
constructor(parentComponent, id, attributesIndex, cleanupQueue, vnodeData, currentFile) {
|
|
1491
1493
|
this.parentComponent = parentComponent;
|
|
@@ -1510,7 +1512,7 @@ var SsrNode = class {
|
|
|
1510
1512
|
this.flags = 1 /* Updatable */;
|
|
1511
1513
|
this.attrs = this.attributesIndex >= 0 ? this.vnodeData[this.attributesIndex] : _EMPTY_ARRAY;
|
|
1512
1514
|
this.parentComponent?.addChild(this);
|
|
1513
|
-
if (
|
|
1515
|
+
if (isDev5 && id.indexOf("undefined") != -1) {
|
|
1514
1516
|
throw new Error(`Invalid SSR node id: ${id}`);
|
|
1515
1517
|
}
|
|
1516
1518
|
}
|
|
@@ -1574,7 +1576,7 @@ var SsrNode = class {
|
|
|
1574
1576
|
}
|
|
1575
1577
|
}
|
|
1576
1578
|
toString() {
|
|
1577
|
-
if (
|
|
1579
|
+
if (isDev5) {
|
|
1578
1580
|
let stringifiedAttrs = "";
|
|
1579
1581
|
for (let i = 0; i < this.attrs.length; i += 2) {
|
|
1580
1582
|
const key = this.attrs[i];
|
|
@@ -1658,13 +1660,6 @@ var SsrComponentFrame = class {
|
|
|
1658
1660
|
projectionNode.setProp(QSlotParent, this.componentNode.id);
|
|
1659
1661
|
return children;
|
|
1660
1662
|
}
|
|
1661
|
-
releaseUnclaimedProjections(unclaimedProjections) {
|
|
1662
|
-
if (this.slots.length) {
|
|
1663
|
-
unclaimedProjections.push(this);
|
|
1664
|
-
unclaimedProjections.push(this.projectionScopedStyle);
|
|
1665
|
-
unclaimedProjections.push.apply(unclaimedProjections, this.slots);
|
|
1666
|
-
}
|
|
1667
|
-
}
|
|
1668
1663
|
};
|
|
1669
1664
|
|
|
1670
1665
|
// packages/qwik/src/server/tag-nesting.ts
|
|
@@ -2154,8 +2149,6 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2154
2149
|
__publicField(this, "depthFirstElementCount", -1);
|
|
2155
2150
|
__publicField(this, "vNodeDatas", []);
|
|
2156
2151
|
__publicField(this, "componentStack", []);
|
|
2157
|
-
__publicField(this, "unclaimedProjections", []);
|
|
2158
|
-
__publicField(this, "unclaimedProjectionComponentFrameQueue", []);
|
|
2159
2152
|
__publicField(this, "cleanupQueue", []);
|
|
2160
2153
|
__publicField(this, "$instanceHash$", hash());
|
|
2161
2154
|
// Temporary flag to find missing roots after the state was serialized
|
|
@@ -2261,7 +2254,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2261
2254
|
containerAttributes[QContainerAttr] = "paused" /* PAUSED */;
|
|
2262
2255
|
containerAttributes[QRuntimeAttr] = "2";
|
|
2263
2256
|
containerAttributes[QVersionAttr] = this.$version$ ?? "dev";
|
|
2264
|
-
containerAttributes[QRenderAttr] = (qRender ? qRender + "-" : "") + (
|
|
2257
|
+
containerAttributes[QRenderAttr] = (qRender ? qRender + "-" : "") + (isDev6 ? "ssr-dev" : "ssr");
|
|
2265
2258
|
containerAttributes[QBaseAttr] = this.$buildBase$ || "";
|
|
2266
2259
|
containerAttributes[QLocaleAttr] = this.$locale$;
|
|
2267
2260
|
containerAttributes[QManifestHashAttr] = this.resolvedManifest.manifest.manifestHash;
|
|
@@ -2310,7 +2303,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2310
2303
|
this.write(" " + Q_PROPS_SEPARATOR);
|
|
2311
2304
|
if (key !== null) {
|
|
2312
2305
|
this.write(`="${key}"`);
|
|
2313
|
-
} else if (
|
|
2306
|
+
} else if (isDev6) {
|
|
2314
2307
|
this.write('=""');
|
|
2315
2308
|
}
|
|
2316
2309
|
if (constAttrs && constAttrs.length) {
|
|
@@ -2429,13 +2422,38 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2429
2422
|
const localProjectionDepth = this.getComponentFrame()?.projectionDepth || 0;
|
|
2430
2423
|
return this.getComponentFrame(localProjectionDepth);
|
|
2431
2424
|
}
|
|
2432
|
-
/** Writes closing data to vNodeData for component boundaries and
|
|
2433
|
-
closeComponent() {
|
|
2425
|
+
/** Writes closing data to vNodeData for component boundaries and emit unclaimed projections inline */
|
|
2426
|
+
async closeComponent() {
|
|
2434
2427
|
const componentFrame = this.componentStack.pop();
|
|
2435
|
-
|
|
2428
|
+
await this.emitUnclaimedProjectionForComponent(componentFrame);
|
|
2436
2429
|
this.closeFragment();
|
|
2437
2430
|
this.currentComponentNode = this.currentComponentNode?.parentComponent || null;
|
|
2438
2431
|
}
|
|
2432
|
+
async emitUnclaimedProjectionForComponent(componentFrame) {
|
|
2433
|
+
if (componentFrame.slots.length === 0) {
|
|
2434
|
+
return;
|
|
2435
|
+
}
|
|
2436
|
+
this.openElement(QTemplate, null, ["hidden", true, "aria-hidden", "true"], null);
|
|
2437
|
+
const scopedStyleId = componentFrame.projectionScopedStyle;
|
|
2438
|
+
for (let i = 0; i < componentFrame.slots.length; i += 2) {
|
|
2439
|
+
const slotName = componentFrame.slots[i];
|
|
2440
|
+
const children = componentFrame.slots[i + 1];
|
|
2441
|
+
this.openFragment(
|
|
2442
|
+
isDev6 ? [DEBUG_TYPE, "P" /* Projection */, QSlotParent, componentFrame.componentNode.id] : [QSlotParent, componentFrame.componentNode.id]
|
|
2443
|
+
);
|
|
2444
|
+
const lastNode = this.getOrCreateLastNode();
|
|
2445
|
+
if (lastNode.vnodeData) {
|
|
2446
|
+
lastNode.vnodeData[0] |= 16 /* SERIALIZE */;
|
|
2447
|
+
}
|
|
2448
|
+
componentFrame.componentNode.setProp(slotName, lastNode.id);
|
|
2449
|
+
await _walkJSX(this, children, {
|
|
2450
|
+
currentStyleScoped: scopedStyleId,
|
|
2451
|
+
parentComponentFrame: componentFrame.projectionComponentFrame
|
|
2452
|
+
});
|
|
2453
|
+
this.closeFragment();
|
|
2454
|
+
}
|
|
2455
|
+
this.closeElement();
|
|
2456
|
+
}
|
|
2439
2457
|
/** Write a text node with correct escaping. Save the length of the text node in the vNodeData. */
|
|
2440
2458
|
textNode(text) {
|
|
2441
2459
|
this.write(escapeHTML(text));
|
|
@@ -2467,14 +2485,8 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2467
2485
|
}
|
|
2468
2486
|
return this.lastNode;
|
|
2469
2487
|
}
|
|
2470
|
-
executeChores() {
|
|
2471
|
-
if (!this.lastNode) {
|
|
2472
|
-
return;
|
|
2473
|
-
}
|
|
2474
|
-
return _executeSsrChores(this, this.lastNode);
|
|
2475
|
-
}
|
|
2476
2488
|
addUnclaimedProjection(frame, name, children) {
|
|
2477
|
-
|
|
2489
|
+
frame.slots.push(name, children);
|
|
2478
2490
|
}
|
|
2479
2491
|
$processInjectionsFromManifest$() {
|
|
2480
2492
|
const injections = this.resolvedManifest.manifest.injections;
|
|
@@ -2525,18 +2537,15 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2525
2537
|
emitContainerData() {
|
|
2526
2538
|
return maybeThen(
|
|
2527
2539
|
this.resolvePromiseAttributes(),
|
|
2528
|
-
() => maybeThen(
|
|
2529
|
-
this
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
this.emitQwikLoaderAtBottomIfNeeded();
|
|
2538
|
-
})
|
|
2539
|
-
)
|
|
2540
|
+
() => maybeThen(this.emitStateData(), () => {
|
|
2541
|
+
this.$noMoreRoots$ = true;
|
|
2542
|
+
this.emitVNodeData();
|
|
2543
|
+
preloaderPost(this, this.renderOptions, this.$serverData$?.nonce);
|
|
2544
|
+
this.emitSyncFnsData();
|
|
2545
|
+
this.emitPatchDataIfNeeded();
|
|
2546
|
+
this.emitExecutorIfNeeded();
|
|
2547
|
+
this.emitQwikLoaderAtBottomIfNeeded();
|
|
2548
|
+
})
|
|
2540
2549
|
);
|
|
2541
2550
|
}
|
|
2542
2551
|
/**
|
|
@@ -2736,7 +2745,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2736
2745
|
scriptAttrs.push("nonce", this.renderOptions.serverData.nonce);
|
|
2737
2746
|
}
|
|
2738
2747
|
this.openElement("script", null, scriptAttrs);
|
|
2739
|
-
const backpatchScript = getQwikBackpatchExecutorScript({ debug:
|
|
2748
|
+
const backpatchScript = getQwikBackpatchExecutorScript({ debug: isDev6 });
|
|
2740
2749
|
this.write(backpatchScript);
|
|
2741
2750
|
this.closeElement();
|
|
2742
2751
|
}
|
|
@@ -2798,57 +2807,6 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2798
2807
|
this.closeElement();
|
|
2799
2808
|
}
|
|
2800
2809
|
}
|
|
2801
|
-
async emitUnclaimedProjection() {
|
|
2802
|
-
const unclaimedProjections = this.unclaimedProjections;
|
|
2803
|
-
if (unclaimedProjections.length) {
|
|
2804
|
-
const previousCurrentComponentNode = this.currentComponentNode;
|
|
2805
|
-
try {
|
|
2806
|
-
this.openElement(QTemplate, null, ["hidden", true, "aria-hidden", "true"], null);
|
|
2807
|
-
let idx = 0;
|
|
2808
|
-
let ssrComponentNode = null;
|
|
2809
|
-
let ssrComponentFrame = null;
|
|
2810
|
-
let scopedStyleId = null;
|
|
2811
|
-
for (let i = 0; i < unclaimedProjections.length; i += 4) {
|
|
2812
|
-
this.unclaimedProjectionComponentFrameQueue.push(
|
|
2813
|
-
unclaimedProjections[i]
|
|
2814
|
-
);
|
|
2815
|
-
}
|
|
2816
|
-
while (idx < unclaimedProjections.length) {
|
|
2817
|
-
const value = unclaimedProjections[idx++];
|
|
2818
|
-
if (value instanceof SsrComponentFrame) {
|
|
2819
|
-
ssrComponentNode = this.currentComponentNode = value.componentNode;
|
|
2820
|
-
ssrComponentFrame = value;
|
|
2821
|
-
scopedStyleId = unclaimedProjections[idx++];
|
|
2822
|
-
} else if (typeof value === "string") {
|
|
2823
|
-
const children = unclaimedProjections[idx++];
|
|
2824
|
-
if (!ssrComponentFrame?.hasSlot(value)) {
|
|
2825
|
-
ssrComponentFrame && ssrComponentFrame.componentNode.removeProp(value);
|
|
2826
|
-
continue;
|
|
2827
|
-
}
|
|
2828
|
-
this.unclaimedProjectionComponentFrameQueue.shift();
|
|
2829
|
-
this.openFragment(
|
|
2830
|
-
isDev5 ? [DEBUG_TYPE, "P" /* Projection */, QSlotParent, ssrComponentNode.id] : [QSlotParent, ssrComponentNode.id]
|
|
2831
|
-
);
|
|
2832
|
-
const lastNode = this.getOrCreateLastNode();
|
|
2833
|
-
if (lastNode.vnodeData) {
|
|
2834
|
-
lastNode.vnodeData[0] |= 16 /* SERIALIZE */;
|
|
2835
|
-
}
|
|
2836
|
-
ssrComponentNode?.setProp(value, lastNode.id);
|
|
2837
|
-
await _walkJSX(this, children, {
|
|
2838
|
-
currentStyleScoped: scopedStyleId,
|
|
2839
|
-
parentComponentFrame: null
|
|
2840
|
-
});
|
|
2841
|
-
this.closeFragment();
|
|
2842
|
-
} else {
|
|
2843
|
-
throw Error();
|
|
2844
|
-
}
|
|
2845
|
-
}
|
|
2846
|
-
this.closeElement();
|
|
2847
|
-
} finally {
|
|
2848
|
-
this.currentComponentNode = previousCurrentComponentNode;
|
|
2849
|
-
}
|
|
2850
|
-
}
|
|
2851
|
-
}
|
|
2852
2810
|
// Keep in sync with process-vnode-data.unit.ts
|
|
2853
2811
|
emitVNodeSeparators(lastSerializedIdx, elementIdx) {
|
|
2854
2812
|
let skipCount = elementIdx - lastSerializedIdx;
|
|
@@ -2877,7 +2835,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2877
2835
|
}
|
|
2878
2836
|
createAndPushFrame(elementName, depthFirstElementIdx, currentFile) {
|
|
2879
2837
|
let tagNesting = 10 /* ANYTHING */;
|
|
2880
|
-
if (
|
|
2838
|
+
if (isDev6) {
|
|
2881
2839
|
if (!this.currentElementFrame) {
|
|
2882
2840
|
tagNesting = initialTag(elementName);
|
|
2883
2841
|
} else {
|
|
@@ -2923,7 +2881,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2923
2881
|
elementName,
|
|
2924
2882
|
depthFirstElementIdx,
|
|
2925
2883
|
vNodeData: [0 /* NONE */],
|
|
2926
|
-
currentFile:
|
|
2884
|
+
currentFile: isDev6 ? currentFile || null : null
|
|
2927
2885
|
};
|
|
2928
2886
|
this.currentElementFrame = frame;
|
|
2929
2887
|
this.vNodeDatas.push(frame.vNodeData);
|
|
@@ -2955,7 +2913,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
2955
2913
|
let value = attrs[i];
|
|
2956
2914
|
let styleScopedId = null;
|
|
2957
2915
|
if (isSSRUnsafeAttr(key)) {
|
|
2958
|
-
if (
|
|
2916
|
+
if (isDev6) {
|
|
2959
2917
|
throw qError(32 /* unsafeAttr */, [key]);
|
|
2960
2918
|
}
|
|
2961
2919
|
continue;
|
|
@@ -3010,7 +2968,7 @@ var SSRContainer = class extends _SharedContainer {
|
|
|
3010
2968
|
}
|
|
3011
2969
|
if (tag === "textarea" && key === "value") {
|
|
3012
2970
|
if (value && typeof value !== "string") {
|
|
3013
|
-
if (
|
|
2971
|
+
if (isDev6) {
|
|
3014
2972
|
throw qError(23 /* wrongTextareaValue */, [currentFile, value]);
|
|
3015
2973
|
}
|
|
3016
2974
|
continue;
|
|
@@ -833,7 +833,6 @@
|
|
|
833
833
|
for (
|
|
834
834
|
T &= 15, N = R[G + 2] + (M & Pe[T]), M >>= T, O -= T;
|
|
835
835
|
O < 15;
|
|
836
|
-
|
|
837
836
|
)
|
|
838
837
|
(U--, (M |= (S.read_byte(q++) & 255) << O), (O += 8));
|
|
839
838
|
((C = M & H), (R = y), (D = k), (G = (D + C) * 3), (T = R[G]));
|
|
@@ -991,7 +990,6 @@
|
|
|
991
990
|
D = g.write,
|
|
992
991
|
T = D < g.read ? g.read - D - 1 : g.end - D;
|
|
993
992
|
;
|
|
994
|
-
|
|
995
993
|
)
|
|
996
994
|
switch (t) {
|
|
997
995
|
case so:
|
|
@@ -1346,7 +1344,6 @@
|
|
|
1346
1344
|
w = n.write,
|
|
1347
1345
|
S = w < n.read ? n.read - w - 1 : n.end - w;
|
|
1348
1346
|
;
|
|
1349
|
-
|
|
1350
1347
|
) {
|
|
1351
1348
|
let R, D, T, M, O, q, U, B;
|
|
1352
1349
|
switch (r) {
|
|
@@ -1579,7 +1576,6 @@
|
|
|
1579
1576
|
for (
|
|
1580
1577
|
C = I == 18 ? 7 : I - 14, Y = I == 18 ? 11 : 3;
|
|
1581
1578
|
d < u + C;
|
|
1582
|
-
|
|
1583
1579
|
) {
|
|
1584
1580
|
if (k !== 0) g = V;
|
|
1585
1581
|
else
|
|
@@ -2327,7 +2323,6 @@
|
|
|
2327
2323
|
for (
|
|
2328
2324
|
t.push(Math.floor(e._length / 4294967296)), t.push(e._length | 0);
|
|
2329
2325
|
t.length;
|
|
2330
|
-
|
|
2331
2326
|
)
|
|
2332
2327
|
e._block(t.splice(0, 16));
|
|
2333
2328
|
return (e.reset(), n);
|
|
@@ -4526,7 +4521,6 @@
|
|
|
4526
4521
|
for (
|
|
4527
4522
|
d(H), m = n(c);
|
|
4528
4523
|
m !== null && (!(m.expirationTime > H) || (I && !T()));
|
|
4529
|
-
|
|
4530
4524
|
) {
|
|
4531
4525
|
var z = m.callback;
|
|
4532
4526
|
if (typeof z == "function") {
|
|
@@ -5013,7 +5007,6 @@
|
|
|
5013
5007
|
i = o.length - 1,
|
|
5014
5008
|
l = s.length - 1;
|
|
5015
5009
|
1 <= i && 0 <= l && o[i] !== s[l];
|
|
5016
|
-
|
|
5017
5010
|
)
|
|
5018
5011
|
l--;
|
|
5019
5012
|
for (; 1 <= i && 0 <= l; i--, l--)
|
|
@@ -5418,7 +5411,6 @@
|
|
|
5418
5411
|
po.innerHTML = "<svg>" + t.valueOf().toString() + "</svg>",
|
|
5419
5412
|
t = po.firstChild;
|
|
5420
5413
|
e.firstChild;
|
|
5421
|
-
|
|
5422
5414
|
)
|
|
5423
5415
|
e.removeChild(e.firstChild);
|
|
5424
5416
|
for (; t.firstChild; ) e.appendChild(t.firstChild);
|
|
@@ -5932,7 +5924,6 @@
|
|
|
5932
5924
|
o = e.expirationTimes,
|
|
5933
5925
|
s = e.pendingLanes;
|
|
5934
5926
|
0 < s;
|
|
5935
|
-
|
|
5936
5927
|
) {
|
|
5937
5928
|
var i = 31 - rt(s),
|
|
5938
5929
|
l = 1 << i,
|
|
@@ -8166,7 +8157,6 @@
|
|
|
8166
8157
|
for (
|
|
8167
8158
|
e = e.return;
|
|
8168
8159
|
e !== null && e.tag !== 5 && e.tag !== 3 && e.tag !== 13;
|
|
8169
|
-
|
|
8170
8160
|
)
|
|
8171
8161
|
e = e.return;
|
|
8172
8162
|
Be = e;
|
|
@@ -9853,7 +9843,6 @@ Error generating stack: ` +
|
|
|
9853
9843
|
r = n,
|
|
9854
9844
|
n = t.child;
|
|
9855
9845
|
n !== null;
|
|
9856
|
-
|
|
9857
9846
|
)
|
|
9858
9847
|
((s = n),
|
|
9859
9848
|
(e = r),
|
|
@@ -10539,7 +10528,6 @@ Error generating stack: ` +
|
|
|
10539
10528
|
for (
|
|
10540
10529
|
e = t.child, n = Jt(e, e.pendingProps), t.child = n, n.return = t;
|
|
10541
10530
|
e.sibling !== null;
|
|
10542
|
-
|
|
10543
10531
|
)
|
|
10544
10532
|
((e = e.sibling),
|
|
10545
10533
|
(n = n.sibling = Jt(e, e.pendingProps)),
|
|
@@ -10703,7 +10691,6 @@ Error generating stack: ` +
|
|
|
10703
10691
|
m !== s || (r !== 0 && m.nodeType !== 3) || (c = i + r),
|
|
10704
10692
|
m.nodeType === 3 && (i += m.nodeValue.length),
|
|
10705
10693
|
(x = m.firstChild) !== null;
|
|
10706
|
-
|
|
10707
10694
|
)
|
|
10708
10695
|
((h = m), (m = x));
|
|
10709
10696
|
for (;;) {
|
|
@@ -10726,7 +10713,6 @@ Error generating stack: ` +
|
|
|
10726
10713
|
for (
|
|
10727
10714
|
ol = { focusedElem: e, selectionRange: n }, ts = !1, P = t;
|
|
10728
10715
|
P !== null;
|
|
10729
|
-
|
|
10730
10716
|
)
|
|
10731
10717
|
if (
|
|
10732
10718
|
((t = P),
|
|
@@ -10862,7 +10848,6 @@ Error generating stack: ` +
|
|
|
10862
10848
|
for (
|
|
10863
10849
|
e.sibling.return = e.return, e = e.sibling;
|
|
10864
10850
|
e.tag !== 5 && e.tag !== 6 && e.tag !== 18;
|
|
10865
|
-
|
|
10866
10851
|
) {
|
|
10867
10852
|
if (e.flags & 2 || e.child === null || e.tag === 4) continue e;
|
|
10868
10853
|
((e.child.return = e), (e = e.child));
|
|
@@ -11782,7 +11767,6 @@ Error generating stack: ` +
|
|
|
11782
11767
|
e.pingedLanes &= ~t,
|
|
11783
11768
|
e = e.expirationTimes;
|
|
11784
11769
|
0 < t;
|
|
11785
|
-
|
|
11786
11770
|
) {
|
|
11787
11771
|
var n = 31 - rt(t),
|
|
11788
11772
|
r = 1 << n;
|
|
@@ -12466,7 +12450,6 @@ Error generating stack: ` +
|
|
|
12466
12450
|
n = Ep(t, null, r, n),
|
|
12467
12451
|
t.child = n;
|
|
12468
12452
|
n;
|
|
12469
|
-
|
|
12470
12453
|
)
|
|
12471
12454
|
((n.flags = (n.flags & -3) | 4096), (n = n.sibling));
|
|
12472
12455
|
else {
|
|
@@ -12536,7 +12519,6 @@ Error generating stack: ` +
|
|
|
12536
12519
|
for (
|
|
12537
12520
|
s = t.child, s !== null && (s.return = t);
|
|
12538
12521
|
s !== null;
|
|
12539
|
-
|
|
12540
12522
|
) {
|
|
12541
12523
|
var l = s.dependencies;
|
|
12542
12524
|
if (l !== null) {
|
|
@@ -18985,7 +18967,6 @@ Error generating stack: ` +
|
|
|
18985
18967
|
var l = i;
|
|
18986
18968
|
l < t.length - 1 &&
|
|
18987
18969
|
t[l].charCodeAt(1) + 1 === t[l + 1].charCodeAt(1);
|
|
18988
|
-
|
|
18989
18970
|
)
|
|
18990
18971
|
l += 1;
|
|
18991
18972
|
var c = 1 + l - i;
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -67,6 +67,7 @@ declare interface Container {
|
|
|
67
67
|
$renderPromise$: Promise<void> | null;
|
|
68
68
|
$resolveRenderPromise$: (() => void) | null;
|
|
69
69
|
$cursorCount$: number;
|
|
70
|
+
$pausedCursorCount$: number;
|
|
70
71
|
handleError(err: any, $host$: HostElement | null): void;
|
|
71
72
|
getParentHost(host: HostElement): HostElement | null;
|
|
72
73
|
setContext<T>(host: HostElement, context: ContextId<T>, value: T): void;
|
|
@@ -238,15 +239,13 @@ declare const enum EffectProperty {
|
|
|
238
239
|
* - `EffectProperty.COMPONENT` if component
|
|
239
240
|
* - `EffectProperty.VNODE` if VNode
|
|
240
241
|
*/
|
|
241
|
-
declare
|
|
242
|
-
Consumer
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
Set<SignalImpl | StoreTarget> | null,
|
|
247
|
-
|
|
248
|
-
SubscriptionData | null
|
|
249
|
-
];
|
|
242
|
+
declare class EffectSubscription {
|
|
243
|
+
consumer: Consumer;
|
|
244
|
+
property: EffectProperty | string;
|
|
245
|
+
backRef: Set<SignalImpl | StoreTarget> | null;
|
|
246
|
+
data: SubscriptionData | null;
|
|
247
|
+
constructor(consumer: Consumer, property: EffectProperty | string, backRef?: Set<SignalImpl | StoreTarget> | null, data?: SubscriptionData | null);
|
|
248
|
+
}
|
|
250
249
|
|
|
251
250
|
/**
|
|
252
251
|
* Creates a simple DOM structure for testing components.
|
|
@@ -754,12 +753,13 @@ export declare function trigger(root: Element, queryOrElement: string | Element
|
|
|
754
753
|
declare type ValueOrPromise<T> = T | Promise<T>;
|
|
755
754
|
|
|
756
755
|
/** @internal */
|
|
757
|
-
declare abstract class VNode
|
|
756
|
+
declare abstract class VNode implements BackRef {
|
|
758
757
|
flags: VNodeFlags;
|
|
759
758
|
parent: VNode | null;
|
|
760
759
|
previousSibling: VNode | null | undefined;
|
|
761
760
|
nextSibling: VNode | null | undefined;
|
|
762
761
|
props: Props | null;
|
|
762
|
+
[_EFFECT_BACK_REF]: Map<any, any> | undefined;
|
|
763
763
|
slotParent: VNode | null;
|
|
764
764
|
dirty: ChoreBits;
|
|
765
765
|
dirtyChildren: VNode[] | null;
|
|
@@ -770,7 +770,7 @@ declare abstract class VNode extends BackRef {
|
|
|
770
770
|
|
|
771
771
|
/** @public */
|
|
772
772
|
export declare function vnode_fromJSX(jsx: JSXOutput): {
|
|
773
|
-
vParent:
|
|
773
|
+
vParent: _VirtualVNode | _ElementVNode;
|
|
774
774
|
vNode: _VNode | null;
|
|
775
775
|
document: _QDocument;
|
|
776
776
|
container: ClientContainer_2;
|