@qwik.dev/core 2.0.0-beta.2 → 2.0.0-beta.21

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 (136) hide show
  1. package/bindings/qwik.darwin-arm64.node +0 -0
  2. package/bindings/qwik.linux-x64-gnu.node +0 -0
  3. package/bindings/qwik.win32-x64-msvc.node +0 -0
  4. package/bindings/qwik_wasm_bg.wasm +0 -0
  5. package/dist/backpatch/index.d.ts +2 -0
  6. package/dist/backpatch/index.mjs +5 -0
  7. package/dist/backpatch/package.json +8 -0
  8. package/dist/backpatch-executor.debug.js +39 -0
  9. package/dist/backpatch-executor.js +1 -0
  10. package/dist/build/package.json +1 -1
  11. package/dist/cli.mjs +5633 -0
  12. package/dist/core-internal.d.ts +673 -396
  13. package/dist/core.min.mjs +2 -1
  14. package/dist/core.mjs +10168 -8294
  15. package/dist/core.mjs.map +1 -1
  16. package/dist/core.prod.mjs +5745 -4592
  17. package/dist/insights/vite/index.mjs +10 -10
  18. package/dist/loader/index.mjs +2 -2
  19. package/dist/loader/package.json +1 -1
  20. package/dist/optimizer.d.ts +16 -38
  21. package/dist/optimizer.mjs +2608 -3719
  22. package/dist/preloader.mjs +8 -11
  23. package/dist/qwikloader.debug.js +152 -132
  24. package/dist/qwikloader.js +1 -1
  25. package/dist/server.d.ts +38 -15
  26. package/dist/server.mjs +1209 -927
  27. package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/{vite.config.mts → vite.config.ts} +2 -2
  28. package/dist/starters/adapters/aws-lambda/package.json +3 -2
  29. package/dist/starters/adapters/aws-lambda/src/entry_aws-lambda.tsx +2 -6
  30. package/dist/starters/adapters/azure-swa/adapters/azure-swa/{vite.config.mts → vite.config.ts} +2 -2
  31. package/dist/starters/adapters/azure-swa/package.json +3 -2
  32. package/dist/starters/adapters/azure-swa/src/entry.azure-swa.tsx +2 -3
  33. package/dist/starters/adapters/bun/adapters/bun/{vite.config.mts → vite.config.ts} +3 -3
  34. package/dist/starters/adapters/bun/package.json +3 -2
  35. package/dist/starters/adapters/bun/src/entry.bun.ts +0 -2
  36. package/dist/starters/adapters/cloud-run/adapters/cloud-run/{vite.config.mts → vite.config.ts} +2 -2
  37. package/dist/starters/adapters/cloud-run/package.json +3 -2
  38. package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +1 -3
  39. package/dist/starters/adapters/cloudflare-pages/adapters/cloudflare-pages/{vite.config.mts → vite.config.ts} +2 -2
  40. package/dist/starters/adapters/cloudflare-pages/package.json +3 -2
  41. package/dist/starters/adapters/cloudflare-pages/src/entry.cloudflare-pages.tsx +2 -3
  42. package/dist/starters/adapters/cloudflare-workers/README.md +52 -0
  43. package/dist/starters/adapters/cloudflare-workers/adapters/cloudflare-workers/vite.config.ts +15 -0
  44. package/dist/starters/adapters/cloudflare-workers/gitignore +3 -0
  45. package/dist/starters/adapters/cloudflare-workers/package.json +31 -0
  46. package/dist/starters/adapters/cloudflare-workers/public/.assetsignore +4 -0
  47. package/dist/starters/adapters/cloudflare-workers/public/_headers +11 -0
  48. package/dist/starters/adapters/cloudflare-workers/public/_redirects +1 -0
  49. package/dist/starters/adapters/cloudflare-workers/src/entry.cloudflare-pages.tsx +23 -0
  50. package/dist/starters/adapters/cloudflare-workers/worker-configuration.d.ts +5 -0
  51. package/dist/starters/adapters/cloudflare-workers/wrangler.jsonc +41 -0
  52. package/dist/starters/adapters/deno/adapters/deno/{vite.config.mts → vite.config.ts} +2 -2
  53. package/dist/starters/adapters/deno/package.json +3 -2
  54. package/dist/starters/adapters/deno/src/entry.deno.ts +0 -2
  55. package/dist/starters/adapters/express/adapters/express/{vite.config.mts → vite.config.ts} +2 -2
  56. package/dist/starters/adapters/express/package.json +4 -3
  57. package/dist/starters/adapters/express/src/entry.express.tsx +1 -3
  58. package/dist/starters/adapters/fastify/adapters/fastify/{vite.config.mts → vite.config.ts} +2 -2
  59. package/dist/starters/adapters/fastify/package.json +3 -2
  60. package/dist/starters/adapters/fastify/src/entry.fastify.tsx +1 -1
  61. package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +1 -2
  62. package/dist/starters/adapters/firebase/adapters/firebase/{vite.config.mts → vite.config.ts} +2 -2
  63. package/dist/starters/adapters/firebase/package.json +3 -2
  64. package/dist/starters/adapters/firebase/src/entry-firebase.tsx +2 -3
  65. package/dist/starters/adapters/netlify-edge/adapters/netlify-edge/{vite.config.mts → vite.config.ts} +2 -2
  66. package/dist/starters/adapters/netlify-edge/package.json +3 -2
  67. package/dist/starters/adapters/netlify-edge/src/entry.netlify-edge.tsx +2 -3
  68. package/dist/starters/adapters/node-server/adapters/node-server/{vite.config.mts → vite.config.ts} +2 -2
  69. package/dist/starters/adapters/node-server/package.json +3 -2
  70. package/dist/starters/adapters/node-server/src/entry.node-server.tsx +0 -2
  71. package/dist/starters/adapters/{static/adapters/static/vite.config.mts → ssg/adapters/ssg/vite.config.ts} +3 -3
  72. package/dist/starters/adapters/ssg/package.json +20 -0
  73. package/dist/starters/adapters/vercel-edge/README.md +2 -2
  74. package/dist/starters/adapters/vercel-edge/adapters/vercel-edge/{vite.config.mts → vite.config.ts} +2 -2
  75. package/dist/starters/adapters/vercel-edge/package.json +3 -2
  76. package/dist/starters/adapters/vercel-edge/src/entry.vercel-edge.tsx +2 -3
  77. package/dist/starters/adapters/vercel-edge/vercel.json +1 -1
  78. package/dist/starters/features/auth/package.json +1 -1
  79. package/dist/starters/features/compiled-i18n/package.json +37 -0
  80. package/dist/starters/features/compiled-i18n/src/components/locale-selector/locale-selector.tsx +30 -0
  81. package/dist/starters/features/compiled-i18n/src/entry.ssr.tsx +31 -0
  82. package/dist/starters/features/compiled-i18n/src/routes/plugin@compiled-i18n.ts +28 -0
  83. package/dist/starters/features/csr/index.html +23 -0
  84. package/dist/starters/features/csr/package.json +29 -0
  85. package/dist/starters/features/csr/src/root.tsx +15 -0
  86. package/dist/starters/features/csr/vite.config.ts +13 -0
  87. package/dist/starters/features/cypress/src/actions/example.action.ts +5 -0
  88. package/dist/starters/features/cypress/src/components/example/example.cy.tsx +50 -8
  89. package/dist/starters/features/cypress/src/components/example/example.tsx +13 -3
  90. package/dist/starters/features/cypress/src/loaders/example.loader.ts +5 -0
  91. package/dist/starters/features/pandacss/package.json +1 -1
  92. package/dist/starters/features/playwright/playwright-report/index.html +953 -930
  93. package/dist/starters/features/postcss/postcss.config.js +1 -1
  94. package/dist/starters/features/storybook/.storybook/tsconfig.json +0 -1
  95. package/dist/starters/features/styled-vanilla-extract/package.json +2 -1
  96. package/dist/starters/features/tailwind/package.json +2 -2
  97. package/dist/starters/features/tailwind/prettier.config.js +10 -0
  98. package/dist/starters/features/tailwind-v3/package.json +1 -1
  99. package/dist/starters/features/tailwind-v3/prettier.config.js +10 -0
  100. package/dist/testing/index.d.ts +775 -6
  101. package/dist/testing/index.mjs +14298 -10837
  102. package/dist/testing/package.json +1 -1
  103. package/handlers.mjs +1 -1
  104. package/package.json +30 -55
  105. package/public.d.ts +3 -1
  106. package/{qwik-cli.cjs → qwik-cli.mjs} +1 -1
  107. package/server.d.ts +2 -0
  108. package/bindings/qwik.darwin-x64.node +0 -0
  109. package/bindings/qwik.wasm.cjs +0 -471
  110. package/dist/build/index.cjs +0 -35
  111. package/dist/build/index.cjs.map +0 -7
  112. package/dist/build/index.dev.cjs +0 -37
  113. package/dist/build/index.dev.cjs.map +0 -7
  114. package/dist/build/index.prod.cjs +0 -37
  115. package/dist/build/index.prod.cjs.map +0 -7
  116. package/dist/cli.cjs +0 -5545
  117. package/dist/core.cjs +0 -11754
  118. package/dist/core.cjs.map +0 -1
  119. package/dist/core.prod.cjs +0 -5647
  120. package/dist/insights/index.qwik.cjs +0 -1
  121. package/dist/insights/vite/index.cjs +0 -1
  122. package/dist/loader/index.cjs +0 -4
  123. package/dist/optimizer.cjs +0 -4020
  124. package/dist/preloader.cjs +0 -269
  125. package/dist/server.cjs +0 -3027
  126. package/dist/starters/adapters/static/package.json +0 -19
  127. package/dist/starters/features/localize/package.json +0 -37
  128. package/dist/starters/features/localize/src/entry.ssr.tsx +0 -30
  129. package/dist/starters/features/localize/src/locales/message.en.json +0 -8
  130. package/dist/starters/features/localize/src/locales/message.it.json +0 -8
  131. package/dist/starters/features/localize/src/routes/[locale]/i18n-utils.ts +0 -94
  132. package/dist/starters/features/localize/src/routes/[locale]/index.tsx +0 -52
  133. package/dist/starters/features/localize/src/routes/[locale]/layout.tsx +0 -12
  134. package/dist/starters/features/tailwind/.prettierrc.js +0 -3
  135. package/dist/testing/index.cjs +0 -33287
  136. /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==null?void 0: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;