nuxt-seo-utils 8.1.11 → 8.2.0

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 (32) hide show
  1. package/dist/cli.mjs +1 -1
  2. package/dist/devtools/200.html +1 -1
  3. package/dist/devtools/404.html +1 -1
  4. package/dist/devtools/_nuxt/{B-5hH2Nm.js → BEw_EXq1.js} +1 -1
  5. package/dist/devtools/_nuxt/BgCgKrEE.js +1 -0
  6. package/dist/devtools/_nuxt/C4gkMyix.js +1 -0
  7. package/dist/devtools/_nuxt/{BbgdZoYJ.js → CQ4Jy7Nm.js} +1 -1
  8. package/dist/devtools/_nuxt/DcgcSEa-.js +33 -0
  9. package/dist/devtools/_nuxt/{Bdx37DPM.js → DeIiaCYF.js} +1 -1
  10. package/dist/devtools/_nuxt/DevtoolsMetric.DabK8i8g.css +1 -0
  11. package/dist/devtools/_nuxt/{D0xHFZQC.js → DfZjB7w2.js} +1 -1
  12. package/dist/devtools/_nuxt/{Cl2nS2tV.js → DjEWf-n1.js} +1 -1
  13. package/dist/devtools/_nuxt/builds/latest.json +1 -1
  14. package/dist/devtools/_nuxt/builds/meta/21c3fe25-8926-44ca-9d37-f478243d148a.json +1 -0
  15. package/dist/devtools/_nuxt/debug.B9T5jmI-.css +1 -0
  16. package/dist/devtools/_nuxt/{entry.Wg4G8OzK.css → entry.aDw8hoj_.css} +1 -1
  17. package/dist/devtools/_nuxt/tools.DM91U8p4.css +1 -0
  18. package/dist/devtools/debug/index.html +1 -1
  19. package/dist/devtools/docs/index.html +1 -1
  20. package/dist/devtools/identity/index.html +1 -1
  21. package/dist/devtools/index.html +1 -1
  22. package/dist/devtools/social/index.html +1 -1
  23. package/dist/module.json +1 -1
  24. package/dist/runtime/shared/minify.js +18 -5
  25. package/package.json +15 -5
  26. package/dist/devtools/_nuxt/BWjsBFBN.js +0 -1
  27. package/dist/devtools/_nuxt/CfZanr-1.js +0 -1
  28. package/dist/devtools/_nuxt/DevtoolsMetric.DUURkl9X.css +0 -1
  29. package/dist/devtools/_nuxt/DoLuxW57.js +0 -33
  30. package/dist/devtools/_nuxt/builds/meta/11006eff-a1bc-458a-a47e-9a4d5b982f1b.json +0 -1
  31. package/dist/devtools/_nuxt/debug.CLOlk-lI.css +0 -1
  32. package/dist/devtools/_nuxt/tools.mlqfAfdI.css +0 -1
