@nuxt/scripts 1.0.0-rc.3 → 1.0.0-rc.5

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 (36) hide show
  1. package/dist/devtools-client/200.html +1 -1
  2. package/dist/devtools-client/404.html +1 -1
  3. package/dist/devtools-client/_nuxt/{C8jhSQ8l.js → BFtOB2Ap.js} +1 -1
  4. package/dist/devtools-client/_nuxt/{ajngqPCs.js → BfQVeAez.js} +1 -1
  5. package/dist/devtools-client/_nuxt/{dlaR8P-P.js → C7-YRs3P.js} +1 -1
  6. package/dist/devtools-client/_nuxt/CL6TeQIJ.js +188 -0
  7. package/dist/devtools-client/_nuxt/{B3kN3DAy.js → D838xXrH.js} +1 -1
  8. package/dist/devtools-client/_nuxt/{DKL6PHO3.js → DoF6byDH.js} +1 -1
  9. package/dist/devtools-client/_nuxt/{CfOsp0mU.js → Duf9abe1.js} +1 -1
  10. package/dist/devtools-client/_nuxt/builds/latest.json +1 -1
  11. package/dist/devtools-client/_nuxt/builds/meta/03a9e297-6209-4281-8c3d-4265bdd5d038.json +1 -0
  12. package/dist/devtools-client/_nuxt/error-404.BGYgyi5Q.css +1 -0
  13. package/dist/devtools-client/_nuxt/error-500.7RpV0mcx.css +1 -0
  14. package/dist/devtools-client/docs/index.html +1 -1
  15. package/dist/devtools-client/first-party/index.html +1 -1
  16. package/dist/devtools-client/index.html +1 -1
  17. package/dist/devtools-client/registry/index.html +1 -1
  18. package/dist/module.json +1 -1
  19. package/dist/module.mjs +34 -12
  20. package/dist/registry.mjs +1 -1
  21. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +7 -0
  22. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +1 -1
  23. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +4 -42
  24. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +2 -1
  25. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +4 -42
  26. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +1 -1
  27. package/dist/runtime/components/GoogleMaps/types.d.ts +42 -0
  28. package/dist/runtime/components/GoogleMaps/types.js +1 -0
  29. package/dist/runtime/types.d.ts +2 -1
  30. package/dist/runtime/types.js +1 -0
  31. package/dist/stats.mjs +298 -338
  32. package/package.json +4 -4
  33. package/dist/devtools-client/_nuxt/CJD6wrkT.js +0 -188
  34. package/dist/devtools-client/_nuxt/builds/meta/e5a75487-064b-4a04-84bf-05869e488734.json +0 -1
  35. package/dist/devtools-client/_nuxt/error-404.CvOVjXeC.css +0 -1
  36. package/dist/devtools-client/_nuxt/error-500.BIm53nmx.css +0 -1
