Files
hedena_gold/apps/user-app/dist/assets/AppPullRefresh-DVPfmdvm.js
T

2 lines
4.3 KiB
JavaScript

import{be as C,d as L,bf as U,bg as G,w as F,bh as j,x as h,k as x,U as z,bi as Y,bj as q,$ as J,bk as H,bl as O,bm as X,bn as K,f as I,O as Q,g as o,n as P,i as M,L as W,q as R,B as Z,aV as ee,J as b,j as f,e as E,S as te,_ as se}from"./index-Crp8bPtg.js";const[ae,S,le]=C("pull-refresh"),N=50,ne=["pulling","loosing","success"],oe={disabled:Boolean,modelValue:Boolean,headHeight:H(N),successText:String,pullingText:String,loosingText:String,loadingText:String,pullDistance:U,successDuration:H(500),animationDuration:H(300)};var ue=L({name:ae,props:oe,emits:["change","refresh","update:modelValue"],setup(s,{emit:v,slots:i}){let d;const m=x(),g=x(),T=G(m),t=z({status:"normal",distance:0,duration:0}),p=X(),r=()=>{if(s.headHeight!==N)return{height:`${s.headHeight}px`}},c=()=>t.status!=="loading"&&t.status!=="success"&&!s.disabled,D=e=>{const l=+(s.pullDistance||s.headHeight);return e>l&&(e<l*2?e=l+(e-l)/2:e=l*1.5+(e-l*2)/4),Math.round(e)},u=(e,l)=>{const _=+(s.pullDistance||s.headHeight);t.distance=e,l?t.status="loading":e===0?t.status="normal":e<_?t.status="pulling":t.status="loosing",v("change",{status:t.status,distance:e})},y=()=>{const{status:e}=t;return e==="normal"?"":s[`${e}Text`]||le(e)},k=()=>{const{status:e,distance:l}=t;if(i[e])return i[e]({distance:l});const _=[];return ne.includes(e)&&_.push(h("div",{class:S("text")},[y()])),e==="loading"&&_.push(h(Y,{class:S("loading")},{default:y})),_},V=()=>{t.status="success",setTimeout(()=>{u(0)},+s.successDuration)},a=e=>{d=O(T.value)===0,d&&(t.duration=0,p.start(e))},n=e=>{c()&&a(e)},$=e=>{if(c()){d||a(e);const{deltaY:l}=p;p.move(e),d&&l.value>=0&&p.isVertical()&&(q(e),u(D(l.value)))}},A=()=>{d&&p.deltaY.value&&c()&&(t.duration=+s.animationDuration,t.status==="loosing"?(u(+s.headHeight,!0),v("update:modelValue",!0),J(()=>v("refresh"))):u(0))};return F(()=>s.modelValue,e=>{t.duration=+s.animationDuration,e?u(+s.headHeight,!0):i.success||s.successText?V():u(0,!1)}),j("touchmove",$,{target:g}),()=>{var e;const l={transitionDuration:`${t.duration}ms`,transform:t.distance?`translate3d(0,${t.distance}px, 0)`:""};return h("div",{ref:m,class:S()},[h("div",{ref:g,class:S("track"),style:l,onTouchstartPassive:n,onTouchend:A,onTouchcancel:A},[h("div",{class:S("head"),style:r()},[k()]),(e=i.default)==null?void 0:e.call(i)])])}}});const ie=K(ue),re={class:"app-ptr"},ce={class:"app-ptr__mark"},de=["alt"],pe=100,w=168,B=54,fe=L({__name:"AppPullRefresh",props:{modelValue:{type:Boolean},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","refresh"],setup(s,{emit:v}){const i=2*Math.PI*B,d=s,m=v,g=x(0),T=x("normal");function t(a){T.value=a.status,g.value=a.distance}function p(a){m("update:modelValue",a),a||(g.value=0,T.value="normal")}const r=f(()=>T.value==="loading"||d.modelValue),c=f(()=>r.value?1:Math.min(g.value/w,1)),D=f(()=>{if(r.value)return 1;const a=c.value;return Math.pow(a,1.55)}),u=f(()=>c.value>.02||r.value),y=f(()=>{const a=c.value;return{opacity:u.value?Math.min(.18+a*.82,1):0,pointerEvents:r.value?"auto":"none"}}),k=f(()=>{const a=c.value;return{transform:`scale(${.78+a*.22})`,opacity:Math.min(.45+a*.55,1)}}),V=f(()=>{const a=D.value;return{strokeDasharray:`${i}`,strokeDashoffset:`${i*(1-a)}`}});return(a,n)=>(E(),I("div",re,[(E(),Q(ee,{to:"body"},[o("div",{class:M(["app-ptr__overlay",{"is-visible":u.value,"is-loading":r.value}]),"aria-hidden":"true",style:P(y.value)},[o("div",{class:"app-ptr__stage",style:P(k.value)},[o("div",ce,[(E(),I("svg",{class:M(["app-ptr__ring keep-motion",{"is-spinning":r.value}]),viewBox:"0 0 120 120","aria-hidden":"true"},[o("circle",{class:"app-ptr__ringTrack",cx:"60",cy:"60",r:B}),o("circle",{class:"app-ptr__ringFill",cx:"60",cy:"60",r:B,style:P(V.value)},null,4)],2)),o("img",{src:W,alt:R(Z).name,class:"app-ptr__logo",draggable:"false"},null,8,de)])],4)],6)])),h(R(ie),{class:"app-ptr__vant","model-value":s.modelValue,disabled:s.disabled,"head-height":pe,"pull-distance":w,"success-duration":0,"onUpdate:modelValue":p,onRefresh:n[0]||(n[0]=$=>m("refresh")),onChange:t},{pulling:b(()=>[...n[1]||(n[1]=[o("span",null,null,-1)])]),loosing:b(()=>[...n[2]||(n[2]=[o("span",null,null,-1)])]),loading:b(()=>[...n[3]||(n[3]=[o("span",null,null,-1)])]),success:b(()=>[...n[4]||(n[4]=[o("span",null,null,-1)])]),default:b(()=>[te(a.$slots,"default",{},void 0,!0)]),_:3},8,["model-value","disabled"])]))}}),he=se(fe,[["__scopeId","data-v-53198114"]]);export{he as A};