1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Bx3l3A89.js","./7B5jDR3j.js","./Be4KCvjK.js","./entry.CzEZuhbZ.css","./TonalIcon.DWrkw_Gu.css","./CShtwD8B.js","./Cn73Uo4h.js"])))=>i.map(i=>d[i]); 2import{U as pe,M as i,ab as se,o as he,dC as ge,b$ as ye,ba as ie,b as re,a1 as be,i as _e,h as f,f as p,j as b,w as o,k as r,v as ee,H as le,n as m,p as R,q as A,X as ce,t as w,I as W,g as U,F as K,D as te,r as Q,s as x,V as L,L as Y,aE as ae,l as Z,ao as ke,cG as we,c as xe,ar as Ce,A as Ae,N as De,aV as Se,aW as $e}from"./Be4KCvjK.js";import{_ as Ie}from"./DzQMdnUJ.js";import{_ as Le,a as Re}from"./CLO60aDL.js";import{u as de}from"./Dek6Ww68.js";import{u as ue}from"./DZajgkt0.js";import{t as Ne,i as Ve}from"./2_3io80T.js";import{u as Pe}from"./DWNRLYsn.js";import{_ as Ee}from"./Cn73Uo4h.js";import{_ as Me}from"./DxJtiOf_.js";import Te from"./BUR59gGg.js";import{u as Oe}from"./ByDMY4FJ.js";import"./DvQu0rPC.js";import"./ZLeBMBwv.js";import"./DLXvuolu.js";import"./DY6hnFug.js";import"./DZNbaBta.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new n.Error().stack;a&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[a]="7dd60cca-10d4-4ba5-83e1-7188fd6bc507",n._sentryDebugIdIdentifier="sentry-dbid-7dd60cca-10d4-4ba5-83e1-7188fd6bc507")}catch{}})();const ze=Ve?window:void 0;function oe(n){var a;const l=se(n);return(a=l?.$el)!==null&&a!==void 0?a:l}function qe(){const n=ye(!1),a=ge();return a&&he(()=>{n.value=!0},a),n}function Be(n){const a=qe();return i(()=>(a.value,!!n()))}function Fe(n,a,l={}){const{window:h=ze,...D}=l;let c;const _=Be(()=>h&&"ResizeObserver"in h),u=()=>{c&&(c.disconnect(),c=void 0)},y=pe(i(()=>{const C=se(n);return Array.isArray(C)?C.map(I=>oe(I)):[oe(C)]}),C=>{if(u(),_.value&&h){c=new ResizeObserver(a);for(const I of C)I&&c.observe(I,D)}},{immediate:!0,flush:"post"}),S=()=>{u(),y()};return Ne(S),{isSupported:_,stop:S}}const je={class:"d-flex align-center ga-2"},He={class:"d-flex align-center ga-4 px-4 py-3"},Ue={class:"flex-grow-1"},Ge={class:"text-subtitle-2"},We={class:"text-caption text-medium-emphasis"},Ke={class:"text-decoration-underline"},Qe={class:"text-decoration-underline"},Xe=ie({__name:"DomainRequiredActions",props:{domain:{type:Object,required:!0},onNavClick:{type:Function,required:!0}},emits:["updated"],setup(n,{emit:a}){const l=n,h=a,{$apiFetch:D}=re(),{formatDateShort:c}=de(),{hasPermission:_}=be(),u=_e("showSnackbar"),y=Y(null),S=i(()=>l.domain?.donotrenew===!1),C=i(()=>l.domain?.grace_period??0),I=i(()=>!l.domain?.expirydate||l.domain.expirydate==="0000-00-00"?"an unknown date":c(l.domain.expirydate)),P=async()=>{if(!l.domain?.id)return;const s=await D(`/api/domains/${l.domain.id}/settings`,{method:"POST",body:{setting:"donotrenew",value:!1}});if(s.result==="success")u?.("Auto-renewal enabled successfully","success"),h("updated",{donotrenew:!1});else throw new Error(s.message||"Failed to enable auto-renewal")},$=i(()=>l.domain),{isLocked:N,isLockFeatureSupported:E,toggleLock:q}=ue($),B=async()=>{if(!E.value)return;const s=await q();if(s.success){h("updated",{lock_status:"locked"});return}if("requires2FA"in s&&s.requires2FA){u?.("2FA is required to enable Domain Lock. Continue in Transfer Domain.","warning"),l.onNavClick({value:"transfer-domain"});return}throw new Error("error"in s?s.error:"Failed to enable domain lock")},V=i(()=>l.domain?.available_features?.idprotection?.enabled===!0),z=i(()=>l.domain?.idprotection===!0),F=i(()=>l.domain?.available_features?.idprotection?.title||"ID Protection"),M=i(()=>l.domain?.available_features?.idprotection?.description||"Protect your personal information"),T=i(()=>{const s=[];if(!S.value){const g=C.value>0?` After ${C.value} days redemption fees apply.`:"";s.push({key:"auto-renew",icon:"$autoRenewIcon",title:"Turn on auto-renewal",description:`Domain will expire ${I.value} unless renewed.${g}`,ctaLabel:"Enable auto-renew",permissions:["managedomains","orders"],isApiCall:!0,action:P})}return V.value&&!z.value&&s.push({key:"id-protection",icon:"$shieldIcon",title:`Get ${F.value||"Domain Protection"}`,description:M.value,ctaLabel:"Get protection",permissions:["managedomains","orders"],action:()=>l.onNavClick({value:"addons",order:"idprotection"})}),E.value&&!N.value&&s.push({key:"lock",icon:"$unlockIcon",title:"Enable Domain Lock",description:"Recommended â prevents unauthorized transfers.",ctaLabel:"Enable lock",permissions:["managedomains"],isApiCall:!0,action:B}),s}),k=s=>s.showCta===!1?!1:s.permissions?.length?s.permissions.every(g=>_(g)):!0,j=async s=>{if(!s.isApiCall){s.action();return}y.value=s.key;try{await s.action()}catch(g){console.error(`Domain action "${s.key}" failed:`,g),u?.(g?.data?.statusMessage||g?.message||"Action failed","error")}finally{y.value=null}};return(s,g)=>f(T).length>0?(p(),b(L,{key:0,cols:"12",class:"mb-4"},{default:o(()=>[r(ee,{style:{"border-color":"rgba(var(--v-theme-warning), 0.5) !important"}},{default:o(()=>[r(le,{style:{"background-color":"rgba(var(--v-theme-warning), 0.1)"}},{default:o(()=>[m("div",je,[r(R,{size:"28",color:"warning"},{default:o(()=>[...g[0]||(g[0]=[A(" $warningIcon ",-1)])]),_:1}),g[1]||(g[1]=m("span",{class:"font-weight-medium text-body-1 text-md-h6 text-warning"},"Action needed",-1)),r(ce,{size:"x-small",color:"warning",variant:"flat",label:""},{default:o(()=>[A(w(f(T).length),1)]),_:1})])]),_:1}),r(W,{style:{"border-color":"rgba(var(--v-theme-warning), 0.3) !important"}}),(p(!0),U(K,null,te(f(T),(v,X)=>(p(),U(K,{key:v.key},[m("div",He,[r(R,{size:"26",color:"warning",class:"flex-shrink-0 align-self-start align-self-md-center mt-1 mt-md-0"},{default:o(()=>[A(w(v.icon),1)]),_:2}
2,1024),m("div",Ue,[m("div",Ge,w(v.title),1),m("div",We,w(v.description),1),k(v)?(p(),b(Q,{key:0,variant:"plain",block:"",color:"blackAccent",class:"d-flex d-md-none text-subtitle-2 font-weight-medium opacity-100 justify-start px-0",loading:f(y)===v.key,disabled:f(y)!==null,onClick:G=>j(v)},{default:o(()=>[m("span",Ke,w(v.ctaLabel),1),r(R,{size:"20"},{default:o(()=>[...g[2]||(g[2]=[A("$chevronRightIcon",-1)])]),_:1})]),_:2},1032,["loading","disabled","onClick"])):x("",!0)]),k(v)?(p(),b(Q,{key:0,variant:"text",color:"blackAccent",class:"d-none d-md-flex flex-shrink-0 flex-shrink-0 text-subtitle-2 font-weight-medium opacity-100",loading:f(y)===v.key,disabled:f(y)!==null,onClick:G=>j(v)},{default:o(()=>[m("span",Qe,w(v.ctaLabel),1),r(R,{size:"20"},{default:o(()=>[...g[3]||(g[3]=[A("$chevronRightIcon",-1)])]),_:1})]),_:2},1032,["loading","disabled","onClick"])):x("",!0)]),X<f(T).length-1?(p(),b(W,{key:0,class:"mx-4",style:{"border-color":"rgba(var(--v-theme-warning), 0.2) !important"}})):x("",!0)],64))),128))]),_:1})]),_:1})):x("",!0)}}),Je=Object.assign(Xe,{__name:"DomainRequiredActions"}),Ye={class:"d-flex align-center ga-2"},Ze={class:"d-flex flex-wrap align-start justify-space-between pa-4 pb-1"},et={class:"d-flex align-start ga-3 flex-grow-1 min-width-0"},tt={class:"min-width-0"},nt={class:"text-caption text-medium-emphasis"},at={class:"text-h6 font-weight-bold"},ot=["title"],st=ie({__name:"DomainHealthStatus",props:{domain:{type:Object,required:!0},onNavClick:{type:Function,required:!0}},setup(n){const a=n,{$apiFetch:l}=re(),{formatDateShort:h}=de(),D=i(()=>String(a.domain?.domain||"").trim()),{data:c,pending:_}=ae(()=>`domain-ssl-status-${D.value}`,async()=>D.value?await l("/api/domains/ssl-status",{method:"GET",query:{domain:D.value}}):null,{watch:[D],default:()=>null,server:!1}),u=i(()=>{const t=c.value;return t?.result==="success"&&t?.data?t.data:null}),y=i(()=>Number(a.domain?.id||0)),S=i(()=>a.domain?.available_features?.dnssec===!0),{data:C,pending:I}=ae(()=>`domain-dnssec-health-${y.value}`,async()=>!y.value||!S.value?null:await l(`/api/domains/${y.value}/dnssec`,{method:"GET"}),{watch:[y,S],default:()=>null,server:!1}),P=i(()=>{if(C.value?.result!=="success")return!1;const t=C.value?.data;return((Array.isArray(t?.records)?t.records:null)??(Array.isArray(t?.dnssec?.vars?.DSRecordslist)?t.dnssec.vars.DSRecordslist:[])).length>0}),$=i(()=>(a.domain?.domain_nameservers||[]).filter(t=>t?.trim())),N=i(()=>(a.domain?.default_nameservers||[]).filter(t=>t?.trim())),{hasAnyNameservers:E,statusLabel:q}=Pe($,N),B=i(()=>a.domain),{isLocked:V,isLockFeatureSupported:z}=ue(B),F=i(()=>a.domain?.available_features?.idprotection?.enabled===!0),M=i(()=>a.domain?.idprotection===!0),T=i(()=>a.domain?.available_features?.idprotection?.title||"ID Protection"),k=i(()=>a.domain?.available_features?.idprotection?.description||"Protect your personal information"),j=i(()=>a.domain?.donotrenew===!1),s={healthy:"success",warning:"warning",unhealthy:"error",loading:"grey-lighten-1"},g=()=>{if(!u.value?.has_ssl)return"No SSL certificate detected";const t=[];return u.value.ssl_issuer_name&&t.push(u.value.ssl_issuer_name),u.value.ssl_expiry_date&&u.value.ssl_expiry_date!=="0000-00-00"&&t.push(`expires ${h(u.value.ssl_expiry_date)}`),t.join(" · ")||"Active"},v=i(()=>{const t=[];if(j.value){const e="healthy";t.push({key:"auto-renew",icon:"$autoRenewIcon",category:"Auto-renew",statusLabel:"Enabled",detail:"Renews automatically before expiry",health:e,color:s[e],navValue:"auto-renew"})}if(_.value)t.push({key:"ssl",icon:"$lockIcon",category:"SSL Certificate",statusLabel:"Checking...",detail:"Verifying SSL status",health:"loading",color:s.loading});else{const e=!!u.value?.has_ssl,d=!!u.value?.is_expiring_soon,O=e?d?"warning":"healthy":"unhealthy";t.push({key:"ssl",icon:e?"$lockIcon":"$unlockIcon",category:"SSL Certificate",statusLabel:e?d?"Expiring soon":"Active":"Not secured",detail:g(),health:O,color:s[O]})}{const e=E.value?"healthy":"unhealthy";t.push({key:"nameservers",icon:"$hostIcon",category:"Nameservers",statusLabel:q.value,detail:E.value?$.value.join(" · "):"No nameservers configured",health:e,color:s[e],navValue:"manage-nameservers"})}if(z.value){const e=V.value?"healthy":"unhealthy";t.push({key:"lock",icon:V.value?"$lockIcon":"$unlockIcon",category:"Domain Lock",statusLabel:V.value?"Locked":"Unlocked",detail
2:V.value?"Transfers blocked until disabled":"Domain can be transferred â lock recommended",health:e,color:s[e],navValue:"transfer-domain"})}if(F.value){const e=M.value?"healthy":"unhealthy";t.push({key:"id-protection",icon:"$shieldIcon",category:T.value,statusLabel:M.value?"Active":"Inactive",detail:M.value?"Covered through this term":k.value,health:e,color:s[e],navValue:"addons"})}if(S.value)if(I.value)t.push({key:"dnssec",icon:"$dnsIcon",category:"DNSSEC",statusLabel:"Checking...",detail:"Verifying DS records",health:"loading",color:s.loading,navValue:"dnssec"});else{const e=P.value?"healthy":"unhealthy";t.push({key:"dnssec",icon:"$dnsIcon",category:"DNSSEC",statusLabel:P.value?"Active":"Not configured",detail:P.value?"DS records published":"No DS records found",health:e,color:s[e],navValue:"dnssec"})}return t.filter(e=>e.health==="healthy"||e.health==="warning")}),X=i(()=>v.value.filter(t=>t.health==="healthy").length),G=Y(null),ne=Y(960);Fe(G,t=>{const e=t[0]?.contentRect.width;typeof e=="number"&&(ne.value=e)});const H=i(()=>{const t=v.value.length;if(t<=1)return 1;const e=ne.value,d=e>=960?3:e>=520?2:1;return Math.min(t,d)}),me=i(()=>12/H.value),fe=t=>{const e=v.value.length,d=H.value,O=Math.floor(t/d),J=Math.floor((e-1)/d),ve=(t+1)%d===0;return{"border-b-thin":d>1&&O<J,"border-e-thin":d>1&&!ve}};return(t,e)=>f(v).length>0?(p(),b(L,{key:0,cols:"12",class:"mb-4"},{default:o(()=>[r(ee,{ref_key:"cardRef",ref:G,variant:"outlined",class:"rounded-lg overflow-hidden"},{default:o(()=>[r(le,null,{default:o(()=>[m("div",Ye,[r(R,{size:"28",color:"success"},{default:o(()=>[...e[0]||(e[0]=[A(" $checkIcon ",-1)])]),_:1}),e[1]||(e[1]=m("span",{class:"font-weight-medium text-body-1 text-md-h6 text-success"},"Healthy",-1)),r(ce,{size:"x-small",color:"success",variant:"flat",label:""},{default:o(()=>[A(w(f(X)),1)]),_:1})])]),_:1}),r(W),r(Z,{"no-gutters":""},{default:o(()=>[(p(!0),U(K,null,te(f(v),(d,O)=>(p(),b(L,{key:d.key,cols:f(me),class:ke(fe(O))},{default:o(()=>[m("div",Ze,[m("div",et,[r(R,{size:"28",color:d.color,class:"flex-shrink-0 align-self-start align-self-md-center"},{default:o(()=>[A(w(d.icon),1)]),_:2},1032,["color"]),m("div",tt,[m("div",nt,w(d.category),1),m("div",at,w(d.statusLabel),1)])]),d.navValue&&f(H)>1?(p(),b(Q,{key:0,variant:"text",color:"blackAccent",class:"flex-shrink-0 text-subtitle-2 font-weight-medium opacity-100",onClick:J=>a.onNavClick({value:d.navValue})},{default:o(()=>[e[3]||(e[3]=m("span",{class:"text-decoration-underline"},"Manage",-1)),r(R,{size:"20"},{default:o(()=>[...e[2]||(e[2]=[A("$chevronRightIcon",-1)])]),_:1})]),_:1},8,["onClick"])):x("",!0)]),m("div",{class:"text-caption text-medium-emphasis text-break px-4 pb-4",title:d.detail},[A(w(d.detail)+" ",1),d.navValue&&f(H)===1?(p(),b(Q,{key:0,variant:"plain",block:"",color:"blackAccent",class:"text-subtitle-2 font-weight-medium opacity-100 justify-start px-0 mt-1",onClick:J=>a.onNavClick({value:d.navValue})},{default:o(()=>[e[5]||(e[5]=m("span",{class:"text-decoration-underline"},"Manage",-1)),r(R,{size:"20"},{default:o(()=>[...e[4]||(e[4]=[A("$chevronRightIcon",-1)])]),_:1})]),_:1},8,["onClick"])):x("",!0)],8,ot),f(H)===1&&O<f(v).length-1?(p(),b(W,{key:0})):x("",!0)]),_:2},1032,["cols","class"]))),128))]),_:1})]),_:1},512)]),_:1})):x("",!0)}}),it=Object.assign(st,{__name:"DomainHealthStatus"}),rt=()=>{const n=we(),a=i(()=>{const c=n.current.value.colors;return[c.primary,c["primary-dark"],c.secondary,c["secondary-light"],c.success,c.error,c.primary,c["primary-dark"],c.secondary]}),l=c=>{const _=a.value,u=Math.abs(c)%_.length;return _[u]||"#000000"};return{getAccentColor:l,getAccentColors:c=>Array.from({length:c},(_,u)=>l(u)),getRandomAccentColor:()=>{const c=a.value,_=Math.floor(Math.random()*c.length);return c[_]||"#000000"},accentPalette:a,paletteSize:i(()=>a.value.length)}},lt={class:"text-subtitle-2 font-weight-medium"},At={__name:"DomainOverviewSection",props:{domain:{type:Object,required:!0},canManageDomain:{type:Boolean,required:!0},onNavClick:{type:Function,required:!0},activeSection:{type:String,required:!0}},emits:["updated"],setup(n,{emit:a}){const l=Se(()=>$e(()=>import("./Bx3l3A89.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url)),h=n,D=a,{smAndDown:c}=xe(),{getAccentColor:_}=rt(),{manage_dns_router:u}=Oe(),y=Ce(),S=i(()=>y.isRedirectorEnabled&&h.domain?.status==="Active"&&h.domain?.has_redirect!==null&&h.canManageDomain),C=[{id:"ssl-cert",name:"SSL Certificate",description:"Secure your website with industry-standard encryption. Build trust with your visitors.",price:49.99,billingCycle:"year"},{id:"email-hosting",name:"Professional Email",description:"Get branded email addresses for your domain. Look professional with custom @yourdomain.",price:4.99,billingCycle:"month"},{id:"privacy-protection",name:"WHOIS Privacy",description:"Keep your personal details private. Protect against spam and identity theft.",price:9.99,billingCycle:"year"}],I=$=>{},P=i(()=>{const $=[{key:"dns",icon:"$dnsIcon",label:"Manage DNS Records",value:"manage-dns",disabled:!1,onClick:()=>{u({...h.domain,domain_id:h.domain?.id})}}];return S.value&&$.push({key:"redirect",icon:"$linkIcon",label:"Manage Redirect",value:"manage-redirect",disabled:!1,onClick:()=>{De(`/domains/redirects/${h.domain?.id}`)}}),$.push({key:"nameservers",icon:"$hostIcon",label:"Manage Nameservers",value:"manage-nameservers",disabled:!1,onClick:()=>{h.onNavClick({value:"manage-nameservers"})}},{key:"contacts",icon:"$contactPhoneIcon",label:"Update Contact Information",value:"manage-contacts",disabled:!1,onClick:()=>{h.onNavClick({value:"manage-contacts"})}}),$});return($,N)=>{const E=Ie,q=Le,B=Je,V=it,z=Ee,F=Me,M=Te,T=Re;return p(),U("div",null,[r(E,{title:"Overview","show-divider":!1}),r(Z,null,{default:o(()=>[f(c)?(p(),b(L,{key:0,cols:"12"},{default:o(()=>[r(Z,null,{default:o(()=>[r(L,{cols:"12"},{default:o(()=>[...N[1]||(N[1]=[m("h2",{class:"text-subtitle-1 font-weight-medium"},"Quick Actions",-1)])]),_:1}),(p(!0),U(K,null,te(f(P),k=>(p(),b(L,{cols:"6",sm:"6",md:"4",lg:"3",xl:"2",key:k.key},{default:o(()=>[r(ee,{disabled:k.disabled,hover:"",role:"button",class:"pl-0 pr-0 pt-0 pb-0 d-flex flex-column align-center justify-center",onClick:k.onClick,"min-height":"140px"},{default:o(()=>[r(Ae,{class:"d-flex flex-column align-center justify-center text-center"},{default:o(()=>[r(R,{size:"48",color:"grey-darken-2",class:"mb-2"},{default:o(()=>[A(w(k.icon),1)]),_:2},1024),m("span",lt,w(k.label),1)]),_:2},1024)]),_:2},1032,["disabled","onClick"])]),_:2},1024))),128))]),_:1})]),_:1})):x("",!0),r(q,{domain:n.domain},null,8,["domain"]),r(B,{domain:n.domain,"on-nav-click":n.onNavClick,onUpdated:N[0]||(N[0]=k=>D("updated",k))},null,8,["domain","on-nav-click"]),r(V,{domain:n.domain,"on-nav-click":n.onNavClick},null,8,["domain","on-nav-click"]),r(z,{permissions:"managedomains"},{default:o(()=>[f(S)?(p(),b(L,{key:0,cols:"12",class:"mb-4"},{default:o(()=>[r(f(l),{domain:n.domain,"has-redirect":n.domain.has_redirect},null,8,["domain","has-redirect"])]),_:1})):x("",!0)]),_:1}),n.domain.status==="Active"&&n.domain.evaluation?.estimated_value?(p(),b(L,{key:1,cols:"12",class:"mb-4"},{default:o(()=>[r(F,{evaluation:n.domain.evaluation,domain:n.domain,"on-nav-click":n.onNavClick,variant:"card"},null,8,["evaluation","domain","on-nav-click"])]),_:1})):x("",!0),r(z,{permissions:"domains,orders"},{default:o(()=>[n.canManageDomain?(p(),b(L,{key:0,cols:"12",class:"mb-4"},{default:o(()=>[r(M,{"domain-id":n.domain?.id},null,8,["domain-id"])]),_:1})):x("",!0)]),_:1}),x("",!0)]),_:1})])}}};export{At 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.