Files
tehran_taj/apps/user-app-v2/dist/assets/index-Dt-tC6af.js
T

2 lines
3.0 KiB
JavaScript

import{d as H,b6 as v,p as n,b7 as w,b8 as A,b9 as P,i as B,ba as C,bb as L,bc as _,bd as N,Q as U,be as M,h as D,K as R,bf as Y,x as F,bg as S,bh as G,bi as K}from"./index-HTCCzwfY.js";const[Q,h]=P("loading"),X=Array(12).fill(null).map((t,l)=>n("i",{class:h("line",String(l+1))},null)),j=n("svg",{class:h("circular"),viewBox:"25 25 50 50"},[n("circle",{cx:"50",cy:"50",r:"20",fill:"none"},null)]),q={size:v,type:A("circular"),color:String,vertical:Boolean,textSize:v,textColor:String};var J=H({name:Q,props:q,setup(t,{slots:l}){const o=B(()=>C({color:t.color},L(t.size))),c=()=>{const i=t.type==="spinner"?X:j;return n("span",{class:h("spinner",t.type),style:o.value},[l.icon?l.icon():i])},g=()=>{var i;if(l.default)return n("span",{class:h("text"),style:{fontSize:w(t.textSize),color:(i=t.textColor)!=null?i:t.color}},[l.default()])};return()=>{const{type:i,vertical:m}=t;return n("div",{class:h([i,{vertical:m}]),"aria-live":"polite","aria-busy":!0},[c(),g()])}}});const O=_(J),[W,f,Z]=P("pull-refresh"),k=50,ee=["pulling","loosing","success"],te={disabled:Boolean,modelValue:Boolean,headHeight:S(k),successText:String,pullingText:String,loosingText:String,loadingText:String,pullDistance:v,successDuration:S(500),animationDuration:S(300)};var ae=H({name:W,props:te,emits:["change","refresh","update:modelValue"],setup(t,{emit:l,slots:o}){let c;const g=D(),i=D(),m=N(g),a=R({status:"normal",distance:0,duration:0}),r=K(),p=()=>{if(t.headHeight!==k)return{height:`${t.headHeight}px`}},T=()=>a.status!=="loading"&&a.status!=="success"&&!t.disabled,$=e=>{const s=+(t.pullDistance||t.headHeight);return e>s&&(e<s*2?e=s+(e-s)/2:e=s*1.5+(e-s*2)/4),Math.round(e)},u=(e,s)=>{const d=+(t.pullDistance||t.headHeight);a.distance=e,s?a.status="loading":e===0?a.status="normal":e<d?a.status="pulling":a.status="loosing",l("change",{status:a.status,distance:e})},x=()=>{const{status:e}=a;return e==="normal"?"":t[`${e}Text`]||Z(e)},z=()=>{const{status:e,distance:s}=a;if(o[e])return o[e]({distance:s});const d=[];return ee.includes(e)&&d.push(n("div",{class:f("text")},[x()])),e==="loading"&&d.push(n(O,{class:f("loading")},{default:x})),d},E=()=>{a.status="success",setTimeout(()=>{u(0)},+t.successDuration)},b=e=>{c=G(m.value)===0,c&&(a.duration=0,r.start(e))},I=e=>{T()&&b(e)},V=e=>{if(T()){c||b(e);const{deltaY:s}=r;r.move(e),c&&s.value>=0&&r.isVertical()&&(Y(e),u($(s.value)))}},y=()=>{c&&r.deltaY.value&&T()&&(a.duration=+t.animationDuration,a.status==="loosing"?(u(+t.headHeight,!0),l("update:modelValue",!0),F(()=>l("refresh"))):u(0))};return U(()=>t.modelValue,e=>{a.duration=+t.animationDuration,e?u(+t.headHeight,!0):o.success||t.successText?E():u(0,!1)}),M("touchmove",V,{target:i}),()=>{var e;const s={transitionDuration:`${a.duration}ms`,transform:a.distance?`translate3d(0,${a.distance}px, 0)`:""};return n("div",{ref:g,class:f()},[n("div",{ref:i,class:f("track"),style:s,onTouchstartPassive:I,onTouchend:y,onTouchcancel:y},[n("div",{class:f("head"),style:p()},[z()]),(e=o.default)==null?void 0:e.call(o)])])}}});const ne=_(ae);export{O as L,ne as P};