1import{a as _t,_ as wt,r as $t}from"./Be5YDrkg.js";import{P as Ae,a as Fe,f as pe,u as Pt,b as Ct,c as It,_ as Rt,d as Et,e as Tt,g as St,h as zt}from"./C2PtVgw0.js";import Xe from"./C-K-oo1Q.js";import{_ as Bt,a as Ot,b as ue,c as jt}from"./NtHmqyK5.js";import{bd as ae,bl as oe,br as q,bb as Q,bg as e,b6 as s,ba as _,b8 as i,b9 as h,b7 as o,bf as U,bw as L,be as K,bc as ee,bh as x,bk as c,by as Dt,bX as se,bS as Ne,bm as Qe,bD as We,bj as ne,bn as Ue,bA as J,bP as Lt,b5 as Kt,bQ as Mt,bR as qt,bi as At,bv as ye,c6 as Ft,c7 as Nt,c8 as Ut,bp as Vt}from"./fkuu-W5h.js";import{c as we,X as Yt}from"./DQDhvwn8.js";import{D as Ve}from"./6n-SoiuE.js";import{_ as Ht}from"./BHjpCTku.js";import{_ as Ze}from"./D8JXwWvr.js";import{r as Gt}from"./RZVKh3za.js";import{_ as _e,a as Xt}from"./Blvy2WIX.js";import{u as Qt}from"./DMLIm-Gg.js";import"./ukfdQzAc.js";import"./BzxX8ifo.js";import"./CzrO4Xl1.js";import"./uNPnPfWt.js";import"./C8tdCacw.js";import"./BBmBCefi.js";import"./-VedwdA4.js";import"./Biaa8or9.js";import"./8-yWMMii.js";import"./CFLwaUC3.js";import"./B5JyLIAz.js";import"./Boum7PQV.js";import"./oiFKoxUv.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},f=new t.Error().stack;f&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[f]="01a0edbe-95ca-43fd-9382-7ac3de0db45f",t._sentryDebugIdIdentifier="sentry-dbid-01a0edbe-95ca-43fd-9382-7ac3de0db45f")}catch{}})();const Wt=we("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);const Zt=we("file-spreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]);const Jt=we("printer",[["path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",key:"143wyd"}],["path",{d:"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",key:"1itne7"}],["rect",{x:"6",y:"14",width:"12",height:"8",rx:"1",key:"1ue0tg"}]]),en={class:"px-1 pb-1 pt-0.5"},tn={class:"mb-1.5 px-1 text-xs font-medium leading-none text-menuTitle"},nn={class:"flex gap-1"},sn=["onClick"],an=["href"],on=["href"],ln=["href"],de="flex cursor-pointer items-center gap-2.5 rounded-lg px-2 py-2.5 text-sm font-bold leading-none text-[#17181c] focus:bg-[#e5f0ff]",rn=ae({__name:"RankingBoardActionsMenu",props:{rowsPerPage:{},rowsPerPageOptions:{},exportBase:{},canExport:{type:Boolean},pdfDownloadUrl:{}},emits:["setRowsPerPage","print"],setup(t,{emit:f}){const m=f,{t:l}=oe();return(v,k)=>(s(),q(e(Bt),null,{default:Q(()=>[_(e(Ot),{"aria-label":e(l)("rankings.actions.more"),class:"flex size-[39px] shrink-0 items-center justify-center rounded-full border border-[#c8cad0] bg-white text-[#17181c] transition-colors hover:bg-[#f4f4f6] data-[state=open]:bg-[#f4f4f6]"},{default:Q(()=>[_(e(Wt),{class:"size-5"})]),_:1},8,["aria-label"]),_(e(jt),{align:"end","side-offset":8,class:"min-w-[220px] rounded-2xl border-0 bg-white p-2 shadow-[0px_4px_25px_0px_rgba(0,0,0,0.2)]"},{default:Q(()=>[i("div",en,[i("p",tn,h(e(l)("rankings.board.rowsPerPage")),1),i("div",nn,[(s(!0),o(K,null,U(t.rowsPerPageOptions,y=>(s(),o("button",{key:y,type:"button",class:L(["flex-1 rounded-lg px-2 py-1.5 text-sm font-bold leading-none transition-colors",y===t.rowsPerPage?"bg-[#e5f0ff] text-primary-transitionBlue":"bg-[#f4f4f6] text-[#17181c] hover:bg-[#eceef1]"]),onClick:E=>m("setRowsPerPage",y)},h(y),11,sn))),128))])]),t.pdfDownloadUrl||t.canExport?(s(),o(K,{key:0},[_(e(_t),{class:"my-1.5 bg-[#e2e3e7]"}),t.pdfDownloadUrl?(s(),q(e(ue),{key:0,"as-child":""},{default:Q(()=>[i("a",{href:t.pdfDownloadUrl,target:"_blank",rel:"noopener noreferrer",class:L(de)},[_(e(Ve),{class:"size-5 text-menuTitle"}),ee(" "+h(e(l)("rankings.actions.downloadPdf")),1)],8,an)]),_:1})):x("",!0),t.canExport?(s(),o(K,{key:1},[_(e(ue),{"as-child":""},{default:Q(()=>[i("a",{href:`${t.exportBase}?format=csv`,download:"",class:L(de)},[_(e(Ve),{class:"size-5 text-menuTitle"}),ee(" "+h(e(l)("rankings.actions.exportCsv")),1)],8,on)]),_:1}),_(e(ue),{"as-child":""},{default:Q(()=>[i("a",{href:t.exportBase,download:"",class:L(de)},[_(e(Zt),{class:"size-5 text-menuTitle"}),ee(" "+h(e(l)("rankings.actions.exportXlsx")),1)],8,ln)]),_:1}),_(e(ue),{class:L(de),onSelect:k[0]||(k[0]=y=>m("print"))},{default:Q(()=>[_(e(Jt),{class:"size-5 text-menuTitle"}),ee(" "+h(e(l)("rankings.actions.print")),1)]),_:1})],64)):x("",!0)],64)):x("",!0)]),_:1})]),_:1}))}}),cn=Object.assign(rn,{__name:"RankingBoardActionsMenu"}),un={class:"flex flex-col gap-2 rounded-2xl border border-[#c8cad0] bg-white p-4 lg:p-6"},dn={class:"mb-2 flex items-center justify-between gap-2"},pn={class:"text-xl font-bold leading-[1.4] text-[#3b3e4a]"},gn={class:"grid grid-cols-[1fr_auto_1fr] items-start gap-2 pb-4"},fn=["src","alt"],mn={class:"flex flex-col items-center gap-1"},bn={class:"text-base font-bold leading-tight text-[#17181c]"},hn={class:"flex items-center gap-1.5 text-sm font-bold text-menuTitle"},vn=["src"],xn={class:"order-2 self-center text-sm font-bold uppercase leading-none text-menuTitle"},kn={class:"grid grid-cols-[1fr_auto_1fr] divide-y divide-[#eceef1]"},yn={class:"px-3 text-center text-[11px] font-bold uppercase leading-tight tracking-[0.03em] text-menuTitle"},_n=ae({__name:"RankingCompareHeadToHead",props:{left:{},right:{},periodLabels:{},team:{type:Boolean}},emits:["close"],setup(t,{emit:f}){const m=t,l=f,{t:v}=oe(),k=(r,d)=>r!==null&&d?Math.round(r/d*100)/100:null,y=r=>r&&r.length?r.reduce((d,b)=>
1Math.max(d,b.points),0):null,E=r=>r.noc??"-",$=r=>r===null?"-":pe(r);function R(r,d,b,z){let O=null;return b===null&&z!==null?O="b":z===null&&b!==null?O="a":b!==null&&z!==null&&b!==z&&(O=b>z?"a":"b"),{key:r,label:d,a:b,b:z,winner:O}}const S=c(()=>{const r=m.left.row,d=m.right.row,b=r.pointsPrevious!==null||d.pointsPrevious!==null,z=[R("total",v("rankings.compare.totalPoints"),r.points,d.points)];if(b){const{current:O,previous:j}=m.periodLabels,F=R("current",v(Ae[O]),r.pointsCurrent,d.pointsCurrent),p=R("previous",v(Ae[j]),r.pointsPrevious,d.pointsPrevious),w=R("avgCurrent",v(Fe[O]),k(r.pointsCurrent,r.eventsCurrent),k(d.pointsCurrent,d.eventsCurrent)),B=R("avgPrevious",v(Fe[j]),k(r.pointsPrevious,r.eventsPrevious),k(d.pointsPrevious,d.eventsPrevious));z.push(...j==="first"?[p,F,B,w]:[F,p,w,B])}else z.push(R("avgOverall",v("rankings.compare.avgOverall"),k(r.points,r.totalEvents),k(d.points,d.totalEvents)));return z.push(R("best",v("rankings.compare.bestEvent"),y(m.left.events),y(m.right.events))),z});return(r,d)=>(s(),o("section",un,[i("div",dn,[i("h3",pn,h(e(v)("rankings.compare.headToHead")),1),i("button",{type:"button",class:"h-9 rounded-full px-4 text-sm font-bold leading-none text-primary-transitionBlue transition-colors hover:bg-[#e5f0ff]",onClick:d[0]||(d[0]=b=>l("close"))},h(e(v)("rankings.compare.clear")),1)]),i("div",gn,[(s(!0),o(K,null,U([t.left,t.right],(b,z)=>(s(),o("div",{key:b.row.athleteId,class:L(["flex flex-col items-center gap-2 text-center",z===1&&"order-3"])},[t.team&&b.row.flag?(s(),o("img",{key:0,src:b.row.flag,alt:b.row.noc??"",class:"size-16 shrink-0 rounded-full border border-primary-transitionBlue object-cover p-[2px]"},null,8,fn)):(s(),q(Ze,{key:1,src:b.row.profileImage,alt:b.row.name,size:"size-16",px:64},null,8,["src","alt"])),i("div",mn,[i("span",bn,h(b.row.name),1),i("span",hn,[i("span",null,"#"+h(b.row.rank),1),b.row.flag?(s(),o("img",{key:0,src:b.row.flag,alt:"",class:"size-4 rounded-full object-cover"},null,8,vn)):x("",!0),i("span",null,h(E(b.row)),1)])])],2))),128)),i("div",xn,h(e(v)("rankings.compare.vs")),1)]),i("div",kn,[(s(!0),o(K,null,U(e(S),b=>(s(),o("div",{key:b.key,class:"col-span-3 grid grid-cols-subgrid items-center gap-2 py-3"},[i("span",{class:L(["text-right text-lg font-bold leading-none",b.winner==="a"?"text-secondary-leafGreen":"text-[#17181c]"])},h($(b.a)),3),i("span",yn,h(b.label),1),i("span",{class:L(["text-left text-lg font-bold leading-none",b.winner==="b"?"text-secondary-leafGreen":"text-[#17181c]"])},h($(b.b)),3)]))),128))])]))}}),wn=Object.assign(_n,{__name:"RankingCompareHeadToHead"}),$n={class:"overflow-hidden rounded-2xl border border-[#c8cad0]"},Pn={class:"flex items-center gap-2 border-b border-[#c8cad0] bg-[#f5f5f5] px-4 py-2 lg:gap-5"},Cn={key:0,class:"flex h-11 w-8 shrink-0 items-center justify-center","aria-hidden":"true"},In=["role","tabindex","aria-label","onClick","onKeydown"],Rn={key:0,class:"flex w-8 shrink-0 items-center justify-center"},En=["checked","aria-label","onChange"],Tn={class:"flex w-9 shrink-0 items-center lg:w-24 lg:gap-1"},Sn={class:"min-w-[26px] text-xl font-bold leading-[1.4] text-[#17181c]"},zn={class:"hidden shrink-0 lg:flex"},Bn={class:"absolute left-4 top-[calc(50%+13px)] flex h-4 items-center lg:hidden"},On={class:"flex min-w-0 flex-1 items-center gap-2"},jn=["src"],Dn={class:"flex min-w-0 flex-1 flex-col"},Ln=["href"],Kn={key:1,class:"line-clamp-2 break-words text-base font-bold leading-6 text-[#3b3e4a]"},Mn={key:2,class:"flex items-center gap-1.5 text-xs font-medium leading-4 text-menuTitle md:hidden"},qn={key:0,class:"flex items-center gap-1.5"},An=["src"],Fn={key:1},Nn={key:1,"aria-hidden":"true"},Un={key:2},Vn={key:1,class:"hidden w-12 shrink-0 text-right text-sm font-bold leading-[14px] text-[#17181c] md:block"},Yn={class:"hidden w-24 shrink-0 items-center justify-end gap-2 md:flex"},Hn=["src"],Gn={class:"w-9 shrink-0 truncate text-left text-sm font-bold leading-[14px] text-[#17181c]"},Xn={class:"w-20 shrink-0 text-right text-sm font-bold leading-[14px] text-[#17181c] lg:w-[92px]"},Qn={key:4,class:"hidden w-24 shrink-0 text-right text-sm font-bold leading-[14px] text-[#17181c] sm:block"},Wn={class:"flex w-4 shrink-0 items-center justify-end"}
1,Zn={key:0,class:"bg-white p-10 text-center text-menuTitle"},Jn=ae({__name:"RankingFullBoardTable",props:{rows:{},rankingId:{},sortKey:{},sortDir:{},team:{type:Boolean},periods:{},periodLabels:{},pdf:{type:Boolean},hideYob:{type:Boolean},hideEvents:{type:Boolean},compareEnabled:{type:Boolean},selectedIds:{}},emits:["sort","toggle-compare"],setup(t,{emit:f}){const m=t,l=f,{t:v}=oe(),{open:k}=Pt();function y(p){return m.pdf?(p.scores?.length??0)>0:!(p.breakdown&&p.breakdown.length===0)}function E(p){return m.pdf&&p.slug&&p.athleteId?`https://www.triathlon.org/athletes/profile/${p.athleteId}/${p.slug}`:null}function $(p){y(p)&&k(p,m.rankingId,m.team)}const R=c(()=>m.periods>=2),S=c(()=>!m.pdf&&!m.team&&!m.hideYob),r=c(()=>m.periodLabels.previous==="first"?["previous","current"]:["current","previous"]),d=(p,w)=>w==="current"?p.eventsCurrent:p.eventsPrevious,b=(p,w)=>w==="current"?p.pointsCurrent:p.pointsPrevious,z=(p,w)=>w==="current"?p.currentPeriodFull:p.previousPeriodFull,O={current:{events:"eventsCurrent",points:"pointsCurrent"},previous:{events:"eventsPrevious",points:"pointsPrevious"}},j=[{key:"score0",labelKey:"rankings.table.bestScore"},{key:"score1",labelKey:"rankings.table.score2"},{key:"score2",labelKey:"rankings.table.score3"},{key:"score3",labelKey:"rankings.table.score4"},{key:"score4",labelKey:"rankings.table.score5"}].map(p=>({...p,sortable:!1,class:"hidden w-14 shrink-0 justify-end text-right xl:flex"})),F=c(()=>{const p={key:"rank",labelKey:"rankings.table.position",class:"w-9 shrink-0 lg:w-24"},w={key:"name",labelKey:"rankings.table.athlete",class:"min-w-0 flex-1"},B={key:"country",labelKey:"rankings.table.country",class:"hidden w-24 shrink-0 justify-end text-right md:flex"},T={key:"points",labelKey:"rankings.table.totalPoints",class:"w-20 shrink-0 justify-end text-right lg:w-[92px]"};if(m.pdf)return[p,w,B,T,...j];const n=m.team||m.hideYob?[]:[{key:"yob",labelKey:"rankings.table.yob",class:"hidden w-12 shrink-0 justify-end text-right md:flex"}];if(R.value)return[p,w,...n,B,T,...r.value.map(g=>({key:O[g].events,labelKey:Ct[m.periodLabels[g]],class:"hidden w-24 shrink-0 justify-end text-right xl:flex"})),...r.value.map(g=>({key:O[g].points,labelKey:It[m.periodLabels[g]],class:"hidden w-[84px] shrink-0 justify-end text-right lg:flex"}))];const I=m.hideEvents?[]:[{key:"events",labelKey:"rankings.table.totalEvents",class:"hidden w-24 shrink-0 justify-end text-right sm:flex"}];return[p,w,...n,B,T,...I]});return(p,w)=>{const B=Xe,T=Rt;return s(),o("div",$n,[i("div",Pn,[t.compareEnabled?(s(),o("div",Cn,[_(B,{name:"lucide:git-compare",class:"size-4 text-menuTitle"})])):x("",!0),(s(!0),o(K,null,U(e(F),n=>(s(),q(Dt(n.sortable===!1?"div":"button"),{key:n.key,type:n.sortable===!1?void 0:"button",class:L(["group flex h-11 items-center gap-1 text-sm font-bold leading-[1.15] text-menuTitle",n.class]),"aria-label":n.sortable===!1?void 0:t.sortKey===n.key?e(v)(t.sortDir==="asc"?"rankings.table.sortedAscending":"rankings.table.sortedDescending",{column:e(v)(n.labelKey)}):e(v)("rankings.table.sortBy",{column:e(v)(n.labelKey)}),onClick:I=>n.sortable===!1||l("sort",n.key)},{default:Q(()=>[i("span",{class:L(t.sortKey===n.key&&"text-[#17181c]")},h(e(v)(n.labelKey)),3),n.sortable!==!1?(s(),q(B,{key:0,name:t.sortKey===n.key?t.sortDir==="asc"?"lucide:chevron-up":"lucide:chevron-down":"lucide:chevrons-up-down",class:L(["size-3.5 shrink-0",t.sortKey===n.key?"text-[#17181c]":"text-menuTitle group-hover:text-[#17181c]"])},null,8,["name","class"])):x("",!0)]),_:2},1032,["type","class","aria-label","onClick"]))),128)),w[3]||(w[3]=i("div",{class:"w-4 shrink-0","aria-hidden":"true"},null,-1))]),(s(!0),o(K,null,U(t.rows,n=>(s(),o("div",{key:n.athleteId,class:"border-b border-[#c8cad0] bg-white last:border-b-0"},[i("div",{class:L(["relative flex min-h-[64px] items-center gap-2 px-4 py-3.5 transition-colors lg:gap-5 lg:py-5",[y(n)&&"cursor-pointer",t.selectedIds?.includes(n.athleteId)?"bg-[#e5f0ff]":y(n)&&"hover:bg-[#f4f4f6]"]]),role:y(n)?"button":void 0,tabindex:y(n)?0:void 0,"aria-label":y(n)?e(v)("rankings.table.viewBreakdown",{name:n.name}):void 0,onClick:I=>$(n),onKeydown:[Ne(se(I=>$(n),["prevent"]),["enter"]),Ne(se(I=>$(n),["prevent"]),["space"])]},[t.compareEnabled?(s(),o("span",Rn,[i("input",{type:"checkbox",class:"size-4 cursor-pointer accent-[#2250e3]",checked:t.selectedIds?.includes(n.athleteId)??!1,"aria-label":e(v)("rankings.compare.selectForComparison",{name:n.name}),onClick:w[0]||(w[0]=se(()=>{},["stop"])),onKeydown:w[1]||(w[1]=se(()=>{},["stop"])),onChange:I=>l("toggle-compare",n.athleteId)},null,40,En)])):x("",!0),i("span",Tn,[i("span",Sn,h(n.rank),1),i("span",zn,[_(T,{change:n.change,"show-delta":""},null,8,["change"])])]),i("span",Bn,[_(T,{change:n.change,"show-delta":"",compact:""},null,8,["change"])]),i("span",On,[t.team&&n.flag?(s(),o("img",{key:0,src:n.flag,alt:"",class:"size-9 shrink-0 rounded-full object-cover lg:size-10"},null,8,jn)):!t.team&&!t.pdf?(s(),q(Ze,{key:1,src:n.profileImage,alt:n.name,size:"size-9 lg:size-10"},null,8,["src","alt"])):x("",!0),i("span",Dn,[E(n)?(s(),o("a",{key:0,href:E(n)??void 0,target:"_blank",rel:"noopener noreferrer",class:"line-clamp-2 break-words text-base font-bold leading-6 text-primary-transitionBlue transition-colors hover:text-[#1a3fb8]",onClick:w[2]||(w[2]=se(()=>{},["stop"]))},h(n.name),9,Ln)):(s(),o("span",Kn,h(n.name),1)),e(S)&&n.yob||n.flag||n.noc?(s(),o("span",Mn,[n.flag||n.noc?(s(),o("span",qn,[n.flag?(s(),o("img",{key:0,src:n.flag,alt:"",class:"size-3.5 shrink-0 rounded-full object-cover"},null,8,An)):x("",!0),n.noc?(s(),o("span",Fn,h(n.noc),1)):x("",!0)])):x("",!0),e(S)&&n.yob&&(n.flag||n.noc)?(s(),o("span",Nn," · ")):x("",!0),e(S)&&n.yob?(s(),o("span",Un,h(n.yob),1)):x("",!0)])):x("",!0)])]),e(S)?(s(),o("span",Vn,h(n.yob??"-"),1)):x("",!0),i("span",Yn,[n.flag?(s(),o("img",{key:0,src:n.flag,alt:"",class:"size-4 shrink-0 rounded-full object-cover"},null,8,Hn)):x("",!0),i("span",Gn,h(n.noc??"-"),1)]),i("span",Xn,h(("formatPoints"in p?p.formatPoints:e(pe))(n.points)),1),e(R)?(s(),o(K,{key:2},[(s(!0),o(K,null,U(e(r),I=>(s(),o("span",{key:`events-${I}`,class:L(["hidden w-24 shrink-0 text-right text-sm font-bold leading-[14px] xl:block",z(n,I)?"text-[#d0342c]":"text-[#17181c]"])},h(d(n,I)??"-"),3))),128)),(s(!0),o(K,null,U(e(r),I=>(s(),o("span",{key:`points-${I}`,class:"hidden w-[84px] shrink-0 text-right text-sm font-bold leading-[14px] text-[#17181c] lg:block"},h(("formatPoints"in p?p.formatPoints:e(pe))(b(n,I))),1))),128))],64)):t.pdf?(s(),o(K,{key:3},U(5,I=>i("span",{key:I,class:"hidden w-14 shrink-0 text-right text-sm font-bold leading-[14px] text-[#17181c] xl:block"},h(("formatPoints"in p?p.formatPoints:e(pe))(n.scores?.[I-1])),1)),64)):t.hideEvents?x("",!0):(s(),o("span",Qn,h(n.totalEvents??"-"),1)),i("span",Wn,[y(n)?(s(),q(B,{key:0,name:"lucide:chevron-right",class:"size-4 shrink-0 text-menuTitle"})):x("",!0)])],42,In)]))),128)),t.rows.length?x("",!0):(s(),o("p",Zn,h(e(v)("rankings.board.noResults")),1))])}}}),es=Object.assign(Jn,{__name:"RankingFullBoardTable"}),ts={class:"pointer-events-none fixed inset-x-0 bottom-4 z-50 flex justify-center px-4 print:hidden"},ns={class:"pointer-events-auto flex w-full max-w-3xl flex-col gap-3 rounded-2xl border border-[#c8cad0] bg-white p-3 shadow-[0px_8px_30px_0px_rgba(0,0,0,0.18)] sm:flex-row sm:items-center sm:gap-4 sm:p-4"},ss={class:"flex min-w-0 flex-1 flex-wrap items-center gap-2"},as=["src","srcset","alt"],os=["src"],ls={class:"max-w-[160px] truncate text-sm font-bold leading-none text-[#17181c]"},rs=["aria-label","onClick"],is={key:0,class:"text-sm font-medium leading-tight text-menuTitle"},cs={class:"flex shrink-0 items-center gap-2"},us=["disabled"],ds=ae({__name:"RankingCompareTray",props:{entries:{},canCompare:{type:Boolean}},emits:["remove","compare","clear"],setup(t,{emit:f}){const m=t,l=c(()=>m.entries.map(y=>({...y,portrait:Gt(y.profileImage,24)}))),v=f,{t:k}=oe();return(y,E)=>(s(),o("div",ts,[i("div",ns,[i("ul",ss,[(s(!0),o(K,null,U(e(l),$=>(s(),o("li",{key:$.athleteId,class:"flex items-center gap-1.5 rounded-full border border-primary-transitionBlue bg-[#e5f0ff] py-1 pl-1 pr-2"},[$.portrait?(s(),o("img",{key:0,src:$.portrait.src,srcset:$.portrait.srcset,alt:$.name,class:"size-6 shrink-0 rounded-full object-cover"},null,8,as)):$.flag?(s(),o("img",{key:1,src:$.flag,alt:"",class:"size-6 shrink-0 rounded-full object-cover"},null,8,os)):x("",!0),i("span",ls,h($.name),1),i("button",{type:"button",class:"flex size-5 shrink-0 items-center justify-center rounded-full text-menuTitle transition-colors hover:bg-white","aria-label":e(k)("rankings.compare.remove",{name:$.name}),onClick:R=>v("remove",$.athleteId)},[_(e(Yt),{class:"size-3.5"}
1)],8,rs)]))),128)),t.canCompare?x("",!0):(s(),o("li",is,h(e(k)("rankings.compare.hint")),1))]),i("div",cs,[i("button",{type:"button",class:"h-10 rounded-full px-4 text-sm font-bold leading-none text-menuTitle transition-colors hover:bg-[#f4f4f6]",onClick:E[0]||(E[0]=$=>v("clear"))},h(e(k)("rankings.compare.clear")),1),i("button",{type:"button",class:"h-10 rounded-full bg-primary-transitionBlue px-5 text-sm font-bold leading-none text-white transition-opacity disabled:cursor-not-allowed disabled:opacity-40",disabled:!t.canCompare,onClick:E[1]||(E[1]=$=>v("compare"))},h(e(k)("rankings.compare.action",{count:t.entries.length})),9,us)])])]))}}),ps=Object.assign(ds,{__name:"RankingCompareTray"}),gs={current:"current",previous:"previous"},ge=2;function fs(t){if(typeof t!="string"||!t)return[];const f=[];for(const m of t.split("|")){const l=Number(m);if(Number.isInteger(l)&&l>0&&!f.includes(l)&&f.push(l),f.length>=ge)break}return f}function ms(t){return t.join("|")}const Ye={rank:t=>t.rank,name:t=>t.name.toLocaleLowerCase(),yob:t=>
1t.yob??0,country:t=>t.countryName?.toLocaleLowerCase()??"",events:t=>t.totalEvents??0,eventsCurrent:t=>t.eventsCurrent??0,eventsPrevious:t=>t.eventsPrevious??0,pointsCurrent:t=>t.pointsCurrent??0,pointsPrevious:t=>t.pointsPrevious??0,points:t=>t.points},He=50,Ge=[10,30,50,100];function bs(t){const f=Qe(),m=We(),l=g=>{const P=parseInt(String(g??""),10);return Number.isFinite(P)&&P>0?P:null},v=c(()=>f.query),k=c(()=>({q:typeof v.value.q=="string"?v.value.q:"",yob:l(v.value.yob),country:typeof v.value.country=="string"&&v.value.country!==""?v.value.country.toUpperCase():null})),y=c(()=>{const g=String(v.value.sort??"");return g in Ye?g:"rank"}),E=c(()=>v.value.dir==="desc"?"desc":"asc"),$=c(()=>{const g=l(v.value.rows);return g&&Ge.includes(g)?g:He}),R=c(()=>l(v.value.page)??1),S=g=>{const P={};for(const[M,D]of Object.entries({...f.query,...g}))D==null||D===""||(P[M]=String(D));m.replace({path:f.path,query:P})},r=(g,P)=>S({[g]:P,page:null}),d=()=>S({q:null,yob:null,country:null,page:null}),b=c(()=>k.value.q.trim()!==""||k.value.yob!==null||k.value.country!==null),z=g=>{y.value===g?S({sort:g==="rank"?null:g,dir:E.value==="asc"?"desc":null,page:null}):S({sort:g==="rank"?null:g,dir:null,page:null})},O=g=>S({rows:g===He?null:g,page:null}),j=()=>S({page:R.value+1}),F=c(()=>{const g=t.value??[],{q:P,yob:M,country:D}=k.value,G=P.trim().toLocaleLowerCase();return g.filter(N=>!(G&&!N.name.toLocaleLowerCase().includes(G)||M!==null&&N.yob!==M||D!==null&&N.noc!==D))}),p=c(()=>{const g=Ye[y.value],P=E.value==="asc"?1:-1;return[...F.value].sort((M,D)=>{const G=g(M),N=g(D);return G<N?-1*P:G>N?1*P:0})}),w=c(()=>p.value.slice(0,R.value*$.value)),B=c(()=>p.value.length),T=c(()=>w.value.length<B.value),n=c(()=>[...new Set((t.value??[]).map(g=>g.yob).filter(g=>g!=null))].sort((g,P)=>P-g)),I=c(()=>{const g=new Map;for(const P of t.value??[])P.noc&&!g.has(P.noc)&&g.set(P.noc,P.countryName??P.noc);return[...g.entries()].map(([P,M])=>({noc:P,name:M})).sort((P,M)=>P.name.localeCompare(M.name))});return{filters:k,sortKey:y,sortDir:E,rowsPerPage:$,rowsPerPageOptions:Ge,page:R,visible:w,totalFiltered:B,hasMore:T,
1yearOptions:n,countryOptions:I,setFilter:r,clearFilters:d,hasActiveFilters:b,setSort:z,setRowsPerPage:O,loadMore:j}}function hs(t){const f=ne([]),m=ne(!1),l=c(()=>f.value.length===ge),v=c(()=>m.value&&f.value.length===ge),k=c(()=>f.value.map(r=>t.value?.find(d=>d.athleteId===r)).filter(r=>!!r));function y(r){const d=f.value.indexOf(r);d>-1?f.value.splice(d,1):(f.value.push(r),f.value.length>ge&&f.value.shift()),f.value.length===0&&(m.value=!1)}function E(r){f.value=f.value.filter(d=>d!==r),f.value.length===0&&(m.value=!1)}function $(){l.value&&(m.value=!0)}function R(){f.value=[],m.value=!1}return{selectedIds:f,isComparing:m,canCompare:l,compareMode:v,selectedRows:k,toggle:y,remove:E,startComparing:$,clear:R,isSelected:r=>f.value.includes(r)}}const vs={class:"bg-[#f5f5f5]"},xs={class:"print:hidden"},ks={class:"mx-auto max-w-[1890px] lg:px-[75px]"},ys={class:"relative -mt-3 flex flex-col gap-6 rounded-t-3xl bg-white px-4 py-6 lg:-mt-14 lg:gap-8 lg:rounded-[32px] lg:p-10 print:mt-0"},_s={key:0,class:"flex flex-col gap-4 print:hidden"},ws={key:0,class:"flex flex-wrap items-center gap-4"},$s={class:"flex flex-wrap items-center gap-4"},Ps={key:0,class:"order-1 flex h-12 w-full items-center gap-2 rounded-full border border-[#c8cad0] bg-white px-4 lg:h-14 lg:w-auto lg:flex-1 lg:max-w-[500px]"},Cs=["placeholder"],Is={class:"order-2 flex w-full flex-wrap items-center gap-2.5 lg:order-3"},Rs={class:"hidden flex-wrap items-center gap-2.5 lg:flex"},Es={key:0,class:"lg:hidden"},Ts={key:2,class:"ml-auto flex items-center gap-2 lg:hidden"},Ss=["aria-pressed","aria-label"],zs={key:1,class:"hidden lg:order-2 lg:ml-auto lg:flex lg:items-center lg:gap-6"},Bs=["aria-pressed"],Os={class:"relative"},js=["value","aria-label"],Ds=["value","selected"],Ls=["href"],Ks={key:2,class:"flex items-center"},Ms=["href","aria-label"],qs=["href","aria-label"],As=["aria-label"],Fs={key:2,class:"py-20 text-center text-menuTitle"},Ns={key:1,class:"flex flex-col items-center gap-8 print:hidden"},Us={class:"text-base leading-[1.5] text-[#17181c]"},ba=ae({__name:"ranking-board",async setup(t){let f,m;const{t:l,locale:v}=oe(),k=Qe(),y=We(),{capture:E}=Qt(),$=()=>({ranking_group:S.value.slug,ranking:r.value.slug,edition:d.value.slug}),R=c(()=>{const a=Ut(String(k.params.group),String(k.params.ranking),String(k.params.edition));if(!a)throw Vt({statusCode:404,fatal:!0});return a}),S=c(()=>R.value.group),r=c(()=>R.value.ranking),d=c(()=>R.value.edition),b=c(()=>d.value.team===!0),z=([f,m]=Ue(()=>St(c(()=>d.value.categoryId??r.value.categoryId))),f=await f,m(),f),O=c(()=>z.value?.displayName??r.value.title),j=c(()=>r.value.pdf===!0),F=c(()=>j.value&&d.value.pdfSlug?Ft(d.value.pdfSlug):null),p=c(()=>r.value.archive??null),w=c(()=>{if(!p.value)return[];const a=d.value.slug;return p.value.years.filter(u=>u.downloads?!b.value:u.genders.includes(a))}),B=c(()=>{const a=parseInt(String(k.query.year??""),10),u=w.value;return u.some(H=>H.year===a)?a:u[0]?.year??0}),T=c(()=>w.value.find(a=>a.year===B.value)?.downloads??null),n=c(()=>j.value?`/api/rankings/pdf/${d.value.pdfSlug}`:p.value?T.value?null:`/api/rankings/archive/${r.value.slug}/${B.value}/${d.value.slug}`:`/api/rankings/${d.value.rankingId}`),{data:I,status:g,execute:P}=([f,m]=Ue(()=>Nt(()=>n.value??"",{immediate:n.value!==null,watch:!1},"$ZABoNr-Lrr")),f=await f,m(),f);J(n,a=>{a!==null&&P()});function M(a){y.replace({path:k.path,query:{...k.query,year:a}})}const D=c(()=>I.value?.rows),G=c(()=>I.value?.periodLabels??gs),N=c(()=>!p.value||(D.value?.some(a=>a.yob!==null)??!0)),Je=c(()=>!p.value||(D.value?.some(a=>a.totalEvents!==null)??!0)),{filters:X,sortKey:et,sortDir:tt,rowsPerPage:fe,rowsPerPageOptions:$e,visible:Pe,totalFiltered:me,hasMore:nt,yearOptions:Ce,countryOptions:Ie,setFilter:Re,clearFilters:st,hasActiveFilters:at,setSort:ot,setRowsPerPage:Ee,loadMore:Te}=bs(D),W=ne(X.value.q);let le;J(W,a=>{clearTimeout(le),le=setTimeout(()=>{const u=a.trim()||null;(X.value.q||null)!==u&&Re("q",u)},300)}),J(()=>X.value.q,a=>{a!==W.value.trim()&&(W.value=a)}),Lt(()=>clearTimeout(le));function lt(a){const u=r.value.editions.find(H=>H.slug===a);!u||u.slug===d.value.slug||(E("ranking_selected",{ranking_group:S.value.slug,ranking:r.value.slug,edition:u.slug,source:"edition_toggle"}),y.push({path:$t(S.value,r.value,u),query:k.query}))}function re(a,u){Re(a,u),u!==null&&E("board_filtered",{...$(),filter:a,value:String(u)})}function Se(){clearTimeout(le),W.value="",st()}const be=c(()=>({searchPlaceholder:l("rankings.board.searchOptions"),closeLabel:l("rankings.breakdown.close"),noOptionsLabel:l("rankings.board.noOptions")})),ze=c(()=>{const a=[];return p.value&&a.push({param:"year",label:l("rankings.board.archiveYear"),required:!0,showAll:!0,options:w.value.map(u=>({value:String(u.year),label:String(u.year)}))}),!b.value&&!j.value&&!T.value&&N.value&&a.push({param:"yob",label:l("rankings.board.yearOfBirth"),showAll:!0,options:Ce.value.map(u=>({value:String(u),label:String(u)}))}),T.value||a.push({param:"country",label:l("rankings.table.country"),showAll:!0,options:Ie.value.map(u=>({value:u.noc,label:u.name}))}),a.filter(u=>u.options.length>0)}),rt=c(()=>({year:p.value?String(B.value):null,yob:X.value.yob===null?null:String(X.value.yob),country:X.value.country})),it=c(()=>({title:l("rankings.board.filters"),close:l("rankings.breakdown.close"),clear:l("rankings.board.clearFilters"),searchOptions:l("rankings.board.searchOptions"),submit:T.value?l("rankings.board.done"):l("rankings.board.showResults",{count:me.value}),more:a=>l("rankings.board.moreOptions",{count:a})}));function ct(a,u){if(a==="year"){u!==null&&M(Number(u));return}if(a==="yob"){re("yob",u===null?null:Number(u));return}a==="country"&&re("country",u)}const ut=c(()=>Et(I.value?.published,v.value)),he=c(()=>`/api/rankings/${d.value.rankingId}/export`);function Be(){window.print()}const ve=c(()=>!j.value),Oe=c(()=>l(b.value?"rankings.compare.toggleTeam":"rankings.compare.toggle")),V=ne(!1),je=c(()=>ve.value&&V.value);function De(){V.value=!V.value,V.value?E("compare_started",$()):ce()}const{selectedIds:Z,canCompare:dt,compareMode:Y,selectedRows:ie,toggle:pt,remove:gt,startComparing:Le,clear:ce}=hs(D),te=ne(new Map);J([Y,()=>Z.value.join(",")],async()=>{Y.value&&await Promise.all(ie.value.map(async a=>{if(!(te.value.has(a.athleteId)||a.breakdown)){te.value.set(a.athleteId,null);try{const u=await $fetch(`/api/rankings/${d.value.rankingId}/breakdown/${a.athleteId}`);te.value.set(a.athleteId,u.events)}catch(u){console.warn("[compare] breakdown fetch failed:",u),te.value.delete(a.athleteId)}}}))});const Ke=c(()=>ie.value.map(a=>({row:a,events:a.breakdown??te.value.get(a.athleteId)??null}))),Me=c(()=>Ke.value[0]??null),qe=c(()=>Ke.value[1]??null),ft=c(()=>ie.value.map(a=>({athleteId:a.athleteId,name:a.name,flag:a.flag,profileImage:a.profileImage}))),mt=c(()=>Y.value?ie.value:Pe.value),xe=ne(!1);
1return J(d,()=>{ce(),te.value=new Map,xe.value=!1}),J([D,()=>k.query.compare],([a,u])=>{if(xe.value||!a?.length)return;xe.value=!0;const H=fs(u).filter(ke=>a.some(A=>A.athleteId===ke));H.length&&(V.value=!0,Z.value=H,H.length===2&&Le())},{immediate:!0}),J([Y,()=>Z.value.join(",")],()=>{const a=Y.value&&Z.value.length?ms(Z.value):void 0;(k.query.compare??void 0)!==a&&y.replace({path:k.path,query:{...k.query,compare:a}})}),Kt({title:()=>`${O.value} ${d.value.label} - ${l("rankings.boardTitle")}`,meta:[{name:"description",content:()=>l("rankings.boardSeoDescription",{ranking:`${O.value} ${d.value.label}`})}]}),(a,u)=>{const H=wt,ke=Tt,A=Xe,bt=cn,ht=Ht,vt=wn,xt=es,kt=zt,yt=ps;return s(),o("div",vs,[i("div",xs,[_(H,{title:e(O),updated:e(ut),group:e(S),ranking:e(r),target:"board","edition-slug":e(d).slug},null,8,["title","updated","group","ranking","edition-slug"])]),i("div",ks,[i("div",ys,[e(Y)?x("",!0):(s(),o("div",_s,[e(r).editions.length>1?(s(),o("div",ws,[_(ke,{editions:e(r).editions,"model-value":e(d).slug,"onUpdate:modelValue":lt},null,8,["editions","model-value"])])):x("",!0),i("div",$s,[e(T)?x("",!0):(s(),o("label",Ps,[_(A,{name:"lucide:search",class:"size-5 shrink-0 text-menuTitle"}),Mt(i("input",{"onUpdate:modelValue":u[0]||(u[0]=C=>At(W)?W.value=C:null),type:"search",placeholder:e(l)("rankings.board.searchPlaceholder"),class:"w-full min-w-0 bg-transparent text-base leading-none text-[#17181c] outline-none placeholder:text-[#a2a5ae]"},null,8,Cs),[[qt,e(W)]])])),i("div",Is,[i("div",Rs,[e(p)?(s(),q(_e,ye({key:0},e(be),{label:e(l)("rankings.board.archivesFrom"),title:e(l)("rankings.board.archiveYear"),options:e(w).map(C=>({value:C.year,label:String(C.year)})),"model-value":e(B),required:"","onUpdate:modelValue":u[1]||(u[1]=C=>M(Number(C)))}),null,16,["label","title","options","model-value"])):x("",!0),!e(b)&&!e(j)&&!e(T)&&e(N)?(s(),q(_e,ye({key:1},e(be),{label:e(l)("rankings.board.yearOfBirth"),"clear-label":e(l)("rankings.board.all"),options:e(Ce).map(C=>({value:C,label:String(C)})),"model-value":e(X).yob,"onUpdate:modelValue":u[2]||(u[2]=C=>re("yob",C))}),null,16,["label","clear-label","options","model-value"])):x("",!0),e(T)?x("",!0):(s(),q(_e,ye({key:2},e(be),{label:e(l)("rankings.table.country"),"clear-label":e(l)("rankings.board.all"),options:e(Ie).map(C=>({value:C.noc,label:C.name})),"model-value":e(X).country,"onUpdate:modelValue":u[3]||(u[3]=C=>re("country",C))}),null,16,["label","clear-label","options","model-value"]))]),e(ze).length?(s(),o("div",Es,[_(Xt,{groups:e(ze),values:e(rt),labels:e(it),onSet:ct,onClear:Se},null,8,["groups","values","labels"])])):x("",!0),e(at)?(s(),o("button",{key:1,type:"button",class:"flex h-[39px] items-center gap-1.5 rounded-chip px-[17px] text-sm font-bold text-primary-transitionBlue transition-colors hover:bg-surface-tint",onClick:Se},[_(A,{name:"lucide:x",class:"size-4","aria-hidden":"true"}),ee(" "+h(e(l)("rankings.board.clearFilters")),1)])):x("",!0),e(T)?x("",!0):(s(),o("div",Ts,[e(ve)?(s(),o("button",{key:0,type:"button",class:L(["flex size-[39px] shrink-0 items-center justify-center rounded-full transition-colors",e(V)?"bg-[#007aff]/15 text-[#002e75]":"border border-[#c8cad0] bg-white text-[#17181c] hover:bg-[#f4f4f6]"]),"aria-pressed":e(V),"aria-label":e(Oe),onClick:De},[_(A,{name:"lucide:git-compare",class:"size-5"})],10,Ss)):x("",!0),_(bt,{"rows-per-page":e(fe),"rows-per-page-options":e($e),"export-base":e(he),"can-export":!e(p)&&!e(j),"pdf-download-url":e(F),onSetRowsPerPage:e(Ee),onPrint:Be},null,8,["rows-per-page","rows-per-page-options","export-base","can-export","pdf-download-url","onSetRowsPerPage"])]))]),e(T)?x("",!0):(s(),o("div",zs,[e(ve)?(s(),o("button",{key:0,type:"button",class:L(["flex h-12 items-center gap-2 rounded-full px-5 text-sm font-bold transition-colors",e(V)?"bg-[#007aff]/15 text-[#002e75]":"border border-[#17181c] text-[#17181c] hover:bg-[#f5f5f5]"]),"aria-pressed":e(V),onClick:De},[ee(h(e(Oe))+" ",1),_(A,{name:"lucide:git-compare",class:"size-6"})],10,Bs)):x("",!0),i("div",Os,[i("select",{value:e(fe),class:"appearance-none bg-transparent pr-5 text-base leading-[1.6] text-[#17181c] outline-none","aria-label":e(l)("rankings.board.rowsPerPage"),onChange:u[4]||(u[4]=C=>e(Ee)(Number(C.target.value)))},[(s(!0),o(K,null,U(e($e),C=>(s(),o("option",{key:C,value:C,selected:C===e(fe)},h(C),9,Ds))),128))],40,js),_(A,{name:"lucide:chevron-down",class:"pointer-events-none absolute right-0 top-1/2 size-4 -translate-y-1/2 text-[#17181c]"})]),e(F)?(s(),o("a",{key:1,href:e(F),target:"_blank",rel:"noopener noreferrer",class:"flex h-12 items-center gap-2 rounded-full border border-[#c8cad0] px-5 text-sm font-bold text-[#17181c] transition-colors hover:bg-[#f5f5f5]"},[_(A,{name:"lucide:download",class:"size-5"}),ee(" "+h(e(l)("rankings.actions.downloadPdf")),1)],8,Ls)):x("",!0),!e(p)&&!e(j)?(s(),o("div",Ks,[i("a",{href:`${e(he)}?format=csv`,class:"flex size-12 items-center justify-center rounded-full transition-colors hover:bg-[#f5f5f5]","aria-label":e(l)("rankings.actions.exportCsv"),download:""},[_(A,{name:"lucide:download",class:"size-6 text-[#17181c]"})],8,Ms),i("a",{href:e(he),class:"flex size-12 items-center justify-center rounded-full transition-colors hover:bg-[#f5f5f5]","aria-label":e(l)("rankings.actions.exportXlsx"),download:""},[_(A,{name:"lucide:file-spreadsheet",class:"size-6 text-[#17181c]"})],8,qs),i("button",{type:"button",class:"flex size-12 items-center justify-center rounded-full transition-colors hover:bg-[#f5f5f5]","aria-label":e(l)("rankings.actions.print"),onClick:Be},[_(A,{name:"lucide:printer",class:"size-6 text-[#17181c]"})],8,As)])):x("",!0)]))])])),e(T)?(s(),q(ht,{key:1,rows:e(T)},null,8,["rows"])):e(g)==="pending"&&!e(I)?(s(),o("div",Fs,h(e(l)("rankings.loading")),1)):(s(),o(K,{key:3},[e(Y)&&e(Me)&&e(qe)?(s(),q(vt,{key:0,left:e(Me),right:e(qe),"period-labels":e(G),team:e(b),onClose:e(ce)},null,8,["left","right","period-labels","team","onClose"])):x("",!0),_(xt,{rows:e(mt),"ranking-id":e(d).rankingId,"sort-key":e(et),"sort-dir":e(tt),team:e(b),periods:e(I)?.periods??2,"period-labels":e(G),pdf:e(j),"hide-yob":!e(N),"hide-events":!e(Je),"compare-enabled":e(je),"selected-ids":e(Z),onSort:e(ot),onToggleCompare:e(pt)},null,8,["rows","ranking-id","sort-key","sort-dir","team","periods","period-labels","pdf","hide-yob","hide-events","compare-enabled","selected-ids","onSort","onToggleCompare"]),e(Y)?x("",!0):(s(),o("div",Ns,[i("p",Us,h(e(l)("rankings.board.showing",{from:e(me)===0?0:1,to:e(Pe).length,total:e(me)}
1)),1),e(nt)?(s(),o("button",{key:0,type:"button",class:"h-12 rounded-[32px] border border-primary-transitionBlue px-5 py-3 text-sm font-bold leading-none text-primary-transitionBlue transition-colors hover:bg-[#e5f0ff]",onClick:u[5]||(u[5]=(...C)=>e(Te)&&e(Te)(...C))},h(e(l)("rankings.board.loadMore")),1)):x("",!0)]))],64))])]),_(kt),e(je)&&!e(Y)&&e(Z).length?(s(),q(yt,{key:0,entries:e(ft),"can-compare":e(dt),onRemove:e(gt),onCompare:e(Le),onClear:e(ce)},null,8,["entries","can-compare","onRemove","onCompare","onClear"])):x("",!0)])}}});export{ba 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.