1import{d as C,c as b,w as M,f as m,j as o,n as g,_ as f,F as N,N as B,l as $,s as S,q as V,v as l,i as c,x as v,g as j,m as E,t as F}from"./index.16ba4ea0.js";const R={key:0,class:"flex flex-wrap justify-center items-center gap-1 sm:gap-2 mt-4 sm:mt-6"},z={class:"sm:hidden"},D={key:0,class:"px-1 sm:px-2 text-zinc-400"},L={class:"sm:hidden"},_=C({__name:"Pagination",props:{total:{type:Number,required:!0,default:0},currentPage:{type:Number,required:!0,default:1},limit:{type:Number,required:!0,default:10},show:{type:Boolean,default:!0},queryParam:{type:String,default:"page"}},emits:["update:currentPage"],setup(r,{emit:k}){const n=r,x=k,q=S(),d=V(),p=b(()=>Math.max(1,Math.ceil(n.total/n.limit))),h=t=>{x("update:currentPage",t),q.replace({path:d.path,query:{...d.query,[n.queryParam]:String(t)}})};M(()=>d.query[n.queryParam],t=>{const e=Number(t);!isNaN(e)&&e!==n.currentPage&&x("update:currentPage",e)},{immediate:!0});const w=b(()=>{const t=[],e=p.value,s=n.currentPage;if(e<=6){for(let a=1;a<=e;a++)t.push(a);return t}t.push(1,2);let i=Math.max(3,s-1),u=Math.min(e-2,s+1);s===4&&([i,u]=[3,5]),s===e-3&&([i,u]=[e-4,e-2]),i>3&&t.push("...");for(let a=i;a<=u;a++)a>2&&a<e-1&&t.push(a);u<e-2&&t.push("..."),t.push(e-1,e);const y=[];let P;for(const a of t)a!==P&&y.push(a),P=a;return y});return(t,e)=>r.show?(l(),m("div",R,[o(f,{theme:"light",class:"!px-2 !py-1 sm:!px-3 sm:!py-1.5 text-sm sm:text-base",disabled:r.currentPage===1,onClick:e[0]||(e[0]=s=>h(Math.max(1,r.currentPage-1)))},{default:g(()=>[e[2]||(e[2]=c("span",{class:"hidden sm:inline"},"Previous",-1)),c("span",z,[o(v,{name:"chevron-left",class:"h-5 w-5"})])]),_:1},8,["disabled"]),(l(!0),m(N,null,B(w.value,(s,i)=>(l(),m(N,{key:i},[s==="..."?(l(),m("span",D,"...")):(l(),j(f,{key:1,theme:s===r.currentPage?"blue":"light",class:"!px-2 !py-1 sm:!px-3 sm:!py-1.5 text-sm sm:text-base",onClick:u=>h(s),disabled:s===r.currentPage},{default:g(()=>[E(F(s),1)]),_:2},1032,["theme","onClick","disabled"]))],64))),128)),o(f,{theme:"light",class:"!px-2 !py-1 sm:!px-3 sm:!py-1.5 text-sm sm:text-base",disabled:r.currentPage===p.value,onClick:e[1]||(e[1]=s=>h(Math.min(p.value,r.currentPage+1)))},{default:g(()=>[e[3]||(e[3]=c("span",{class:"hidden sm:inline"},"Next",-1)),c("span",L,[o(v,{name:"chevron-right",class:"h-5 w-5"})])]),_:1},8,["disabled"])])):$("",!0)}});export{_};
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.