@@ -1 +1 @@
1
- import{d as A,u as q,s as H,q as M,v as z,x as J,o as a,g as l,c as w,y as X,w as v,b as i,e as K,F as f,i as e,m as C,A as Q,n as B,j as n,p as Y,k as p,C as Z,z as F,a as L,r as U,f as h,l as ee}from"./DoLuxW57.js";import{_ as te,a as ae,p as se}from"./BWjsBFBN.js";import{_ as oe}from"./CfZanr-1.js";const le={class:"space-y-5 stagger-children"},ne={class:"space-y-1"},re={class:"min-w-0"},ie={class:"font-mono text-xs"},ce={class:"text-xs text-[var(--color-text-muted)]"},ue={class:"social-tab-bar"},de=["onClick"],ge={class:"social-tab__label"},ve={class:"social-preview-stage"},pe={key:0,class:"social-preview-card"},me={class:"rounded-2xl overflow-hidden border border-neutral-200 dark:border-neutral-700"},_e={key:0,class:"aspect-[1.91/1] bg-neutral-100 dark:bg-neutral-800"},he=["src","alt"],xe={key:1,class:"social-image-placeholder aspect-[1.91/1]"},be={class:"p-3"},we={class:"text-xs text-neutral-500"},fe={class:"text-sm font-medium line-clamp-1"},ye={class:"text-xs text-neutral-500 line-clamp-2"},ke={key:1,class:"social-preview-card"},Ie={class:"rounded-lg overflow-hidden border border-neutral-200 dark:border-neutral-700 bg-neutral-50 dark:bg-neutral-800"},Te={key:0,class:"aspect-[1.91/1] bg-neutral-100 dark:bg-neutral-700"},Ce=["src","alt"],Ne={key:1,class:"social-image-placeholder aspect-[1.91/1]"},$e={class:"p-3"},Se={class:"text-[11px] text-neutral-500 uppercase tracking-wider"},Ue={class:"text-base font-semibold line-clamp-1 mt-0.5"},je={class:"text-sm text-neutral-500 line-clamp-1 mt-0.5"},De={key:2,class:"social-preview-card"},Me={class:"rounded-lg overflow-hidden border border-neutral-200 dark:border-neutral-700"},ze={key:0,class:"aspect-[1.91/1] bg-neutral-100 dark:bg-neutral-800"},Be=["src","alt"],Fe={key:1,class:"social-image-placeholder aspect-[1.91/1]"},Le={class:"p-3 bg-neutral-50 dark:bg-neutral-800"},Oe={class:"text-sm font-semibold line-clamp-2"},Ee={class:"text-xs text-neutral-500 mt-1"},Pe={key:3,class:"social-preview-card"},Re={class:"rounded-lg overflow-hidden border-l-4 border-[#5865F2] bg-[#2f3136] text-white p-4"},Ve={class:"text-xs text-neutral-400 mb-1"},We={class:"text-[#00aff4] text-sm font-semibold hover:underline cursor-pointer"},Ge={class:"text-sm text-neutral-300 mt-1 line-clamp-2"},Ae={key:0,class:"mt-3 rounded-lg overflow-hidden max-w-[300px]"},qe=["src","alt"],He={key:1,class:"social-image-placeholder social-image-placeholder--discord mt-3 max-w-[300px] aspect-video rounded-lg"},Je={key:4,class:"social-preview-card"},Xe={class:"rounded-lg overflow-hidden border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 py-2"},Ke={class:"text-xs text-neutral-500 font-bold mb-1"},Qe={class:"text-[#1264a3] dark:text-[#1d9bd1] text-sm font-bold hover:underline cursor-pointer"},Ye={class:"text-sm text-neutral-600 dark:text-neutral-400 mt-0.5 line-clamp-2"},Ze={key:0,class:"mt-2 rounded overflow-hidden max-w-[360px]"},et=["src","alt"],tt={class:"social-tags-table"},at={class:"text-sm font-mono shrink-0 text-[var(--color-text)]"},st={class:"text-xs text-[var(--color-text-muted)] truncate min-w-0 flex-1 text-right font-mono"},ot={class:"text-sm font-mono shrink-0 text-[var(--color-text)]"},lt={class:"text-xs text-[var(--color-text-muted)] truncate min-w-0 flex-1 text-right font-mono"},nt={class:"rounded-lg overflow-hidden border border-[var(--color-border)]"},rt=["src","alt"],it={class:"flex items-center gap-2 text-xs text-[var(--color-text-muted)] font-mono"},ct={class:"truncate"},ut=A({__name:"social",setup(dt){const{copy:O,copied:E}=q(),N=U(!1),y=U(null),t=U(null),_=U("twitter"),P=[{label:"X / Twitter",value:"twitter",icon:"carbon:logo-x"},{label:"Facebook",value:"facebook",icon:"carbon:logo-facebook"},{label:"LinkedIn",value:"linkedin",icon:"carbon:logo-linkedin"},{label:"Discord",value:"discord",icon:"carbon:logo-discord"},{label:"Slack",value:"slack",icon:"carbon:logo-slack"}],x=h(()=>{if(!t.value)return[];const c=[];if(t.value.og["og:title"]||c.push({type:"warning",property:"og:title",message:"Missing og:title. Social previews will use the page title as fallback."}),t.value.og["og:description"]||c.push({type:"warning",property:"og:description",message:"Missing og:description."}),t.value.ogImages.length||c.push({type:"warning",property:"og:image",message:"No og:image found. Posts with images get higher engagement."}),t.value.og["og:url"]||c.push({type:"warning",property:"og:url",message:"Missing og:url."}),t.value.twitter["twitter:card"]||c.push({type:"warning",property:"twitter:card",message:'Missing twitter:card. Defaults to "summary".'}),t.value.ogImages.length){const o=t.value.ogImages[0];o.url&&!o.url.startsWith("http")&&c.push({type:"error",property:"og:image",message:"og:image must be an absolute URL."});const r=Number.parseInt(o.width||"0"),u=Number.parseInt(o.height||"0");r&&u&&(r<200||u<200)&&c.push({type:"warning",property:"og:image",message:`Image is ${r}x${u}. Minimum recommended: 200x200, ideal: 1200x630.`})}return c}),d=h(()=>t.value?.og["og:title"]||t.value?.twitter["twitter:title"]||t.value?.title||"Untitled"),$=h(()=>t.value?.og["og:description"]||t.value?.twitter["twitter:description"]||t.value?.description||""),g=h(()=>t.value?.ogImages[0]?.url||t.value?.twitter["twitter:image"]||null),k=h(()=>{if(t.value?.og["og:site_name"])return t.value.og["og:site_name"];try{return new URL(t.value?.url||"").hostname}catch{return""}}),R=h(()=>t.value?Object.keys(t.value.og).length:0),V=h(()=>t.value?Object.keys(t.value.twitter).length:0);function W(c,o){const r=se(c),u=[];r.ogTags["og:image"]&&u.push({url:r.ogTags["og:image"],width:r.ogTags["og:image:width"],height:r.ogTags["og:image:height"],alt:r.ogTags["og:image:alt"]});let I="";try{I=new URL(o).hostname}catch{I=o}return{title:r.title,description:r.description,url:o,siteName:r.ogTags["og:site_name"]||I,og:r.ogTags,ogImages:u,twitter:r.twitterTags,twitterCard:r.twitterTags["twitter:card"]||"summary"}}async function j(){N.value=!0,y.value=null,t.value=null;try{const o=`${window.parent?.location?.origin||window.location.origin}${z.value}`,r=await fetch(o,{headers:{Accept:"text/html"}});if(!r.ok)throw new Error(`HTTP ${r.status}`);const u=await r.text();t.value=W(u,o)}catch(c){y.value=c.message||"Failed to fetch page"}finally{N.value=!1}}return H([()=>M.value,z,J],()=>{M.value&&j()},{immediate:!0}),(c,o)=>{const r=X,u=K,I=te,T=oe,b=Q,S=Y,D=Z,G=ae;return a(),l("div",le,[N.value?(a(),w(r,{key:0})):y.value?(a(),w(I,{key:1,error:y.value,title:"Failed to check page"},{default:v(()=>[i(u,{size:"sm",variant:"ghost",icon:"carbon:reset",label:"Retry",onClick:j})]),_:1},8,["error"])):t.value?(a(),l(f,{key:2},[x.value.length?(a(),w(S,{key:0,icon:"carbon:warning",text:"Warnings"},{actions:v(()=>[i(T,{value:x.value.filter(s=>s.type==="error").length,label:"errors",variant:x.value.some(s=>s.type==="error")?"danger":void 0},null,8,["value","variant"]),i(T,{value:x.value.filter(s=>s.type==="warning").length,label:"warnings",variant:x.value.some(s=>s.type==="warning")?"warning":void 0},null,8,["value","variant"])]),default:v(()=>[e("div",ne,[(a(!0),l(f,null,C(x.value,s=>(a(),l("div",{key:s.property+s.message,class:"social-issue-row"},[i(b,{name:s.type==="error"?"carbon:close-filled":"carbon:warning-filled",class:B(["mt-0.5 shrink-0",s.type==="error"?"text-red-500":"text-amber-500"])},null,8,["name","class"]),e("div",re,[e("span",ie,n(s.property),1),e("p",ce,n(s.message),1)])]))),128))])]),_:1})):p("",!0),i(S,{icon:"carbon:view",text:"Social Preview",padding:!1},{default:v(()=>[e("div",ue,[(a(),l(f,null,C(P,s=>e("button",{key:s.value,class:B(["social-tab",{"social-tab--active":_.value===s.value}]),onClick:m=>_.value=s.value},[i(b,{name:s.icon,class:"text-sm"},null,8,["name"]),e("span",ge,n(s.label),1)],10,de)),64))]),e("div",ve,[_.value==="twitter"?(a(),l("div",pe,[e("div",me,[g.value?(a(),l("div",_e,[e("img",{src:g.value,class:"w-full h-full object-cover",alt:d.value},null,8,he)])):(a(),l("div",xe,[i(b,{name:"carbon:image",class:"text-2xl"}),o[1]||(o[1]=e("span",null,"No og:image",-1))])),e("div",be,[e("p",we,n(k.value),1),e("p",fe,n(d.value),1),e("p",ye,n($.value),1)])])])):p("",!0),_.value==="facebook"?(a(),l("div",ke,[e("div",Ie,[g.value?(a(),l("div",Te,[e("img",{src:g.value,class:"w-full h-full object-cover",alt:d.value},null,8,Ce)])):(a(),l("div",Ne,[i(b,{name:"carbon:image",class:"text-2xl"}),o[2]||(o[2]=e("span",null,"No og:image",-1))])),e("div",$e,[e("p",Se,n(k.value),1),e("p",Ue,n(d.value),1),e("p",je,n($.value),1)])])])):p("",!0),_.value==="linkedin"?(a(),l("div",De,[e("div",Me,[g.value?(a(),l("div",ze,[e("img",{src:g.value,class:"w-full h-full object-cover",alt:d.value},null,8,Be)])):(a(),l("div",Fe,[i(b,{name:"carbon:image",class:"text-2xl"}),o[3]||(o[3]=e("span",null,"No og:image",-1))])),e("div",Le,[e("p",Oe,n(d.value),1),e("p",Ee,n(k.value),1)])])])):p("",!0),_.value==="discord"?(a(),l("div",Pe,[e("div",Re,[e("p",Ve,n(k.value),1),e("p",We,n(d.value),1),e("p",Ge,n($.value),1),g.value?(a(),l("div",Ae,[e("img",{src:g.value,class:"w-full object-cover",alt:d.value},null,8,qe)])):(a(),l("div",He,[i(b,{name:"carbon:image",class:"text-xl"}),o[4]||(o[4]=e("span",null,"No image",-1))]))])])):p("",!0),_.value==="slack"?(a(),l("div",Je,[e("div",Xe,[e("p",Ke,n(k.value),1),e("p",Qe,n(d.value),1),e("p",Ye,n($.value),1),g.value?(a(),l("div",Ze,[e("img",{src:g.value,class:"w-full object-cover",alt:d.value},null,8,et)])):p("",!0)])])):p("",!0)])]),_:1}),i(S,{icon:"carbon:tag-group",text:"Open Graph Tags"},{actions:v(()=>[i(T,{value:R.value,label:"og"},null,8,["value"]),i(T,{value:V.value,label:"twitter"},null,8,["value"]),i(u,{size:"xs",variant:"ghost",color:"neutral",icon:"carbon:copy",label:L(E)?"Copied!":"Copy",onClick:o[0]||(o[0]=s=>L(O)(JSON.stringify({og:t.value.og,twitter:t.value.twitter},null,2)))},null,8,["label"])]),default:v(()=>[e("div",tt,[(a(!0),l(f,null,C(t.value.og,(s,m)=>(a(),l("div",{key:m,class:"social-tags-table__row"},[i(D,{color:"primary",variant:"subtle",size:"xs"},{default:v(()=>[...o[5]||(o[5]=[F(" og ",-1)])]),_:1}),e("span",at,n(m),1),e("span",st,n(s),1)]))),128)),(a(!0),l(f,null,C(t.value.twitter,(s,m)=>(a(),l("div",{key:m,class:"social-tags-table__row"},[i(D,{color:"neutral",variant:"subtle",size:"xs"},{default:v(()=>[...o[6]||(o[6]=[F(" twitter ",-1)])]),_:1}),e("span",ot,n(m),1),e("span",lt,n(s),1)]))),128))])]),_:1}),t.value.ogImages.length?(a(),w(S,{key:1,icon:"carbon:image",text:"OG Image"},{actions:v(()=>[t.value.ogImages[0]?.width&&t.value.ogImages[0]?.height?(a(),w(T,{key:0,value:`${t.value.ogImages[0].width}×${t.value.ogImages[0].height}`,label:"px"},null,8,["value"])):p("",!0)]),default:v(()=>[(a(!0),l(f,null,C(t.value.ogImages,(s,m)=>(a(),l("div",{key:m,class:"space-y-2"},[e("div",nt,[e("img",{src:s.url,class:"w-full max-h-64 object-contain bg-neutral-100 dark:bg-neutral-800",alt:s.alt||"OG Image"},null,8,rt)]),e("div",it,[e("span",ct,n(s.url),1)])]))),128))]),_:1})):p("",!0)],64)):!N.value&&!y.value?(a(),w(G,{key:3,icon:"carbon:share",title:"Waiting for connection",description:"Waiting for connection to host app..."})):p("",!0)])}}}),mt=ee(ut,[["__scopeId","data-v-59fbea83"]]);export{mt as default};
1
+ import{d as A,u as q,s as H,q as M,v as z,x as J,o as a,g as l,c as w,y as X,w as v,b as i,e as K,F as f,i as e,m as C,A as Q,n as B,j as n,p as Y,k as p,C as Z,z as F,a as L,r as U,f as h,l as ee}from"./DcgcSEa-.js";import{_ as te,a as ae,p as se}from"./C4gkMyix.js";import{_ as oe}from"./BgCgKrEE.js";const le={class:"space-y-5 stagger-children"},ne={class:"space-y-1"},re={class:"min-w-0"},ie={class:"font-mono text-xs"},ce={class:"text-xs text-[var(--color-text-muted)]"},ue={class:"social-tab-bar"},de=["onClick"],ge={class:"social-tab__label"},ve={class:"social-preview-stage"},pe={key:0,class:"social-preview-card"},me={class:"rounded-2xl overflow-hidden border border-neutral-200 dark:border-neutral-700"},_e={key:0,class:"aspect-[1.91/1] bg-neutral-100 dark:bg-neutral-800"},he=["src","alt"],xe={key:1,class:"social-image-placeholder aspect-[1.91/1]"},be={class:"p-3"},we={class:"text-xs text-neutral-500"},fe={class:"text-sm font-medium line-clamp-1"},ye={class:"text-xs text-neutral-500 line-clamp-2"},ke={key:1,class:"social-preview-card"},Ie={class:"rounded-lg overflow-hidden border border-neutral-200 dark:border-neutral-700 bg-neutral-50 dark:bg-neutral-800"},Te={key:0,class:"aspect-[1.91/1] bg-neutral-100 dark:bg-neutral-700"},Ce=["src","alt"],Ne={key:1,class:"social-image-placeholder aspect-[1.91/1]"},$e={class:"p-3"},Se={class:"text-[11px] text-neutral-500 uppercase tracking-wider"},Ue={class:"text-base font-semibold line-clamp-1 mt-0.5"},je={class:"text-sm text-neutral-500 line-clamp-1 mt-0.5"},De={key:2,class:"social-preview-card"},Me={class:"rounded-lg overflow-hidden border border-neutral-200 dark:border-neutral-700"},ze={key:0,class:"aspect-[1.91/1] bg-neutral-100 dark:bg-neutral-800"},Be=["src","alt"],Fe={key:1,class:"social-image-placeholder aspect-[1.91/1]"},Le={class:"p-3 bg-neutral-50 dark:bg-neutral-800"},Oe={class:"text-sm font-semibold line-clamp-2"},Ee={class:"text-xs text-neutral-500 mt-1"},Pe={key:3,class:"social-preview-card"},Re={class:"rounded-lg overflow-hidden border-l-4 border-[#5865F2] bg-[#2f3136] text-white p-4"},Ve={class:"text-xs text-neutral-400 mb-1"},We={class:"text-[#00aff4] text-sm font-semibold hover:underline cursor-pointer"},Ge={class:"text-sm text-neutral-300 mt-1 line-clamp-2"},Ae={key:0,class:"mt-3 rounded-lg overflow-hidden max-w-[300px]"},qe=["src","alt"],He={key:1,class:"social-image-placeholder social-image-placeholder--discord mt-3 max-w-[300px] aspect-video rounded-lg"},Je={key:4,class:"social-preview-card"},Xe={class:"rounded-lg overflow-hidden border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 py-2"},Ke={class:"text-xs text-neutral-500 font-bold mb-1"},Qe={class:"text-[#1264a3] dark:text-[#1d9bd1] text-sm font-bold hover:underline cursor-pointer"},Ye={class:"text-sm text-neutral-600 dark:text-neutral-400 mt-0.5 line-clamp-2"},Ze={key:0,class:"mt-2 rounded overflow-hidden max-w-[360px]"},et=["src","alt"],tt={class:"social-tags-table"},at={class:"text-sm font-mono shrink-0 text-[var(--color-text)]"},st={class:"text-xs text-[var(--color-text-muted)] truncate min-w-0 flex-1 text-right font-mono"},ot={class:"text-sm font-mono shrink-0 text-[var(--color-text)]"},lt={class:"text-xs text-[var(--color-text-muted)] truncate min-w-0 flex-1 text-right font-mono"},nt={class:"rounded-lg overflow-hidden border border-[var(--color-border)]"},rt=["src","alt"],it={class:"flex items-center gap-2 text-xs text-[var(--color-text-muted)] font-mono"},ct={class:"truncate"},ut=A({__name:"social",setup(dt){const{copy:O,copied:E}=q(),N=U(!1),y=U(null),t=U(null),_=U("twitter"),P=[{label:"X / Twitter",value:"twitter",icon:"carbon:logo-x"},{label:"Facebook",value:"facebook",icon:"carbon:logo-facebook"},{label:"LinkedIn",value:"linkedin",icon:"carbon:logo-linkedin"},{label:"Discord",value:"discord",icon:"carbon:logo-discord"},{label:"Slack",value:"slack",icon:"carbon:logo-slack"}],x=h(()=>{if(!t.value)return[];const c=[];if(t.value.og["og:title"]||c.push({type:"warning",property:"og:title",message:"Missing og:title. Social previews will use the page title as fallback."}),t.value.og["og:description"]||c.push({type:"warning",property:"og:description",message:"Missing og:description."}),t.value.ogImages.length||c.push({type:"warning",property:"og:image",message:"No og:image found. Posts with images get higher engagement."}),t.value.og["og:url"]||c.push({type:"warning",property:"og:url",message:"Missing og:url."}),t.value.twitter["twitter:card"]||c.push({type:"warning",property:"twitter:card",message:'Missing twitter:card. Defaults to "summary".'}),t.value.ogImages.length){const o=t.value.ogImages[0];o.url&&!o.url.startsWith("http")&&c.push({type:"error",property:"og:image",message:"og:image must be an absolute URL."});const r=Number.parseInt(o.width||"0"),u=Number.parseInt(o.height||"0");r&&u&&(r<200||u<200)&&c.push({type:"warning",property:"og:image",message:`Image is ${r}x${u}. Minimum recommended: 200x200, ideal: 1200x630.`})}return c}),d=h(()=>t.value?.og["og:title"]||t.value?.twitter["twitter:title"]||t.value?.title||"Untitled"),$=h(()=>t.value?.og["og:description"]||t.value?.twitter["twitter:description"]||t.value?.description||""),g=h(()=>t.value?.ogImages[0]?.url||t.value?.twitter["twitter:image"]||null),k=h(()=>{if(t.value?.og["og:site_name"])return t.value.og["og:site_name"];try{return new URL(t.value?.url||"").hostname}catch{return""}}),R=h(()=>t.value?Object.keys(t.value.og).length:0),V=h(()=>t.value?Object.keys(t.value.twitter).length:0);function W(c,o){const r=se(c),u=[];r.ogTags["og:image"]&&u.push({url:r.ogTags["og:image"],width:r.ogTags["og:image:width"],height:r.ogTags["og:image:height"],alt:r.ogTags["og:image:alt"]});let I="";try{I=new URL(o).hostname}catch{I=o}return{title:r.title,description:r.description,url:o,siteName:r.ogTags["og:site_name"]||I,og:r.ogTags,ogImages:u,twitter:r.twitterTags,twitterCard:r.twitterTags["twitter:card"]||"summary"}}async function j(){N.value=!0,y.value=null,t.value=null;try{const o=`${window.parent?.location?.origin||window.location.origin}${z.value}`,r=await fetch(o,{headers:{Accept:"text/html"}});if(!r.ok)throw new Error(`HTTP ${r.status}`);const u=await r.text();t.value=W(u,o)}catch(c){y.value=c.message||"Failed to fetch page"}finally{N.value=!1}}return H([()=>M.value,z,J],()=>{M.value&&j()},{immediate:!0}),(c,o)=>{const r=X,u=K,I=te,T=oe,b=Q,S=Y,D=Z,G=ae;return a(),l("div",le,[N.value?(a(),w(r,{key:0})):y.value?(a(),w(I,{key:1,error:y.value,title:"Failed to check page"},{default:v(()=>[i(u,{size:"sm",variant:"ghost",icon:"carbon:reset",label:"Retry",onClick:j})]),_:1},8,["error"])):t.value?(a(),l(f,{key:2},[x.value.length?(a(),w(S,{key:0,icon:"carbon:warning",text:"Warnings"},{actions:v(()=>[i(T,{value:x.value.filter(s=>s.type==="error").length,label:"errors",variant:x.value.some(s=>s.type==="error")?"danger":void 0},null,8,["value","variant"]),i(T,{value:x.value.filter(s=>s.type==="warning").length,label:"warnings",variant:x.value.some(s=>s.type==="warning")?"warning":void 0},null,8,["value","variant"])]),default:v(()=>[e("div",ne,[(a(!0),l(f,null,C(x.value,s=>(a(),l("div",{key:s.property+s.message,class:"social-issue-row"},[i(b,{name:s.type==="error"?"carbon:close-filled":"carbon:warning-filled",class:B(["mt-0.5 shrink-0",s.type==="error"?"text-red-500":"text-amber-500"])},null,8,["name","class"]),e("div",re,[e("span",ie,n(s.property),1),e("p",ce,n(s.message),1)])]))),128))])]),_:1})):p("",!0),i(S,{icon:"carbon:view",text:"Social Preview",padding:!1},{default:v(()=>[e("div",ue,[(a(),l(f,null,C(P,s=>e("button",{key:s.value,class:B(["social-tab",{"social-tab--active":_.value===s.value}]),onClick:m=>_.value=s.value},[i(b,{name:s.icon,class:"text-sm"},null,8,["name"]),e("span",ge,n(s.label),1)],10,de)),64))]),e("div",ve,[_.value==="twitter"?(a(),l("div",pe,[e("div",me,[g.value?(a(),l("div",_e,[e("img",{src:g.value,class:"w-full h-full object-cover",alt:d.value},null,8,he)])):(a(),l("div",xe,[i(b,{name:"carbon:image",class:"text-2xl"}),o[1]||(o[1]=e("span",null,"No og:image",-1))])),e("div",be,[e("p",we,n(k.value),1),e("p",fe,n(d.value),1),e("p",ye,n($.value),1)])])])):p("",!0),_.value==="facebook"?(a(),l("div",ke,[e("div",Ie,[g.value?(a(),l("div",Te,[e("img",{src:g.value,class:"w-full h-full object-cover",alt:d.value},null,8,Ce)])):(a(),l("div",Ne,[i(b,{name:"carbon:image",class:"text-2xl"}),o[2]||(o[2]=e("span",null,"No og:image",-1))])),e("div",$e,[e("p",Se,n(k.value),1),e("p",Ue,n(d.value),1),e("p",je,n($.value),1)])])])):p("",!0),_.value==="linkedin"?(a(),l("div",De,[e("div",Me,[g.value?(a(),l("div",ze,[e("img",{src:g.value,class:"w-full h-full object-cover",alt:d.value},null,8,Be)])):(a(),l("div",Fe,[i(b,{name:"carbon:image",class:"text-2xl"}),o[3]||(o[3]=e("span",null,"No og:image",-1))])),e("div",Le,[e("p",Oe,n(d.value),1),e("p",Ee,n(k.value),1)])])])):p("",!0),_.value==="discord"?(a(),l("div",Pe,[e("div",Re,[e("p",Ve,n(k.value),1),e("p",We,n(d.value),1),e("p",Ge,n($.value),1),g.value?(a(),l("div",Ae,[e("img",{src:g.value,class:"w-full object-cover",alt:d.value},null,8,qe)])):(a(),l("div",He,[i(b,{name:"carbon:image",class:"text-xl"}),o[4]||(o[4]=e("span",null,"No image",-1))]))])])):p("",!0),_.value==="slack"?(a(),l("div",Je,[e("div",Xe,[e("p",Ke,n(k.value),1),e("p",Qe,n(d.value),1),e("p",Ye,n($.value),1),g.value?(a(),l("div",Ze,[e("img",{src:g.value,class:"w-full object-cover",alt:d.value},null,8,et)])):p("",!0)])])):p("",!0)])]),_:1}),i(S,{icon:"carbon:tag-group",text:"Open Graph Tags"},{actions:v(()=>[i(T,{value:R.value,label:"og"},null,8,["value"]),i(T,{value:V.value,label:"twitter"},null,8,["value"]),i(u,{size:"xs",variant:"ghost",color:"neutral",icon:"carbon:copy",label:L(E)?"Copied!":"Copy",onClick:o[0]||(o[0]=s=>L(O)(JSON.stringify({og:t.value.og,twitter:t.value.twitter},null,2)))},null,8,["label"])]),default:v(()=>[e("div",tt,[(a(!0),l(f,null,C(t.value.og,(s,m)=>(a(),l("div",{key:m,class:"social-tags-table__row"},[i(D,{color:"primary",variant:"subtle",size:"xs"},{default:v(()=>[...o[5]||(o[5]=[F(" og ",-1)])]),_:1}),e("span",at,n(m),1),e("span",st,n(s),1)]))),128)),(a(!0),l(f,null,C(t.value.twitter,(s,m)=>(a(),l("div",{key:m,class:"social-tags-table__row"},[i(D,{color:"neutral",variant:"subtle",size:"xs"},{default:v(()=>[...o[6]||(o[6]=[F(" twitter ",-1)])]),_:1}),e("span",ot,n(m),1),e("span",lt,n(s),1)]))),128))])]),_:1}),t.value.ogImages.length?(a(),w(S,{key:1,icon:"carbon:image",text:"OG Image"},{actions:v(()=>[t.value.ogImages[0]?.width&&t.value.ogImages[0]?.height?(a(),w(T,{key:0,value:`${t.value.ogImages[0].width}×${t.value.ogImages[0].height}`,label:"px"},null,8,["value"])):p("",!0)]),default:v(()=>[(a(!0),l(f,null,C(t.value.ogImages,(s,m)=>(a(),l("div",{key:m,class:"space-y-2"},[e("div",nt,[e("img",{src:s.url,class:"w-full max-h-64 object-contain bg-neutral-100 dark:bg-neutral-800",alt:s.alt||"OG Image"},null,8,rt)]),e("div",it,[e("span",ct,n(s.url),1)])]))),128))]),_:1})):p("",!0)],64)):!N.value&&!y.value?(a(),w(G,{key:3,icon:"carbon:share",title:"Waiting for connection",description:"Waiting for connection to host app..."})):p("",!0)])}}}),mt=ee(ut,[["__scopeId","data-v-59fbea83"]]);export{mt as default};
@@ -0,0 +1 @@
1
+ .devtools-metric[data-v-ac8c8c5d]{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:500;gap:.375rem;padding:.25rem .625rem}.devtools-metric-icon[data-v-ac8c8c5d]{flex-shrink:0;font-size:.875rem}.devtools-metric-value[data-v-ac8c8c5d]{font-family:var(--font-mono);font-weight:600}.devtools-metric-label[data-v-ac8c8c5d]{color:inherit;opacity:.7}.devtools-metric-default[data-v-ac8c8c5d]{background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);color:var(--color-text)}.devtools-metric-success[data-v-ac8c8c5d]{background:#6bc6701f;color:#107823}.dark .devtools-metric-success[data-v-ac8c8c5d]{background:#10782326;color:#57cb60}.devtools-metric-warning[data-v-ac8c8c5d]{background:#e1b75c1f;color:#906b00;color:oklch(55% .15 85)}.dark .devtools-metric-warning[data-v-ac8c8c5d]{background:#906b0026;background:oklch(55% .12 85/.15);color:#d9a514}.devtools-metric-danger[data-v-ac8c8c5d]{background:#ce70691a;color:#b94642}.dark .devtools-metric-danger[data-v-ac8c8c5d]{background:#843c3826;color:#df7f78}.devtools-metric-info[data-v-ac8c8c5d]{background:#8cdee21a;color:#007277;color:oklch(50% .12 200)}.dark .devtools-metric-info[data-v-ac8c8c5d]{background:#00444726;background:oklch(35% .08 200/.15);color:#40b1b7}
@@ -1 +1 @@
1
- import{d as c,o as t,g as n,i as l,l as r,c as a}from"./DoLuxW57.js";const _={class:"h-full max-h-full overflow-hidden"},u=["src","title"],i=c({__name:"DevtoolsDocs",props:{url:{}},setup(e){return(s,o)=>(t(),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)]))}}),m=Object.assign(i,{__name:"DevtoolsDocs"}),d={};function f(e,s){const o=m;return t(),a(o,{url:"https://nuxtseo.com/docs/seo-utils"})}const p=r(d,[["render",f]]);export{p as default};
1
+ import{d as c,o as t,g as n,i as l,l as r,c as a}from"./DcgcSEa-.js";const _={class:"h-full max-h-full overflow-hidden"},u=["src","title"],i=c({__name:"DevtoolsDocs",props:{url:{}},setup(e){return(s,o)=>(t(),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)]))}}),m=Object.assign(i,{__name:"DevtoolsDocs"}),d={};function f(e,s){const o=m;return t(),a(o,{url:"https://nuxtseo.com/docs/seo-utils"})}const p=r(d,[["render",f]]);export{p as default};
@@ -1 +1 @@
1
- import{d as K,u as Q,s as Y,q as G,v as H,x as Z,o as l,g as i,c as h,y as ee,w as c,b as r,e as te,F as k,i as t,n as _,z as b,j as a,A as se,p as ae,a as v,B as M,m as $,k as oe,C as ne,r as I,f as u,l as le}from"./DoLuxW57.js";import{_ as re,S as p,e as ie,a as ce,t as ue,d as ge,p as ve}from"./BWjsBFBN.js";import{_ as de}from"./CfZanr-1.js";const _e={class:"space-y-5 stagger-children"},pe={class:"seo-score-ring"},me={viewBox:"0 0 36 36",class:"seo-score-ring__svg"},he=["stroke-dasharray"],fe={class:"seo-score-ring__text"},xe={class:"font-medium text-sm"},ye={class:"text-xs text-[var(--color-text-muted)]"},we={class:"serp-preview-container"},ke={class:"serp-preview"},be={class:"flex items-center gap-3 mb-2"},Te={class:"serp-preview__favicon"},Ce={class:"text-xs text-gray-600 dark:text-[#bdc1c6] leading-tight"},Se={class:"serp-preview__title"},Me={class:"serp-preview__description"},$e={class:"grid md:grid-cols-2 gap-4"},Ae={class:"space-y-3"},Ee={class:"flex items-center justify-between"},Ne={class:"text-xs font-mono text-[var(--color-text-muted)]"},Be={class:"seo-progress-track"},Le={class:"text-xs text-[var(--color-text-muted)] truncate"},Re={class:"space-y-3"},De={class:"flex items-center justify-between"},ze={class:"text-xs font-mono text-[var(--color-text-muted)]"},He={class:"seo-progress-track"},Ie={class:"text-xs text-[var(--color-text-muted)] truncate"},Oe={class:"space-y-1"},Ue={class:"min-w-0"},Ge={class:"text-sm font-mono"},Pe={class:"text-xs text-[var(--color-text-muted)]"},Xe={class:"space-y-5"},We={class:"seo-category-header"},Fe={class:"seo-checklist"},Ve={class:"text-sm font-mono flex-1 min-w-0 truncate"},je={key:0,class:"seo-checklist__value"},Je={class:"seo-meta-table"},qe={class:"text-sm font-mono shrink-0 text-[var(--color-text)]"},Ke={class:"text-xs text-[var(--color-text-muted)] truncate min-w-0 flex-1 text-right font-mono"},Qe=K({__name:"index",setup(Ye){const P=/\/$/,{copy:X,copied:W}=Q(),A=I(!1),T=I(null),e=I(null),E=u(()=>e.value?.title.length||0),N=u(()=>e.value?.description.length||0),f=u(()=>ue(E.value)),x=u(()=>ge(N.value)),F=u(()=>{if(!e.value?.url)return"";try{const s=new URL(e.value.url);return s.hostname+(s.pathname==="/"?"":s.pathname.replace(P,""))}catch{return e.value.url}}),B=u(()=>e.value?[{category:"Basic",name:"title",present:!!e.value.title,value:e.value.title},{category:"Basic",name:"description",present:!!e.value.description,value:e.value.description},{category:"Basic",name:"canonical",present:!!e.value.canonical,value:e.value.canonical},{category:"Open Graph",name:"og:title",present:!!e.value.ogTags["og:title"],value:e.value.ogTags["og:title"]},{category:"Open Graph",name:"og:description",present:!!e.value.ogTags["og:description"],value:e.value.ogTags["og:description"]},{category:"Open Graph",name:"og:image",present:!!e.value.ogTags["og:image"],value:e.value.ogTags["og:image"]},{category:"Open Graph",name:"og:url",present:!!e.value.ogTags["og:url"],value:e.value.ogTags["og:url"]},{category:"Twitter",name:"twitter:card",present:!!e.value.twitterTags["twitter:card"],value:e.value.twitterTags["twitter:card"]},{category:"Twitter",name:"twitter:title",present:!!e.value.twitterTags["twitter:title"],value:e.value.twitterTags["twitter:title"],fallback:e.value.ogTags["og:title"]?"og:title":void 0},{category:"Twitter",name:"twitter:image",present:!!e.value.twitterTags["twitter:image"],value:e.value.twitterTags["twitter:image"],fallback:e.value.ogTags["og:image"]?"og:image":void 0}]:[]),V=u(()=>{const s={};return B.value.forEach(o=>{s[o.category]||(s[o.category]=[]),s[o.category].push(o)}),s}),y=u(()=>({present:B.value.filter(o=>o.present||o.fallback).length,total:B.value.length})),j=u(()=>{const{present:s,total:o}=y.value;return o>0?Math.round(s/o*100):0}),d=u(()=>{if(!e.value)return[];const s=[];return e.value.title||s.push({tag:"title",severity:"error",message:"No title tag found."}),e.value.description||s.push({tag:"meta description",severity:"warning",message:"Missing meta description."}),e.value.ogTags["og:title"]||s.push({tag:"og:title",severity:"warning",message:"Missing og:title for social sharing."}),e.value.ogTags["og:description"]||s.push({tag:"og:description",severity:"warning",message:"Missing og:description for social sharing."}),e.value.ogTags["og:image"]||s.push({tag:"og:image",severity:"warning",message:"Missing og:image. Posts with images get higher click rates."}),e.value.canonical||s.push({tag:"canonical",severity:"warning",message:"Missing canonical URL."}),s}),L=u(()=>{if(!e.value)return null;const s=d.value.some(w=>w.severity==="error")||f.value==="error"||x.value==="error",o=d.value.length>0||f.value==="warning"||x.value==="warning";return s?{variant:"warning",message:"Issues found",icon:"carbon:warning-alt"}:o?{variant:"warning",message:"Some suggestions",icon:"carbon:warning"}:{variant:"success",message:"Looking good!",icon:"carbon:checkmark-filled"}});function O(s){return s==="success"?"Good":s==="warning"?"Needs work":"Too long"}async function U(){A.value=!0,T.value=null,e.value=null;try{const s=window.parent?.location?.origin||window.location.origin,o=await fetch(`${s}${H.value}`,{headers:{Accept:"text/html"}});if(!o.ok)throw new Error(`HTTP ${o.status}`);const w=await o.text(),C=ve(w);e.value={...C,url:`${s}${H.value}`}}catch(s){T.value=s.message||"Failed to fetch page"}finally{A.value=!1}}return Y([()=>G.value,H,Z],()=>{G.value&&U()},{immediate:!0}),(s,o)=>{const w=ee,C=te,J=re,R=se,m=ae,D=de,z=ne,q=ce;return l(),i("div",_e,[A.value?(l(),h(w,{key:0})):T.value?(l(),h(J,{key:1,error:T.value,title:"Failed to check page"},{default:c(()=>[r(C,{size:"sm",variant:"ghost",icon:"carbon:reset",label:"Retry",onClick:U})]),_:1},8,["error"])):e.value?(l(),i(k,{key:2},[t("div",{class:_(["seo-status-card",`seo-status-card--${L.value?.variant}`])},[t("div",pe,[(l(),i("svg",me,[o[1]||(o[1]=t("circle",{cx:"18",cy:"18",r:"15.5",fill:"none",stroke:"var(--color-border-subtle)","stroke-width":"2.5"},null,-1)),t("circle",{cx:"18",cy:"18",r:"15.5",fill:"none",class:_(["seo-score-ring__progress",`seo-score-ring__progress--${L.value?.variant}`]),"stroke-width":"2.5","stroke-linecap":"round","stroke-dasharray":`${j.value*.974}, 100`,transform:"rotate(-90 18 18)"},null,10,he)])),t("span",fe,[b(a(y.value.present),1),o[2]||(o[2]=t("span",{class:"seo-score-ring__separator"},"/",-1)),b(a(y.value.total),1)])]),t("div",null,[t("p",xe,a(L.value?.message),1),t("p",ye,a(y.value.present)+" of "+a(y.value.total)+" essential tags present ",1)])],2),r(m,{icon:"carbon:search",text:"Google Search Preview"},{default:c(()=>[t("div",we,[t("div",ke,[t("div",be,[t("div",Te,[r(R,{name:"carbon:earth",class:"w-3.5 h-3.5 text-gray-400"})]),t("div",null,[t("div",Ce,a(F.value),1)])]),t("h3",Se,a(e.value.title||"No title found"),1),t("p",Me,a(e.value.description||"No description found"),1)])])]),_:1}),t("div",$e,[r(m,{icon:"carbon:text-short-paragraph",text:"Title",collapse:!1},{default:c(()=>[t("div",Ae,[t("div",Ee,[t("span",{class:_(["seo-length-status",`seo-length-status--${f.value}`])},a(O(f.value)),3),t("span",Ne,a(E.value)+"/"+a(v(p).TITLE_MAX_CHARS)+" chars · ~"+a(v(ie)(e.value.title))+"px ",1)]),t("div",Be,[t("div",{class:_(["seo-progress-fill",`seo-progress-fill--${f.value}`]),style:M({width:`${Math.min(100,E.value/v(p).TITLE_MAX_CHARS*100)}%`})},null,6),t("div",{class:"seo-progress-marker",style:M({left:`${30/v(p).TITLE_MAX_CHARS*100}%`})},null,4)]),t("p",Le,a(e.value.title||"Not set"),1)])]),_:1}),r(m,{icon:"carbon:text-long-paragraph",text:"Description",collapse:!1},{default:c(()=>[t("div",Re,[t("div",De,[t("span",{class:_(["seo-length-status",`seo-length-status--${x.value}`])},a(O(x.value)),3),t("span",ze,a(N.value)+"/"+a(v(p).DESC_MAX_CHARS)+" chars ",1)]),t("div",He,[t("div",{class:_(["seo-progress-fill",`seo-progress-fill--${x.value}`]),style:M({width:`${Math.min(100,N.value/v(p).DESC_MAX_CHARS*100)}%`})},null,6),t("div",{class:"seo-progress-marker",style:M({left:`${v(p).DESC_WARN_CHARS/v(p).DESC_MAX_CHARS*100}%`})},null,4)]),t("p",Ie,a(e.value.description||"Not set"),1)])]),_:1})]),d.value.length?(l(),h(m,{key:0,icon:"carbon:warning",text:"Missing Tags"},{actions:c(()=>[r(D,{value:d.value.filter(n=>n.severity==="error").length,label:"errors",variant:d.value.some(n=>n.severity==="error")?"danger":void 0},null,8,["value","variant"]),r(D,{value:d.value.filter(n=>n.severity==="warning").length,label:"warnings",variant:d.value.some(n=>n.severity==="warning")?"warning":void 0},null,8,["value","variant"])]),default:c(()=>[t("div",Oe,[(l(!0),i(k,null,$(d.value,n=>(l(),i("div",{key:n.tag,class:"seo-issue-row"},[r(R,{name:n.severity==="error"?"carbon:close-filled":"carbon:warning-filled",class:_(["text-base mt-0.5 shrink-0",n.severity==="error"?"text-red-500":"text-amber-500"])},null,8,["name","class"]),t("div",Ue,[t("span",Ge,a(n.tag),1),t("p",Pe,a(n.message),1)])]))),128))])]),_:1})):oe("",!0),r(m,{icon:"carbon:task",text:"Essential Tags Checklist"},{default:c(()=>[t("div",Xe,[(l(!0),i(k,null,$(V.value,(n,S)=>(l(),i("div",{key:S},[t("div",We,[t("span",null,a(S),1)]),t("div",Fe,[(l(!0),i(k,null,$(n,g=>(l(),i("div",{key:g.name,class:"seo-checklist__item"},[r(R,{name:g.present?"carbon:checkmark-filled":g.fallback?"carbon:information-filled":"carbon:close-filled",class:_(["text-sm shrink-0",g.present?"text-green-500":g.fallback?"text-gray-400":"text-red-400"])},null,8,["name","class"]),t("span",Ve,a(g.name),1),g.value?(l(),i("span",je,a(g.value),1)):g.fallback?(l(),h(z,{key:1,color:"neutral",variant:"subtle",size:"xs"},{default:c(()=>[b(" falls back to "+a(g.fallback),1)]),_:2},1024)):(l(),h(z,{key:2,color:"neutral",variant:"subtle",size:"xs"},{default:c(()=>[...o[3]||(o[3]=[b(" missing ",-1)])]),_:1}))]))),128))])]))),128))])]),_:1}),r(m,{icon:"carbon:list",text:"All Meta Tags"},{actions:c(()=>[r(D,{value:e.value.allMeta.length,label:"tags"},null,8,["value"]),r(C,{size:"xs",variant:"ghost",color:"neutral",icon:"carbon:copy",label:v(W)?"Copied!":"Copy JSON",onClick:o[0]||(o[0]=n=>v(X)(JSON.stringify({title:e.value.title,description:e.value.description,canonical:e.value.canonical,og:e.value.ogTags,twitter:e.value.twitterTags},null,2)))},null,8,["label"])]),default:c(()=>[t("div",Je,[(l(!0),i(k,null,$(e.value.allMeta,(n,S)=>(l(),i("div",{key:n.name+S,class:"seo-meta-table__row"},[r(z,{color:n.type==="property"?"primary":n.type==="name"?"neutral":"warning",variant:"subtle",size:"xs"},{default:c(()=>[b(a(n.type),1)]),_:2},1032,["color"]),t("span",qe,a(n.name),1),t("span",Ke,a(n.content),1)]))),128))])]),_:1})],64)):(l(),h(q,{key:3,icon:"carbon:plug",title:"Waiting for connection",description:"Waiting for connection to host app..."}))])}}}),st=le(Qe,[["__scopeId","data-v-270956ec"]]);export{st as default};
1
+ import{d as K,u as Q,s as Y,q as G,v as H,x as Z,o as l,g as i,c as h,y as ee,w as c,b as r,e as te,F as k,i as t,n as _,z as b,j as a,A as se,p as ae,a as v,B as M,m as $,k as oe,C as ne,r as I,f as u,l as le}from"./DcgcSEa-.js";import{_ as re,S as p,e as ie,a as ce,t as ue,d as ge,p as ve}from"./C4gkMyix.js";import{_ as de}from"./BgCgKrEE.js";const _e={class:"space-y-5 stagger-children"},pe={class:"seo-score-ring"},me={viewBox:"0 0 36 36",class:"seo-score-ring__svg"},he=["stroke-dasharray"],fe={class:"seo-score-ring__text"},xe={class:"font-medium text-sm"},ye={class:"text-xs text-[var(--color-text-muted)]"},we={class:"serp-preview-container"},ke={class:"serp-preview"},be={class:"flex items-center gap-3 mb-2"},Te={class:"serp-preview__favicon"},Ce={class:"text-xs text-gray-600 dark:text-[#bdc1c6] leading-tight"},Se={class:"serp-preview__title"},Me={class:"serp-preview__description"},$e={class:"grid md:grid-cols-2 gap-4"},Ae={class:"space-y-3"},Ee={class:"flex items-center justify-between"},Ne={class:"text-xs font-mono text-[var(--color-text-muted)]"},Be={class:"seo-progress-track"},Le={class:"text-xs text-[var(--color-text-muted)] truncate"},Re={class:"space-y-3"},De={class:"flex items-center justify-between"},ze={class:"text-xs font-mono text-[var(--color-text-muted)]"},He={class:"seo-progress-track"},Ie={class:"text-xs text-[var(--color-text-muted)] truncate"},Oe={class:"space-y-1"},Ue={class:"min-w-0"},Ge={class:"text-sm font-mono"},Pe={class:"text-xs text-[var(--color-text-muted)]"},Xe={class:"space-y-5"},We={class:"seo-category-header"},Fe={class:"seo-checklist"},Ve={class:"text-sm font-mono flex-1 min-w-0 truncate"},je={key:0,class:"seo-checklist__value"},Je={class:"seo-meta-table"},qe={class:"text-sm font-mono shrink-0 text-[var(--color-text)]"},Ke={class:"text-xs text-[var(--color-text-muted)] truncate min-w-0 flex-1 text-right font-mono"},Qe=K({__name:"index",setup(Ye){const P=/\/$/,{copy:X,copied:W}=Q(),A=I(!1),T=I(null),e=I(null),E=u(()=>e.value?.title.length||0),N=u(()=>e.value?.description.length||0),f=u(()=>ue(E.value)),x=u(()=>ge(N.value)),F=u(()=>{if(!e.value?.url)return"";try{const s=new URL(e.value.url);return s.hostname+(s.pathname==="/"?"":s.pathname.replace(P,""))}catch{return e.value.url}}),B=u(()=>e.value?[{category:"Basic",name:"title",present:!!e.value.title,value:e.value.title},{category:"Basic",name:"description",present:!!e.value.description,value:e.value.description},{category:"Basic",name:"canonical",present:!!e.value.canonical,value:e.value.canonical},{category:"Open Graph",name:"og:title",present:!!e.value.ogTags["og:title"],value:e.value.ogTags["og:title"]},{category:"Open Graph",name:"og:description",present:!!e.value.ogTags["og:description"],value:e.value.ogTags["og:description"]},{category:"Open Graph",name:"og:image",present:!!e.value.ogTags["og:image"],value:e.value.ogTags["og:image"]},{category:"Open Graph",name:"og:url",present:!!e.value.ogTags["og:url"],value:e.value.ogTags["og:url"]},{category:"Twitter",name:"twitter:card",present:!!e.value.twitterTags["twitter:card"],value:e.value.twitterTags["twitter:card"]},{category:"Twitter",name:"twitter:title",present:!!e.value.twitterTags["twitter:title"],value:e.value.twitterTags["twitter:title"],fallback:e.value.ogTags["og:title"]?"og:title":void 0},{category:"Twitter",name:"twitter:image",present:!!e.value.twitterTags["twitter:image"],value:e.value.twitterTags["twitter:image"],fallback:e.value.ogTags["og:image"]?"og:image":void 0}]:[]),V=u(()=>{const s={};return B.value.forEach(o=>{s[o.category]||(s[o.category]=[]),s[o.category].push(o)}),s}),y=u(()=>({present:B.value.filter(o=>o.present||o.fallback).length,total:B.value.length})),j=u(()=>{const{present:s,total:o}=y.value;return o>0?Math.round(s/o*100):0}),d=u(()=>{if(!e.value)return[];const s=[];return e.value.title||s.push({tag:"title",severity:"error",message:"No title tag found."}),e.value.description||s.push({tag:"meta description",severity:"warning",message:"Missing meta description."}),e.value.ogTags["og:title"]||s.push({tag:"og:title",severity:"warning",message:"Missing og:title for social sharing."}),e.value.ogTags["og:description"]||s.push({tag:"og:description",severity:"warning",message:"Missing og:description for social sharing."}),e.value.ogTags["og:image"]||s.push({tag:"og:image",severity:"warning",message:"Missing og:image. Posts with images get higher click rates."}),e.value.canonical||s.push({tag:"canonical",severity:"warning",message:"Missing canonical URL."}),s}),L=u(()=>{if(!e.value)return null;const s=d.value.some(w=>w.severity==="error")||f.value==="error"||x.value==="error",o=d.value.length>0||f.value==="warning"||x.value==="warning";return s?{variant:"warning",message:"Issues found",icon:"carbon:warning-alt"}:o?{variant:"warning",message:"Some suggestions",icon:"carbon:warning"}:{variant:"success",message:"Looking good!",icon:"carbon:checkmark-filled"}});function O(s){return s==="success"?"Good":s==="warning"?"Needs work":"Too long"}async function U(){A.value=!0,T.value=null,e.value=null;try{const s=window.parent?.location?.origin||window.location.origin,o=await fetch(`${s}${H.value}`,{headers:{Accept:"text/html"}});if(!o.ok)throw new Error(`HTTP ${o.status}`);const w=await o.text(),C=ve(w);e.value={...C,url:`${s}${H.value}`}}catch(s){T.value=s.message||"Failed to fetch page"}finally{A.value=!1}}return Y([()=>G.value,H,Z],()=>{G.value&&U()},{immediate:!0}),(s,o)=>{const w=ee,C=te,J=re,R=se,m=ae,D=de,z=ne,q=ce;return l(),i("div",_e,[A.value?(l(),h(w,{key:0})):T.value?(l(),h(J,{key:1,error:T.value,title:"Failed to check page"},{default:c(()=>[r(C,{size:"sm",variant:"ghost",icon:"carbon:reset",label:"Retry",onClick:U})]),_:1},8,["error"])):e.value?(l(),i(k,{key:2},[t("div",{class:_(["seo-status-card",`seo-status-card--${L.value?.variant}`])},[t("div",pe,[(l(),i("svg",me,[o[1]||(o[1]=t("circle",{cx:"18",cy:"18",r:"15.5",fill:"none",stroke:"var(--color-border-subtle)","stroke-width":"2.5"},null,-1)),t("circle",{cx:"18",cy:"18",r:"15.5",fill:"none",class:_(["seo-score-ring__progress",`seo-score-ring__progress--${L.value?.variant}`]),"stroke-width":"2.5","stroke-linecap":"round","stroke-dasharray":`${j.value*.974}, 100`,transform:"rotate(-90 18 18)"},null,10,he)])),t("span",fe,[b(a(y.value.present),1),o[2]||(o[2]=t("span",{class:"seo-score-ring__separator"},"/",-1)),b(a(y.value.total),1)])]),t("div",null,[t("p",xe,a(L.value?.message),1),t("p",ye,a(y.value.present)+" of "+a(y.value.total)+" essential tags present ",1)])],2),r(m,{icon:"carbon:search",text:"Google Search Preview"},{default:c(()=>[t("div",we,[t("div",ke,[t("div",be,[t("div",Te,[r(R,{name:"carbon:earth",class:"w-3.5 h-3.5 text-gray-400"})]),t("div",null,[t("div",Ce,a(F.value),1)])]),t("h3",Se,a(e.value.title||"No title found"),1),t("p",Me,a(e.value.description||"No description found"),1)])])]),_:1}),t("div",$e,[r(m,{icon:"carbon:text-short-paragraph",text:"Title",collapse:!1},{default:c(()=>[t("div",Ae,[t("div",Ee,[t("span",{class:_(["seo-length-status",`seo-length-status--${f.value}`])},a(O(f.value)),3),t("span",Ne,a(E.value)+"/"+a(v(p).TITLE_MAX_CHARS)+" chars · ~"+a(v(ie)(e.value.title))+"px ",1)]),t("div",Be,[t("div",{class:_(["seo-progress-fill",`seo-progress-fill--${f.value}`]),style:M({width:`${Math.min(100,E.value/v(p).TITLE_MAX_CHARS*100)}%`})},null,6),t("div",{class:"seo-progress-marker",style:M({left:`${30/v(p).TITLE_MAX_CHARS*100}%`})},null,4)]),t("p",Le,a(e.value.title||"Not set"),1)])]),_:1}),r(m,{icon:"carbon:text-long-paragraph",text:"Description",collapse:!1},{default:c(()=>[t("div",Re,[t("div",De,[t("span",{class:_(["seo-length-status",`seo-length-status--${x.value}`])},a(O(x.value)),3),t("span",ze,a(N.value)+"/"+a(v(p).DESC_MAX_CHARS)+" chars ",1)]),t("div",He,[t("div",{class:_(["seo-progress-fill",`seo-progress-fill--${x.value}`]),style:M({width:`${Math.min(100,N.value/v(p).DESC_MAX_CHARS*100)}%`})},null,6),t("div",{class:"seo-progress-marker",style:M({left:`${v(p).DESC_WARN_CHARS/v(p).DESC_MAX_CHARS*100}%`})},null,4)]),t("p",Ie,a(e.value.description||"Not set"),1)])]),_:1})]),d.value.length?(l(),h(m,{key:0,icon:"carbon:warning",text:"Missing Tags"},{actions:c(()=>[r(D,{value:d.value.filter(n=>n.severity==="error").length,label:"errors",variant:d.value.some(n=>n.severity==="error")?"danger":void 0},null,8,["value","variant"]),r(D,{value:d.value.filter(n=>n.severity==="warning").length,label:"warnings",variant:d.value.some(n=>n.severity==="warning")?"warning":void 0},null,8,["value","variant"])]),default:c(()=>[t("div",Oe,[(l(!0),i(k,null,$(d.value,n=>(l(),i("div",{key:n.tag,class:"seo-issue-row"},[r(R,{name:n.severity==="error"?"carbon:close-filled":"carbon:warning-filled",class:_(["text-base mt-0.5 shrink-0",n.severity==="error"?"text-red-500":"text-amber-500"])},null,8,["name","class"]),t("div",Ue,[t("span",Ge,a(n.tag),1),t("p",Pe,a(n.message),1)])]))),128))])]),_:1})):oe("",!0),r(m,{icon:"carbon:task",text:"Essential Tags Checklist"},{default:c(()=>[t("div",Xe,[(l(!0),i(k,null,$(V.value,(n,S)=>(l(),i("div",{key:S},[t("div",We,[t("span",null,a(S),1)]),t("div",Fe,[(l(!0),i(k,null,$(n,g=>(l(),i("div",{key:g.name,class:"seo-checklist__item"},[r(R,{name:g.present?"carbon:checkmark-filled":g.fallback?"carbon:information-filled":"carbon:close-filled",class:_(["text-sm shrink-0",g.present?"text-green-500":g.fallback?"text-gray-400":"text-red-400"])},null,8,["name","class"]),t("span",Ve,a(g.name),1),g.value?(l(),i("span",je,a(g.value),1)):g.fallback?(l(),h(z,{key:1,color:"neutral",variant:"subtle",size:"xs"},{default:c(()=>[b(" falls back to "+a(g.fallback),1)]),_:2},1024)):(l(),h(z,{key:2,color:"neutral",variant:"subtle",size:"xs"},{default:c(()=>[...o[3]||(o[3]=[b(" missing ",-1)])]),_:1}))]))),128))])]))),128))])]),_:1}),r(m,{icon:"carbon:list",text:"All Meta Tags"},{actions:c(()=>[r(D,{value:e.value.allMeta.length,label:"tags"},null,8,["value"]),r(C,{size:"xs",variant:"ghost",color:"neutral",icon:"carbon:copy",label:v(W)?"Copied!":"Copy JSON",onClick:o[0]||(o[0]=n=>v(X)(JSON.stringify({title:e.value.title,description:e.value.description,canonical:e.value.canonical,og:e.value.ogTags,twitter:e.value.twitterTags},null,2)))},null,8,["label"])]),default:c(()=>[t("div",Je,[(l(!0),i(k,null,$(e.value.allMeta,(n,S)=>(l(),i("div",{key:n.name+S,class:"seo-meta-table__row"},[r(z,{color:n.type==="property"?"primary":n.type==="name"?"neutral":"warning",variant:"subtle",size:"xs"},{default:c(()=>[b(a(n.type),1)]),_:2},1032,["color"]),t("span",qe,a(n.name),1),t("span",Ke,a(n.content),1)]))),128))])]),_:1})],64)):(l(),h(q,{key:3,icon:"carbon:plug",title:"Waiting for connection",description:"Waiting for connection to host app..."}))])}}}),st=le(Qe,[["__scopeId","data-v-270956ec"]]);export{st as default};
@@ -1 +1 @@
1
- {"id":"11006eff-a1bc-458a-a47e-9a4d5b982f1b","timestamp":1776873041951}
1
+ {"id":"21c3fe25-8926-44ca-9d37-f478243d148a","timestamp":1780939263157}
@@ -0,0 +1 @@
1
+ {"id":"21c3fe25-8926-44ca-9d37-f478243d148a","timestamp":1780939263157,"prerendered":[]}
@@ -0,0 +1 @@
1
+ .devtools-snippet[data-v-eb4eeaac]{margin:.5rem .75rem}.devtools-snippet-header[data-v-eb4eeaac]{align-items:center;display:flex;justify-content:space-between;margin-bottom:.375rem}.devtools-snippet-label[data-v-eb4eeaac]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:-.01em}.devtools-snippet-block[data-v-eb4eeaac]{border-radius:var(--radius-sm);font-size:.6875rem;line-height:1.6;max-height:300px;overflow-y:auto;padding:.5rem .625rem!important}.devtools-kv-row[data-v-b4c972e8]{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:.625rem 1.25rem;transition:background-color .15s ease}.devtools-kv-row.devtools-kv-stacked[data-v-b4c972e8]{align-items:flex-start;flex-direction:column;gap:.375rem}.devtools-kv-row[data-v-b4c972e8]:hover{background:var(--color-surface-sunken)}.devtools-kv-striped[data-v-b4c972e8]:nth-child(2n){background:oklch(from var(--color-surface-sunken) l c h/.5)}.devtools-kv-key[data-v-b4c972e8]{color:var(--color-text-muted);flex-shrink:0;font-family:var(--font-mono);font-size:.8125rem}.devtools-kv-value-wrap[data-v-b4c972e8]{align-items:center;display:flex;gap:.5rem;min-width:0}.devtools-kv-value-wrap-full[data-v-b4c972e8]{width:100%}.devtools-kv-value[data-v-b4c972e8]{font-size:.8125rem;overflow-wrap:break-word;text-align:right;word-break:break-all}.devtools-kv-snippet[data-v-b4c972e8]{margin:0!important;width:100%}.devtools-kv-true[data-v-b4c972e8]{color:var(--seo-green)}.devtools-kv-false[data-v-b4c972e8]{color:#dc655f}.devtools-kv-empty[data-v-b4c972e8]{color:var(--color-text-subtle);font-style:italic}