1import{G as xa,u as za,T as wa,a as ka,c as $,aJ as Ca,r as _,aK as Aa,aa as Sa,U as Da,o as Ta,n as $a,L as Va,e as c,h as v,f as u,i as t,k as p,$ as Xe,g as n,t as i,x as b,j as me,W as Fa,X as Ua,V as Qe,z as Na,C as Ma,cP as y,Z as Fe,A as Ka,D as r,av as Ue,m as w,bl as Ra,a1 as _e,cC as Ct,F as N,N as oe,y as ne,p as M,s as be,a2 as At,bk as St,a4 as et,an as Ba,aU as Pa,aZ as La,al as Dt,a5 as Ea,v as ve,aN as Ia,aO as Oa,aP as Wa,a6 as tt,P as ja,B as Za}from"./index-KZr-FxSz.js";import{_ as Ha}from"./ContentSlot-rTXkE82v.js";import{d as qa}from"./download-yh4XcT-j.js";import{u as Ya}from"./useRights-CoaHIaLx.js";import{u as Ga}from"./useTableStyles-evsaLHIa.js";import{u as Ja}from"./useTableColumns-BRvXEAtW.js";import{u as Xa}from"./useColumnSearch-B5UN5jAu.js";import{u as Qa}from"./useListingSearch-CPnyVSir.js";import{u as es}from"./useStoredJSON-CttGq0qv.js";import{_ as ts}from"./ThemedTableCard-BXdLH2dS.js";import{a as P,_ as fe}from"./ListingDataCell-Bl8EYHf5.js";import{_ as as}from"./VirtualTable-BfWQNBgQ.js";import{_ as Tt}from"./CopyableId-CMVsRNbx.js";import{_ as ss}from"./ColumnToggle-C-G8PFDI.js";import{F as Y}from"./FilterDropdown-CZqX-W7x.js";import{_ as K}from"./RowActionButton--TQMRBWo.js";import{_ as $t}from"./FormButtonBar-BE7Dyei6.js";import{_ as at}from"./ModalCloseButton-BEzHHsoi.js";import{u as os,_ as ns,T as ls}from"./GroupContextBar-DmrsLr9o.js";import{_ as rs}from"./SidebarPanel-C7SMrP3o.js";import is from"./AdzoneSettings-BNYlhRn7.js";import{_ as st}from"./EmptyState-qDxu7_pa.js";import{_ as ds,A as us}from"./AuditOverlayBanner-kYjCbwNn.js";import"./BlockImage-DS4JSDaH.js";import"./purify.es-P3vI1IgJ.js";import"./HelpTip-DeOY9iAw.js";import"./useVirtualScroll-zLG8q7Ub.js";import"./tagTree-DLtyww6G.js";import"./FolderPlusIcon-DgG76MFf.js";/* empty css */import"./AdminOnlyBadge-Db0bU38i.js";import"./AiFormFillModal-CAqQWDbd.js";import"./useVoiceInput-CgpBWuh0.js";import"./MicrophoneIcon-Do05u6fl.js";import"./StopIcon-DWCcncdi.js";import"./AdNetworkFormModal-DPWzi_Hu.js";import"./adNetworkName-ARaggJeb.js";import"./useFormWizard-BZUJUfwI.js";import"./ManagedByPicker-mZpKERXz.js";import"./DateRangePicker-B8ASIVUA.js";import"./InlineDropdown-D_KJGmL4.js";import"./url-ZFEZrhzq.js";import"./StopwordChipInput-PMr0Ugu5.js";import"./useFormWatcher-DuTqVfrw.js";import"./useVastParser-BK9kFmwo.js";import"./MapIcon-CWiUSw7g.js";function cs(ot){const e=m=>(m||"").replace(/</g,"<").replace(/>/g,">"),S=m=>m?`<textarea onclick="this.focus();this.select();document.execCommand('copy')">`+e(m)+"</textarea>":" ";let D="<html><head>";D+="<style>table{width:100%;border-collapse:collapse}td,th{padding:4px 8px;vertical-align:top;border-bottom:1px solid #ddd;font-size:13px;font-family:monospace}textarea{width:100%;height:50px;font-size:11px}th{text-align:left;background:#f5f5f5}</style>",D+="<title>Adzone Codes</title></head><body>",D+="<table><tr><th>Website</th><th>Adzone</th><th>Controller Tag</th><th>Ad Tag</th><th>Code</th><th>Alternative</th></tr>";for(const m of ot){D+="<tr><td><b>"+(m.site_name||"")+"</b></td><td> </td><td>"+S(m.ctrl_js)+'</td><td colspan="3"> </td></tr>',D+='<tr><td colspan="6"><hr></td></tr>';for(const L of m.codes||[]){const he=L.js_code?"<script>"+L.js_code+"<\/script>":"";D+="<tr><td> </td><td>"+(L.space_name||"")+"</td><td> </td><td>"+S(L.ad_tag)+"</td><td>"+S(he)+"</td><td>"+S(L.alternative)+"</td></tr>",D+='<tr><td colspan="6"><hr></td></tr>'}}return D+="</table></body></html>",D}const ps={key:1,class:"mb-3 flex items-start gap-2 rounded-md border border-amber-300 bg-amber-50 px-4 py-3 text-sm text-amber-800 dark:border-amber-500/40 dark:bg-amber-500/10 dark:text-amber-200"},ms=["placeholder","aria-label"],_s=["aria-pressed"],bs=["href","aria-disabled","title","aria-label"],vs={class:"hidden sm:inline"},fs=["title","aria-label"],hs={class:"hidden md:inline"},ys=["disabled","title","aria-label"],gs={class:"hidden md:inline"},xs={key:0,class:"px-3 sm:px-4 py-2 sm:py-3 bg-primary/10 border-b border-primary/20 flex flex-wrap items-center justify-between gap-2"},zs={class:"flex items-center gap-2"},ws={role:"status","aria-live":"polite",class:"text-xs sm:text-sm font-medium text-primary"},ks={class:"flex items-center gap-1 sm:gap-2"},Cs=["disabled","title","aria-label"],As={class:"hidden sm:inline"},Ss=["aria-label"],Ds={class:"hidden sm:inline"},Ts=["aria-label"],$s={class:"hidden sm:inline"},Vs=["href"],Fs={role:"status"},Us={class:"text-base font-semibold text-foreground"},Ns={class:"text-sm mt-1"},Ms={class:"text-base font-semibold text-foreground"},Ks={class:"text-sm mt-1"},Rs=["href"],Bs={class:"sr-only"},Ps={class:"flex items-center gap-1"},Ls=["onClick","title","aria-label"],Es={class:"min-w-0"},Is=["href","onClick"],Os={key:0,class:"text-[10px] text-muted-foreground truncate"},Ws={class:"text-card-foreground"},js={class:"text-card-foreground"},Zs={class:"flex items-center justify-end gap-1.5 flex-wrap"}
1,Hs={key:0,class:"bg-muted/30"},qs=["colspan"],Ys={key:0,class:"px-2 lg:px-4 py-1.5 text-start"},Gs={class:"flex items-center h-full"},Js=["value","aria-label"],Xs={class:"flex items-center gap-1 ps-4 sm:ps-6"},Qs={class:"min-w-0"},eo=["href","onClick"],to={key:0,class:"text-[10px] text-muted-foreground truncate"},ao={class:"text-card-foreground"},so={class:"text-card-foreground"},oo={class:"flex items-center justify-end gap-1.5 flex-wrap"},no={key:1,class:"bg-muted/20"},lo=["colspan"],ro={class:"text-destructive"},io={key:2,class:"bg-muted/20"},uo=["colspan"],co={key:2,class:"hidden lg:block sticky top-6 flex-shrink-0"},po={class:"text-sm font-medium truncate"},mo={class:"text-xs text-muted-foreground"},_o={key:3,class:"flex-1 min-w-0 overflow-hidden w-full lg:max-w-[1024px]"},bo={class:"p-3 sm:p-6"},vo={class:"flex items-center justify-between mb-4"},fo=["id"],ho={class:"space-y-4"},yo={class:"block text-sm font-medium text-card-foreground mb-1"},go={key:0},xo={class:"block text-sm font-medium text-card-foreground mb-1.5"},zo={class:"flex flex-wrap gap-1.5 mb-4"},wo=["onClick"],ko=["onClick"],Co=["title","aria-label","onClick"],Ao={key:1},So={class:"hidden sm:block border border-border rounded-md overflow-hidden"},Do={class:"w-full text-sm"},To={class:"sr-only"},$o={class:"bg-muted"},Vo={scope:"col",class:"px-3 py-2 text-start text-xs font-medium text-muted-foreground",style:{width:"30%"}},Fo={scope:"col",class:"px-3 py-2 text-start text-xs font-medium text-muted-foreground",style:{width:"28%"}},Uo={scope:"col",class:"px-3 py-2 text-start text-xs font-medium text-muted-foreground",style:{width:"28%"}},No={scope:"col",class:"px-3 py-2 text-start text-xs font-medium text-muted-foreground w-10"},Mo={class:"sr-only"},Ko={class:"divide-y divide-border"},Ro={class:"px-2 py-1.5"},Bo=["onUpdate:modelValue","placeholder","aria-label"],Po={class:"px-2 py-1.5"},Lo={class:"px-2 py-1.5"},Eo={key:1,class:"text-xs text-muted-foreground px-1"},Io={class:"px-2 py-1.5"},Oo=["aria-label","onClick"],Wo={class:"sm:hidden space-y-3"},jo={class:"flex items-center justify-between"},Zo={class:"text-xs font-medium text-muted-foreground"},Ho=["aria-label","onClick"],qo=["onUpdate:modelValue","placeholder","aria-label"],Yo={class:"flex flex-col sm:flex-row sm:items-center justify-between gap-2 mt-2"},Go={key:0,class:"flex flex-wrap items-center gap-1.5"},Jo={key:1,class:"text-muted-foreground text-xs"},Xo=["placeholder","aria-label"],Qo=["disabled"],en={class:"p-6"},tn={class:"flex items-center justify-between mb-4"},an=["id"],sn={class:"text-sm text-muted-foreground mb-4"},on=["for"],nn=["id"],ln={class:"space-y-2.5"},rn={key:0,class:"flex items-start gap-2 text-sm cursor-pointer"},dn={class:"block text-xs text-muted-foreground"},un={class:"flex items-start gap-2 text-sm cursor-pointer"},cn={class:"block text-xs text-muted-foreground"},pn={class:"flex items-start gap-2 text-sm cursor-pointer"},mn={class:"block text-xs text-muted-foreground"},_n={class:"flex items-start gap-2 text-sm cursor-pointer"},bn={class:"block text-xs text-muted-foreground"},vn={class:"p-6"},fn={class:"flex items-center justify-between mb-4"},hn=["id"],yn={key:0,role:"status",class:"text-center text-muted-foreground py-4"},gn={key:1,role:"status",class:"text-center text-muted-foreground py-4"},xn={key:2,class:"space-y-0 divide-y divide-border"},zn={class:"min-w-0"},wn={class:"font-medium"},Vt=1e3,kn={__name:"Adzones",setup(ot){const{t:e}=za(),S=Ma(),D=Na(),m=wa(),L=Fe(),he=Fe(),nt=Fe(),lt=Fe(),Ne=ka(),{hasRight:Ft,canPublisherCreate:G}=Ya(),{titleStyle:Ut,searchStyle:Nt,rowStyle:Mt}=Ga(),rt=$(()=>Ne.isAdvertiser&&Ne.isModuleEnabled("modules.publisher.direct_deal")&&Ft("mod_direct_deal"));function Me(a){return{name:"advertiser.campaigns.byType.create",params:{type:"directdeal"},query:{siteid:a.siteid,adspaceid:a.id}}}function it(a,o){a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||a.button!==0||(a.preventDefault(),S.push(Me(o)))}const dt=[{id:"checkbox",label:"",weight:3,required:!0,visible:!0},{id:"id",label:e("admin.id","ID"),weight:9,visible:!0,hiddenOnMobile:!0},{id:"name",label:e("global.name","Name"),weight:26,visible:!0},{id:"adzone_type",label:e("adzones.ad_zone_type","Ad Zone Type"),weight:18,visible:!0,hiddenOnMobile:!0},{id:"website",label:e("adzones.website_name","Website"),weight:22,visible:!0,hiddenOnMobile:!0},{id:"actions",label:e("global.actions","Actions"),weight:17,visible:!0}],{isMobile:Ke}=Ca(),{visibleColumns:Kt,toggleableColumns:Rt,toggleColumn:Bt,isColumnVisible:Pt}=Ja("publisher-adzones",dt);
1function g(a){return!(!Pt(a)||a==="adzone_type"&&T.value.length===1||a==="website"&&C.value.length===1||Ke.value&&dt.find(d=>d.id===a)?.hiddenOnMobile)}const le=$(()=>Kt.value.filter(a=>g(a.id)));function Re(a){const o=le.value,d=o.reduce((l,f)=>l+(f.weight||1),0),s=o.find(l=>l.id===a);return s?((s.weight||1)/d*100).toFixed(1):"0"}const R=_(!0),V=_([]),Be=_(!1),{globalSearch:Pe,filteredItems:ut,getColumnSearch:ye,setColumnSearch:E,clearAll:Lt,hasActiveSearch:Le}=Qa(V,{columns:[{key:"id"},{key:"name"},{key:"adzone_type",getValue:a=>se(a)},{key:"website",getValue:a=>a.website_name||""}]}),{filter:Et}=Aa(),It=$(()=>Et(ut.value,"id")),Ot={sortBy:"id",sortDir:"desc",selectedWebsites:[],selectedAdzoneTypes:[],showDeleted:!1,tagSidebarCollapsed:!1},{value:I}=es("publisher-adzones","filters",Ot),J=_(I.value.sortBy),O=_(I.value.sortDir),x=_([]),C=_([...I.value.selectedWebsites]),T=_([...I.value.selectedAdzoneTypes]),k=_(I.value.showDeleted),{selectedGroups:W,setGroups:Ee,rememberNames:Wt}=os(),re=_(I.value.tagSidebarCollapsed),ct=_(!1),jt=_({});Sa([J,O,C,T,k,W,re],()=>{I.value={sortBy:J.value,sortDir:O.value,selectedWebsites:C.value,selectedAdzoneTypes:T.value,showDeleted:k.value,tagSidebarCollapsed:re.value}},{deep:!0});const ge=$(()=>{const a=parseInt(D.params.id,10);return a?V.value.find(o=>o.id===a)||{id:a}:null}),F=$(()=>!!ge.value),Zt=$(()=>ut.value);function pt(a){a?.id&&parseInt(D.params.id,10)!==a.id&&S.push({name:"publisher.adzones.edit",params:{id:a.id}})}function xe(a){return S.resolve({name:"publisher.adzones.edit",params:{id:a.id}}).href}function ze(a,o){a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||a.button!==0||(a.preventDefault(),pt(o))}function Ht(){D.params.id&&S.push({name:"publisher.adzones"})}const U=_([]),X=_([]),we=_([]),Q=_({}),ee=_({}),ie=_({}),Ie=_({}),Oe=_(null),mt=_("none");let We=null;const j=Da(),_t=_(!1);Xa(()=>z());const qt=$(()=>C.value.length>0||T.value.length>0||k.value||W.value.length>0||Le.value),Yt=$(()=>U.value.length===1&&C.value.length===1&&C.value[0]===U.value[0]?.id),je=$(()=>T.value.length>0||k.value||W.value.length>0||Le.value||C.value.length>0&&!Yt.value),Gt=$(()=>{let a=0;return C.value.length>0&&a++,T.value.length>0&&a++,k.value&&a++,W.value.length>0&&a++,Le.value&&a++,a});function Jt(){C.value=[],T.value=[],k.value=!1,Ee([]),Lt(),z()}function Xt(a){Ee(a),z()}function ke(a){J.value===a?O.value=O.value==="asc"?"desc":"asc":(J.value=a,O.value="asc"),z()}function Ce(a){return J.value===a?O.value:null}const Z=_(!1);async function Qt(){try{const a=await y.filters();U.value=a.data.websites||[],X.value=(a.data.adzone_types||[]).map(o=>({...o,name:e("adzonetypes."+o.name.toUpperCase(),o.name)})),U.value.length===1&&C.value.length===0&&(C.value=[U.value[0].id]),vt()}catch(a){console.error("Failed to load filters:",a),m.error(e("adzones.filters_load_failed","Failed to load filters."))}finally{Z.value=!0}}function bt(a){return{id:a,name:`${e("adzones.unknown_type","Unknown type")} (#${a})`}}function vt(){if(X.value.length===0)return;const a=new Set(X.value.map(s=>s.id));if(T.value.length>0){const s=T.value.filter(l=>!a.has(l)).map(bt);we.value=[...X.value,...s];return}if(V.value.length===0)return;const o=new Set(V.value.map(s=>Number(s.adzone_typeid))),d=[...o].filter(s=>s>0&&!a.has(s)).sort((s,l)=>s-l).map(bt);we.value=[...X.value.filter(s=>o.has(s.id)),...d]}let de=0;async function z(){const a=++de;R.value=!0,Be.value=!1,V.value=[],x.value=[],Q.value={},ee.value={};try{const o={sort_by:J.value,sort_dir:O.value};C.value.length>0&&(o.website_ids=C.value.join(",")),T.value.length>0&&(o.adzone_types=T.value.join(",")),k.value&&(o.states="1"),W.value.length>0&&(o.tag_ids=W.value.join(","));const d=await y.list({...o,page:1,per_page:Vt});if(a!==de)return;V.value=d.data.data||[];const s=d.data.meta||{};if(R.value=!1,vt(),s.last_page>1)for(let l=2;l<=s.last_page;l++){const f=await y.list({...o,page:l,per_page:Vt});if(a!==de)return;V.value=[...V.value,...f.data.data||[]]}}catch(o){if(a!==de)return;console.error("Failed to fetch adzones:",o),Be.value=!0,m.error(e("adzones.load_failed","Failed to load ad zones."))}finally{a===de&&(R.value=!1)}}function ea(a){C.value=a,z()}function ta(a){T.value=a,z()}async function aa(a){if(Q.value[a.id]){Q.value[a.id]=!1;return}if(Q.value[a.id]=!0,!ee.value[a.id]){ie.value[a.id]=!0,Ie.value[a.id]=!1;try{const o=await y.children(a.id);ee.value[a.id]=o.data.data}catch(o){console.error("Failed to load children:",o),Ie.value[a.id]=!0,m.error(e("adzones.children_load_failed","Failed to load sub-zones."))}finally{ie.value[a.id]=!1}}}function ft(){if(!G.value){m.error(e("websites.pending_approval_notice","Your account is pending approval. You can add websites once it has been approved."));return}S.push({name:"publisher.adzones.create"})}const Ze=S.resolve({name:"publisher.adzones.create"}).href;function He(a){a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||a.button!==0||(a.preventDefault(),ft())}const Ae=_(!1);async function sa(){await ht()}async function oa(){await ht({all:0,sids:x.value.join(",")})}async function ht(a={}){Ae.value=!0;try{const{data:o}=await y.exportCodes(a),d=cs(o||[]);qa(d,"adzone_codes.html","text/html"),m.success(e("adzones.codes_exp
1orted","Codes exported"))}catch{m.error(e("adzones.export_failed","Failed to export codes"))}finally{Ae.value=!1}}const H=_(!1),ue=_([]),te=_([]),B=_([]),h=_({siteid:0,items:[{name:"",adzone_typeid:0,sizeid:0}]}),qe=_(!1),na=$(()=>h.value.items.some(a=>a.name.trim()&&a.adzone_typeid)),yt=_([]),ce=_(""),q=_(null),Se=_(!1),la=[{name:e("adzones.preset_tube","Tube Site"),items:[{name:e("campaigns.header_banner","Header Banner"),type:"bannerads",size:"728x90"},{name:e("adzones.preset_pre_roll","Pre-Roll"),type:"videoads",size:""},{name:e("campaigns.under_player","Under Player"),type:"bannerads",size:"728x90"},{name:e("adzones.preset_ntv_a","NTV A"),type:"bannerads",size:"300x250"},{name:e("adzones.preset_ntv_b","NTV B"),type:"bannerads",size:"300x250"},{name:e("adzones.preset_ntv_c","NTV C"),type:"bannerads",size:"300x250"},{name:e("adzones.preset_footer_a","Footer A"),type:"bannerads",size:"300x250"},{name:e("adzones.preset_footer_b","Footer B"),type:"bannerads",size:"300x250"},{name:e("adzones.preset_footer_c","Footer C"),type:"bannerads",size:"300x250"},{name:e("campaigns.pop_under","Pop Under"),type:"popads",size:""},{name:e("adzones.preset_mobile_header","Mobile Header"),type:"bannerads",size:"300x100"},{name:e("adzones.preset_mobile_footer","Mobile Footer"),type:"bannerads",size:"300x100"}]},{name:e("adzones.preset_blog","Blog / Content Site"),items:[{name:e("adzones.preset_header_leaderboard","Header Leaderboard"),type:"bannerads",size:"728x90"},{name:e("adzones.preset_sidebar_rectangle","Sidebar Rectangle"),type:"bannerads",size:"300x250"},{name:e("adzones.preset_in_content_banner","In-Content Banner"),type:"bannerads",size:"728x90"},{name:e("adzones.preset_footer_banner","Footer Banner"),type:"bannerads",size:"468x60"},{name:e("campaigns.mobile_banner","Mobile Banner"),type:"bannerads",size:"320x50"}]},{name:e("adzones.preset_download","Download Site"),items:[{name:e("
1campaigns.header_banner","Header Banner"),type:"bannerads",size:"728x90"},{name:e("adzones.preset_download_area","Download Area"),type:"bannerads",size:"300x250"},{name:e("campaigns.pop_under","Pop Under"),type:"popads",size:""},{name:e("adzones.preset_direct_link","Direct Link"),type:"redirects",size:""},{name:e("campaigns.mobile_banner","Mobile Banner"),type:"bannerads",size:"320x50"}]}],ra=$(()=>{if(B.value.length===0)return[];const a={};for(const d of B.value)a[d.key]=d;const o={};for(const d of te.value)o[d.name]=d,d.width&&d.height&&(o[`${d.width}x${d.height}`]=d);return la.map(d=>{const s=d.items.map(l=>({name:l.name,adzone_typeid:a[l.type]?.id||0,sizeid:l.size&&o[l.size]?.id||0})).filter(l=>l.adzone_typeid>0);return{name:d.name,items:s}}).filter(d=>d.items.length>0)});async function De(){try{const{data:a}=await y.templates();yt.value=a||[]}catch{}}function ia(a){q.value=null,h.value.items=a.items.map(o=>({name:o.name,adzone_typeid:B.value.find(d=>d.id===o.adzone_typeid)?o.adzone_typeid:0,sizeid:o.sizeid||0}))}function da(a){q.value=a;const o=Array.isArray(a.data)?a.data:Array.isArray(a.items)?a.items:[];h.value.items=o.map(d=>({name:d.name||"",adzone_typeid:d.adzone_typeid||0,sizeid:d.sizeid||0}))}async function gt(){if(Se.value)return;const a=ce.value.trim();if(!a)return;const o=h.value.items.filter(d=>d.name.trim()&&d.adzone_typeid);if(o.length===0){m.error(e("adzones.template_empty","Add at least one zone"));return}Se.value=!0;try{await y.saveTemplate({name:a,data:o}),m.success(e("adzones.template_saved","Template saved")),ce.value="",De()}catch{m.error(e("adzones.template_save_failed","Failed to save template"))}finally{Se.value=!1}}async function ua(){if(!q.value)return;const a=h.value.items.filter(o=>o.name.trim()&&o.adzone_typeid);if(a.length===0){m.error(e("adzones.template_empty","Add at least one zone"));return}try{await y.updateTemplate(q.value.id,{data:a}),m.success(e("adzones.template_updated","Template updated")),De()}catch{m.error(e("adzones.template_update_failed","Failed to update template"))}}async function ca(a){try{await y.deleteTemplate(a.id),m.success(e("adzones.template_deleted","Template deleted")),De()}catch{m.error(e("adzones.template_delete_failed","Failed to delete template"))}}function pe(a){return B.value.find(d=>d.id===a)?.needs_banner_size||!1}async function xt(){try{const{data:a}=await y.filters();ue.value=a.websites||[],te.value=a.banner_sizes||[],!h.value.siteid&&ue.value.length>0&&(h.value.siteid=ue.value[0].id),B.value=(a.adzone_types||[]).filter(o=>o.allow_bulk_create).map(o=>({...o,key:o.name,name:e("adzonetypes."+o.name.toUpperCase(),o.name)})).sort((o,d)=>o.name.localeCompare(d.name))}catch(a){console.error(a),m.error(a?.response?.data?.message||e("adzones.types_load_failed","Failed to load adzone types"))}De()}function pa(){const a=h.value.items[h.value.items.length-1];h.value.items.push({name:"",adzone_typeid:a?.adzone_typeid||0,sizeid:a?.sizeid||0})}function zt(a){h.value.items.splice(a,1)}async function ma(){const a=h.value.items.filter(d=>d.name.trim()&&d.adzone_typeid);if(!h.value.siteid||a.length===0){m.error(e("adzones.fill_required","Please fill in all required fields"));return}if(a.find(d=>pe(d.adzone_typeid)&&!d.sizeid)){m.error(e("adzones.banner_size_required","Banner zones require a banner size"));return}qe.value=!0;try{const d={};for(const s of a){const l=`${s.adzone_typeid}_${s.sizeid||0}`;d[l]||(d[l]={siteid:h.value.siteid,adzone_typeid:s.adzone_typeid,sizeid:s.sizeid||0,items:[]}),d[l].items.push({name:s.name})}for(const s of Object.values(d))await y.addMultiple(s);m.success(e("adzones.zones_created","{items} zone(s) created",{items:a.length})),Za("adzone_created",{count:a.length,source:"multi_create"}),H.value=!1,h.value={siteid:0,items:[{name:"",adzone_typeid:0,sizeid:0}]},z()}catch{m.error(e("adzones.create_failed","Failed to create zones"))}finally{qe.value=!1}}const Te=_(!1),$e=_([]),Ye=_(!1);async function _a(a){Ye.value=!0,$e.value=[],Te.value=!0;try{const{data:o}=await y.blockedAdvertisers(a.id);$e.value=o||[]}catch{m.error(e("adzones.blocked_load_failed","Failed to load blocked advertisers"))}finally{Ye.value=!1}}async function Ge(a){const o=a.num_children>0?" "+e("adzones.confirm_delete_with_subs","({n} sub-zones will also be removed.)",{n:a.num_children}):"";if(await j.confirm({title:e("global.delete","Delete"),message:e("adzones.confirm_delete","Are you sure you want to delete this adzone?")+o,confirmText:e("global.delete","Delete")})){_t.value=!0;try{await y.delete(a.id),m.success(e("adzones.adzone_deleted","Adzone deleted successfully")),z()}catch(s){if(await wt(s))try{const l=await y.delete(a.id,!0);m.success(ba(l)),z()}catch(l){m.error(l.response?.data?.message||e("adzones.delete_failed","Failed to delete adzone"))}else s.response?.data?.error!=="has_smart_zones"&&m.error(s.response?.data?.message||e("adzones.delete_failed","Failed to delete adzone"))}finally{_t.value=!1}}}async function wt(a){const o=a.response?.data;if(a.response?.status!==409||o?.error!=="has_smart_zones")return!1;const d=Number(o.smart_zones)||0;return await j.confirm({title:e("adzones.smart_zones_affected","Smart zones connected"),message:e("adzones.confirm_delete_smart_zones","{n} smart zone(s) are connected to this. They will be removed too â a smart zone cannot serve without its ad zone. Recovering the ad zone brings them back.",{n:d}),confirmText:e("global.delete","Delete")})}function ba(a){const o=Number(a?.data?.smart_zones)||0;return o>
10?e("adzones.adzone_deleted_with_smart_zones","Adzone deleted â {n} connected smart zone(s) removed with it",{n:o}):e("adzones.adzone_deleted","Adzone deleted successfully")}const ae=_(!1),Ve=_(null),Je=_(!1),A=_({name:"",copy_campaigns:!1,copy_own_ads:!1,copy_settings:!1,start_active:!1}),va=$(()=>Ne.isModuleEnabled("modules.publisher.connect_campaigns"));function fa(a){Ve.value=a,A.value={name:e("adzones.clone_name_suffix","{name} (copy)",{name:a.name||""}),copy_campaigns:!1,copy_own_ads:!1,copy_settings:!1,start_active:!1},ae.value=!0}async function ha(){if(!(!Ve.value||!A.value.name.trim())){Je.value=!0;try{const o=(await y.clone(Ve.value.id,A.value)).data?.data||{};m.success(e("adzones.clone_success","Ad zone duplicated")),o.campaigns_skipped&&m.error(e("adzones.clone_campaigns_skipped","The new zone was created, but the whitelisted campaigns were not copied â that is not available on this account.")),ae.value=!1,z()}catch(a){m.error(a.response?.data?.message||e("adzones.clone_failed","Failed to duplicate ad zone"))}finally{Je.value=!1}}}async function kt(a){try{const o=await y.recover(a.id),d=Number(o?.data?.smart_zones)||0;m.success(d>0?e("adzones.adzone_recovered_with_smart_zones","Adzone recovered â {n} smart zone(s) restored with it",{n:d}):e("adzones.adzone_recovered","Adzone recovered successfully")),z()}catch(o){m.error(o.response?.data?.message||e("adzones.recover_failed","Failed to recover adzone"))}}async function ya(){const a=x.value.length;if(await j.confirm({title:e("global.delete","Delete"),message:e("adzones.confirm_mass_delete_n","Delete {n} selected adzones? This action cannot be undone.",{n:a}),confirmText:e("global.delete","Delete")}))try{await y.massDelete(x.value),m.success(e("adzones.adzones_deleted","Adzones deleted successfully")),x.value=[],z()}catch(d){if(await wt(d))try{const s=await y.massDelete(x.value,!0),l=Number(s?.data?.smart_zones)||0;m.success(l>0?e("adzones.adzones_deleted_with_smart_zones","Adzones deleted â {n} connected smart zone(s) removed with them",{n:l}):e("adzones.adzones_deleted","Adzones deleted successfully")),x.value=[],z()}catch(s){m.error(s.response?.data?.message||e("adzones.mass_delete_failed","Failed to delete adzones"))}else d.response?.data?.error!=="has_smart_zones"&&m.error(d.response?.data?.message||e("adzones.mass_delete_failed","Failed to delete adzones"))}}async function ga(){const a=x.value.length;if(await j.confirm({title:e("global.recover","Recover"),message:e("adzones.confirm_mass_recover_n","Recover {n} selected adzones?",{n:a}),confirmText:e("global.recover","Recover")}))try{const d=await y.massRecover(x.value),s=Number(d?.data?.smart_zones)||0;m.success(s>0?e("adzones.adzones_recovered_with_smart_zones","Adzones recovered â {n} smart zone(s) restored with them",{n:s}):e("adzones.adzones_recovered","Adzones recovered successfully")),x.value=[],z()}catch(d){m.error(d.response?.data?.message||e("adzones.mass_recover_failed","Failed to recover adzones"))}}function se(a){let o=a.adzone_type_name||"";if(!o){const l=X.value.find(f=>f.id===a.adzone_typeid);l&&(o=l.name)}if(!o){const l=a.adzone_typeid,f=e("adzones.unknown_type","Unknown type");return l?`${f} (#${l})`:f}const d=o.toUpperCase();let s=e("adzonetypes."+d,o);return a.adzone_typeid===2&&a.banner_width&&a.banner_height&&(s+=` (${a.banner_width}x${a.banner_height})`),s}return Ta(()=>{Qt(),z(),$a(()=>{Oe.value&&(We=new ResizeObserver(a=>{for(const o of a)mt.value=o.contentRect.height+"px"}),We.observe(Oe.value))})}),Va(()=>{We?.disconnect()}),(a,o)=>{const d=Ka("router-link");return r(),c("div",{class:me(F.value?"p-2 sm:p-4 lg:p-4":"p-2 sm:p-4 lg:p-8")},[F.value?u("",!0):(r(),v(Ha,{key:0,placement:"publisher_adzones_top","slot-name":"top"})),!F.value&&!t(G)?(r(),c("div",ps,[p(t(Xe),{class:"h-5 w-5 flex-shrink-0","aria-hidden":"true"}),n("span",null,i(t(e)("websites.pending_approval_notice","Your account is pending approval. You can add websites once it has been approved.")),1)])):u("",!0),F.value?u("",!0):(r(),v(ns,{key:2,"result-count":V.value.length},null,8,["result-count"])),n("div",{class:me(["adzones-wrapper flex flex-col lg:flex-row",{"has-tag-sidebar":ct.value&&!re.value&&!F.value,"lg:items-start lg:gap-4":F.value}])},[F.value?u("",!0):(r(),v(ls,{key:0,onLoaded:o[0]||(o[0]=(s,l)=>{ct.value=s>0,t(Wt)(l)}),modelValue:t(W),"onUpdate:modelValue":t(Ee),collapsed:re.value,"onUpdate:collapsed":o[1]||(o[1]=s=>re.value=s),usageCounts:jt.value,maxHeight:mt.value,onChange:Xt},null,8,["modelValue","onUpdate:modelValue","collapsed","usageCounts","maxHeight"])),F.value?u("",!0):(r(),c("div",{key:1,ref_key:"tableWrapperRef",ref:Oe,class:"flex-1 min-w-0"},[p(ts,{loading:R.value,filterCount:Gt.value,compactable:"pub-adzones"},{"header-left":b(()=>[n("div",{class:"table-search flex items-center rounded-md border border-input bg-card overflow-hidden",style:ne(t(Nt))},[n("span",{class:"table-title px-4 py-1.5 text-sm font-medium text-card-foreground bg-muted",style:ne(t(Ut))},i(t(e)("adzones.ad_zones","Ad Zones")),5),M(n("input",{"onUpdate:modelValue":o[2]||(o[2]=s=>Ea(Pe)?Pe.value=s:null),type:"search",inputmode:"search",autocomplete:"off",spellcheck:"false",placeholder:t(e)("global.search","Search..."),"aria-label":t(e)("adzones.search_adzones","Search adzones"),class:"px-3 py-1.5 text-sm bg-transparent border-0 focus:outline-none flex-1 min-w-[120px]"},null,8,ms),[[ve,t(Pe)]])],4),U.value.length>1?(r(),v(Y,{key:0,label:t(e)("adzones.website","Website"),options:U.value,modelValue:C.value,"onUpdate:modelValue":ea,multiple:"",searchable:"",emptyMeansAll:"",emptyLabel:"",labelKey:"name",valueKey:"id"},null,8,["label","options","modelValue"])):u("",!0),we.value.length>0?(r(),v(Y,{key:1,label:t(e)("adzones.ad_zone_type","Type"),options:we.value,modelValue:T.value,"onUpdate:modelValue":ta,multiple:"",searchable:"",emptyMeansAll:"",emptyLabel:"",labelKey:"name",valueKey:"id"},null,8,["label","options","modelValue"])):u("",!0),n("button",{type:"button","aria-pressed":k.value,class:me(["inline-flex items-center gap-1.5 px-3 py-1.5 rounded-md text-sm font-medium transition-colors cursor-pointer",k.value?"bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-400":"bg-muted text-muted-foreground hover:bg-accent"]),onClick:o[3]||(o[3]=s=>{k.value=!k.value,z()})},[(r(),v(Ia(k.value?t(Oa):t(Wa)),{class:"h-4 w-4","aria-hidden":"true"})),w(" "+i(t(e)("global.deleted","Deleted")),1)],10,_s),qt.value?(r(),c("button",{key:2,type:"button",class:"ui-btn-ghost",onClick:Jt},[w(i(t(e)("global.reset","Reset"))+" ",1),p(t(tt),{class:"h-4 w-4","aria-hidden":"true"})])):u("",!0)]),"header-right":b(()=>[p(us,{entity:"adzone"}),!Z.value||U.value.length>0?(r(),c("a",{key:0,id:"tour-pub-adzone-create",href:t(G)?t(Ze):void 0,class:me(["inline-flex items-center gap-1.5 px-3 py-1.5 rounded-md text-sm font-medium bg-primary text-primary-foreground hover:bg-primary/90 curs
1or-pointer shadow-sm transition-colors",{"opacity-50 cursor-not-allowed hover:bg-primary":!t(G)}]),"aria-disabled":t(G)?void 0:"true",onClick:He,title:t(G)?t(e)("adzones.new_adzone","New Adzone"):t(e)("websites.pending_approval_notice","Your account is pending approval. You can add websites once it has been approved."),"aria-label":t(e)("adzones.new_adzone","New Adzone")},[p(t(_e),{class:"h-4 w-4","aria-hidden":"true"}),n("span",vs,i(t(e)("adzones.new_adzone","New Adzone")),1)],10,bs)):u("",!0),!Z.value||U.value.length>0?(r(),c("button",{key:1,type:"button",class:"inline-flex items-center gap-1.5 px-2 sm:px-3 py-1.5 rounded-md text-sm font-medium border border-input bg-card text-card-foreground hover:bg-accent cursor-pointer transition-colors",onClick:o[4]||(o[4]=s=>{H.value=!0,xt()}),title:t(e)("adzones.create_multiple","Create Multiple"),"aria-label":t(e)("adzones.create_multiple","Create Multiple")},[p(t(_e),{class:"h-4 w-4","aria-hidden":"true"}),n("span",hs,i(t(e)("adzones.create_multiple","Create Multiple")),1)],8,fs)):u("",!0),!Z.value||U.value.length>0?(r(),c("button",{key:2,type:"button",class:"inline-flex items-center gap-1.5 px-2 sm:px-3 py-1.5 rounded-md text-sm font-medium border border-input bg-card text-card-foreground hover:bg-accent cursor-pointer transition-colors",onClick:sa,disabled:Ae.value,title:t(e)("adzones.export_all_codes","Export Codes"),"aria-label":t(e)("adzones.export_all_codes","Export Codes")},[p(t(Dt),{class:"h-4 w-4","aria-hidden":"true"}),n("span",gs,i(t(e)("adzones.export_all_codes","Export Codes")),1)],8,ys)):u("",!0),p(ss,{columns:t(Rt),icon:"eye",onToggle:t(Bt)},null,8,["columns","onToggle"])]),"bulk-actions":b(()=>[x.value.length>0?(r(),c("div",xs,[n("div",zs,[n("span",ws,i(x.value.length)+" "+i(t(e)("global.selected","selected")),1),n("button",{type:"button",onClick:o[5]||(o[5]=s=>x.value=[]),class:"text-xs sm:text-sm text-muted-foreground hover:text-primary hover:underline cursor-pointer"},i(t(e)("global.clear","Clear")),1)]),n("div",ks,[n("button",{type:"button",class:"inline-flex items-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1 sm:py-1.5 rounded-full text-xs sm:text-sm font-medium transition-colors border border-input bg-card text-card-foreground hover:bg-accent cursor-pointer shadow-sm",onClick:oa,disabled:Ae.value,title:t(e)("adzones.export_selected_codes","Export Selected Codes"),"aria-label":t(e)("adzones.export_selected_codes","Export Selected Codes")},[p(t(Dt),{class:"h-3.5 w-3.5 sm:h-4 sm:w-4","aria-hidden":"true"}),n("span",As,i(t(e)("adzones.export_selected_codes","Export Selected Codes")),1)],8,Cs),k.value?u("",!0):(r(),c("button",{key:0,type:"button",class:"inline-flex items-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1 sm:py-1.5 rounded-full text-xs sm:text-sm font-medium transition-colors bg-destructive text-destructive-foreground hover:bg-destructive/90 cursor-pointer shadow-sm","aria-label":t(e)("global.delete","Delete"),onClick:ya},[p(t(et),{class:"h-3.5 w-3.5 sm:h-4 sm:w-4","aria-hidden":"true"}),n("span",Ds,i(t(e)("global.delete","Delete")),1)],8,Ss)),k.value?(r(),c("button",{key:1,type:"button",class:"inline-flex items-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1 sm:py-1.5 rounded-full text-xs sm:text-sm font-medium transition-colors bg-primary text-primary-foreground hover:bg-primary/90 curs
1or-pointer shadow-sm","aria-label":t(e)("global.recover","Recover"),onClick:ga},[p(t(Ue),{class:"h-3.5 w-3.5 sm:h-4 sm:w-4","aria-hidden":"true"}),n("span",$s,i(t(e)("global.recover","Recover")),1)],8,Ts)):u("",!0)])])):u("",!0)]),default:b(()=>[p(ds),!R.value&&Be.value?(r(),v(st,{key:0,icon:t(Xe),title:t(e)("adzones.load_error_title","Could not load ad zones"),description:t(e)("adzones.load_error_desc","Something went wrong while fetching your ad zones. Check your connection and try again.")},{actions:b(()=>[n("button",{type:"button",class:"px-3 py-1.5 rounded-md bg-primary text-primary-foreground text-sm font-medium hover:opacity-90 inline-flex items-center gap-1",onClick:z},[p(t(Ue),{class:"h-4 w-4","aria-hidden":"true"}),w(" "+i(t(e)("global.retry","Retry")),1)])]),_:1},8,["icon","title","description"])):!R.value&&Z.value&&!je.value&&V.value.length===0&&U.value.length===0?(r(),v(st,{key:1,icon:t(Ra),title:t(e)("adzones.no_website_title","Add a website first"),description:t(e)("adzones.no_website_desc","Ad zones live on a website â you need to register at least one website before you can create ad zones to place on it.")},{actions:b(()=>[p(d,{to:{path:"/publisher/websites",query:{add:1}},class:"px-3 py-1.5 rounded-md bg-primary text-primary-foreground text-sm font-medium hover:opacity-90 inline-flex items-center gap-1"},{default:b(()=>[p(t(_e),{class:"h-4 w-4","aria-hidden":"true"}),w(" "+i(t(e)("adzones.no_website_cta","Add your first website")),1)]),_:1})]),_:1},8,["icon","title","description"])):!R.value&&Z.value&&!je.value&&V.value.length===0?(r(),v(st,{key:2,icon:t(Ct),title:t(e)("adzones.empty_title","No ad zones yet"),description:t(e)("adzones.empty_desc","Ad zones are the placements on your websites where ads appear. Create your first zone to generate the ad-serving code you'll paste into your site.")},{actions:b(()=>[n("button",{type:"button",class:"px-3 py-1.5 rounded-md border border-border text-sm hover:bg-accent",onClick:o[6]||(o[6]=s=>{H.value=!0,xt()})},i(t(e)("adzones.create_multiple","Create Multiple")),1),n("a",{href:t(Ze),class:"px-3 py-1.5 rounded-md bg-primary text-primary-foreground text-sm font-medium hover:opacity-90 inline-flex items-center gap-1",onClick:He},[p(t(_e),{class:"h-4 w-4","aria-hidden":"true"}),w(" "+i(t(e)("adzones.empty_cta","Create your first ad zone")),1)],8,Vs)]),_:1},8,["icon","title","description"])):(r(),v(as,{key:3,items:It.value,selected:x.value,"onUpdate:selected":o[20]||(o[20]=s=>x.value=s),selectable:g("checkbox"),loading:R.value||!Z.value,"col-count":le.value.length-1,caption:t(e)("adzones.ad_zones","Ad Zones")},{empty:b(()=>[n("div",Fs,[p(t(Ct),{class:"h-10 w-10 mx-auto mb-3 text-muted-foreground/50","aria-hidden":"true"}),je.value?(r(),c(N,{key:0},[n("p",Us,i(t(e)("global.no_results","No results found")),1),n("p",Ns,i(t(e)("adzones.empty_filtered_desc","Try a different search term or clear the filters.")),1)],64)):(r(),c(N,{key:1},[n("p",Ms,i(t(e)("adzones.nothing_is_here","No adzones yet")),1),n("p",Ks,i(t(e)("adzones.empty_desc","Adzones are the placements on your sites where ads will be served.")),1),n("a",{href:t(Ze),class:"ui-btn-primary mt-4 inline-flex items-center",onClick:He},[p(t(_e),{class:"h-4 w-4 me-1","aria-hidden":"true"}),w(" "+i(t(e)("adzones.create_adzone","Create Adzone")),1)],8,Rs)],64))])]),head:b(()=>[g("id")?(r(),v(fe,{key:0,class:"whitespace-nowrap",sortable:"",searchable:"",searchKey:"id",searchValue:t(ye)("id"),searchPlaceholder:t(e)("adzones.search_id_placeholder","IDâ¦"),sortDirection:Ce("id"),onSort:o[7]||(o[7]=s=>ke("id")),onSearch:o[8]||(o[8]=({key:s,value:l})=>t(E)(s,l)),onSearchClear:o[9]||(o[9]=s=>t(E)(s,""))},{default:b(()=>[w(i(t(e)("admin.id","ID")),1)]),_:1},8,["searchValue","searchPlaceholder","sortDirection"])):u("",!0),g("name")?(r(),v(fe,{key:1,style:ne({width:Re("name")+"%"}),sortable:"",searchable:"",searchKey:"name",searchValue:t(ye)("name"),searchPlaceholder:t(e)("global.name","Name")+"...",sortDirection:Ce("name"),onSort:o[10]||(o[10]=s=>ke("name")),onSearch:o[11]||(o[11]=({key:s,value:l})=>t(E)(s,l)),onSearchClear:o[12]||(o[12]=s=>t(E)(s,""))},{default:b(()=>[w(i(t(e)("global.name","Name")),1)]),_:1},8,["style","searchValue","searchPlaceholder","sortDirection"])):u("",!0),g("adzone_type")?(r(),v(fe,{key:2,style:ne({width:Re("adzone_type")+"%"}),sortable:"",searchable:"",searchKey:"adzone_type",searchValue:t(ye)("adzone_type"),searchPlaceholder:t(e)("adzones.ad_zone_type","Ad Zone Type")+"...",sortDirection:Ce("adzone_typeid"),onSort:o[13]||(o[13]=s=>ke("adzone_typeid")),onSearch:o[14]||(o[14]=({key:s,value:l})=>t(E)(s,l)),onSearchClear:o[15]||(o[15]=s=>t(E)(s,""))},{default:b(()=>[w(i(t(e)("adzones.ad_zone_type","Ad Zone Type")),1)]),_:1},8,["style","searchValue","searchPlaceholder","sortDirection"])):u("",!0),g("website")?(r(),v(fe,{key:3,style:ne({width:Re("website")+"%"}),sortable:"",searchable:"",searchKey:"website",searchValue:t(ye)("website"),searchPlaceholder:t(e)("adzones.website_name","Website")+"...",sortDirection:Ce("siteid"),onSort:o[16]||(o[16]=s=>ke("siteid")),onSearch:o[17]||(o[17]=({key:s,value:l})=>t(E)(s,l)),onSearchClear:o[18]||(o[18]=s=>t(E)(s,""))},{default:b(()=>[w(i(t(e)("adzones.website_name","Website")),1)]),_:1},8,["style","searchValue","searchPlaceholder","sortDirection"])):u("",!0),g("actions")?(r(),v(fe,{key:4,class:"whitespace-nowrap"},{default:b(()=>[n("span",Bs,i(t(e)("global.actions","Actions")),1)]),_:1})):u("",!0)]),row:b(({item:s})=>[g("id")?(r(),v(P,{key:0},{default:b(()=>[p(Tt,{id:s.id,class:"font-mono text-muted-foreground"},null,8,["id"])]),_:2},1024)):u("",!0),g("name")?(r(),v(P,{key:1,pii:""},{default:b(()=>[n("div",Ps,[s.num_children>
10?(r(),c("button",{key:0,type:"button",class:"p-0.5 hover:bg-muted rounded cursor-pointer transition-colors flex-shrink-0",onClick:l=>aa(s),title:t(e)("adzones.toggle_children","Show/hide sub-zones"),"aria-label":t(e)("adzones.toggle_children","Show/hide sub-zones")},[Q.value[s.id]?(r(),v(t(Ba),{key:0,class:"h-3.5 w-3.5 text-muted-foreground","aria-hidden":"true"})):(r(),v(t(Pa),{key:1,class:"h-3.5 w-3.5 text-muted-foreground","aria-hidden":"true"}))],8,Ls)):u("",!0),n("div",Es,[n("a",{href:xe(s),class:"font-medium text-muted-foreground hover:text-primary hover:underline cursor-pointer truncate block py-2 -my-2 max-w-[180px] sm:max-w-none",onClick:l=>ze(l,s)},i(s.name),9,Is),t(Ke)?(r(),c("div",Os,[w(i(se(s)),1),s.website_name?(r(),c(N,{key:0},[w(" · "+i(s.website_name),1)],64)):u("",!0)])):u("",!0)])])]),_:2},1024)):u("",!0),g("adzone_type")?(r(),v(P,{key:2},{default:b(()=>[n("span",Ws,i(se(s)),1)]),_:2},1024)):u("",!0),g("website")?(r(),v(P,{key:3,pii:""},{default:b(()=>[n("span",js,i(s.website_name),1)]),_:2},1024)):u("",!0),g("actions")?(r(),v(P,{key:4},{default:b(()=>[n("div",Zs,[s.blocked?(r(),v(K,{key:0,labeled:!1,label:t(e)("adzones.blocked_advertisers","Has blocked advertisers"),onClick:l=>_a(s)},{icon:b(()=>[p(t(Xe),{class:"h-3.5 w-3.5 text-amber-500","aria-hidden":"true"})]),_:1},8,["label","onClick"])):u("",!0),s.is_deleted?u("",!0):(r(),v(K,{key:1,label:t(e)("global.edit","Edit"),href:xe(s),onClick:l=>ze(l,s)},{icon:b(()=>[p(t(At),{class:"h-3.5 w-3.5","aria-hidden":"true"})]),_:1},8,["label","href","onClick"])),s.is_deleted?u("",!0):(r(),v(K,{key:2,labeled:!1,label:t(e)("adzones.duplicate","Duplicate this zone"),onClick:l=>fa(s)},{icon:b(()=>[p(t(La),{class:"h-3.5 w-3.5","aria-hidden":"true"})]),_:1},8,["label","onClick"])),!s.is_deleted&&rt.value?(r(),v(K,{key:3,labeled:!1,label:t(e)("adzones.create_direct_deal","Create Direct Deal for this zone"),href:t(S).resolve(Me(s)).href,onClick:l=>it(l,s)},{icon:b(()=>[p(t(St),{class:"h-3.5 w-3.5","aria-hidden":"true"})]),_:1},8,["label","href","onClick"])):u("",!0),s.is_deleted?u("",!0):(r(),v(K,{key:4,variant:"danger",labeled:!1,label:t(e)("global.delete","Delete"),onClick:l=>Ge(s)},{icon:b(()=>[p(t(et),{class:"h-3.5 w-3.5","aria-hidden":"true"})]),_:1},8,["label","onClick"])),k.value&&s.is_deleted?(r(),v(K,{key:5,variant:"primary",label:t(e)("global.recover","Recover"),onClick:l=>kt(s)},{icon:b(()=>[p(t(Ue),{class:"h-3.5 w-3.5","aria-hidden":"true"})]),_:1},8,["label","onClick"])):u("",!0)])]),_:2},1024)):u("",!0)]),"row-expand":b(({item:s})=>[Q.value[s.id]?(r(),c(N,{key:0},[ie.value[s.id]?(r(),c("tr",Hs,[n("td",{colspan:le.value.length,role:"status",class:"px-8 py-2 text-sm text-muted-foreground"},i(t(e)("global.loading","Loading...")),9,qs)])):u("",!0),(r(!0),c(N,null,oe(ee.value[s.id]||[],l=>(r(),c("tr",{key:"child-"+l.id,class:"table-row bg-muted/20",style:ne(t(Mt))},[g("checkbox")?(r(),c("td",Ys,[n("div",Gs,[M(n("input",{type:"checkbox",value:l.id,"onUpdate:modelValue":o[19]||(o[19]=f=>x.value=f),"aria-label":t(e)("adzones.select_named_aria","Select adzone: {name}",{name:l.name}),class:"cursor-pointer"},null,8,Js),[[be,x.value]])])])):u("",!0),g("name")?(r(),v(P,{key:1},{default:b(()=>[n("div",Xs,[o[36]||(o[36]=n("span",{class:"text-xs text-muted-foreground","aria-hidden":"true"},"â³",-1)),n("div",Qs,[n("a",{href:xe(l),class:"font-medium text-muted-foreground hover:text-primary hover:underline cursor-pointer truncate block py-2 -my-2 max-w-[160px] sm:max-w-none",onClick:f=>ze(f,l)},i(l.name),9,eo),t(Ke)?(r(),c("div",to,i(se(l)),1)):u("",!0)])])]),_:2},1024)):u("",!0),g("adzone_type")?(r(),v(P,{key:2},{default:b(()=>[n("span",ao,i(se(l)),1)]),_:2},1024)):u("",!0),g("website")?(r(),v(P,{key:3},{default:b(()=>[n("span",so,i(l.website_name),1)]),_:2},1024)):u("",!0),g("actions")?(r(),v(P,{key:4},{default:b(()=>[n("div",oo,[l.is_deleted?u("",!0):(r(),v(K,{key:0,label:t(e)("global.edit","Edit"),href:xe(l),onClick:f=>ze(f,l)},{icon:b(()=>[p(t(At),{class:"h-3.5 w-3.5","aria-hidden":"true"})]),_:1},8,["label","href","onClick"])),!l.is_deleted&&rt.value?(r(),v(K,{key:1,labeled:!1,label:t(e)("adzones.create_direct_deal","Create Direct Deal for this zone"),href:t(S).resolve(Me(l)).href,onClick:f=>it(f,l)},{icon:b(()=>[p(t(St),{class:"h-3.5 w-3.5","aria-hidden":"true"})]),_:1},8,["label","href","onClick"])):u("",!0),l.is_deleted?u("",!0):(r(),v(K,{key:2,variant:"danger",labeled:!1,label:t(e)("global.delete","Delete"),onClick:f=>Ge(l)},{icon:b(()=>[p(t(et),{class:"h-3.5 w-3.5","aria-hidden":"true"})]),_:1},8,["label","onClick"])),k.value&&l.is_deleted?(r(),v(K,{key:3,variant:"primary",label:t(e)("global.recover","Recover"),onClick:f=>kt(l)},{icon:b(()=>[p(t(Ue),{class:"h-3.5 w-3.5","aria-hidden":"true"})]),_:1},8,["label","onClick"])):u("",!0)])]),_:2},1024)):u("",!0)],4))),128)),!ie.value[s.id]&&Ie.value[s.id]?(r(),c("tr",no,[n("td",{colspan:le.value.length,class:"px-8 py-2 text-sm",role:"alert"},[n("span",ro,i(t(e)("adzones.children_load_failed","Failed to load sub-zones.")),1)],8,lo)])):!ie.value[s.id]&&(!ee.value[s.id]||ee.value[s.id].length===0)?(r(),c("tr",io,[n("td",{colspan:le.value.length,role:"status",class:"px-8 py-2 text-sm text-muted-foreground"},i(t(e)("adzones.no_sub_zones","No sub-zones found")),9,uo)])):u("",!0)],64)):u("",!0)]),_:1},8,["items","selected","selectable","loading","col-count","caption"]))]),_:1},8,["loading","filterCount"])],512)),F.value?(r(),c("div",co,[p(rs,{items:Zt.value,selected:ge.value,show:F.value,loading:R.value,showCreate:!0,showEdit:!1,title:t(e)("adzones.title","Ad Zones"),"item-key":"id","item-label":"name","search-placeholder":t(e)("global.search","Search")+"...","empty-text":t(e)("adzones.nothing_is_here","No adzones"),onSelect:pt,onCreate:ft,onDelete:Ge},{item:b(({item:s})=>[n("div",po,i(s.name),1),n("div",mo,i(se(s)),1)]),_:1},8,["items","selected","show","loading","title","search-placeholder","empty-text"])])):u("",!0),F.value?(r(),c("div",_o,[(r(),v(is,{key:ge.value.id,adzoneIdPro
1p:ge.value.id,embedded:"",onClose:Ht},null,8,["adzoneIdProp"]))])):u("",!0)],2),p(Ua,Fa(t(j).state,{onConfirm:t(j).onConfirm,onCancel:t(j).onCancel}),null,16,["onConfirm","onCancel"]),p(Qe,{show:H.value,"max-width":"3xl","aria-labelledby":t(L),onClose:o[25]||(o[25]=s=>H.value=!1)},{default:b(()=>[n("div",bo,[n("div",vo,[n("h3",{id:t(L),class:"text-lg font-semibold text-card-foreground"},i(t(e)("adzones.create_multiple","Create Multiple Zones")),9,fo),p(at,{onClick:o[21]||(o[21]=s=>H.value=!1)})]),n("div",ho,[n("div",null,[n("label",yo,i(t(e)("global.website","Website")),1),p(Y,{modelValue:h.value.siteid,options:ue.value,label:t(e)("global.website","Website"),showAllOption:!1,searchable:ue.value.length>10,valueKey:"id",labelKey:"name","onUpdate:modelValue":o[22]||(o[22]=s=>h.value.siteid=s),width:"w-full"},null,8,["modelValue","options","label","searchable"])]),h.value.siteid?(r(),c("div",go,[n("label",xo,i(t(e)("adzones.load_preset","Load Preset")),1),n("div",zo,[(r(!0),c(N,null,oe(ra.value,s=>(r(),c("button",{key:s.name,type:"button",class:"px-2.5 py-1 text-xs rounded-md border border-input bg-muted hover:bg-accent transition-colors cursor-pointer",onClick:l=>ia(s)},i(s.name),9,wo))),128)),(r(!0),c(N,null,oe(yt.value,s=>(r(),c("span",{key:"tpl-"+s.id,class:"group inline-flex items-center rounded-md border border-primary/30 bg-primary/5 hover:bg-primary/10 text-primary transition-colors text-xs"},[n("button",{type:"button",class:"ps-2.5 pe-1 py-1 cursor-pointer rounded-s-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary",onClick:l=>da(s)},i(s.name),9,ko),n("button",{type:"button",class:"pe-2 py-1 text-destructive hover:text-destructive/80 opacity-0 group-hover:opacity-100 focus-visible:opacity-100 cursor-pointer rounded-e-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary",title:t(e)("global.delete","Delete"),"aria-label":t(e)("global.delete","Delete")+": "+s.name,onClick:l=>ca(s)},"Ã",8,Co)]))),128))])])):u("",!0),h.value.siteid?(r(),c("div",Ao,[n("div",So,[n("table",Do,[n("caption",To,i(t(e)("adzones.ad_zones","Ad Zones")),1),n("thead",$o,[n("tr",null,[n("th",Vo,i(t(e)("adzones.zone_name","Name")),1),n("th",Fo,i(t(e)("adzones.adzone_type","Type")),1),n("th",Uo,i(t(e)("adzones.banner_size","Size")),1),n("th",No,[n("span",Mo,i(t(e)("global.actions","Actions")),1)])])]),n("tbody",Ko,[(r(!0),c(N,null,oe(h.value.items,(s,l)=>(r(),c("tr",{key:l},[n("td",Ro,[M(n("input",{"onUpdate:modelValue":f=>s.name=f,type:"text",class:"ui-input w-full text-xs h-8",placeholder:t(e)("adzones.zone_name","Name"),"aria-label":t(e)("adzones.zone_name","Name")},null,8,Bo),[[ve,s.name]])]),n("td",Po,[p(Y,{modelValue:s.adzone_typeid,options:B.value,label:t(e)("adzones.adzone_type","Type"),showAllOption:!1,searchable:B.value.length>10,valueKey:"id",labelKey:"name","onUpdate:modelValue":f=>{s.adzone_typeid=f,pe(f)||(s.sizeid=0)},width:"w-full"},null,8,["modelValue","options","label","searchable","onUpdate:modelValue"])]),n("td",Lo,[pe(s.adzone_typeid)?(r(),v(Y,{key:0,modelValue:s.sizeid,options:te.value,label:t(e)("adzones.banner_size","Size"),showAllOption:!1,searchable:te.value.length>10,valueKey:"id",labelKey:"name","onUpdate:modelValue":f=>s.sizeid=f,width:"w-full"},null,8,["modelValue","options","label","searchable","onUpdate:modelValue"])):(r(),c("span",Eo,"â"))]),n("td",Io,[h.value.items.length>1?(r(),c("button",{key:0,type:"button",class:"p-0.5 text-destructive hover:bg-muted rounded cursor-pointer","aria-label":t(e)("global.remove","Remove"),onClick:f=>zt(l)},[p(t(tt),{class:"h-4 w-4","aria-hidden":"true"})],8,Oo)):u("",!0)])]))),128))])])]),n("div",Wo,[(r(!0),c(N,null,oe(h.value.items,(s,l)=>(r(),c("div",{key:l,class:"border border-border rounded-md p-3 space-y-2"},[n("div",jo,[n("span",Zo,"#"+i(l+1),1),h.value.items.length>1?(r(),c("button",{key:0,type:"button",class:"p-0.5 text-destructive hover:bg-muted rounded cursor-pointer","aria-label":t(e)("global.remove","Remove"),onClick:f=>zt(l)},[p(t(tt),{class:"h-4 w-4","aria-hidden":"true"})],8,Ho)):u("",!0)]),M(n("input",{"onUpdate:modelValue":f=>s.name=f,type:"text",class:"ui-input w-full text-sm",placeholder:t(e)("adzones.zone_name","Name"),"aria-label":t(e)("adzones.zone_name","Name")},null,8,qo),[[ve,s.name]]),p(Y,{modelValue:s.adzone_typeid,options:B.value,label:t(e)("adzones.adzone_type","Type"),showAllOption:!1,searchable:B.value.length>10,valueKey:"id",labelKey:"name","onUpdate:modelValue":f=>{s.adzone_typeid=f,pe(f)||(s.sizeid=0)},width:"w-full"},null,8,["modelValue","options","label","searchable","onUpdate:modelValue"]),pe(s.adzone_typeid)?(r(),v(Y,{key:0,modelValue:s.sizeid,options:te.value,label:t(e)("adzones.banner_size","Size"),showAllOption:!1,searchable:te.value.length>10,valueKey:"id",labelKey:"name","onUpdate:modelValue":f=>s.sizeid=f,width:"w-full"},null,8,["modelValue","options","label","searchable","onUpdate:modelValue"])):u("",!0)]))),128))]),n("div",Yo,[n("button",{type:"button",class:"text-sm text-muted-foreground hover:text-primary hover:underline cursor-pointer",onClick:pa},"+ "+i(t(e)("adzones.add_another","Add another")),1),na.value?(r(),c("div",Go,[q.value?(r(),c("button",{key:0,t
1ype:"button",class:"px-2 py-1 text-xs rounded-md border border-primary/30 bg-primary/5 hover:bg-primary/10 text-primary transition-colors cursor-pointer whitespace-nowrap",onClick:ua},i(t(e)("adzones.update_set","Update"))+' "'+i(q.value.name)+'" ',1)):u("",!0),q.value?(r(),c("span",Jo,i(t(e)("global.or","or")),1)):u("",!0),M(n("input",{"onUpdate:modelValue":o[23]||(o[23]=s=>ce.value=s),type:"text",class:"ui-input text-xs h-7 w-full sm:w-36",placeholder:t(e)("adzones.template_name","New set name..."),"aria-label":t(e)("adzones.template_name","New set name..."),onKeydown:ja(gt,["enter"])},null,40,Xo),[[ve,ce.value]]),n("button",{type:"button",class:"px-2 py-1 text-xs rounded-md border border-input bg-muted hover:bg-accent transition-colors cursor-pointer whitespace-nowrap",disabled:!ce.value.trim()||Se.value,onClick:gt},i(t(e)("adzones.save_set","Save New")),9,Qo)])):u("",!0)])])):u("",!0),p($t,{class:"pt-2","cancel-variant":"ghost",saving:qe.value,"saving-label":t(e)("global.saving","Saving..."),disabled:!h.value.siteid||!h.value.items.some(s=>s.name.trim()&&s.adzone_typeid),"cancel-label":t(e)("global.cancel","Cancel"),"save-label":t(e)("global.save","Save"),onCancel:o[24]||(o[24]=s=>H.value=!1),onSave:ma},null,8,["saving","saving-label","disabled","cancel-label","save-label"])])])]),_:1},8,["show","aria-labelledby"]),p(Qe,{show:ae.value,"max-width":"lg","aria-labelledby":t(nt),onClose:o[33]||(o[33]=s=>ae.value=!1)},{default:b(()=>[n("div",en,[n("div",tn,[n("h3",{id:t(nt),class:"text-lg font-semibold text-card-foreground"},i(t(e)("adzones.duplicate_zone","Duplicate Ad Zone")),9,an),p(at,{onClick:o[26]||(o[26]=s=>ae.value=!1)})]),n("p",sn,i(t(e)("adzones.duplicate_intro","The new zone copies the settings of {name}. Its statistics and earnings start at zero, and it gets its own ad code â pick below what else should come along.",{name:Ve.value?.name||""})),1),n("label",{for:t(lt),class:"block text-sm font-medium text-foreground mb-1"},[w(i(t(e)("global.name","Name"))+" ",1),o[37]||(o[37]=n("span",{class:"text-destructive","aria-hidden":"true"},"*",-1))],8,on),M(n("input",{id:t(lt),"onUpdate:modelValue":o[27]||(o[27]=s=>A.value.name=s),type:"text",class:"ui-input w-full mb-4"},null,8,nn),[[ve,A.value.name]]),n("div",ln,[va.value?(r(),c("label",rn,[M(n("input",{"onUpdate:modelValue":o[28]||(o[28]=s=>A.value.copy_campaigns=s),type:"checkbox",class:"mt-0.5"},null,512),[[be,A.value.copy_campaigns]]),n("span",null,[w(i(t(e)("adzones.clone_copy_campaigns","Copy the whitelisted campaigns"))+" ",1),n("span",dn,i(t(e)("adzones.clone_copy_campaigns_hint","The new zone is added to the same campaigns, so it can serve them right away.")),1)])])):u("",!0),n("label",un,[M(n("input",{"onUpdate:modelValue":o[29]||(o[29]=s=>A.value.copy_own_ads=s),type:"checkbox",class:"mt-0.5"},null,512),[[be,A.value.copy_own_ads]]),n("span",null,[w(i(t(e)("adzones.clone_copy_own_ads","Copy the own ads"))+" ",1),n("span",cn,i(t(e)("adzones.clone_copy_own_ads_hint","Your own fallback creatives on this zone are copied along with it.")),1)])]),n("label",pn,[M(n("input",{"onUpdate:modelValue":o[30]||(o[30]=s=>A.value.copy_settings=s),type:"checkbox",class:"mt-0.5"},null,512),[[be,A.value.copy_settings]]),n("span",null,[w(i(t(e)("adzones.clone_copy_settings","Copy costs, payouts and the subid / domain lists"))+" ",1),n("span",mn,i(t(e)("adzones.clone_copy_settings_hint","Leave off to start the new zone on the defaults instead.")),1)])]),n("label",_n,[M(n("input",{"onUpdate:modelValue":o[31]||(o[31]=s=>A.value.start_active=s),type:"checkbox",class:"mt-0.5"},null,512),[[be,A.value.start_active]]),n("span",null,[w(i(t(e)("adzones.clone_start_active","Activate the new zone straight away"))+" ",1),n("span",bn,i(t(e)("adzones.clone_start_active_hint","Off by default â a zone starts earning the moment its code is live, so this gives you time to place the tag first.")),1)])])]),p($t,{class:"mt-5",saving:Je.value,"saving-label":t(e)("global.saving","Saving..."),disabled:!A.value.name.trim(),"cancel-label":t(e)("global.cancel","Cancel"),"save-label":t(e)("adzones.duplicate_action","Duplicate"),onCancel:o[32]||(o[32]=s=>ae.value=!1),onSave:ha},null,8,["saving","saving-label","disabled","cancel-label","save-label"])])]),_:1},8,["show","aria-labelledby"]),p(Qe,{show:Te.value,"max-width":"lg","aria-labelledby":t(he),onClose:o[35]||(o[35]=s=>Te.value=!1)},{default:b(()=>[n("div",vn,[n("div",fn,[n("h3",{id:t(he),class:"text-lg font-semibold text-card-foreground"}
1,i(t(e)("adzones.blocked_advertisers","Blocked Advertisers")),9,hn),p(at,{onClick:o[34]||(o[34]=s=>Te.value=!1)})]),Ye.value?(r(),c("div",yn,i(t(e)("global.loading","Loading...")),1)):$e.value.length===0?(r(),c("div",gn,i(t(e)("adzones.no_blocked","No blocked advertisers")),1)):(r(),c("div",xn,[(r(!0),c(N,null,oe($e.value,s=>(r(),c("div",{key:s.id,class:"flex items-center justify-between px-3 py-2 text-sm"},[n("div",zn,[n("span",wn,i(s.title),1),p(Tt,{id:s.id,class:"text-muted-foreground ms-1.5 text-xs"},null,8,["id"])]),n("span",{class:me(["flex-shrink-0 ms-2 text-xs",s.isactive?"text-green-600":"text-muted-foreground"])},i(s.isactive?t(e)("common.active","Active"):t(e)("common.inactive","Inactive")),3)]))),128))]))])]),_:1},8,["show","aria-labelledby"])],2)}}},fl=xa(kn,[["__scopeId","data-v-7b401512"]]);export{fl 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.