@@ -1 +1 @@
1
- import{_ as o,u as s,o as a,c as i,a as t,t as r}from"./CJD6wrkT.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},c={class:"max-w-520px text-center"},l=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:500},statusText:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return s({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(h,m)=>(a(),i("div",u,[t("div",c,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.status)},null,8,l),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusText)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},g=o(f,[["__scopeId","data-v-cbc46704"]]);export{g as default};
1
+ import{_ as o,u as s,o as a,c as i,a as t,t as r}from"./CL6TeQIJ.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},l={class:"max-w-520px text-center"},c=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:500},statusText:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return s({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(h,m)=>(a(),i("div",u,[t("div",l,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.status)},null,8,c),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusText)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},g=o(f,[["__scopeId","data-v-3febd30d"]]);export{g as default};
@@ -1 +1 @@
1
- import{f as A,o as r,c as o,h as d,i as p,a as t,b as c,j as C,d as m,k as R,t as a,F as u,r as x,g as S,w as I,n as v,l as z,m as b,p as D,v as T,q as K,_ as V}from"./CJD6wrkT.js";const $={class:"py-1"},B={key:0,class:"panel-grids rounded-xl flex flex-col items-center justify-center py-16 gap-4"},M={class:"w-14 h-14 rounded-2xl bg-(--color-surface-elevated) border border-(--color-border) flex items-center justify-center"},N={class:"hint-callout text-xs max-w-sm"},H={key:1,class:"stagger-children space-y-4"},U={class:"flex flex-wrap gap-2.5"},q={class:"stat-card"},E={class:"stat-value"},W={class:"stat-card"},Z={class:"stat-value"},G={class:"stat-card"},J={class:"stat-value"},O={class:"stat-card"},Q={class:"stat-value capitalize text-sm"},X={class:"flex items-center gap-2 text-xs text-(--color-text-subtle)"},Y={class:"px-1.5 py-0.5 rounded text-[11px] font-mono bg-(--color-surface-sunken) border border-(--color-border-subtle) text-(--color-text-muted)"},tt={class:"space-y-3"},et={class:"p-4"},st={class:"flex items-start justify-between gap-4"},rt={class:"flex items-center gap-2.5 min-w-0"},ot={class:"w-7 h-7 rounded-lg bg-(--color-surface-sunken) border border-(--color-border-subtle) flex items-center justify-center flex-shrink-0 overflow-hidden"},at=["innerHTML"],nt={class:"text-sm font-semibold tracking-tight"},lt={class:"ml-2 text-[10px] px-1.5 py-0.5 rounded-full bg-(--color-surface-sunken) text-(--color-text-subtle) font-medium"},it={class:"flex gap-0.5 flex-shrink-0"},ct={class:"flex items-center gap-1.5 mt-2.5 flex-wrap"},dt={key:0,class:"fp-badge fp-badge-info"},pt={key:1,class:"fp-badge fp-badge-warn"},ut={key:2,class:"fp-badge fp-badge-muted"},xt={key:0,class:"px-4 pb-3 flex items-center gap-1.5 flex-wrap"},bt={key:1,class:"border-t border-(--color-border-subtle)"},mt=["onClick"],vt={class:"flex items-center gap-1.5"},ft={key:0,class:"opacity-50"},yt={class:"border-t border-(--color-border-subtle)"},ht={style:{color:"oklch(55% 0.12 250)"},class:"min-w-0 truncate"},gt={class:"text-(--color-text-subtle) min-w-0 truncate"},_t={key:0,class:"border-t border-(--color-border-subtle) px-4 py-2"},kt={style:{color:"oklch(55% 0.12 300)"},class:"truncate"},wt={class:"text-(--color-text-subtle) truncate"},Pt={key:0,class:"card overflow-hidden"},Lt={class:"px-4 py-2.5 border-b border-(--color-border-subtle)"},Ft={class:"text-xs font-semibold uppercase tracking-wider text-(--color-text-subtle) flex items-center gap-1.5"},jt={class:"overflow-x-auto"},At={class:"w-full text-xs"},Ct={class:"border-b border-(--color-border-subtle)"},Rt={class:"px-4 py-2 font-medium whitespace-nowrap"},St={class:"px-2.5 py-2 text-center"},It=A({__name:"first-party",setup(zt){const y=["ip","userAgent","language","screen","timezone","hardware"],_={ip:"IP Address",userAgent:"User Agent",language:"Language",screen:"Screen",timezone:"Timezone",hardware:"Hardware"},k={ip:"IP",userAgent:"UA",language:"Lang",screen:"Screen",timezone:"TZ",hardware:"HW"},w={ip:"i-carbon-location",userAgent:"i-carbon-user-profile",language:"i-carbon-translate",screen:"i-carbon-screen",timezone:"i-carbon-time",hardware:"i-carbon-chip"},f=K({});function P(l){f[l]=!f[l]}function g(l){return l==="full"?"privacy-full":l==="partial"?"privacy-partial":"privacy-none"}function L(l){return l==="bundle-rewrite-intercept"?"mechanism-bundle":"mechanism-config"}function F(l){return l==="bundle-rewrite-intercept"?"Bundle + Rewrite":"Config Injection"}return(l,s)=>{const i=C,j=z;return r(),o("div",$,[d(p)?.enabled?(r(),o("div",H,[t("div",U,[s[7]||(s[7]=R('<div class="stat-card" data-v-97e4a274><div class="stat-label" data-v-97e4a274> Status </div><div class="flex items-center gap-1.5" data-v-97e4a274><span class="stat-dot stat-dot-active" data-v-97e4a274></span><span class="text-sm font-semibold" style="color:oklch(55% 0.18 145);" data-v-97e4a274>Active</span></div></div>',1)),t("div",q,[s[3]||(s[3]=t("div",{class:"stat-label"}," Scripts ",-1)),t("div",E,a(d(p).scripts.length),1)]),t("div",W,[s[4]||(s[4]=t("div",{class:"stat-label"}," Routes ",-1)),t("div",Z,a(d(p).totalRoutes),1)]),t("div",G,[s[5]||(s[5]=t("div",{class:"stat-label"}," Domains ",-1)),t("div",J,a(d(p).totalDomains),1)]),t("div",O,[s[6]||(s[6]=t("div",{class:"stat-label"}," Privacy ",-1)),t("div",Q,a(d(p).privacyMode),1)])]),t("div",X,[c(i,{name:"i-carbon-direction-fork",class:"text-sm"}),s[8]||(s[8]=m(" Proxy prefix: ",-1)),t("code",Y,a(d(p).proxyPrefix),1)]),t("div",tt,[(r(!0),o(u,null,x(d(p).scripts,e=>(r(),o("div",{key:e.registryKey,class:"card overflow-hidden"},[t("div",et,[t("div",st,[t("div",rt,[t("div",ot,[e.logo?(r(),o("div",{key:0,class:"w-5 h-5 flex items-center justify-center [&>svg]:max-w-5 [&>svg]:max-h-5",innerHTML:e.logo},null,8,at)):(r(),S(i,{key:1,name:"i-carbon-script",class:"text-sm text-(--color-text-subtle)"}))]),t("div",null,[t("span",nt,a(e.label),1),t("span",lt,a(e.category),1)])]),t("div",it,[(r(),o(u,null,x(y,n=>c(j,{key:n,text:`${_[n]}: ${e.privacy[n]?"Anonymised":"Passthrough"}`},{default:I(()=>[t("div",{class:v(["privacy-flag",e.privacy[n]?"privacy-flag-on":"privacy-flag-off"])},[c(i,{name:w[n],class:"text-xs"},null,8,["name"])],2)]),_:2},1032,["text"])),64))])]),t("div",ct,[t("span",{class:v(["fp-badge",L(e.mechanism)])},a(F(e.mechanism)),3),t("span",{class:v(["fp-badge",g(e.privacyLevel)])},a(e.privacyLevel==="full"?"Full Privacy":e.privacyLevel==="partial"?"Partial":"Passthrough"),3),e.hasAutoInject?(r(),o("span",dt," Auto-inject"+a(e.autoInjectField?`: ${e.autoInjectField}`:""),1)):b("",!0),e.canvasFingerprinting?(r(),o("span",pt," Canvas FP neutralized ")):b("",!0),e.hasSdkPatches?(r(),o("span",ut," SDK patches ")):b("",!0)])]),e.domains?.length?(r(),o("div",xt,[s[9]||(s[9]=t("span",{class:"text-[10px] text-(--color-text-subtle) mr-0.5"},"Proxying:",-1)),(r(!0),o(u,null,x(e.domains,n=>(r(),o("span",{key:n,class:"text-[10px] font-mono px-1.5 py-0.5 rounded bg-(--color-surface-sunken) text-(--color-text-muted) border border-(--color-border-subtle)"},a(n),1))),128))])):b("",!0),e.routes?.length?(r(),o("div",bt,[t("button",{class:"w-full px-4 py-2 flex items-center justify-between text-xs text-(--color-text-subtle) hover:text-(--color-text-muted) transition-colors cursor-pointer",onClick:n=>P(e.registryKey)},[t("span",vt,[c(i,{name:"i-carbon-arrows-horizontal",class:"text-xs"}),m(" "+a(e.routes.length)+" route"+a(e.routes.length>1?"s":"")+" ",1),e.interceptRules?.length?(r(),o("span",ft," · "+a(e.interceptRules.length)+" intercept rule"+a(e.interceptRules.length>1?"s":""),1)):b("",!0)]),c(i,{name:f[e.registryKey]?"i-carbon-chevron-up":"i-carbon-chevron-down",class:"text-xs transition-transform"},null,8,["name"])],8,mt),D(t("div",null,[t("div",yt,[(r(!0),o(u,null,x(e.routes,(n,h)=>(r(),o("div",{key:h,class:"px-4 py-1.5 flex items-center gap-2 text-[11px] font-mono hover:bg-(--color-surface-sunken) transition-colors"},[t("span",ht,a(n.local),1),c(i,{name:"i-carbon-arrow-right",class:"text-[9px] opacity-25 flex-shrink-0"}),t("span",gt,a(n.target),1)]))),128))]),e.interceptRules?.length?(r(),o("div",_t,[s[10]||(s[10]=t("div",{class:"text-[10px] uppercase tracking-wider text-(--color-text-subtle) mb-1 font-medium"}," Intercept Rules ",-1)),(r(!0),o(u,null,x(e.interceptRules,(n,h)=>(r(),o("div",{key:h,class:"py-1 flex items-center gap-2 text-[11px] font-mono"},[t("span",kt,a(n.pattern)+a(n.pathPrefix),1),c(i,{name:"i-carbon-arrow-right",class:"text-[9px] opacity-25 flex-shrink-0"}),t("span",wt,a(n.target),1)]))),128))])):b("",!0)],512),[[T,f[e.registryKey]]])])):b("",!0)]))),128))]),d(p).scripts.length>1?(r(),o("div",Pt,[t("div",Lt,[t("h4",Ft,[c(i,{name:"i-carbon-data-table",class:"text-sm"}),s[11]||(s[11]=m(" Privacy Matrix ",-1))])]),t("div",jt,[t("table",At,[t("thead",null,[t("tr",Ct,[s[12]||(s[12]=t("th",{class:"px-4 py-2 text-left font-medium text-(--color-text-subtle)"}," Script ",-1)),(r(),o(u,null,x(y,e=>t("th",{key:e,class:"px-2.5 py-2 text-center font-medium text-(--color-text-subtle) whitespace-nowrap"},a(k[e]),1)),64)),s[13]||(s[13]=t("th",{class:"px-2.5 py-2 text-center font-medium text-(--color-text-subtle)"}," Level ",-1))])]),t("tbody",null,[(r(!0),o(u,null,x(d(p).scripts,e=>(r(),o("tr",{key:e.registryKey,class:"border-b border-(--color-border-subtle) last:border-b-0 hover:bg-(--color-surface-sunken) transition-colors"},[t("td",Rt,a(e.label),1),(r(),o(u,null,x(y,n=>t("td",{key:n,class:"px-2.5 py-2 text-center"},[t("div",{class:v(["w-2.5 h-2.5 rounded-full mx-auto",e.privacy[n]?"matrix-dot-on":"matrix-dot-off"])},null,2)])),64)),t("td",St,[t("span",{class:v(["fp-badge text-[10px]",g(e.privacyLevel)])},a(e.privacyLevel),3)])]))),128))])])])])):b("",!0),s[14]||(s[14]=t("div",{class:"text-center pt-1 pb-3"},[t("a",{href:"https://scripts.nuxt.com/docs/guides/first-party",target:"_blank",class:"link-external text-xs"}," First-Party Mode: Privacy Focused Proxy ")],-1))])):(r(),o("div",B,[t("div",M,[c(i,{name:"i-carbon-security",class:"text-3xl text-(--color-text-subtle)"})]),s[1]||(s[1]=t("div",{class:"text-center space-y-1.5"},[t("p",{class:"text-sm font-semibold text-(--color-text-muted)"}," Privacy Proxy is not active "),t("p",{class:"text-xs text-(--color-text-subtle) max-w-sm"}," The reverse proxy is auto-enabled when scripts with proxy capabilities are configured in the registry. ")],-1)),t("div",N,[c(i,{name:"i-carbon-information",class:"hint-callout-icon text-base flex-shrink-0"}),s[0]||(s[0]=t("div",null,[m(" Check that your registry scripts have not set "),t("code",{class:"px-1 py-0.5 rounded text-[11px] font-mono bg-(--color-surface-sunken)"},"proxy: false"),m(" or "),t("code",{class:"px-1 py-0.5 rounded text-[11px] font-mono bg-(--color-surface-sunken)"},"bundle: false"),m(". ")],-1))]),s[2]||(s[2]=t("a",{href:"https://scripts.nuxt.com/docs/guides/first-party",target:"_blank",class:"link-external text-xs mt-1"}," View Documentation ",-1))]))])}}}),Tt=V(It,[["__scopeId","data-v-97e4a274"]]);export{Tt as default};
1
+ import{f as A,o as r,c as o,h as d,i as p,a as t,b as c,j as C,d as m,k as R,t as a,F as u,r as x,g as S,w as I,n as v,l as z,m as b,p as D,v as T,q as K,_ as V}from"./CL6TeQIJ.js";const $={class:"py-1"},B={key:0,class:"panel-grids rounded-xl flex flex-col items-center justify-center py-16 gap-4"},M={class:"w-14 h-14 rounded-2xl bg-(--color-surface-elevated) border border-(--color-border) flex items-center justify-center"},N={class:"hint-callout text-xs max-w-sm"},H={key:1,class:"stagger-children space-y-4"},U={class:"flex flex-wrap gap-2.5"},q={class:"stat-card"},E={class:"stat-value"},W={class:"stat-card"},Z={class:"stat-value"},G={class:"stat-card"},J={class:"stat-value"},O={class:"stat-card"},Q={class:"stat-value capitalize text-sm"},X={class:"flex items-center gap-2 text-xs text-(--color-text-subtle)"},Y={class:"px-1.5 py-0.5 rounded text-[11px] font-mono bg-(--color-surface-sunken) border border-(--color-border-subtle) text-(--color-text-muted)"},tt={class:"space-y-3"},et={class:"p-4"},st={class:"flex items-start justify-between gap-4"},rt={class:"flex items-center gap-2.5 min-w-0"},ot={class:"w-7 h-7 rounded-lg bg-(--color-surface-sunken) border border-(--color-border-subtle) flex items-center justify-center flex-shrink-0 overflow-hidden"},at=["innerHTML"],nt={class:"text-sm font-semibold tracking-tight"},lt={class:"ml-2 text-[10px] px-1.5 py-0.5 rounded-full bg-(--color-surface-sunken) text-(--color-text-subtle) font-medium"},it={class:"flex gap-0.5 flex-shrink-0"},ct={class:"flex items-center gap-1.5 mt-2.5 flex-wrap"},dt={key:0,class:"fp-badge fp-badge-info"},pt={key:1,class:"fp-badge fp-badge-warn"},ut={key:2,class:"fp-badge fp-badge-muted"},xt={key:0,class:"px-4 pb-3 flex items-center gap-1.5 flex-wrap"},bt={key:1,class:"border-t border-(--color-border-subtle)"},mt=["onClick"],vt={class:"flex items-center gap-1.5"},ft={key:0,class:"opacity-50"},yt={class:"border-t border-(--color-border-subtle)"},ht={style:{color:"oklch(55% 0.12 250)"},class:"min-w-0 truncate"},gt={class:"text-(--color-text-subtle) min-w-0 truncate"},_t={key:0,class:"border-t border-(--color-border-subtle) px-4 py-2"},kt={style:{color:"oklch(55% 0.12 300)"},class:"truncate"},wt={class:"text-(--color-text-subtle) truncate"},Pt={key:0,class:"card overflow-hidden"},Lt={class:"px-4 py-2.5 border-b border-(--color-border-subtle)"},Ft={class:"text-xs font-semibold uppercase tracking-wider text-(--color-text-subtle) flex items-center gap-1.5"},jt={class:"overflow-x-auto"},At={class:"w-full text-xs"},Ct={class:"border-b border-(--color-border-subtle)"},Rt={class:"px-4 py-2 font-medium whitespace-nowrap"},St={class:"px-2.5 py-2 text-center"},It=A({__name:"first-party",setup(zt){const y=["ip","userAgent","language","screen","timezone","hardware"],_={ip:"IP Address",userAgent:"User Agent",language:"Language",screen:"Screen",timezone:"Timezone",hardware:"Hardware"},k={ip:"IP",userAgent:"UA",language:"Lang",screen:"Screen",timezone:"TZ",hardware:"HW"},w={ip:"i-carbon-location",userAgent:"i-carbon-user-profile",language:"i-carbon-translate",screen:"i-carbon-screen",timezone:"i-carbon-time",hardware:"i-carbon-chip"},f=K({});function P(l){f[l]=!f[l]}function g(l){return l==="full"?"privacy-full":l==="partial"?"privacy-partial":"privacy-none"}function L(l){return l==="bundle-rewrite-intercept"?"mechanism-bundle":"mechanism-config"}function F(l){return l==="bundle-rewrite-intercept"?"Bundle + Rewrite":"Config Injection"}return(l,s)=>{const i=C,j=z;return r(),o("div",$,[d(p)?.enabled?(r(),o("div",H,[t("div",U,[s[7]||(s[7]=R('<div class="stat-card" data-v-97e4a274><div class="stat-label" data-v-97e4a274> Status </div><div class="flex items-center gap-1.5" data-v-97e4a274><span class="stat-dot stat-dot-active" data-v-97e4a274></span><span class="text-sm font-semibold" style="color:oklch(55% 0.18 145);" data-v-97e4a274>Active</span></div></div>',1)),t("div",q,[s[3]||(s[3]=t("div",{class:"stat-label"}," Scripts ",-1)),t("div",E,a(d(p).scripts.length),1)]),t("div",W,[s[4]||(s[4]=t("div",{class:"stat-label"}," Routes ",-1)),t("div",Z,a(d(p).totalRoutes),1)]),t("div",G,[s[5]||(s[5]=t("div",{class:"stat-label"}," Domains ",-1)),t("div",J,a(d(p).totalDomains),1)]),t("div",O,[s[6]||(s[6]=t("div",{class:"stat-label"}," Privacy ",-1)),t("div",Q,a(d(p).privacyMode),1)])]),t("div",X,[c(i,{name:"i-carbon-direction-fork",class:"text-sm"}),s[8]||(s[8]=m(" Proxy prefix: ",-1)),t("code",Y,a(d(p).proxyPrefix),1)]),t("div",tt,[(r(!0),o(u,null,x(d(p).scripts,e=>(r(),o("div",{key:e.registryKey,class:"card overflow-hidden"},[t("div",et,[t("div",st,[t("div",rt,[t("div",ot,[e.logo?(r(),o("div",{key:0,class:"w-5 h-5 flex items-center justify-center [&>svg]:max-w-5 [&>svg]:max-h-5",innerHTML:e.logo},null,8,at)):(r(),S(i,{key:1,name:"i-carbon-script",class:"text-sm text-(--color-text-subtle)"}))]),t("div",null,[t("span",nt,a(e.label),1),t("span",lt,a(e.category),1)])]),t("div",it,[(r(),o(u,null,x(y,n=>c(j,{key:n,text:`${_[n]}: ${e.privacy[n]?"Anonymised":"Passthrough"}`},{default:I(()=>[t("div",{class:v(["privacy-flag",e.privacy[n]?"privacy-flag-on":"privacy-flag-off"])},[c(i,{name:w[n],class:"text-xs"},null,8,["name"])],2)]),_:2},1032,["text"])),64))])]),t("div",ct,[t("span",{class:v(["fp-badge",L(e.mechanism)])},a(F(e.mechanism)),3),t("span",{class:v(["fp-badge",g(e.privacyLevel)])},a(e.privacyLevel==="full"?"Full Privacy":e.privacyLevel==="partial"?"Partial":"Passthrough"),3),e.hasAutoInject?(r(),o("span",dt," Auto-inject"+a(e.autoInjectField?`: ${e.autoInjectField}`:""),1)):b("",!0),e.canvasFingerprinting?(r(),o("span",pt," Canvas FP neutralized ")):b("",!0),e.hasSdkPatches?(r(),o("span",ut," SDK patches ")):b("",!0)])]),e.domains?.length?(r(),o("div",xt,[s[9]||(s[9]=t("span",{class:"text-[10px] text-(--color-text-subtle) mr-0.5"},"Proxying:",-1)),(r(!0),o(u,null,x(e.domains,n=>(r(),o("span",{key:n,class:"text-[10px] font-mono px-1.5 py-0.5 rounded bg-(--color-surface-sunken) text-(--color-text-muted) border border-(--color-border-subtle)"},a(n),1))),128))])):b("",!0),e.routes?.length?(r(),o("div",bt,[t("button",{class:"w-full px-4 py-2 flex items-center justify-between text-xs text-(--color-text-subtle) hover:text-(--color-text-muted) transition-colors cursor-pointer",onClick:n=>P(e.registryKey)},[t("span",vt,[c(i,{name:"i-carbon-arrows-horizontal",class:"text-xs"}),m(" "+a(e.routes.length)+" route"+a(e.routes.length>1?"s":"")+" ",1),e.interceptRules?.length?(r(),o("span",ft," · "+a(e.interceptRules.length)+" intercept rule"+a(e.interceptRules.length>1?"s":""),1)):b("",!0)]),c(i,{name:f[e.registryKey]?"i-carbon-chevron-up":"i-carbon-chevron-down",class:"text-xs transition-transform"},null,8,["name"])],8,mt),D(t("div",null,[t("div",yt,[(r(!0),o(u,null,x(e.routes,(n,h)=>(r(),o("div",{key:h,class:"px-4 py-1.5 flex items-center gap-2 text-[11px] font-mono hover:bg-(--color-surface-sunken) transition-colors"},[t("span",ht,a(n.local),1),c(i,{name:"i-carbon-arrow-right",class:"text-[9px] opacity-25 flex-shrink-0"}),t("span",gt,a(n.target),1)]))),128))]),e.interceptRules?.length?(r(),o("div",_t,[s[10]||(s[10]=t("div",{class:"text-[10px] uppercase tracking-wider text-(--color-text-subtle) mb-1 font-medium"}," Intercept Rules ",-1)),(r(!0),o(u,null,x(e.interceptRules,(n,h)=>(r(),o("div",{key:h,class:"py-1 flex items-center gap-2 text-[11px] font-mono"},[t("span",kt,a(n.pattern)+a(n.pathPrefix),1),c(i,{name:"i-carbon-arrow-right",class:"text-[9px] opacity-25 flex-shrink-0"}),t("span",wt,a(n.target),1)]))),128))])):b("",!0)],512),[[T,f[e.registryKey]]])])):b("",!0)]))),128))]),d(p).scripts.length>1?(r(),o("div",Pt,[t("div",Lt,[t("h4",Ft,[c(i,{name:"i-carbon-data-table",class:"text-sm"}),s[11]||(s[11]=m(" Privacy Matrix ",-1))])]),t("div",jt,[t("table",At,[t("thead",null,[t("tr",Ct,[s[12]||(s[12]=t("th",{class:"px-4 py-2 text-left font-medium text-(--color-text-subtle)"}," Script ",-1)),(r(),o(u,null,x(y,e=>t("th",{key:e,class:"px-2.5 py-2 text-center font-medium text-(--color-text-subtle) whitespace-nowrap"},a(k[e]),1)),64)),s[13]||(s[13]=t("th",{class:"px-2.5 py-2 text-center font-medium text-(--color-text-subtle)"}," Level ",-1))])]),t("tbody",null,[(r(!0),o(u,null,x(d(p).scripts,e=>(r(),o("tr",{key:e.registryKey,class:"border-b border-(--color-border-subtle) last:border-b-0 hover:bg-(--color-surface-sunken) transition-colors"},[t("td",Rt,a(e.label),1),(r(),o(u,null,x(y,n=>t("td",{key:n,class:"px-2.5 py-2 text-center"},[t("div",{class:v(["w-2.5 h-2.5 rounded-full mx-auto",e.privacy[n]?"matrix-dot-on":"matrix-dot-off"])},null,2)])),64)),t("td",St,[t("span",{class:v(["fp-badge text-[10px]",g(e.privacyLevel)])},a(e.privacyLevel),3)])]))),128))])])])])):b("",!0),s[14]||(s[14]=t("div",{class:"text-center pt-1 pb-3"},[t("a",{href:"https://scripts.nuxt.com/docs/guides/first-party",target:"_blank",class:"link-external text-xs"}," First-Party Mode: Privacy Focused Proxy ")],-1))])):(r(),o("div",B,[t("div",M,[c(i,{name:"i-carbon-security",class:"text-3xl text-(--color-text-subtle)"})]),s[1]||(s[1]=t("div",{class:"text-center space-y-1.5"},[t("p",{class:"text-sm font-semibold text-(--color-text-muted)"}," Privacy Proxy is not active "),t("p",{class:"text-xs text-(--color-text-subtle) max-w-sm"}," The reverse proxy is auto-enabled when scripts with proxy capabilities are configured in the registry. ")],-1)),t("div",N,[c(i,{name:"i-carbon-information",class:"hint-callout-icon text-base flex-shrink-0"}),s[0]||(s[0]=t("div",null,[m(" Check that your registry scripts have not set "),t("code",{class:"px-1 py-0.5 rounded text-[11px] font-mono bg-(--color-surface-sunken)"},"proxy: false"),m(" or "),t("code",{class:"px-1 py-0.5 rounded text-[11px] font-mono bg-(--color-surface-sunken)"},"bundle: false"),m(". ")],-1))]),s[2]||(s[2]=t("a",{href:"https://scripts.nuxt.com/docs/guides/first-party",target:"_blank",class:"link-external text-xs mt-1"}," View Documentation ",-1))]))])}}}),Tt=V(It,[["__scopeId","data-v-97e4a274"]]);export{Tt as default};
@@ -1 +1 @@
1
- import{f as s,o,c as n,a as l,_ as r,g as a}from"./CJD6wrkT.js";const _={class:"h-full max-h-full overflow-hidden"},u=["src","title"],i=s({__name:"DevtoolsDocs",props:{url:{}},setup(e){return(c,t)=>(o(),n("div",_,[l("iframe",{src:e.url,title:`Documentation - ${e.url}`,class:"w-full h-full border-none",style:{"min-height":"calc(100vh - 100px)"}},null,8,u)]))}}),f=Object.assign(i,{__name:"DevtoolsDocs"}),m={};function d(e,c){const t=f;return o(),a(t,{url:"https://scripts.nuxt.com"})}const p=r(m,[["render",d]]);export{p as default};
1
+ import{f as s,o,c as n,a as l,_ as r,g as a}from"./CL6TeQIJ.js";const _={class:"h-full max-h-full overflow-hidden"},u=["src","title"],i=s({__name:"DevtoolsDocs",props:{url:{}},setup(e){return(c,t)=>(o(),n("div",_,[l("iframe",{src:e.url,title:`Documentation - ${e.url}`,class:"w-full h-full border-none",style:{"min-height":"calc(100vh - 100px)"}},null,8,u)]))}}),f=Object.assign(i,{__name:"DevtoolsDocs"}),m={};function d(e,c){const t=f;return o(),a(t,{url:"https://scripts.nuxt.com"})}const p=r(m,[["render",d]]);export{p as default};
@@ -1 +1 @@
1
- {"id":"e5a75487-064b-4a04-84bf-05869e488734","timestamp":1774879766087}
1
+ {"id":"03a9e297-6209-4281-8c3d-4265bdd5d038","timestamp":1775569702087}
@@ -0,0 +1 @@
1
+ {"id":"03a9e297-6209-4281-8c3d-4265bdd5d038","timestamp":1775569702087,"prerendered":[]}
@@ -0,0 +1 @@
1
+ .grid[data-v-61dcd2d1]{display:grid}.mb-2[data-v-61dcd2d1]{margin-bottom:.5rem}.mb-4[data-v-61dcd2d1]{margin-bottom:1rem}.max-w-520px[data-v-61dcd2d1]{max-width:520px}.min-h-screen[data-v-61dcd2d1]{min-height:100vh}.w-full[data-v-61dcd2d1]{width:100%}.flex[data-v-61dcd2d1]{display:flex}.place-content-center[data-v-61dcd2d1]{place-content:center}.items-center[data-v-61dcd2d1]{align-items:center}.justify-center[data-v-61dcd2d1]{justify-content:center}.overflow-hidden[data-v-61dcd2d1]{overflow:hidden}.bg-white[data-v-61dcd2d1]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-61dcd2d1]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-61dcd2d1]{text-align:center}.text-\[80px\][data-v-61dcd2d1]{font-size:80px}.text-2xl[data-v-61dcd2d1]{font-size:1.5rem;line-height:2rem}.text-sm[data-v-61dcd2d1]{font-size:.875rem;line-height:1.25rem}.text-\[\#020420\][data-v-61dcd2d1]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-61dcd2d1]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.hover\:text-\[\#00DC82\][data-v-61dcd2d1]:hover{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.font-medium[data-v-61dcd2d1]{font-weight:500}.font-semibold[data-v-61dcd2d1]{font-weight:600}.leading-none[data-v-61dcd2d1]{line-height:1}.tracking-wide[data-v-61dcd2d1]{letter-spacing:.025em}.font-sans[data-v-61dcd2d1]{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-61dcd2d1]{--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-61dcd2d1]{text-decoration-line:underline}.underline-offset-3[data-v-61dcd2d1]{text-underline-offset:3px}.antialiased[data-v-61dcd2d1]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-61dcd2d1]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-61dcd2d1]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\:text-\[110px\][data-v-61dcd2d1]{font-size:110px}.sm\:text-3xl[data-v-61dcd2d1]{font-size:1.875rem;line-height:2.25rem}}
@@ -0,0 +1 @@
1
+ .grid[data-v-3febd30d]{display:grid}.mb-2[data-v-3febd30d]{margin-bottom:.5rem}.mb-4[data-v-3febd30d]{margin-bottom:1rem}.max-w-520px[data-v-3febd30d]{max-width:520px}.min-h-screen[data-v-3febd30d]{min-height:100vh}.place-content-center[data-v-3febd30d]{place-content:center}.overflow-hidden[data-v-3febd30d]{overflow:hidden}.bg-white[data-v-3febd30d]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-3febd30d]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-3febd30d]{text-align:center}.text-\[80px\][data-v-3febd30d]{font-size:80px}.text-2xl[data-v-3febd30d]{font-size:1.5rem;line-height:2rem}.text-\[\#020420\][data-v-3febd30d]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-3febd30d]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.font-semibold[data-v-3febd30d]{font-weight:600}.leading-none[data-v-3febd30d]{line-height:1}.tracking-wide[data-v-3febd30d]{letter-spacing:.025em}.font-sans[data-v-3febd30d]{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-3febd30d]{--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-3febd30d]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-3febd30d]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-3febd30d]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\:text-\[110px\][data-v-3febd30d]{font-size:110px}.sm\:text-3xl[data-v-3febd30d]{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.BwpOBArY.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/CJD6wrkT.js"><script type="module" src="/__nuxt-scripts/_nuxt/CJD6wrkT.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</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:"e5a75487-064b-4a04-84bf-05869e488734",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774879774924,false]</script></body></html>
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.BwpOBArY.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/CL6TeQIJ.js"><script type="module" src="/__nuxt-scripts/_nuxt/CL6TeQIJ.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</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:"03a9e297-6209-4281-8c3d-4265bdd5d038",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775569710780,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.BwpOBArY.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/CJD6wrkT.js"><script type="module" src="/__nuxt-scripts/_nuxt/CJD6wrkT.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</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:"e5a75487-064b-4a04-84bf-05869e488734",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774879774926,false]</script></body></html>
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.BwpOBArY.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/CL6TeQIJ.js"><script type="module" src="/__nuxt-scripts/_nuxt/CL6TeQIJ.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</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:"03a9e297-6209-4281-8c3d-4265bdd5d038",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775569710781,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.BwpOBArY.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/CJD6wrkT.js"><script type="module" src="/__nuxt-scripts/_nuxt/CJD6wrkT.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</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:"e5a75487-064b-4a04-84bf-05869e488734",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774879774926,false]</script></body></html>
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.BwpOBArY.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/CL6TeQIJ.js"><script type="module" src="/__nuxt-scripts/_nuxt/CL6TeQIJ.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</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:"03a9e297-6209-4281-8c3d-4265bdd5d038",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775569710782,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.BwpOBArY.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/CJD6wrkT.js"><script type="module" src="/__nuxt-scripts/_nuxt/CJD6wrkT.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</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:"e5a75487-064b-4a04-84bf-05869e488734",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774879774926,false]</script></body></html>
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.BwpOBArY.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-scripts/_nuxt/CL6TeQIJ.js"><script type="module" src="/__nuxt-scripts/_nuxt/CL6TeQIJ.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</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:"03a9e297-6209-4281-8c3d-4265bdd5d038",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775569710781,false]</script></body></html>
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.16"
6
6
  },
