@nuxt/scripts 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/devtools-client/200.html +1 -1
- package/dist/devtools-client/404.html +1 -1
- package/dist/devtools-client/_nuxt/{DSsHxmoa.js → -l_Ea-OJ.js} +1 -1
- package/dist/devtools-client/_nuxt/{CGpx20cA.js → 3x0vfy9V.js} +1 -1
- package/dist/devtools-client/_nuxt/{HwG19HWB.js → BXHESzkh.js} +1 -1
- package/dist/devtools-client/_nuxt/{CrquxyIP.js → Bc00m62Q.js} +1 -1
- package/dist/devtools-client/_nuxt/{DfHxEc1R.js → CuXL8tZi.js} +1 -1
- package/dist/devtools-client/_nuxt/{D2og3hsL.js → D5fxpUga.js} +1 -1
- package/dist/devtools-client/_nuxt/{BHx4OUbM.js → DLLLjYUR.js} +20 -20
- package/dist/devtools-client/_nuxt/builds/latest.json +1 -1
- package/dist/devtools-client/_nuxt/builds/meta/a20c007a-cd1e-42bf-8c21-eebe97e5bdd1.json +1 -0
- package/dist/devtools-client/_nuxt/error-404.BmTWJpVN.css +1 -0
- package/dist/devtools-client/_nuxt/error-500.DxASQRq7.css +1 -0
- package/dist/devtools-client/docs/index.html +1 -1
- package/dist/devtools-client/first-party/index.html +1 -1
- package/dist/devtools-client/index.html +1 -1
- package/dist/devtools-client/registry/index.html +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +162 -0
- package/dist/registry.mjs +8 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.d.vue.ts +2 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue.d.ts +2 -0
- package/dist/runtime/composables/useScript.js +1 -1
- package/dist/runtime/registry/vimeo-player.d.ts +1 -2
- package/dist/runtime/registry/youtube-player.d.ts +1 -2
- package/dist/runtime/types.d.ts +31 -1
- package/package.json +7 -4
- package/dist/devtools-client/_nuxt/builds/meta/95e11f41-6ffd-4129-ac40-6ad3d141308e.json +0 -1
- package/dist/devtools-client/_nuxt/error-404.LWbgYmYe.css +0 -1
- package/dist/devtools-client/_nuxt/error-500.C19ZIySL.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"
|
|
1
|
+
{"id":"a20c007a-cd1e-42bf-8c21-eebe97e5bdd1","timestamp":1784001630790}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"a20c007a-cd1e-42bf-8c21-eebe97e5bdd1","timestamp":1784001630790,"prerendered":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.grid[data-v-6d51f7c3]{display:grid}.mb-2[data-v-6d51f7c3]{margin-bottom:.5rem}.mb-4[data-v-6d51f7c3]{margin-bottom:1rem}.max-w-520px[data-v-6d51f7c3]{max-width:520px}.min-h-screen[data-v-6d51f7c3]{min-height:100vh}.w-full[data-v-6d51f7c3]{width:100%}.flex[data-v-6d51f7c3]{display:flex}.place-content-center[data-v-6d51f7c3]{place-content:center}.items-center[data-v-6d51f7c3]{align-items:center}.justify-center[data-v-6d51f7c3]{justify-content:center}.overflow-hidden[data-v-6d51f7c3]{overflow:hidden}.bg-white[data-v-6d51f7c3]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-6d51f7c3]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-6d51f7c3]{text-align:center}.text-\[80px\][data-v-6d51f7c3]{font-size:80px}.text-2xl[data-v-6d51f7c3]{font-size:1.5rem;line-height:2rem}.text-sm[data-v-6d51f7c3]{font-size:.875rem;line-height:1.25rem}.text-\[\#020420\][data-v-6d51f7c3]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-6d51f7c3]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.hover\:text-\[\#00DC82\][data-v-6d51f7c3]:hover{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.font-medium[data-v-6d51f7c3]{font-weight:500}.font-semibold[data-v-6d51f7c3]{font-weight:600}.leading-none[data-v-6d51f7c3]{line-height:1}.tracking-wide[data-v-6d51f7c3]{letter-spacing:.025em}.font-sans[data-v-6d51f7c3]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-6d51f7c3]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline[data-v-6d51f7c3]{text-decoration-line:underline}.underline-offset-3[data-v-6d51f7c3]{text-underline-offset:3px}.antialiased[data-v-6d51f7c3]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-6d51f7c3]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-6d51f7c3]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\:text-\[110px\][data-v-6d51f7c3]{font-size:110px}.sm\:text-3xl[data-v-6d51f7c3]{font-size:1.875rem;line-height:2.25rem}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.grid[data-v-8f632ebd]{display:grid}.mb-2[data-v-8f632ebd]{margin-bottom:.5rem}.mb-4[data-v-8f632ebd]{margin-bottom:1rem}.max-w-520px[data-v-8f632ebd]{max-width:520px}.min-h-screen[data-v-8f632ebd]{min-height:100vh}.place-content-center[data-v-8f632ebd]{place-content:center}.overflow-hidden[data-v-8f632ebd]{overflow:hidden}.bg-white[data-v-8f632ebd]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-8f632ebd]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-8f632ebd]{text-align:center}.text-\[80px\][data-v-8f632ebd]{font-size:80px}.text-2xl[data-v-8f632ebd]{font-size:1.5rem;line-height:2rem}.text-\[\#020420\][data-v-8f632ebd]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-8f632ebd]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.font-semibold[data-v-8f632ebd]{font-weight:600}.leading-none[data-v-8f632ebd]{line-height:1}.tracking-wide[data-v-8f632ebd]{letter-spacing:.025em}.font-sans[data-v-8f632ebd]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-8f632ebd]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased[data-v-8f632ebd]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-8f632ebd]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-8f632ebd]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\:text-\[110px\][data-v-8f632ebd]{font-size:110px}.sm\:text-3xl[data-v-8f632ebd]{font-size:1.875rem;line-height:2.25rem}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-scripts/_nuxt/entry.DehJww9T.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-scripts/_nuxt/entry.DehJww9T.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/DLLLjYUR.js"><script type="module" src="/__nuxt-scripts/_nuxt/DLLLjYUR.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/B8PEiB0p.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/Cp-IABpG.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/wDzz0qaB.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/CVO1_9PV.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/D0r3Knsf.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-scripts/_nuxt/error-500.DxASQRq7.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/D5fxpUga.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-scripts",buildId:"a20c007a-cd1e-42bf-8c21-eebe97e5bdd1",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1784001639490,false]</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-scripts/_nuxt/entry.DehJww9T.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-scripts/_nuxt/entry.DehJww9T.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/DLLLjYUR.js"><script type="module" src="/__nuxt-scripts/_nuxt/DLLLjYUR.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/B8PEiB0p.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/Cp-IABpG.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/wDzz0qaB.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/CVO1_9PV.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/D0r3Knsf.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-scripts/_nuxt/error-500.DxASQRq7.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/D5fxpUga.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-scripts",buildId:"a20c007a-cd1e-42bf-8c21-eebe97e5bdd1",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1784001639492,false]</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-scripts/_nuxt/entry.DehJww9T.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-scripts/_nuxt/entry.DehJww9T.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/DLLLjYUR.js"><script type="module" src="/__nuxt-scripts/_nuxt/DLLLjYUR.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/B8PEiB0p.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/Cp-IABpG.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/wDzz0qaB.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/CVO1_9PV.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/D0r3Knsf.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-scripts/_nuxt/error-500.DxASQRq7.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/D5fxpUga.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-scripts",buildId:"a20c007a-cd1e-42bf-8c21-eebe97e5bdd1",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1784001639492,false]</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-scripts/_nuxt/entry.DehJww9T.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-scripts/_nuxt/entry.DehJww9T.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/DLLLjYUR.js"><script type="module" src="/__nuxt-scripts/_nuxt/DLLLjYUR.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/B8PEiB0p.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/Cp-IABpG.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/wDzz0qaB.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/CVO1_9PV.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/D0r3Knsf.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-scripts/_nuxt/error-500.DxASQRq7.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-scripts/_nuxt/D5fxpUga.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-scripts",buildId:"a20c007a-cd1e-42bf-8c21-eebe97e5bdd1",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1784001639492,false]</script></body></html>
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -617,9 +617,146 @@ function rewriteScriptUrlsAST(content, filename, rewrites, sdkPatches, options)
|
|
|
617
617
|
const prev = content[start - 1];
|
|
618
618
|
return prev && WORD_OR_DOLLAR_RE.test(prev) ? " " : "";
|
|
619
619
|
}
|
|
620
|
+
function sourceOf(node) {
|
|
621
|
+
return content.slice(node.start, node.end);
|
|
622
|
+
}
|
|
620
623
|
const scopeTracker = new ScopeTracker({ preserveExitedScopes: true });
|
|
621
624
|
const { program } = parseAndWalk(content, filename, { scopeTracker });
|
|
622
625
|
scopeTracker.freeze();
|
|
626
|
+
const scriptLoaderUrlPatches = sdkPatches?.filter((p) => p.type === "replace-script-loader-url") ?? [];
|
|
627
|
+
const scriptLoaderFunctionKeys = /* @__PURE__ */ new Set();
|
|
628
|
+
function isIdentifier(node, name) {
|
|
629
|
+
return node?.type === "Identifier" && (!name || node.name === name);
|
|
630
|
+
}
|
|
631
|
+
function propertyName(node) {
|
|
632
|
+
if (!node)
|
|
633
|
+
return null;
|
|
634
|
+
if (node.type === "Identifier")
|
|
635
|
+
return node.name;
|
|
636
|
+
if (node.type === "Literal" && typeof node.value === "string")
|
|
637
|
+
return node.value;
|
|
638
|
+
return null;
|
|
639
|
+
}
|
|
640
|
+
function firstParamName(node) {
|
|
641
|
+
const param = node?.params?.[0];
|
|
642
|
+
return param?.type === "Identifier" ? param.name : null;
|
|
643
|
+
}
|
|
644
|
+
function functionName(node, parent) {
|
|
645
|
+
if (node.type === "FunctionDeclaration" && node.id?.type === "Identifier")
|
|
646
|
+
return node.id.name;
|
|
647
|
+
if ((node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression") && parent?.type === "VariableDeclarator" && parent.id?.type === "Identifier") {
|
|
648
|
+
return parent.id.name;
|
|
649
|
+
}
|
|
650
|
+
if ((node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression") && parent?.type === "AssignmentExpression" && parent.left?.type === "Identifier") {
|
|
651
|
+
return parent.left.name;
|
|
652
|
+
}
|
|
653
|
+
return null;
|
|
654
|
+
}
|
|
655
|
+
function declarationKey(name) {
|
|
656
|
+
const decl = scopeTracker.getDeclaration(name);
|
|
657
|
+
if (decl) {
|
|
658
|
+
const node = decl.node;
|
|
659
|
+
return `${decl.type}:${decl.scope}:${node?.start ?? decl.start}:${node?.end ?? decl.end}`;
|
|
660
|
+
}
|
|
661
|
+
return `global:${name}`;
|
|
662
|
+
}
|
|
663
|
+
function isScriptLoaderPathLiteral(value, pathPrefix) {
|
|
664
|
+
return value === pathPrefix || value.startsWith(`${pathPrefix}/`);
|
|
665
|
+
}
|
|
666
|
+
function getIdentifierInit(name) {
|
|
667
|
+
const decl = scopeTracker.getDeclaration(name);
|
|
668
|
+
if (!(decl instanceof ScopeTrackerVariable))
|
|
669
|
+
return null;
|
|
670
|
+
const declarators = decl.variableNode.declarations;
|
|
671
|
+
if (!declarators)
|
|
672
|
+
return null;
|
|
673
|
+
for (const declarator of declarators) {
|
|
674
|
+
if (declarator.id?.type === "Identifier" && declarator.id.name === name)
|
|
675
|
+
return declarator.init ?? null;
|
|
676
|
+
}
|
|
677
|
+
return null;
|
|
678
|
+
}
|
|
679
|
+
function findScriptLoaderPathExpression(node, pathPrefix, seenIdentifiers = /* @__PURE__ */ new Set()) {
|
|
680
|
+
if (!node)
|
|
681
|
+
return null;
|
|
682
|
+
if (node.type === "Identifier") {
|
|
683
|
+
if (seenIdentifiers.has(node.name))
|
|
684
|
+
return null;
|
|
685
|
+
const init = getIdentifierInit(node.name);
|
|
686
|
+
if (!init)
|
|
687
|
+
return null;
|
|
688
|
+
seenIdentifiers.add(node.name);
|
|
689
|
+
return findScriptLoaderPathExpression(init, pathPrefix, seenIdentifiers) ? node : null;
|
|
690
|
+
}
|
|
691
|
+
if (node.type === "Literal" && typeof node.value === "string" && isScriptLoaderPathLiteral(node.value, pathPrefix))
|
|
692
|
+
return node;
|
|
693
|
+
if (node.type === "TemplateLiteral") {
|
|
694
|
+
const hasConfigPrefix = node.quasis?.some((q) => {
|
|
695
|
+
const value = q.value?.cooked ?? q.value?.raw;
|
|
696
|
+
return typeof value === "string" && isScriptLoaderPathLiteral(value, pathPrefix);
|
|
697
|
+
});
|
|
698
|
+
return hasConfigPrefix ? node : null;
|
|
699
|
+
}
|
|
700
|
+
if (node.type === "CallExpression") {
|
|
701
|
+
for (const arg of node.arguments ?? []) {
|
|
702
|
+
const found = findScriptLoaderPathExpression(arg, pathPrefix, seenIdentifiers);
|
|
703
|
+
if (found)
|
|
704
|
+
return found;
|
|
705
|
+
}
|
|
706
|
+
return null;
|
|
707
|
+
}
|
|
708
|
+
if (node.type === "BinaryExpression" || node.type === "LogicalExpression")
|
|
709
|
+
return findScriptLoaderPathExpression(node.right, pathPrefix, seenIdentifiers) || findScriptLoaderPathExpression(node.left, pathPrefix, seenIdentifiers);
|
|
710
|
+
if (node.type === "ConditionalExpression")
|
|
711
|
+
return findScriptLoaderPathExpression(node.consequent, pathPrefix, seenIdentifiers) || findScriptLoaderPathExpression(node.alternate, pathPrefix, seenIdentifiers);
|
|
712
|
+
if (node.type === "SequenceExpression") {
|
|
713
|
+
for (let i = node.expressions.length - 1; i >= 0; i--) {
|
|
714
|
+
const found = findScriptLoaderPathExpression(node.expressions[i], pathPrefix, seenIdentifiers);
|
|
715
|
+
if (found)
|
|
716
|
+
return found;
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
return null;
|
|
720
|
+
}
|
|
721
|
+
function isScriptLoaderFunction(node, urlParam) {
|
|
722
|
+
let matches = false;
|
|
723
|
+
walk(node.body, {
|
|
724
|
+
enter(child) {
|
|
725
|
+
if (child !== node.body && (child.type === "FunctionDeclaration" || child.type === "FunctionExpression" || child.type === "ArrowFunctionExpression")) {
|
|
726
|
+
this.skip();
|
|
727
|
+
return;
|
|
728
|
+
}
|
|
729
|
+
if (child.type === "CallExpression" && child.callee?.type === "Identifier" && child.callee.name === "importScripts" && isIdentifier(child.arguments?.[0], urlParam)) {
|
|
730
|
+
matches = true;
|
|
731
|
+
}
|
|
732
|
+
if (child.type === "CallExpression" && child.callee?.type === "MemberExpression" && propertyName(child.callee.property) === "setAttribute" && child.arguments?.[0]?.type === "Literal" && child.arguments[0].value === "src" && isIdentifier(child.arguments?.[1], urlParam)) {
|
|
733
|
+
matches = true;
|
|
734
|
+
}
|
|
735
|
+
if (child.type === "Property" && propertyName(child.key) === "src" && isIdentifier(child.value, urlParam)) {
|
|
736
|
+
matches = true;
|
|
737
|
+
}
|
|
738
|
+
if (child.type === "AssignmentExpression" && child.left?.type === "MemberExpression" && propertyName(child.left.property) === "src" && isIdentifier(child.right, urlParam)) {
|
|
739
|
+
matches = true;
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
});
|
|
743
|
+
return matches;
|
|
744
|
+
}
|
|
745
|
+
if (scriptLoaderUrlPatches.length) {
|
|
746
|
+
walk(program, {
|
|
747
|
+
scopeTracker,
|
|
748
|
+
enter(node, parent) {
|
|
749
|
+
if (node.type !== "FunctionDeclaration" && node.type !== "FunctionExpression" && node.type !== "ArrowFunctionExpression")
|
|
750
|
+
return;
|
|
751
|
+
const name = functionName(node, parent);
|
|
752
|
+
const param = firstParamName(node);
|
|
753
|
+
if (!name || !param)
|
|
754
|
+
return;
|
|
755
|
+
if (isScriptLoaderFunction(node, param))
|
|
756
|
+
scriptLoaderFunctionKeys.add(declarationKey(name));
|
|
757
|
+
}
|
|
758
|
+
});
|
|
759
|
+
}
|
|
623
760
|
walk(program, {
|
|
624
761
|
scopeTracker,
|
|
625
762
|
enter(node, parent, ctx) {
|
|
@@ -759,6 +896,31 @@ function rewriteScriptUrlsAST(content, filename, rewrites, sdkPatches, options)
|
|
|
759
896
|
}
|
|
760
897
|
}
|
|
761
898
|
}
|
|
899
|
+
if (sdkPatches?.some((p) => p.type === "replace-new-url-host") && node.type === "MemberExpression" && !node.computed) {
|
|
900
|
+
const obj = node.object;
|
|
901
|
+
const prop = node.property;
|
|
902
|
+
if (prop?.type === "Identifier" && (prop.name === "host" || prop.name === "hostname") && obj?.type === "NewExpression" && obj.callee?.type === "Identifier" && obj.callee.name === "URL" && obj.arguments?.length >= 1) {
|
|
903
|
+
const patch = sdkPatches.find((p) => p.type === "replace-new-url-host");
|
|
904
|
+
if (patch)
|
|
905
|
+
s.overwrite(node.start, node.end, `${needsLeadingSpace(node.start)}${JSON.stringify(patch.host)}`);
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
if (scriptLoaderUrlPatches.length && node.type === "CallExpression" && node.callee?.type === "Identifier" && scriptLoaderFunctionKeys.has(declarationKey(node.callee.name))) {
|
|
909
|
+
const urlArg = node.arguments?.[0];
|
|
910
|
+
if (urlArg) {
|
|
911
|
+
for (const patch of scriptLoaderUrlPatches) {
|
|
912
|
+
const rewrite = rewrites.find((r) => r.from === patch.fromDomain);
|
|
913
|
+
if (!rewrite)
|
|
914
|
+
continue;
|
|
915
|
+
const pathNode = findScriptLoaderPathExpression(urlArg, patch.pathPrefix);
|
|
916
|
+
if (!pathNode)
|
|
917
|
+
continue;
|
|
918
|
+
s.overwrite(urlArg.start, urlArg.end, `${needsLeadingSpace(urlArg.start)}self.location.origin+"${rewrite.to}"+${sourceOf(pathNode)}`);
|
|
919
|
+
this.skip();
|
|
920
|
+
break;
|
|
921
|
+
}
|
|
922
|
+
}
|
|
923
|
+
}
|
|
762
924
|
if (node.type === "NewExpression" && !options?.skipApiRewrites) {
|
|
763
925
|
const callee = node.callee;
|
|
764
926
|
if (callee?.type === "Identifier" && callee.name === "XMLHttpRequest") {
|
package/dist/registry.mjs
CHANGED
|
@@ -456,10 +456,16 @@ async function registry(resolve) {
|
|
|
456
456
|
src: "https://sc-static.net/scevent.min.js",
|
|
457
457
|
category: "ad",
|
|
458
458
|
envDefaults: { id: "" },
|
|
459
|
-
bundle:
|
|
459
|
+
bundle: {
|
|
460
|
+
sdkPatches: [{ type: "replace-new-url-host", host: "sc-static.net" }]
|
|
461
|
+
},
|
|
460
462
|
proxy: {
|
|
461
463
|
domains: ["sc-static.net", "tr.snapchat.com", "pixel.tapad.com"],
|
|
462
|
-
privacy: PRIVACY_FULL
|
|
464
|
+
privacy: PRIVACY_FULL,
|
|
465
|
+
sdkPatches: [
|
|
466
|
+
{ type: "replace-new-url-host", host: "sc-static.net" },
|
|
467
|
+
{ type: "replace-script-loader-url", fromDomain: "tr.snapchat.com", pathPrefix: "/config" }
|
|
468
|
+
]
|
|
463
469
|
},
|
|
464
470
|
partytown: { forwards: ["snaptr"] }
|
|
465
471
|
}),
|
|
@@ -84,10 +84,12 @@ declare const _default: typeof __VLS_export;
|
|
|
84
84
|
export default _default;
|
|
85
85
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ScriptGoogleMapsOverlayViewProps & {
|
|
86
86
|
open?: boolean;
|
|
87
|
+
openModifiers?: Partial<Record<"open", true>>;
|
|
87
88
|
}, ScriptGoogleMapsOverlayViewExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
88
89
|
"update:open": (value: boolean) => any;
|
|
89
90
|
}, string, import("vue").PublicProps, Readonly<ScriptGoogleMapsOverlayViewProps & {
|
|
90
91
|
open?: boolean;
|
|
92
|
+
openModifiers?: Partial<Record<"open", true>>;
|
|
91
93
|
}> & Readonly<{
|
|
92
94
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
93
95
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ScriptGoogleMapsOverlayViewSlots>;
|
|
@@ -84,10 +84,12 @@ declare const _default: typeof __VLS_export;
|
|
|
84
84
|
export default _default;
|
|
85
85
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ScriptGoogleMapsOverlayViewProps & {
|
|
86
86
|
open?: boolean;
|
|
87
|
+
openModifiers?: Partial<Record<"open", true>>;
|
|
87
88
|
}, ScriptGoogleMapsOverlayViewExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
88
89
|
"update:open": (value: boolean) => any;
|
|
89
90
|
}, string, import("vue").PublicProps, Readonly<ScriptGoogleMapsOverlayViewProps & {
|
|
90
91
|
open?: boolean;
|
|
92
|
+
openModifiers?: Partial<Record<"open", true>>;
|
|
91
93
|
}> & Readonly<{
|
|
92
94
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
93
95
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ScriptGoogleMapsOverlayViewSlots>;
|
|
@@ -203,7 +203,7 @@ export function useScript(input, options) {
|
|
|
203
203
|
logger.info(out);
|
|
204
204
|
}
|
|
205
205
|
} else if (options.trigger === "onNuxtReady" || options.trigger === "client") {
|
|
206
|
-
if (
|
|
206
|
+
if (options.warmupStrategy === void 0) {
|
|
207
207
|
options.warmupStrategy = "preload";
|
|
208
208
|
}
|
|
209
209
|
if (options.trigger === "onNuxtReady") {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { UseScriptContext } from '@unhead/vue';
|
|
2
1
|
import type Vimeo from '@vimeo/player';
|
|
3
|
-
import type { RegistryScriptInput } from '#nuxt-scripts/types';
|
|
2
|
+
import type { RegistryScriptInput, UseScriptContext } from '#nuxt-scripts/types';
|
|
4
3
|
type Constructor<T extends new (...args: any) => any> = T extends new (...args: infer A) => infer R ? new (...args: A) => R : never;
|
|
5
4
|
export interface VimeoPlayerApi {
|
|
6
5
|
Vimeo: {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { UseScriptContext } from '
|
|
2
|
-
import type { RegistryScriptInput } from '#nuxt-scripts/types';
|
|
1
|
+
import type { RegistryScriptInput, UseScriptContext } from '#nuxt-scripts/types';
|
|
3
2
|
import type { MaybePromise } from '../utils.js';
|
|
4
3
|
export interface YouTubePlayerApi {
|
|
5
4
|
YT: MaybePromise<{
|
package/dist/runtime/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { UseScriptInput, UseScriptOptions, VueScriptInstance } from '@unhead/vue';
|
|
1
|
+
import type { UseScriptInput, UseScriptOptions, VueScriptInstance } from '@unhead/vue/scripts';
|
|
2
2
|
import type { Script } from '@unhead/vue/types';
|
|
3
3
|
import type { Import } from 'unimport';
|
|
4
4
|
import type { InferInput, ObjectEntries, ObjectSchema, UnionSchema, ValiError } from 'valibot';
|
|
@@ -423,6 +423,36 @@ export type SdkPatch = {
|
|
|
423
423
|
| {
|
|
424
424
|
type: 'replace-new-url-origin';
|
|
425
425
|
fromDomain: string;
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Replace `new URL(<expr>).host` / `.hostname` with a known vendor host.
|
|
429
|
+
* Used by SDKs that detect self-hosting from their own script URL and switch
|
|
430
|
+
* into a different endpoint mode when bundled.
|
|
431
|
+
*
|
|
432
|
+
* Applies to EVERY `new URL(...).host` / `.hostname` in the bundle, not just
|
|
433
|
+
* the self-src detection — only use it for SDKs that don't parse other URLs
|
|
434
|
+
* (e.g. referrers, click-throughs) with this pattern.
|
|
435
|
+
*/
|
|
436
|
+
| {
|
|
437
|
+
type: 'replace-new-url-host';
|
|
438
|
+
host: string;
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Replace script loader calls that receive a known path prefix with the
|
|
442
|
+
* configured proxied domain. This covers SDKs that assemble URLs from
|
|
443
|
+
* minified variables before passing them to a script `src` helper or
|
|
444
|
+
* `importScripts`, where ordinary string literal URL rewriting cannot see
|
|
445
|
+
* the final host.
|
|
446
|
+
*
|
|
447
|
+
* The loader's whole first argument is replaced with
|
|
448
|
+
* `origin + proxyPath + <matched path expression>` — any parts of the
|
|
449
|
+
* argument outside the matched path expression (e.g. an appended query
|
|
450
|
+
* string) are dropped.
|
|
451
|
+
*/
|
|
452
|
+
| {
|
|
453
|
+
type: 'replace-script-loader-url';
|
|
454
|
+
fromDomain: string;
|
|
455
|
+
pathPrefix: string;
|
|
426
456
|
};
|
|
427
457
|
/**
|
|
428
458
|
* Partytown capability config. When present, the script can run in a
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nuxt/scripts",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.1",
|
|
5
5
|
"description": "Load third-party scripts with better performance, privacy and DX in Nuxt Apps.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Harlan Wilton",
|
|
@@ -101,6 +101,9 @@
|
|
|
101
101
|
"@types/youtube": {
|
|
102
102
|
"optional": true
|
|
103
103
|
},
|
|
104
|
+
"@unhead/vue": {
|
|
105
|
+
"optional": true
|
|
106
|
+
},
|
|
104
107
|
"posthog-js": {
|
|
105
108
|
"optional": true
|
|
106
109
|
}
|
|
@@ -115,14 +118,14 @@
|
|
|
115
118
|
"magic-string": "^0.30.21",
|
|
116
119
|
"ofetch": "^1.5.1",
|
|
117
120
|
"ohash": "^2.0.11",
|
|
118
|
-
"oxc-parser": "^0.
|
|
121
|
+
"oxc-parser": "^0.139.0",
|
|
119
122
|
"oxc-walker": "^1.0.0",
|
|
120
123
|
"pathe": "^2.0.3",
|
|
121
124
|
"pkg-types": "^2.3.1",
|
|
122
125
|
"sirv": "^3.0.2",
|
|
123
|
-
"std-env": "^4.
|
|
126
|
+
"std-env": "^4.2.0",
|
|
124
127
|
"ufo": "^1.6.4",
|
|
125
|
-
"ultrahtml": "^1.
|
|
128
|
+
"ultrahtml": "^1.7.0",
|
|
126
129
|
"unplugin": "^3.3.0",
|
|
127
130
|
"unstorage": "^1.17.5",
|
|
128
131
|
"valibot": "^1.4.2"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"id":"95e11f41-6ffd-4129-ac40-6ad3d141308e","timestamp":1782832573214,"prerendered":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.grid[data-v-ccd9f80c]{display:grid}.mb-2[data-v-ccd9f80c]{margin-bottom:.5rem}.mb-4[data-v-ccd9f80c]{margin-bottom:1rem}.max-w-520px[data-v-ccd9f80c]{max-width:520px}.min-h-screen[data-v-ccd9f80c]{min-height:100vh}.w-full[data-v-ccd9f80c]{width:100%}.flex[data-v-ccd9f80c]{display:flex}.place-content-center[data-v-ccd9f80c]{place-content:center}.items-center[data-v-ccd9f80c]{align-items:center}.justify-center[data-v-ccd9f80c]{justify-content:center}.overflow-hidden[data-v-ccd9f80c]{overflow:hidden}.bg-white[data-v-ccd9f80c]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-ccd9f80c]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-ccd9f80c]{text-align:center}.text-\[80px\][data-v-ccd9f80c]{font-size:80px}.text-2xl[data-v-ccd9f80c]{font-size:1.5rem;line-height:2rem}.text-sm[data-v-ccd9f80c]{font-size:.875rem;line-height:1.25rem}.text-\[\#020420\][data-v-ccd9f80c]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-ccd9f80c]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.hover\:text-\[\#00DC82\][data-v-ccd9f80c]:hover{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.font-medium[data-v-ccd9f80c]{font-weight:500}.font-semibold[data-v-ccd9f80c]{font-weight:600}.leading-none[data-v-ccd9f80c]{line-height:1}.tracking-wide[data-v-ccd9f80c]{letter-spacing:.025em}.font-sans[data-v-ccd9f80c]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-ccd9f80c]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline[data-v-ccd9f80c]{text-decoration-line:underline}.underline-offset-3[data-v-ccd9f80c]{text-underline-offset:3px}.antialiased[data-v-ccd9f80c]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-ccd9f80c]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-ccd9f80c]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\:text-\[110px\][data-v-ccd9f80c]{font-size:110px}.sm\:text-3xl[data-v-ccd9f80c]{font-size:1.875rem;line-height:2.25rem}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.grid[data-v-62891193]{display:grid}.mb-2[data-v-62891193]{margin-bottom:.5rem}.mb-4[data-v-62891193]{margin-bottom:1rem}.max-w-520px[data-v-62891193]{max-width:520px}.min-h-screen[data-v-62891193]{min-height:100vh}.place-content-center[data-v-62891193]{place-content:center}.overflow-hidden[data-v-62891193]{overflow:hidden}.bg-white[data-v-62891193]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-62891193]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-62891193]{text-align:center}.text-\[80px\][data-v-62891193]{font-size:80px}.text-2xl[data-v-62891193]{font-size:1.5rem;line-height:2rem}.text-\[\#020420\][data-v-62891193]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-62891193]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.font-semibold[data-v-62891193]{font-weight:600}.leading-none[data-v-62891193]{line-height:1}.tracking-wide[data-v-62891193]{letter-spacing:.025em}.font-sans[data-v-62891193]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-62891193]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased[data-v-62891193]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-62891193]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-62891193]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\:text-\[110px\][data-v-62891193]{font-size:110px}.sm\:text-3xl[data-v-62891193]{font-size:1.875rem;line-height:2.25rem}}
|