1import{_ as De}from"./BvWtaWD2.js";import{N as Ce}from"./Dd_lGV5x.js";import{d as I,u as V,v as T,l as B,w as h,j as k,o as p,a as s,b as _,e as $,t as y,m as X,h as i,aW as de,i as A,k as R,x as ue,V as J,B as O,c as b,F as S,K as N,n as P,aa as pe,L as U,O as M,a6 as Y,aX as $e,$ as Se,y as xe,E as Le}from"./CYMs3uwY.js";import{_ as Ie,m as Ae}from"./Br7bjDgU.js";import{i as me}from"./ClPwX7rX.js";import{u as Re}from"./B-AyXbLo.js";import"./CFprKcbD.js";const Be={class:"toolbar-inner"},Ne={class:"toolbar-actions"},Me=I({__name:"index",props:{price:{},listedDate:{},duration:{},durationOptions:{},exportDisabled:{type:Boolean}},emits:["update:duration","export"],setup(C,{emit:m}){const d=C,a=m,{t:l}=V(),t=T({get:()=>d.duration,set:n=>a("update:duration",n)}),u=n=>n||"--",g=n=>{if(!n)return"--";const o=de(Number(n));return o.isValid()?o.format("YYYY/MM"):n};return(n,o)=>{const e=k("i18n-t"),r=k("DynaSelect"),v=k("DynaButton"),D=k("DynaPanel");return p(),B(D,{"top-visible":!1,class:"traffic-detail-toolbar"},{default:h(()=>[s("div",Be,[_(e,{keypath:"{price} · Listed since {date}",tag:"strong"},{price:h(()=>[$(y(u(n.price)),1)]),date:h(()=>[$(y(g(n.listedDate)),1)]),_:1}),s("div",Ne,[_(r,{modelValue:i(t),"onUpdate:modelValue":o[0]||(o[0]=w=>X(t)?t.value=w:null),options:n.durationOptions,class:"duration-select"},null,8,["modelValue","options"]),_(v,{class:"export-button",disabled:n.exportDisabled,onClick:o[1]||(o[1]=w=>a("export"))},{default:h(()=>[o[2]||(o[2]=s("i",{class:"fa-regular fa-download"},null,-1)),$(" "+y(i(l)("Export CSV")),1)]),_:1},8,["disabled"])])])]),_:1})}}}),Ve=A(Me,[["__scopeId","data-v-35646ba6"]]),ze={class:"daily-chart"},Ue={key:0,class:"daily-chart-skeleton-overlay"},Oe={class:"daily-chart-skeleton-body"},Pe={class:"daily-chart-skeleton-grid"},Ee=I({__name:"index",props:{points:{},metricTitle:{},loading:{type:Boolean}},setup(C){const m=C,d=R(null);let a=null,l=null;const t=o=>o??0,u=T(()=>{const o=m.points.map(r=>{const v=de(r.date);return v.isValid()?v.format("MMM D"):r.date}),e=m.points.map(r=>t(r.value));return{animation:!0,color:["#32ccd1"],grid:{left:"42px",right:"22px",top:"34px",bottom:"44px"},tooltip:{trigger:"axis",backgroundColor:"#061848",borderColor:"#061848",textStyle:{color:"#fff"},valueFormatter:r=>new Intl.NumberFormat("en-US").format(Number(r||0))},xAxis:{type:"category",boundaryGap:!1,data:o,axisTick:{show:!1},axisLine:{lineStyle:{color:"#000"}},axisLabel:{color:"#061848",fontSize:12,fontWeight:400,interval:Math.max(0,Math.ceil(o.length/5)-1)}},yAxis:{type:"value",minInterval:1,axisLabel:{color:"#061848",fontSize:14,fontWeight:400},splitLine:{lineStyle:{color:"rgba(6, 24, 72, 0.15)"}}},series:[{name:m.metricTitle,type:"line",data:e,smooth:!0,symbol:"circle",symbolSize:0,lineStyle:{width:3,color:"#33D7DC"}}]}}),g=()=>{d.value&&(a||(a=me(d.value)),a.setOption(u.value,!0))},n=()=>{a==null||a.resize()};return ue(()=>{g(),d.value&&(l=new ResizeObserver(n),l.observe(d.value)),window.addEventListener("resize",n)}),J(()=>{l==null||l.disconnect(),l=null,a==null||a.dispose(),a=null,window.removeEventListener("resize",n)}),O(()=>[m.points,m.metricTitle],()=>{pe(g)},{deep:!0}),(o,e)=>{const r=k("DynaSkeletonItem"),v=k("DynaSkeleton");return p(),b("div",ze,[s("div",{ref_key:"chartRef",ref:d,class:"daily-chart-canvas"},null,512),o.loading?(p(),b("div",Ue,[_(v,{loading:!0,class:"daily-chart-skeleton",animated:""},{template:h(()=>[s("div",Oe,[s("div",Pe,[(p(),b(S,null,N(5,D=>_(r,{key:D,variant:"p",class:"daily-chart-skeleton-line"})),64))]),_(r,{variant:"p",class:"daily-chart-skeleton-axis"})])]),_:1})])):P("",!0)])}}}),Fe=A(Ee,[["__scopeId","data-v-73dbadd2"]]),We={class:"source-chart"},qe={key:0,class:"source-chart-skeleton-overlay"},He={class:"source-chart-skeleton-body"},Ke={class:"source-chart-skeleton-plot"},je={class:"source-chart-skeleton-legend"},Ge=I({__name:"index",props:{sources:{},loading:{type:Boolean}},setup(C){const m=C,d=R(null);let a=null;const l=["#238f9d","#34cdd4","#85e6a7","#ffb052","#8895ad"],t=["40%","70%"],u=["50%","47%"],g=T(()=>({color:l,tooltip:{trigger:"item",backgroundColor:"#061848",borderColor:"#061848",textStyle:{color:"#fff"},formatter:e=>Array.isArray(e)?"":`${e.name}: ${e.percent}%`},legend:{orient:"horizontal",left:0,right:0,bottom:0,icon:"circle",itemWidth:9,itemHeight:9,itemGap:10,textStyle:{color:"#54555A",fontSize:10,fontWeight:400}}
1,series:[{type:"pie",radius:t,center:u,avoidLabelOverlap:!0,label:{show:!0,alignTo:"labelLine",edgeDistance:10,minMargin:6,color:"#061848",fontSize:12,lineHeight:15,formatter:`{d}% 2{b}`},labelLine:{show:!0,length:10,length2:40,maxSurfaceAngle:80},left:0,right:0,top:0,bottom:56,data:m.sources.map(e=>{const r=e.value??e.percentage??0,v=Number(r)>0;return{name:e.type||"--",value:r,label:{show:v},labelLine:{show:v}}})}]})),n=()=>{d.value&&(a||(a=me(d.value)),a.setOption(g.value,!0))},o=()=>{a==null||a.resize()};return ue(()=>{n(),window.addEventListener("resize",o)}),J(()=>{a==null||a.dispose(),a=null,window.removeEventListener("resize",o)}),O(()=>m.sources,()=>{pe(n)},{deep:!0}),(e,r)=>{const v=k("DynaSkeletonItem"),D=k("DynaSkeleton");return p(),b("div",We,[s("div",{ref_key:"chartRef",ref:d,class:"source-chart-canvas"},null,512),e.loading?(p(),b("div",qe,[_(D,{loading:!0,class:"source-chart-skeleton",animated:""},{template:h(()=>[s("div",He,[s("div",Ke,[_(v,{variant:"circle",class:"source-chart-skeleton-ring"})]),s("div",je,[(p(),b(S,null,N(5,w=>_(v,{key:w,variant:"text",class:"source-chart-skeleton-legend-item"})),64))])])]),_:1})])):P("",!0)])}}}),Ye=A(Ge,[["__scopeId","data-v-c53143b8"]]),Xe={class:"analytics-grid"},Je={class:"panel-inner"},Qe={class:"panel-heading"},Ze={class:"metric-tabs"},et=["onClick"],tt={class:"panel-inner"},nt=I({__name:"index",props:{points:{},sources:{},duration:{},metric:{},metricTitle:{},metricTabs:{},dailyLoading:{type:Boolean},sourceLoading:{type:Boolean}},emits:["update:metric"],setup(C,{emit:m}){const d=C,a=m,{t:l}=V(),t=T({get:()=>d.metric,set:n=>a("update:metric",n)}),u={today:l("Today"),last_7d:l("Last 7 days"),last_14d:l("Last 14 days"),last_30d:l("Last 30 days"),last_90d:l("Last 90 days")},g=T(()=>u[d.duration]);return(n,o)=>{const e=k("i18n-t"),r=Fe,v=k("DynaPanel"),D=Ye;return p(),b("div",Xe,[_(v,{"top-visible":!1,class:"chart-panel panel"},{default:h(()=>[s("div",Je,[s("div",Qe,[_(e,{keypath:"Daily {metric} - {duration}",tag:"h2"},{metric:h(()=>[$(y(n.metricTitle),1)]),duration:h(()=>[$(y(i(g)),1)]),_:1}),s("div",Ze,[(p(!0),b(S,null,N(n.metricTabs,w=>(p(),b("button",{key:w.value,type:"button",class:U({active:i(t)===w.value}),onClick:z=>t.value=w.value},y(w.label),11,et))),128))])]),_(r,{points:n.points,"metric-title":n.metricTitle,loading:n.dailyLoading},null,8,["points","metric-title","loading"])])]),_:1}),_(v,{"top-visible":!1,class:"source-panel panel"},{default:h(()=>[s("div",tt,[s("h2",null,y(i(l)("Traffic Sources")),1),_(D,{sources:n.sources,loading:n.sourceLoading},null,8,["sources","loading"])])]),_:1})])}}}),st=A(nt,[["__scopeId","data-v-fee00744"]]),ot={class:"data-table skeleton-data-table"},at=I({__name:"index",props:{title:{},rows:{},rowKey:{},tableClass:{default:""},gridTemplateColumns:{},minHeight:{default:"400px"},footerAlign:{default:"start"},barTrackBackground:{default:"#f0f2f4"},loading:{type:Boolean,default:!1},skeletonRows:{default:5},skeletonColumns:{default:3}},setup(C){$e(t=>({"44cdf88c":t.barTrackBackground}));const m=["#238f9d","#34cdd4","#85e6a7","#ffb052","#8895ad"],d=t=>t==null?"-":new Intl.NumberFormat("en-US").format(t),a=t=>{if(t==null)return"-";const u=t;return`${Number.isInteger(u)?u:u.toFixed(1)}%`},l=t=>m[t%m.length];return(t,u)=>{const g=k("DynaSkeletonItem"),n=k("DynaSkeleton"),o=k("DynaPanel");return p(),B(o,{"top-visible":!1,class:"table-panel"},{default:h(()=>[s("div",{class:"panel-inner table-panel-inner",style:M({minHeight:t.minHeight})},[s("h2",null,y(t.title),1),_(n,{loading:t.loading,class:"table-skeleton",animated:""},{template:h(()=>[s("div",ot,[s("div",{class:"table-row table-head skeleton-row",style:M({gridTemplateColumns:t.gridTemplateColumns})},[(p(!0),b(S,null,N(t.skeletonColumns,e=>(p(),B(g,{key:e,variant:"text",class:"skeleton-cell"}))),128))],4),(p(!0),b(S,null,N(t.skeletonRows,e=>(p(),b("div",{key:e,class:"table-row skeleton-row",style:M({gridTemplateColumns:t.gridTemplateColumns})},[(p(!0),b(S,null,N(t.skeletonColumns,r=>(p(),B(g,{key:r,variant:"text",class:U(["skeleton-cell",{"is-wide":r===1,"is-short":r===t.skeletonColumns}])},null,8,["class"]))),128))],4))),128))])]),default:h(()=>[s("div",{class:U(["data-table",t.tableClass])},[s("div",{class:"table-row table-head",style:M({gridTemplateColumns:t.gridTemplateColumns})},[Y(t.$slots,"head",{formatNumber:d,formatPercent:a})],4),(p(!0),b(S,null,N(t.rows,(e,r)=>(p(),b("div",{key:t.rowKey(e,r),class:"table-row",style:M({"--row-color":l(r),gridTemplateColumns:t.gridTemplateColumns})},[Y(t.$slots,"row",{row:e,index:r,rowColor:l,formatNumber:d,formatPercent:a})],4))),128))],2)]),_:3},8,["loading"]),t.loading?(p(),b("footer",{key:1,class:U(`is-${t.footerAlign}`)},[_(g,{variant:"text",class:"footer-skeleton-primary"}),t.footerAlign==="between"?(p(),B(g,{key:0,variant:"text",class:"footer-skeleton-secondary"})):P("",!0)],2)):(p(),b("footer",{key:0,class:U(`is-${t.footerAlign}`)},[Y(t.$slots,"footer",{formatNumber:d,formatPercent:a})],2))],4)]),_:3})}}}
2),_e=A(at,[["__scopeId","data-v-69559367"]]),lt={class:"bar-cell country-bar-cell"},it={class:"bar-track"},rt={class:"footer-primary"},ct="minmax(180px, 1fr) minmax(190px, 0.9fr) 70px",dt=I({__name:"index",props:{rows:{},totalUniqueIps:{},totalCountries:{},loading:{type:Boolean}},setup(C){const{t:m}=V(),d=(l,t)=>l.country_code||l.country_name||t,a=l=>l==null?"0%":`${Number.isInteger(l)?l:l.toFixed(1)}%`;return(l,t)=>{const u=k("i18n-t"),g=_e;return p(),B(g,{title:i(m)("Visitors by Country"),rows:l.rows,"row-key":d,"grid-template-columns":ct,"table-class":"country-table","footer-align":"between","bar-track-background":"#f5f5f5",loading:l.loading},{head:h(()=>[s("span",null,y(i(m)("Country")),1),s("span",null,y(i(m)("Visitors")),1),t[0]||(t[0]=s("span",null,"%",-1))]),row:h(({row:n,formatNumber:o,formatPercent:e})=>[s("strong",null,y(n.country_name||n.country_code||"--"),1),s("span",lt,[s("span",it,[s("i",{style:M({width:a(n.percentage)})},null,4)]),$(" "+y(o(n.visitors)),1)]),s("strong",null,y(e(n.percentage)),1)]),footer:h(({formatNumber:n})=>[s("div",rt,[_(u,{keypath:"Total Unique IPs: {count}",tag:"strong"},{count:h(()=>[$(y(n(l.totalUniqueIps)),1)]),_:2},1024)]),_(u,{keypath:"{count} countries",tag:"span"},{count:h(()=>[$(y(n(l.totalCountries)),1)]),_:2},1024)]),_:1},8,["title","rows","loading"])}}}),ut=A(dt,[["__scopeId","data-v-132b0ffa"]]),pt={class:"site-cell"},mt={key:0},_t={class:"source-chip"},ft={class:"bar-cell"},yt={class:"bar-track"},gt="minmax(120px, 1fr) minmax(86px, 0.58fr) 56px minmax(112px, 0.92fr)",vt=I({__name:"index",props:{rows:{},totalVisits:{},loading:{type:Boolean}},setup(C){const{t:m}=V(),d=(u,g)=>u.site_name||g,a=u=>{const g=(u||"").trim();return g?g.replace(/^others?/i,"Other sites"):"--"},l=u=>(u||"").trim(),t=u=>u==null?"0%":`${Number.isInteger(u)?u:u.toFixed(1)}%`;return(u,g)=>{const n=k("i18n-t"),o=_e;return p(),B(o,{title:i(m)("Top Referral Sources"),rows:u.rows,"row-key":d,"grid-template-columns":gt,"table-class":"referral-table",loading:u.loading,"skeleton-columns":4},{head:h(()=>[s("span",null,y(i(m)("Referring Site")),1),s("span",null,y(i(m)("Type")),1),s("span",null,y(i(m)("Visits")),1),s("span",null,y(i(m)("% of Links")),1)]),row:h(({row:e,formatNumber:r,formatPercent:v})=>[s("div",pt,[s("strong",null,y(a(e.site_name)),1),l(e.site_referral_source)?(p(),b("span",mt,y(l(e.site_referral_source)),1)):P("",!0)]),s("span",_t,y(e.type||"--"),1),s("strong",null,y(r(e.visits)),1),s("span",ft,[s("span",yt,[s("i",{style:M({width:t(e.percentage)})},null,4)]),$(" "+y(v(e.percentage)),1)])]),footer:h(({formatNumber:e})=>[_(n,{keypath:"Total From Links: {count} visits",tag:"strong"},{count:h(()=>[$(y(e(u.totalVisits)),1)]),_:2},1024)]),_:1},8,["title","rows","loading"])}}}),ht=A(vt,[["__scopeId","data-v-af0befee"]]),bt={class:"insights-panel-inner"},kt={class:"insights-skeleton-lines"},wt={key:0},Tt={key:0},Dt=I({__name:"index",props:{insights:{},loading:{type:Boolean}},setup(C){const m=C,{t:d}=V(),a=R(0);let l=null;const t=T(()=>{var o,e;return((e=(o=m.insights)==null?void 0:o.message)==null?void 0:e.trim())||""}),u=T(()=>{const o=t.value.slice(0,a.value);return o?o.split(/(\*\*[^*]+\*\*)/g).map(e=>{const r=e.startsWith("**")&&e.endsWith("**");return{text:r?e.slice(2,-2):e,bold:r}}).filter(e=>e.text):[]}),g=()=>{l&&(window.clearTimeout(l),l=null)},n=()=>{g(),a.value=0;const o=()=>{if(a.value>=t.value.length){l=null;return}a.value+=1,l=window.setTimeout(o,18)};o()};return O(t,o=>{if(!o||m.loading){g(),a.value=0;return}n()},{immediate:!0}),O(()=>m.loading,o=>{if(o){g(),a.value=0;return}t.value&&n()}),J(g),(o,e)=>{const r=k("DynaSkeletonItem"),v=k("DynaSkeleton"),D=k("DynaPanel");return p(),B(D,{"top-visible":!1,class:"insights-panel"},{default:h(()=>[s("div",bt,[s("h2",null,[e[0]||(e[0]=s("i",{class:"fa-light fa-lightbulb-on"},null,-1)),$(" "+y(i(d)("Insights & Recommendations")),1)]),_(v,{loading:o.loading,class:"insights-skeleton",animated:""},{template:h(()=>[s("div",kt,[_(r,{variant:"p",class:"insights-skeleton-line is-full"}),_(r,{variant:"p",class:"insights-skeleton-line is-long"}),_(r,{variant:"p",class:"insights-skeleton-line is-short"})])]),default:h(()=>[i(u).length?(p(),b("p",wt,[(p(!0),b(S,null,N(i(u),(w,z)=>(p(),b(S,{key:`${w.text}-${z}`},[w.bold?(p(),b("strong",Tt,y(w.text),1)):(p(),b(S,{key:1},[$(y(w.text),1)],64))],64))),128))])):P("",!0)]),_:1},8,["loading"])])]),_:1})}}}),Ct=A(Dt,[["__scopeId","data-v-55e690ab"]]),$t={class:"traffic-detail-container"},St={class:"traffic-header"},xt={class:"detail-grid"},Lt=I({__name:"index",setup(C){const m=Se(),{t:d}=V(),a=xe(),l=Le(),{fetchDomainAnalytics:t,exportTrafficAnalyticsCsv:u}=Re(),g=d("Traffic Analytics"),n=R("last_30d"),o=R("visitors"),e=R(null),r=
2R(!1),v=R(!1);let D=0;const w=[{id:"today",name:"today",title:d("Today"),value:"today"},{id:"last_7d",name:"last_7d",title:d("Last 7 days"),value:"last_7d"},{id:"last_14d",name:"last_14d",title:d("Last 14 days"),value:"last_14d"},{id:"last_30d",name:"last_30d",title:d("Last 30 days"),value:"last_30d"},{id:"last_90d",name:"last_90d",title:d("Last 90 days"),value:"last_90d"}],z=[{label:d("Visitors"),value:"visitors"},{label:d("IPs"),value:"ips"},{label:d("Sources"),value:"sources"}],E=T(()=>{const c=m.params.domainName,f=Array.isArray(c)?c[0]||"":c||"";return decodeURIComponent(f)}),F=T(()=>{var c,f;return((f=(c=e.value)==null?void 0:c.meta)==null?void 0:f.domain_name)||E.value}),fe=T(()=>{var c,f;return((f=(c=e.value)==null?void 0:c.daily_chart)==null?void 0:f.current_period)||[]}),ye=T(()=>{var c;return((c=e.value)==null?void 0:c.traffic_sources)||[]}),ge=T(()=>{var c,f;return((f=(c=e.value)==null?void 0:c.visitors_by_country)==null?void 0:f.list)||[]}),ve=T(()=>{var c,f;return((f=(c=e.value)==null?void 0:c.top_referral_sources)==null?void 0:f.list)||[]}),he=T(()=>{var c;return((c=e.value)==null?void 0:c.insights)||null}),be=T(()=>{const c=z.find(f=>f.value===o.value);return(c==null?void 0:c.label)||d("Visitors")}),ke=async c=>{if(!E.value){e.value=null;return}const f=++D;r.value=!0,v.value=c;try{const x=await t({domainName:E.value,duration:n.value,chartMetric:o.value,currency:a.currency});if(!x.data)throw new Error("Traffic domain analytics response data is missing");if(f!==D)return;e.value=Ae(x.data)}catch{if(f!==D)return}finally{f===D&&(r.value=!1,v.value=!1)}};O([E,n,o,()=>a.currency],([c,f,x,L],W)=>{const[q,H,K,j]=W||[];ke(!(W&&x!==K&&c===q&&f===H&&L===j))},{immediate:!0});const we=c=>{const f=new Blob([c],{type:"text/csv;charset=utf-8"}),x=URL.createObjectURL(f),L=document.createElement("a");L.href=x,L.download=`${F.value||"domain"}-traffic-domains.csv`,document.body.appendChild(L),L.click(),document.body.removeChild(L),URL.revokeObjectURL(x)},Te=async()=>{if(!(!e.value||!F.value))try{const c=await u({size:1,current:1,keyword:"",duration:n.value,sortBy:"visitors",sortOrder:"desc",tld:"",currency:a.currency},[F.value]);we(c)}catch(c){l.handleError({message:(c==null?void 0:c.msg)||d("download-failed")})}};return(c,f)=>{var Z,ee,te,ne,se,oe,ae,le,ie,re,ce;const x=De,L=Ce,W=Ve,q=Ie,H=st,K=ut,j=ht,Q=Ct;return p(),b("div",$t,[_(x,{title:i(g)},null,8,["title"]),s("div",St,[s("div",null,[_(L,{to:"/account/traffic-analytics",class:"back-link"},{default:h(()=>[f[2]||(f[2]=s("i",{class:"fa-regular fa-chevron-left"},null,-1)),$(" "+y(i(g)),1)]),_:1}),s("h1",null,y(i(F)||"--"),1)])]),_(W,{duration:i(n),"onUpdate:duration":f[0]||(f[0]=G=>X(n)?n.value=G:null),price:(ee=(Z=i(e))==null?void 0:Z.meta)==null?void 0:ee.price,"listed-date":(ne=(te=i(e))==null?void 0:te.meta)==null?void 0:ne.listed_date,"duration-options":w,"exp
2ort-disabled":!i(e),onExport:Te},null,8,["duration","price","listed-date","export-disabled"]),_(q,{summary:(se=i(e))==null?void 0:se.summary,loading:i(v)},null,8,["summary","loading"]),_(H,{metric:i(o),"onUpdate:metric":f[1]||(f[1]=G=>X(o)?o.value=G:null),points:i(fe),sources:i(ye),duration:i(n),"metric-title":i(be),"metric-tabs":z,"daily-loading":i(r),"source-loading":i(v)},null,8,["metric","points","sources","duration","metric-title","daily-loading","source-loading"]),s("div",xt,[_(K,{rows:i(ge),"total-unique-ips":(ae=(oe=i(e))==null?void 0:oe.visitors_by_country)==null?void 0:ae.total_unique_ips,"total-countries":(ie=(le=i(e))==null?void 0:le.visitors_by_country)==null?void 0:ie.total_countries,loading:i(v)},null,8,["rows","total-unique-ips","total-countries","loading"]),_(j,{rows:i(ve),"total-visits":(ce=(re=i(e))==null?void 0:re.top_referral_sources)==null?void 0:ce.total_visits,loading:i(v)},null,8,["rows","total-visits","loading"])]),_(Q,{insights:i(he),loading:i(v)},null,8,["insights","loading"])])}}}),zt=A(Lt,[["__scopeId","data-v-e23f8de5"]]);export{zt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.