7
- "version": "1.0.0-rc.3",
7
+ "version": "1.0.0-rc.5",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.2",
10
10
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -416,7 +416,8 @@ function NuxtScriptsCheckScripts() {
416
416
  });
417
417
  }
418
418
 
419
- function generateInterceptPluginContents(proxyPrefix) {
419
+ function generateInterceptPluginContents(proxyPrefix, options) {
420
+ const testMode = options?.testMode ?? false;
420
421
  return `export default defineNuxtPlugin({
421
422
  name: 'nuxt-scripts:intercept',
422
423
  enforce: 'pre',
@@ -461,8 +462,14 @@ function generateInterceptPluginContents(proxyPrefix) {
461
462
  return img;
462
463
  }
463
464
 
464
- globalThis.__nuxtScripts = {
465
- sendBeacon: (url, data) => origBeacon(proxyUrl(url), data),
465
+ globalThis.__nuxtScripts = {${testMode ? `
466
+ // Test mode: replace sendBeacon with fetch for immediate, observable requests
467
+ sendBeacon: (url, data) => {
468
+ const proxied = proxyUrl(url);
469
+ origFetch(proxied, { method: 'POST', body: data, keepalive: true }).catch(() => {});
470
+ return true;
471
+ },` : `
472
+ sendBeacon: (url, data) => origBeacon(proxyUrl(url), data),`}
466
473
  fetch: (url, opts) => {
467
474
  if (typeof url === 'string') return origFetch(proxyUrl(url), opts);
468
475
  if (url instanceof Request) return origFetch(new Request(proxyUrl(url.url), url), opts);
@@ -908,6 +915,7 @@ function NuxtScriptBundleTransformer(options = {
908
915
  const node = _node;
909
916
  let scriptSrcNode;
910
917
  let src;
918
+ let registryConfig = {};
911
919
  let registryKey;
912
920
  if (fnName !== "useScript") {
913
921
  const baseName = fnName.replace(USE_SCRIPT_RE, "");
@@ -930,7 +938,7 @@ function NuxtScriptBundleTransformer(options = {
930
938
  const bundleResolve = getBundleResolve(registryNode);
931
939
  if (!bundleResolve && !registryNode.src)
932
940
  return;
933
- const registryConfig = options.registryConfig?.[registryKey || ""] || {};
941
+ registryConfig = options.registryConfig?.[registryKey || ""] || {};
934
942
  const fnArg0 = {};
935
943
  if (node.arguments[0]?.type === "ObjectExpression") {
936
944
  const optionsNode = node.arguments[0];
@@ -978,12 +986,14 @@ function NuxtScriptBundleTransformer(options = {
978
986
  const registryScript = fnName !== "useScript" ? options.scripts?.find((s2) => s2.import.name === fnName) : void 0;
979
987
  let canBundle = !!registryScript?.bundle;
980
988
  let forceDownload = false;
989
+ let explicitBundleInCall = false;
981
990
  if (node.arguments[1]?.type === "ObjectExpression") {
982
991
  const scriptOptionsArg = node.arguments[1];
983
992
  const bundleProperty = scriptOptionsArg.properties.find(
984
993
  (p) => (p.key?.name === "bundle" || p.key?.value === "bundle") && p.type === "Property"
985
994
  );
986
995
  if (bundleProperty && bundleProperty.value.type === "Literal") {
996
+ explicitBundleInCall = true;
987
997
  const bundleValue = bundleProperty.value.value;
988
998
  if (bundleValue !== true && bundleValue !== "force" && String(bundleValue) !== "true") {
989
999
  canBundle = false;
@@ -1008,10 +1018,16 @@ function NuxtScriptBundleTransformer(options = {
1008
1018
  return prop.type === "Property" && prop.key?.name === "bundle" && prop.value.type === "Literal";
1009
1019
  });
1010
1020
  if (bundleOption) {
1021
+ explicitBundleInCall = true;
1011
1022
  const bundleValue = bundleOption.value.value;
1012
1023
  canBundle = bundleValue === true || bundleValue === "force" || String(bundleValue) === "true";
1013
1024
  forceDownload = bundleValue === "force";
1014
1025
  }
1026
+ if (!explicitBundleInCall && registryConfig?.scriptOptions?.bundle !== void 0) {
1027
+ const bundleValue = registryConfig.scriptOptions.bundle;
1028
+ canBundle = bundleValue === true || bundleValue === "force" || String(bundleValue) === "true";
1029
+ forceDownload = bundleValue === "force";
1030
+ }
1015
1031
  const rpiOption = scriptOptions?.value.properties?.find((prop) => {
1016
1032
  return prop.type === "Property" && prop.key?.name === "proxy" && prop.value.type === "Literal";
1017
1033
  });
@@ -1452,17 +1468,23 @@ const module$1 = defineNuxtModule({
1452
1468
  if (entry === false)
1453
1469
  continue;
1454
1470
  const input = entry[0];
1471
+ const scriptOptions = entry[1];
1455
1472
  const envDefaults = scripts.find((s) => s.registryKey === key)?.envDefaults;
1473
+ const base = {};
1456
1474
  if (!envDefaults || !Object.keys(envDefaults).length) {
1457
- registryWithDefaults[key] = input;
1458
- continue;
1475
+ Object.assign(base, input);
1476
+ } else {
1477
+ const envResolved = {};
1478
+ for (const [field, defaultValue] of Object.entries(envDefaults)) {
1479
+ const envKey = `NUXT_PUBLIC_SCRIPTS_${toScreamingSnake(key)}_${toScreamingSnake(field)}`;
1480
+ envResolved[field] = process.env[envKey] || defaultValue;
1481
+ }
1482
+ Object.assign(base, defu(input, envResolved));
1459
1483
  }
1460
- const envResolved = {};
1461
- for (const [field, defaultValue] of Object.entries(envDefaults)) {
1462
- const envKey = `NUXT_PUBLIC_SCRIPTS_${toScreamingSnake(key)}_${toScreamingSnake(field)}`;
1463
- envResolved[field] = process.env[envKey] || defaultValue;
1484
+ if (scriptOptions && Object.keys(scriptOptions).length > 0) {
1485
+ base.scriptOptions = scriptOptions;
1464
1486
  }
1465
- registryWithDefaults[key] = defu(input, envResolved);
1487
+ registryWithDefaults[key] = base;
1466
1488
  }
1467
1489
  nuxt.options.runtimeConfig.public.scripts = defu(
1468
1490
  nuxt.options.runtimeConfig.public.scripts || {},
@@ -1650,7 +1672,7 @@ They will load directly from third-party servers.`
1650
1672
  addPluginTemplate({
1651
1673
  filename: "nuxt-scripts-intercept.client.mjs",
1652
1674
  getContents() {
1653
- return generateInterceptPluginContents(proxyPrefix);
1675
+ return generateInterceptPluginContents(proxyPrefix, { testMode: !!nuxt.options.test });
1654
1676
  }
1655
1677
  });
1656
1678
  nuxt.options.runtimeConfig["nuxt-scripts-proxy"] = {
package/dist/registry.mjs CHANGED
@@ -126,7 +126,7 @@ const registryMeta = [
126
126
  m("intercom", "Intercom", "support", "useScriptIntercom", { bundle: true, proxy: true }, PRIVACY_IP_ONLY),
127
127
  m("crisp", "Crisp", "support", "useScriptCrisp", { bundle: true }, null),
128
128
  // cdn
129
- m("npm", "NPM", "cdn", "useScriptNpm", {}, null),
129
+ m("npm", "NPM", "cdn", "useScriptNpm", { bundle: true }, null),
130
130
  // utility
131
131
  m("googleRecaptcha", "Google reCAPTCHA", "utility", "useScriptGoogleRecaptcha", {}, null),
132
132
  m("googleSignIn", "Google Sign-In", "utility", "useScriptGoogleSignIn", {}, null),
@@ -200,6 +200,13 @@ onMounted(() => {
200
200
  if (isLocationQuery(center) && ready.value) {
201
201
  center = await resolveQueryToLatLng(center);
202
202
  }
203
+ const current = map.value.getCenter();
204
+ if (current) {
205
+ const newLat = typeof center.lat === "function" ? center.lat() : center.lat;
206
+ const newLng = typeof center.lng === "function" ? center.lng() : center.lng;
207
+ if (current.lat() === newLat && current.lng() === newLng)
208
+ return;
209
+ }
203
210
  map.value.setCenter(center);
204
211
  }
205
212
  }, {
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  import { inject, provide, useSlots, useTemplateRef, watch } from "vue";
3
- import { MARKER_CLUSTERER_INJECTION_KEY } from "./ScriptGoogleMapsMarkerClusterer.vue";
3
+ import { MARKER_CLUSTERER_INJECTION_KEY } from "./types";
4
4
  import { bindGoogleMapsEvents, MARKER_INJECTION_KEY, useGoogleMapsResource } from "./useGoogleMapsResource";
5
5
  export { MARKER_INJECTION_KEY } from "./useGoogleMapsResource";
6
6
  </script>
@@ -1,45 +1,7 @@
1
- import type { InjectionKey, ShallowRef } from 'vue';
2
- export interface MarkerClustererInstance {
3
- render: () => void;
4
- setMap: (map: google.maps.Map | null) => void;
5
- addListener: (event: string, handler: () => void) => void;
6
- addMarker: (marker: google.maps.marker.AdvancedMarkerElement | google.maps.Marker, noDraw?: boolean) => void;
7
- removeMarker: (marker: google.maps.marker.AdvancedMarkerElement | google.maps.Marker, noDraw?: boolean) => boolean;
8
- }
9
- export interface MarkerClustererOptions {
10
- markers?: google.maps.marker.AdvancedMarkerElement[];
11
- algorithm?: unknown;
12
- renderer?: unknown;
13
- onClusterClick?: unknown;
14
- }
15
- export interface Cluster {
16
- marker: google.maps.marker.AdvancedMarkerElement;
17
- markers?: google.maps.marker.AdvancedMarkerElement[];
18
- position: google.maps.LatLng;
19
- bounds: google.maps.LatLngBounds | undefined;
20
- count: number;
21
- }
22
- export interface ClusterStats {
23
- markers: {
24
- sum: number;
25
- };
26
- clusters: {
27
- count: number;
28
- markers: {
29
- min: number;
30
- max: number;
31
- mean: number;
32
- sum: number;
33
- };
34
- };
35
- }
36
- export interface MarkerClustererContext {
37
- markerClusterer: ShallowRef<MarkerClustererInstance | undefined>;
38
- requestRerender: () => void;
39
- /** Increments after each clustering cycle; watch to detect cluster membership changes */
40
- clusteringVersion: ShallowRef<number>;
41
- }
42
- export declare const MARKER_CLUSTERER_INJECTION_KEY: InjectionKey<MarkerClustererContext>;
1
+ import type { Cluster, ClusterStats, MarkerClustererContext, MarkerClustererInstance, MarkerClustererOptions } from './types.js';
2
+ import { MARKER_CLUSTERER_INJECTION_KEY } from './types.js';
3
+ export type { Cluster, ClusterStats, MarkerClustererContext, MarkerClustererInstance, MarkerClustererOptions };
4
+ export { MARKER_CLUSTERER_INJECTION_KEY };
43
5
  declare const _default: typeof __VLS_export;
44
6
  export default _default;
45
7
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
@@ -1,7 +1,8 @@
1
1
  <script>
2
2
  import { getCurrentInstance, h, inject, onBeforeUnmount, provide, shallowRef, useSlots, render as vueRender, watch } from "vue";
3
+ import { MARKER_CLUSTERER_INJECTION_KEY } from "./types";
3
4
  import { bindGoogleMapsEvents, MAP_INJECTION_KEY, useGoogleMapsResource } from "./useGoogleMapsResource";
4
- export const MARKER_CLUSTERER_INJECTION_KEY = /* @__PURE__ */ Symbol("marker-clusterer");
5
+ export { MARKER_CLUSTERER_INJECTION_KEY };
5
6
  </script>
6
7
 
7
8
  <script setup>
@@ -1,45 +1,7 @@
1
- import type { InjectionKey, ShallowRef } from 'vue';
2
- export interface MarkerClustererInstance {
3
- render: () => void;
4
- setMap: (map: google.maps.Map | null) => void;
5
- addListener: (event: string, handler: () => void) => void;
6
- addMarker: (marker: google.maps.marker.AdvancedMarkerElement | google.maps.Marker, noDraw?: boolean) => void;
7
- removeMarker: (marker: google.maps.marker.AdvancedMarkerElement | google.maps.Marker, noDraw?: boolean) => boolean;
8
- }
9
- export interface MarkerClustererOptions {
10
- markers?: google.maps.marker.AdvancedMarkerElement[];
11
- algorithm?: unknown;
12
- renderer?: unknown;
13
- onClusterClick?: unknown;
14
- }
15
- export interface Cluster {
16
- marker: google.maps.marker.AdvancedMarkerElement;
17
- markers?: google.maps.marker.AdvancedMarkerElement[];
18
- position: google.maps.LatLng;
19
- bounds: google.maps.LatLngBounds | undefined;
20
- count: number;
21
- }
22
- export interface ClusterStats {
23
- markers: {
24
- sum: number;
25
- };
26
- clusters: {
27
- count: number;
28
- markers: {
29
- min: number;
30
- max: number;
31
- mean: number;
32
- sum: number;
33
- };
34
- };
35
- }
36
- export interface MarkerClustererContext {
37
- markerClusterer: ShallowRef<MarkerClustererInstance | undefined>;
38
- requestRerender: () => void;
39
- /** Increments after each clustering cycle; watch to detect cluster membership changes */
40
- clusteringVersion: ShallowRef<number>;
41
- }
42
- export declare const MARKER_CLUSTERER_INJECTION_KEY: InjectionKey<MarkerClustererContext>;
1
+ import type { Cluster, ClusterStats, MarkerClustererContext, MarkerClustererInstance, MarkerClustererOptions } from './types.js';
2
+ import { MARKER_CLUSTERER_INJECTION_KEY } from './types.js';
3
+ export type { Cluster, ClusterStats, MarkerClustererContext, MarkerClustererInstance, MarkerClustererOptions };
4
+ export { MARKER_CLUSTERER_INJECTION_KEY };
43
5
  declare const _default: typeof __VLS_export;
44
6
  export default _default;
45
7
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
@@ -1,6 +1,6 @@
1
1
  <script setup>
2
2
  import { computed, inject, ref, useTemplateRef, watch } from "vue";
3
- import { MARKER_CLUSTERER_INJECTION_KEY } from "./ScriptGoogleMapsMarkerClusterer.vue";
3
+ import { MARKER_CLUSTERER_INJECTION_KEY } from "./types";
4
4
  import { MARKER_INJECTION_KEY, useGoogleMapsResource } from "./useGoogleMapsResource";
5
5
  defineOptions({
6
6
  inheritAttrs: false
@@ -0,0 +1,42 @@
1
+ import type { InjectionKey, ShallowRef } from 'vue';
2
+ export interface MarkerClustererInstance {
3
+ render: () => void;
4
+ setMap: (map: google.maps.Map | null) => void;
5
+ addListener: (event: string, handler: () => void) => void;
6
+ addMarker: (marker: google.maps.marker.AdvancedMarkerElement | google.maps.Marker, noDraw?: boolean) => void;
7
+ removeMarker: (marker: google.maps.marker.AdvancedMarkerElement | google.maps.Marker, noDraw?: boolean) => boolean;
8
+ }
9
+ export interface MarkerClustererOptions {
10
+ markers?: google.maps.marker.AdvancedMarkerElement[];
11
+ algorithm?: unknown;
12
+ renderer?: unknown;
13
+ onClusterClick?: unknown;
14
+ }
15
+ export interface Cluster {
16
+ marker: google.maps.marker.AdvancedMarkerElement;
17
+ markers?: google.maps.marker.AdvancedMarkerElement[];
18
+ position: google.maps.LatLng;
19
+ bounds: google.maps.LatLngBounds | undefined;
20
+ count: number;
21
+ }
22
+ export interface ClusterStats {
23
+ markers: {
24
+ sum: number;
25
+ };
26
+ clusters: {
27
+ count: number;
28
+ markers: {
29
+ min: number;
30
+ max: number;
31
+ mean: number;
32
+ sum: number;
33
+ };
34
+ };
35
+ }
36
+ export interface MarkerClustererContext {
37
+ markerClusterer: ShallowRef<MarkerClustererInstance | undefined>;
38
+ requestRerender: () => void;
39
+ /** Increments after each clustering cycle; watch to detect cluster membership changes */
40
+ clusteringVersion: ShallowRef<number>;
41
+ }
42
+ export declare const MARKER_CLUSTERER_INJECTION_KEY: InjectionKey<MarkerClustererContext>;
@@ -0,0 +1 @@
1
+ export const MARKER_CLUSTERER_INJECTION_KEY = Symbol("marker-clusterer");
@@ -41,6 +41,8 @@ import type { XEmbedInput } from './registry/x-embed.js';
41
41
  import type { XPixelInput } from './registry/x-pixel.js';
42
42
  import type { YouTubePlayerInput } from './registry/youtube-player.js';
43
43
  import type { ProxyPrivacyInput } from './server/utils/privacy.js';
44
+ export type { Cluster, ClusterStats, MarkerClustererContext, MarkerClustererInstance, MarkerClustererOptions } from './components/GoogleMaps/types.js';
45
+ export { MARKER_CLUSTERER_INJECTION_KEY } from './components/GoogleMaps/types.js';
44
46
  export type WarmupStrategy = false | 'preload' | 'preconnect' | 'dns-prefetch';
45
47
  export type UseScriptContext<T extends Record<symbol | string, any>> = VueScriptInstance<T> & {
46
48
  /**
@@ -456,4 +458,3 @@ export interface ProxyConfig {
456
458
  /** AST-level SDK patches applied during URL rewriting. */
457
459
  sdkPatches?: SdkPatch[];
458
460
  }
459
- export {};
@@ -0,0 +1 @@
1
+ export { MARKER_CLUSTERER_INJECTION_KEY } from "./components/GoogleMaps/types.js";