@qwik.dev/core 2.0.0-beta.3 → 2.0.0-beta.31

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 (139) hide show
  1. package/dist/backpatch/index.d.ts +2 -0
  2. package/dist/backpatch/index.mjs +5 -0
  3. package/dist/backpatch/package.json +8 -0
  4. package/dist/backpatch-executor.debug.js +39 -0
  5. package/dist/backpatch-executor.js +1 -0
  6. package/dist/build/package.json +1 -1
  7. package/dist/cli.mjs +12961 -0
  8. package/dist/core-internal.d.ts +1117 -707
  9. package/dist/core.min.mjs +2 -1
  10. package/dist/core.mjs +12216 -8953
  11. package/dist/core.mjs.map +1 -1
  12. package/dist/core.prod.mjs +8677 -5376
  13. package/dist/insights/index.qwik.mjs +80 -57
  14. package/dist/insights/vite/index.mjs +36 -33
  15. package/dist/loader/index.mjs +2 -2
  16. package/dist/loader/package.json +1 -1
  17. package/dist/optimizer.d.ts +47 -278
  18. package/dist/optimizer.mjs +2427 -3791
  19. package/dist/preloader.mjs +212 -117
  20. package/dist/qwikloader.debug.js +173 -135
  21. package/dist/qwikloader.js +1 -1
  22. package/dist/server.d.ts +51 -203
  23. package/dist/server.mjs +1661 -1157
  24. package/dist/server.prod.mjs +3452 -0
  25. package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/{vite.config.mts → vite.config.ts} +2 -2
  26. package/dist/starters/adapters/aws-lambda/package.json +3 -2
  27. package/dist/starters/adapters/aws-lambda/src/entry_aws-lambda.tsx +2 -6
  28. package/dist/starters/adapters/azure-swa/adapters/azure-swa/{vite.config.mts → vite.config.ts} +2 -2
  29. package/dist/starters/adapters/azure-swa/package.json +3 -2
  30. package/dist/starters/adapters/azure-swa/src/entry.azure-swa.tsx +2 -3
  31. package/dist/starters/adapters/bun/adapters/bun/{vite.config.mts → vite.config.ts} +3 -3
  32. package/dist/starters/adapters/bun/package.json +3 -2
  33. package/dist/starters/adapters/bun/src/entry.bun.ts +0 -2
  34. package/dist/starters/adapters/cloud-run/adapters/cloud-run/{vite.config.mts → vite.config.ts} +2 -2
  35. package/dist/starters/adapters/cloud-run/package.json +3 -2
  36. package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +1 -3
  37. package/dist/starters/adapters/cloudflare-pages/adapters/cloudflare-pages/{vite.config.mts → vite.config.ts} +2 -2
  38. package/dist/starters/adapters/cloudflare-pages/package.json +3 -2
  39. package/dist/starters/adapters/cloudflare-pages/src/entry.cloudflare-pages.tsx +2 -3
  40. package/dist/starters/adapters/cloudflare-workers/README.md +52 -0
  41. package/dist/starters/adapters/cloudflare-workers/adapters/cloudflare-workers/vite.config.ts +15 -0
  42. package/dist/starters/adapters/cloudflare-workers/gitignore +3 -0
  43. package/dist/starters/adapters/cloudflare-workers/package.json +31 -0
  44. package/dist/starters/adapters/cloudflare-workers/public/.assetsignore +4 -0
  45. package/dist/starters/adapters/cloudflare-workers/public/_headers +11 -0
  46. package/dist/starters/adapters/cloudflare-workers/public/_redirects +1 -0
  47. package/dist/starters/adapters/cloudflare-workers/src/entry.cloudflare-pages.tsx +23 -0
  48. package/dist/starters/adapters/cloudflare-workers/worker-configuration.d.ts +5 -0
  49. package/dist/starters/adapters/cloudflare-workers/wrangler.jsonc +41 -0
  50. package/dist/starters/adapters/deno/adapters/deno/{vite.config.mts → vite.config.ts} +2 -2
  51. package/dist/starters/adapters/deno/package.json +3 -2
  52. package/dist/starters/adapters/deno/src/entry.deno.ts +0 -2
  53. package/dist/starters/adapters/express/adapters/express/{vite.config.mts → vite.config.ts} +2 -2
  54. package/dist/starters/adapters/express/package.json +4 -3
  55. package/dist/starters/adapters/express/src/entry.express.tsx +1 -3
  56. package/dist/starters/adapters/fastify/adapters/fastify/{vite.config.mts → vite.config.ts} +2 -2
  57. package/dist/starters/adapters/fastify/package.json +4 -3
  58. package/dist/starters/adapters/fastify/src/entry.fastify.tsx +1 -1
  59. package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +1 -2
  60. package/dist/starters/adapters/firebase/adapters/firebase/{vite.config.mts → vite.config.ts} +2 -2
  61. package/dist/starters/adapters/firebase/package.json +3 -2
  62. package/dist/starters/adapters/firebase/src/entry-firebase.tsx +2 -3
  63. package/dist/starters/adapters/netlify-edge/adapters/netlify-edge/{vite.config.mts → vite.config.ts} +2 -2
  64. package/dist/starters/adapters/netlify-edge/package.json +5 -4
  65. package/dist/starters/adapters/netlify-edge/src/entry.netlify-edge.tsx +2 -3
  66. package/dist/starters/adapters/node-server/adapters/node-server/{vite.config.mts → vite.config.ts} +2 -2
  67. package/dist/starters/adapters/node-server/package.json +3 -2
  68. package/dist/starters/adapters/node-server/src/entry.node-server.tsx +0 -2
  69. package/dist/starters/adapters/{static/adapters/static/vite.config.mts → ssg/adapters/ssg/vite.config.ts} +3 -3
  70. package/dist/starters/adapters/ssg/package.json +20 -0
  71. package/dist/starters/adapters/vercel-edge/README.md +2 -2
  72. package/dist/starters/adapters/vercel-edge/adapters/vercel-edge/{vite.config.mts → vite.config.ts} +2 -2
  73. package/dist/starters/adapters/vercel-edge/package.json +3 -2
  74. package/dist/starters/adapters/vercel-edge/src/entry.vercel-edge.tsx +2 -3
  75. package/dist/starters/adapters/vercel-edge/vercel.json +1 -1
  76. package/dist/starters/features/auth/package.json +1 -1
  77. package/dist/starters/features/compiled-i18n/package.json +37 -0
  78. package/dist/starters/features/compiled-i18n/src/components/locale-selector/locale-selector.tsx +30 -0
  79. package/dist/starters/features/compiled-i18n/src/entry.ssr.tsx +31 -0
  80. package/dist/starters/features/compiled-i18n/src/routes/plugin@compiled-i18n.ts +28 -0
  81. package/dist/starters/features/csr/index.html +27 -0
  82. package/dist/starters/features/csr/package.json +29 -0
  83. package/dist/starters/features/csr/src/root.tsx +15 -0
  84. package/dist/starters/features/csr/vite.config.ts +13 -0
  85. package/dist/starters/features/cypress/src/actions/example.action.ts +5 -0
  86. package/dist/starters/features/cypress/src/components/example/example.cy.tsx +50 -8
  87. package/dist/starters/features/cypress/src/components/example/example.tsx +13 -3
  88. package/dist/starters/features/cypress/src/loaders/example.loader.ts +5 -0
  89. package/dist/starters/features/pandacss/package.json +1 -1
  90. package/dist/starters/features/postcss/postcss.config.js +1 -1
  91. package/dist/starters/features/storybook/.storybook/tsconfig.json +0 -1
  92. package/dist/starters/features/styled-vanilla-extract/package.json +2 -1
  93. package/dist/starters/features/tailwind/package.json +2 -2
  94. package/dist/starters/features/tailwind/prettier.config.js +10 -0
  95. package/dist/starters/features/tailwind-v3/package.json +1 -1
  96. package/dist/starters/features/tailwind-v3/prettier.config.js +10 -0
  97. package/dist/testing/index.d.ts +928 -6
  98. package/dist/testing/index.mjs +16212 -11578
  99. package/dist/testing/package.json +1 -1
  100. package/handlers.mjs +1 -1
  101. package/package.json +34 -56
  102. package/public.d.ts +5 -1
  103. package/{qwik-cli.cjs → qwik-cli.mjs} +1 -1
  104. package/server.d.ts +2 -0
  105. package/bindings/qwik.darwin-arm64.node +0 -0
  106. package/bindings/qwik.darwin-x64.node +0 -0
  107. package/bindings/qwik.linux-x64-gnu.node +0 -0
  108. package/bindings/qwik.wasm.cjs +0 -471
  109. package/bindings/qwik.wasm.mjs +0 -464
  110. package/bindings/qwik.win32-x64-msvc.node +0 -0
  111. package/bindings/qwik_wasm_bg.wasm +0 -0
  112. package/dist/build/index.cjs +0 -35
  113. package/dist/build/index.cjs.map +0 -7
  114. package/dist/build/index.dev.cjs +0 -37
  115. package/dist/build/index.dev.cjs.map +0 -7
  116. package/dist/build/index.prod.cjs +0 -37
  117. package/dist/build/index.prod.cjs.map +0 -7
  118. package/dist/cli.cjs +0 -5545
  119. package/dist/core.cjs +0 -11800
  120. package/dist/core.cjs.map +0 -1
  121. package/dist/core.prod.cjs +0 -5661
  122. package/dist/insights/index.qwik.cjs +0 -1
  123. package/dist/insights/vite/index.cjs +0 -1
  124. package/dist/loader/index.cjs +0 -4
  125. package/dist/optimizer.cjs +0 -4020
  126. package/dist/preloader.cjs +0 -269
  127. package/dist/server.cjs +0 -3037
  128. package/dist/starters/adapters/static/package.json +0 -19
  129. package/dist/starters/features/localize/package.json +0 -37
  130. package/dist/starters/features/localize/src/entry.ssr.tsx +0 -30
  131. package/dist/starters/features/localize/src/locales/message.en.json +0 -8
  132. package/dist/starters/features/localize/src/locales/message.it.json +0 -8
  133. package/dist/starters/features/localize/src/routes/[locale]/i18n-utils.ts +0 -94
  134. package/dist/starters/features/localize/src/routes/[locale]/index.tsx +0 -52
  135. package/dist/starters/features/localize/src/routes/[locale]/layout.tsx +0 -12
  136. package/dist/starters/features/playwright/playwright-report/index.html +0 -22026
  137. package/dist/starters/features/tailwind/.prettierrc.js +0 -3
  138. package/dist/testing/index.cjs +0 -33331
  139. /package/dist/starters/adapters/{static → ssg}/README.md +0 -0
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("@qwik.dev/core"),L=require("@qwik.dev/core/jsx-runtime"),T=g.sync$(()=>((r,i,w,_,b,l,y)=>{var h=__QI_KEY__,d=__QI_URL__,E=i.querySelector("[q\\:version]")?.getAttribute("q:version")||"unknown",f=i.querySelector("[q\\:manifest-hash]")?.getAttribute("q:manifest-hash")||"dev",s=[],q=new Set,o=0,v=0,a,p=b.now(),m=i.querySelector("[q\\:route]"),I=()=>{if(a=void 0,s.length>o){var t={qVersion:E,publicApiKey:h,manifestHash:f,previousSymbol:o==0?void 0:s[o-1].symbol,symbols:s.slice(o)};_.sendBeacon(d,y(t)),o=s.length}},k=()=>{a!=null&&clearTimeout(a),a=setTimeout(I,1e3)};r.qSymbolTracker={symbols:s,publicApiKey:h},m&&new MutationObserver(t=>{var e=t.find(n=>n.attributeName==="q:route");e&&(p=b.now())}).observe(m,{attributes:!0}),i.addEventListener("visibilitychange",()=>i.visibilityState==="hidden"&&I()),i.addEventListener("qsymbol",t=>{var e=t,n=e.detail,u=n.reqTime,S=e.timeStamp,c=n.symbol;if(!q.has(c)){q.add(c);var R=m?.getAttribute("q:route")||"/";s.push({symbol:c,route:R,delay:l(0-v+u),latency:l(S-u),timeline:l(0-p+u),interaction:!!n.element}),v=S,k()}}),r.addEventListener("error",t=>{var e=t.error;if(e&&typeof e=="object"){var n={url:`${w}`,manifestHash:f,timestamp:new Date().getTime(),source:t.filename,line:t.lineno,column:t.colno,message:t.message,error:"message"in e?e.message:`${e}`,stack:"stack"in e&&e.stack||""};_.sendBeacon(`${d}error/`,y(n))}})})(window,document,location,navigator,performance,Math.round,JSON.stringify)),$=g.component$(()=>{if(!__EXPERIMENTAL__.insights)throw new Error('Insights is experimental and must be enabled with `experimental: ["insights"]` in the `qwikVite` plugin.');const r=globalThis.__QI_KEY__,i=globalThis.__QI_URL__;return!r||!i?(g.isDev||console.warn("<Insights />: no config from qwikInsights plugin, skipping..."),null):L.jsx("script",{"document:onQInit$":T,dangerouslySetInnerHTML:`__QI_KEY__=${JSON.stringify(r)};__QI_URL__=${JSON.stringify(i)}`})});exports.Insights=$;exports.insightsPing=T;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("node:fs"),y=require("node:fs/promises"),m=require("node:path"),b=(r,...o)=>{console.warn("\x1B[33m%s\x1B[0m",`qwikInsight()[WARN]: ${r}`,...o)},k=r=>{console.log("\x1B[35m%s\x1B[0m",`qwikInsight(): ${r}`)};async function _(r){const{publicApiKey:o,baseUrl:I="https://insights.qwik.dev",outDir:w=""}=r;if(!o){console.warn("qwikInsights: publicApiKey is required, skipping...");return}let u=!1,g,n,e=null,l=null;const f=`${I}/api/v1/${o}`,p=`${f}/post/`;async function q(){return e||(h.existsSync(n)?(k("Reading Qwik Insight data from: "+n),e=JSON.parse(await y.readFile(n,"utf-8"))):null)}return{name:"vite-plugin-qwik-insights",enforce:"pre",apply:"build",async config(i){return g=m.resolve(i.root||".",w),n=m.join(g,"q-insights.json"),u=i.mode!=="ssr",{define:{"globalThis.__QI_KEY__":JSON.stringify(o),"globalThis.__QI_URL__":JSON.stringify(p)}}},configResolved:{order:"post",async handler(i){if(l=i.plugins.find(t=>t.name==="vite-plugin-qwik"),!l)throw new Error("Missing vite-plugin-qwik");const c=l.api.getOptions();if(u)try{const t={manual:{},prefetch:[]},a=await(await fetch(`${f}/bundles/strategy/`)).json();Object.assign(t,a),e=t,h.mkdirSync(g,{recursive:!0}),k("Fetched latest Qwik Insight data into: "+n),await y.writeFile(n,JSON.stringify(t))}catch(t){b(`Failed to fetch manifest from Insights DB at ${f}/bundles/strategy/`,t),await q()}else await q();e&&(c.entryStrategy.manual={...e.manual,...c.entryStrategy.manual},l.api.registerBundleGraphAdder(t=>{const d={};for(const a of e?.prefetch||[])if(a.symbols){let s=a.route;s.startsWith("/")&&(s=s.slice(1)),s.endsWith("/")||(s+="/"),d[s]={...t.bundles[s],imports:a.symbols}}return d}))}},closeBundle:async()=>{const i=m.resolve(w,"q-manifest.json");if(u&&h.existsSync(i)){const c=await y.readFile(i,"utf-8");try{await fetch(`${p}manifest`,{method:"post",body:c})}catch(t){b(`Failed to post manifest to Insights DB at ${p}manifest`,t)}}}}}exports.qwikInsights=_;
@@ -1,4 +0,0 @@
1
- const QWIK_LOADER = "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()}";
2
- const QWIK_LOADER_DEBUG = "const doc = document;\nconst win = window;\nconst events = /* @__PURE__ */ new Set();\nconst roots = /* @__PURE__ */ new Set([doc]);\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\";\nlet doNotClean = true;\nconst broadcast = (infix, ev, type = ev.type) => {\n let found = doNotClean;\n querySelectorAll(\"[on\" + infix + \"\\\\:\" + type + \"]\").forEach((el) => {\n found = true;\n dispatch(el, infix, ev, type);\n });\n if (!found) {\n window[infix.slice(1)].removeEventListener(\n type,\n infix === \"-window\" ? processWindowEvent : processDocumentEvent\n );\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 attrValue = element.getAttribute(attrName);\n const qDispatchEvent = element.qDispatchEvent;\n if (qDispatchEvent) {\n return qDispatchEvent(ev, scope);\n }\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 {\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 }\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) => {\n let type = camelToKebab(ev.type);\n let element = ev.target;\n broadcast(\"-document\", ev, type);\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(\"-window\", ev, camelToKebab(ev.type));\n};\nconst processReadyStateChange = () => {\n var _a;\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 = (_a = win.requestIdleCallback) != null ? _a : 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};\nlet cleanTimer;\nconst processEventOrNode = (...eventNames) => {\n doNotClean = true;\n clearTimeout(cleanTimer);\n cleanTimer = setTimeout(() => doNotClean = false, 2e4);\n for (const eventNameOrNode of eventNames) {\n if (typeof eventNameOrNode === \"string\") {\n if (!events.has(eventNameOrNode)) {\n roots.forEach(\n (root) => addEventListener(root, eventNameOrNode, processDocumentEvent, true)\n );\n addEventListener(win, eventNameOrNode, processWindowEvent, true);\n events.add(eventNameOrNode);\n }\n } else {\n if (!roots.has(eventNameOrNode)) {\n events.forEach(\n (eventName) => addEventListener(eventNameOrNode, eventName, processDocumentEvent, true)\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}";
3
- exports.QWIK_LOADER = QWIK_LOADER;
4
- exports.QWIK_LOADER_DEBUG = QWIK_LOADER_DEBUG;