1 |
- import{a9 as E,ah as L,aO as A,_ as N,c as C,aP as p,d as R,r as V,e as U,w as T,aQ as Y,a as g,h as q,ae as I,k as O,b as F,n as W,aR as j,x as $,u as z,Y as G,L as K,z as Q,aS as X,p as Z,F as J,A as ee}from"./index-39e30d20.js";import{p as b,P as te}from"./index-0910e353.js";const ae=E({},b,{modelValue:L(),filter:Function,formatter:{type:Function,default:(e,l)=>l}}),ne=Object.keys(b);function se(e,l){if(e<0)return[];const u=Array(e);let n=-1;for(;++n<e;)u[n]=l(n);return u}const le=(e,l)=>32-new Date(e,l-1,32).getDate(),H=(e,l,u,n,o,m)=>{const d=se(l-e+1,s=>{const i=A(e+s);return n(u,{text:i,value:i})});return o?o(u,d,m):d},oe=(e,l)=>e.map((u,n)=>{const o=l[n];if(o.length){const m=+o[0].value,d=+o[o.length-1].value;return A(N(+u,m,d))}return u}),w=new Date().getFullYear(),[ue]=C("date-picker"),re=E({},ae,{columnsType:{type:Array,default:()=>["year","month","day"]},minDate:{type:Date,default:()=>new Date(w-10,0,1),validator:p},maxDate:{type:Date,default:()=>new Date(w+10,11,31),validator:p}});var ce=R({name:ue,props:re,emits:["confirm","cancel","change","update:modelValue"],setup(e,{emit:l,slots:u}){const n=V(e.modelValue),o=V(!1),m=()=>{const t=e.minDate.getFullYear(),c=e.maxDate.getFullYear();return H(t,c,"year",e.formatter,e.filter)},d=t=>t===e.minDate.getFullYear(),s=t=>t===e.maxDate.getFullYear(),i=t=>t===e.minDate.getMonth()+1,k=t=>t===e.maxDate.getMonth()+1,D=t=>{const{minDate:c,columnsType:h}=e,a=h.indexOf(t),r=o.value?e.modelValue[a]:n.value[a];if(r)return+r;switch(t){case"year":return c.getFullYear();case"month":return c.getMonth()+1;case"day":return c.getDate()}},M=()=>{const t=D("year"),c=d(t)?e.minDate.getMonth()+1:1,h=s(t)?e.maxDate.getMonth()+1:12;return H(c,h,"month",e.formatter,e.filter)},f=()=>{const t=D("year"),c=D("month"),h=d(t)&&i(c)?e.minDate.getDate():1,a=s(t)&&k(c)?e.maxDate.getDate():le(t,c);return H(h,a,"day",e.formatter,e.filter)},v=U(()=>e.columnsType.map(t=>{switch(t){case"year":return m();case"month":return M();case"day":return f();default:throw new Error(`[Vant] DatePicker: unsupported columns type: ${t}`)}}));T(n,t=>{Y(t,e.modelValue)||l("update:modelValue",t)}),T(()=>e.modelValue,(t,c)=>{o.value=Y(c,n.value),t=oe(t,v.value),Y(t,n.value)||(n.value=t),o.value=!1},{immediate:!0});const P=(...t)=>l("change",...t),_=(...t)=>l("cancel",...t),S=(...t)=>l("confirm",...t);return()=>g(te,q({modelValue:n.value,"onUpdate:modelValue":t=>n.value=t,columns:v.value,onChange:P,onCancel:_,onConfirm:S},I(e,ne)),u)}});const Ve=O(ce),[ie,y,de]=C("pull-refresh"),B=50,me=["pulling","loosing","success"],fe={disabled:Boolean,modelValue:Boolean,headHeight:F(B),successText:String,pullingText:String,loosingText:String,loadingText:String,pullDistance:W,successDuration:F(500),animationDuration:F(300)};var he=R({name:ie,props:fe,emits:["change","refresh","update:modelValue"],setup(e,{emit:l,slots:u}){let n;const o=V(),m=V(),d=j(o),s=$({status:"normal",distance:0,duration:0}),i=z(),k=()=>{if(e.headHeight!==B)return{height:`${e.headHeight}px`}},D=()=>s.status!=="loading"&&s.status!=="success"&&!e.disabled,M=a=>{const r=+(e.pullDistance||e.headHeight);return a>r&&(a<r*2?a=r+(a-r)/2:a=r*1.5+(a-r*2)/4),Math.round(a)},f=(a,r)=>{const x=+(e.pullDistance||e.headHeight);s.distance=a,r?s.status="loading":a===0?s.status="normal":a<x?s.status="pulling":s.status="loosing",l("change",{status:s.status,distance:a})},v=()=>{const{status:a}=s;return a==="normal"?"":e[`${a}Text`]||de(a)},P=()=>{const{status:a,distance:r}=s;if(u[a])return u[a]({distance:r});const x=[];return me.includes(a)&&x.push(g("div",{class:y("text")},[v()])),a==="loading"&&x.push(g(K,{class:y("loading")},{default:v})),x},_=()=>{s.status="success",setTimeout(()=>{f(0)},+e.successDuration)},S=a=>{n=X(d.value)===0,n&&(s.duration=0,i.start(a))},t=a=>{D()&&S(a)},c=a=>{if(D()){n||S(a);const{deltaY:r}=i;i.move(a),n&&r.value>=0&&i.isVertical()&&(Z(a),f(M(r.value)))}},h=()=>{n&&i.deltaY.value&&D()&&(s.duration=+e.animationDuration,s.status==="loosing"?(f(+e.headHeight,!0),l("update:modelValue",!0),Q(()=>l("refresh"))):f(0))};return T(()=>e.modelValue,a=>{s.duration=+e.animationDuration,a?f(+e.headHeight,!0):u.success||e.successText?_():f(0,!1)}),G("touchmove",c,{target:m}),()=>{var a;const r={transitionDuration:`${s.duration}ms`,transform:s.distance?`translate3d(0,${s.distance}px, 0)`:""};return g("div",{ref:o,class:y()},[g("div",{ref:m,class:y("track"),style:r,onTouchstartPassive:t,onTouchend:h,onTouchcancel:h},[g("div",{class:y("head"),style:k()},[P()]),(a=u.default)==null?void 0:a.call(u)])])}}});const ge=O(he),De="_animateWrap_1kuq9_1",ve="_loading_1kuq9_5",xe="_pullRefresh_1kuq9_13",ye={animateWrap:De,loading:ve,pullRefresh:xe};const ke=R({name:"m-full-refresh",props:{title:String,modelValue:{type:Boolean,default:!1}},emits:["refresh","update:modelValue"],setup(e,{emit:l,slots:u}){const n=$({fullState:!1});return T(()=>e.modelValue,o=>{n.fullState=o}),T(()=>n.fullState,o=>{l("update:modelValue",o)}),()=>g(ge,{modelValue:n.fullState,"onUpdate:modelValue":o=>n.fullState=o,onRefresh:()=>l("refresh"),loadingText:" ",class:ye.pullRefresh},{default:()=>g(J,null,[ee(" "),u.default&&u.default()])})}});export{Ve as D,ke as M};
|