| 1 |
- import{c as A,bh as K,F as H,g as U,H as W,e as l,k as G,w as J,bi as D,bj as R,h as m,a as X,b9 as Y,ak as Z}from"./index-Cd2JsgaO.js";import{b as p}from"./format-hlGAdIUH.js";function S(e,h){return[!0,!1].includes(e)?e:h}const te=A({name:"QPagination",props:{...H,modelValue:{type:Number,required:!0},min:{type:[Number,String],default:1},max:{type:[Number,String],required:!0},maxPages:{type:[Number,String],default:0,validator:e=>(typeof e=="string"?parseInt(e,10):e)>=0},inputStyle:[Array,String,Object],inputClass:[Array,String,Object],size:String,disable:Boolean,input:Boolean,iconPrev:String,iconNext:String,iconFirst:String,iconLast:String,toFn:Function,boundaryLinks:{type:Boolean,default:null},boundaryNumbers:{type:Boolean,default:null},directionLinks:{type:Boolean,default:null},ellipses:{type:Boolean,default:null},ripple:{type:[Boolean,Object],default:null},round:Boolean,rounded:Boolean,flat:Boolean,outline:Boolean,unelevated:Boolean,push:Boolean,glossy:Boolean,color:{type:String,default:"primary"},textColor:String,activeDesign:{type:String,default:"",values:e=>e===""||K.includes(e)},activeColor:String,activeTextColor:String,gutter:String,padding:{type:String,default:"3px 2px"}},emits:["update:modelValue"],setup(e,{emit:h}){const{proxy:k}=U(),{$q:u}=k,M=W(e,u),i=l(()=>parseInt(e.min,10)),n=l(()=>parseInt(e.max,10)),B=l(()=>parseInt(e.maxPages,10)),V=l(()=>d.value+" / "+n.value),$=l(()=>S(e.boundaryLinks,e.input)),c=l(()=>S(e.boundaryNumbers,!e.input)),q=l(()=>S(e.directionLinks,e.input)),x=l(()=>S(e.ellipses,!e.input)),f=G(null),d=l({get:()=>e.modelValue,set:a=>{if(a=parseInt(a,10),e.disable||isNaN(a))return;const t=p(a,i.value,n.value);e.modelValue!==t&&h("update:modelValue",t)}});J(()=>`${i.value}|${n.value}`,()=>{d.value=e.modelValue});const E=l(()=>"q-pagination row no-wrap items-center"+(e.disable===!0?" disabled":"")),P=l(()=>e.gutter in D?`${D[e.gutter]}px`:e.gutter||null),I=l(()=>P.value!==null?`--q-pagination-gutter-parent:-${P.value};--q-pagination-gutter-child:${P.value}`:null),y=l(()=>{const a=[e.iconFirst||u.iconSet.pagination.first,e.iconPrev||u.iconSet.pagination.prev,e.iconNext||u.iconSet.pagination.next,e.iconLast||u.iconSet.pagination.last];return u.lang.rtl===!0?a.reverse():a}),L=l(()=>({"aria-disabled":e.disable===!0?"true":"false",role:"navigation"})),C=l(()=>R(e,"flat")),T=l(()=>({[C.value]:!0,round:e.round,rounded:e.rounded,padding:e.padding,color:e.color,textColor:e.textColor,size:e.size,ripple:e.ripple!==null?e.ripple:!0})),j=l(()=>{const a={[C.value]:!1};return e.activeDesign!==""&&(a[e.activeDesign]=!0),a}),O=l(()=>({...j.value,color:e.activeColor||e.color,textColor:e.activeTextColor||e.textColor})),v=l(()=>{let a=Math.max(B.value,1+(x.value?2:0)+(c.value?2:0));const t={pgFrom:i.value,pgTo:n.value,ellipsesStart:!1,ellipsesEnd:!1,boundaryStart:!1,boundaryEnd:!1,marginalStyle:{minWidth:`${Math.max(2,String(n.value).length)}em`}};return B.value&&a<n.value-i.value+1&&(a=1+Math.floor(a/2)*2,t.pgFrom=Math.max(i.value,Math.min(n.value-a+1,e.modelValue-Math.floor(a/2))),t.pgTo=Math.min(n.value,t.pgFrom+a-1),c.value&&(t.boundaryStart=!0,t.pgFrom++),x.value&&t.pgFrom>i.value+(c.value?1:0)&&(t.ellipsesStart=!0,t.pgFrom++),c.value&&(t.boundaryEnd=!0,t.pgTo--),x.value&&t.pgTo<n.value-(c.value?1:0)&&(t.ellipsesEnd=!0,t.pgTo--)),t});function F(a){d.value=a}function Q(a){d.value=d.value+a}function N(){d.value=f.value,f.value=null,u.platform.is.mobile===!0&&document.activeElement.blur()}function _(a){f.value=a}function z(a){Y(a,13)===!0&&N()}function r(a,t,g){const s={"aria-label":t,"aria-current":"false",...T.value,...a};return g===!0&&Object.assign(s,{"aria-current":"true",...O.value}),t!==void 0&&(e.toFn!==void 0?s.to=e.toFn(t):s.onClick=()=>{F(t)}),m(Z,s)}return Object.assign(k,{set:F,setByOffset:Q}),()=>{const a=[],t=[];let g;if($.value===!0&&(a.push(r({key:"bls",disable:e.disable||e.modelValue<=i.value,icon:y.value[0],"aria-label":u.lang.pagination.first},i.value)),t.unshift(r({key:"ble",disable:e.disable||e.modelValue>=n.value,icon:y.value[3],"aria-label":u.lang.pagination.last},n.value))),q.value===!0&&(a.push(r({key:"bdp",disable:e.disable||e.modelValue<=i.value,icon:y.value[1],"aria-label":u.lang.pagination.prev},e.modelValue-1)),t.unshift(r({key:"bdn",disable:e.disable||e.modelValue>=n.value,icon:y.value[2],"aria-label":u.lang.pagination.next},e.modelValue+1))),e.input!==!0){g=[];const{pgFrom:s,pgTo:w,marginalStyle:b}=v.value;if(v.value.boundaryStart===!0){const o=i.value===e.modelValue;a.push(r({key:"bns",style:b,disable:e.disable,label:i.value},i.value,o))}if(v.value.boundaryEnd===!0){const o=n.value===e.modelValue;t.unshift(r({key:"bne",style:b,disable:e.disable,label:n.value},n.value,o))}v.value.ellipsesStart===!0&&a.push(r({key:"bes",style:b,disable:e.disable,label:"…",ripple:!1},s-1)),v.value.ellipsesEnd===!0&&t.unshift(r({key:"bee",style:b,disable:e.disable,label:"…",ripple:!1},w+1));for(let o=s;o<=w;o++)g.push(r({key:`bpg${o}`,style:b,disable:e.disable,label:o},o,o===e.modelValue))}return m("div",{class:E.value,...L.value},[m("div",{class:"q-pagination__content row no-wrap items-center",style:I.value},[...a,e.input===!0?m(X,{class:"inline",style:{width:`${V.value.length/1.5}em`},type:"number",dense:!0,value:f.value,disable:e.disable,dark:M.value,borderless:!0,inputClass:e.inputClass,inputStyle:e.inputStyle,placeholder:V.value,min:i.value,max:n.value,"onUpdate:modelValue":_,onKeyup:z,onBlur:N}):m("div",{class:"q-pagination__middle row justify-center"},g),...t])])}}});export{te as Q};
|