1 line
6.3 KiB
JavaScript
1 line
6.3 KiB
JavaScript
import{bK as Y,bj as x,aS as j,bN as R,aM as T,bO as k,bp as $,a5 as E,aL as N,Q as G,a as I,c as m,w as H,H as Q,U as C,G as J,az as Z,a3 as U,bU as ee}from"./index-3a2b6cd5.js";import{g as L,s as z}from"./touch-5ab90751.js";import{c as te}from"./selection-8094913b.js";function ne(t){const i=[.06,6,50];return typeof t=="string"&&t.length&&t.split(":").forEach((u,d)=>{const r=parseFloat(u);r&&(i[d]=r)}),i}const ie=Y({name:"touch-swipe",beforeMount(t,{value:i,arg:u,modifiers:d}){if(d.mouse!==!0&&x.has.touch!==!0)return;const r=d.mouseCapture===!0?"Capture":"",e={handler:i,sensitivity:ne(u),direction:L(d),noop:j,mouseStart(o){z(o,e)&&R(o)&&(T(e,"temp",[[document,"mousemove","move",`notPassive${r}`],[document,"mouseup","end","notPassiveCapture"]]),e.start(o,!0))},touchStart(o){if(z(o,e)){const c=o.target;T(e,"temp",[[c,"touchmove","move","notPassiveCapture"],[c,"touchcancel","end","notPassiveCapture"],[c,"touchend","end","notPassiveCapture"]]),e.start(o)}},start(o,c){x.is.firefox===!0&&k(t,!0);const f=$(o);e.event={x:f.left,y:f.top,time:Date.now(),mouse:c===!0,dir:!1}},move(o){if(e.event===void 0)return;if(e.event.dir!==!1){E(o);return}const c=Date.now()-e.event.time;if(c===0)return;const f=$(o),h=f.left-e.event.x,l=Math.abs(h),g=f.top-e.event.y,s=Math.abs(g);if(e.event.mouse!==!0){if(l<e.sensitivity[1]&&s<e.sensitivity[1]){e.end(o);return}}else if(l<e.sensitivity[2]&&s<e.sensitivity[2])return;const v=l/c,y=s/c;e.direction.vertical===!0&&l<s&&l<100&&y>e.sensitivity[0]&&(e.event.dir=g<0?"up":"down"),e.direction.horizontal===!0&&l>s&&s<100&&v>e.sensitivity[0]&&(e.event.dir=h<0?"left":"right"),e.direction.up===!0&&l<s&&g<0&&l<100&&y>e.sensitivity[0]&&(e.event.dir="up"),e.direction.down===!0&&l<s&&g>0&&l<100&&y>e.sensitivity[0]&&(e.event.dir="down"),e.direction.left===!0&&l>s&&h<0&&s<100&&v>e.sensitivity[0]&&(e.event.dir="left"),e.direction.right===!0&&l>s&&h>0&&s<100&&v>e.sensitivity[0]&&(e.event.dir="right"),e.event.dir!==!1?(E(o),e.event.mouse===!0&&(document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),te(),e.styleCleanup=A=>{e.styleCleanup=void 0,document.body.classList.remove("non-selectable");const b=()=>{document.body.classList.remove("no-pointer-events--children")};A===!0?setTimeout(b,50):b()}),e.handler({evt:o,touch:e.event.mouse!==!0,mouse:e.event.mouse,direction:e.event.dir,duration:c,distance:{x:l,y:s}})):e.end(o)},end(o){e.event!==void 0&&(N(e,"temp"),x.is.firefox===!0&&k(t,!1),e.styleCleanup!==void 0&&e.styleCleanup(!0),o!==void 0&&e.event.dir!==!1&&E(o),e.event=void 0)}};if(t.__qtouchswipe=e,d.mouse===!0){const o=d.mouseCapture===!0||d.mousecapture===!0?"Capture":"";T(e,"main",[[t,"mousedown","mouseStart",`passive${o}`]])}x.has.touch===!0&&T(e,"main",[[t,"touchstart","touchStart",`passive${d.capture===!0?"Capture":""}`],[t,"touchmove","noop","notPassiveCapture"]])},updated(t,i){const u=t.__qtouchswipe;u!==void 0&&(i.oldValue!==i.value&&(typeof i.value!="function"&&u.end(),u.handler=i.value),u.direction=L(i.modifiers))},beforeUnmount(t){const i=t.__qtouchswipe;i!==void 0&&(N(i,"main"),N(i,"temp"),x.is.firefox===!0&&k(t,!1),i.styleCleanup!==void 0&&i.styleCleanup(),delete t.__qtouchswipe)}});function oe(){const t=new Map;return{getCache:function(i,u){return t[i]===void 0?t[i]=u:t[i]},getCacheWithFn:function(i,u){return t[i]===void 0?t[i]=u():t[i]}}}const ue={name:{required:!0},disable:Boolean},K={setup(t,{slots:i}){return()=>C("div",{class:"q-panel scroll",role:"tabpanel"},U(i.default))}},le={modelValue:{required:!0},animated:Boolean,infinite:Boolean,swipeable:Boolean,vertical:Boolean,transitionPrev:String,transitionNext:String,transitionDuration:{type:[String,Number],default:300},keepAlive:Boolean,keepAliveInclude:[String,Array,RegExp],keepAliveExclude:[String,Array,RegExp],keepAliveMax:Number},ce=["update:modelValue","beforeTransition","transition"];function de(){const{props:t,emit:i,proxy:u}=G(),{getCacheWithFn:d}=oe();let r,e;const o=I(null),c=I(null);function f(n){const a=t.vertical===!0?"up":"left";P((u.$q.lang.rtl===!0?-1:1)*(n.direction===a?1:-1))}const h=m(()=>[[ie,f,void 0,{horizontal:t.vertical!==!0,vertical:t.vertical,mouse:!0}]]),l=m(()=>t.transitionPrev||`slide-${t.vertical===!0?"down":"right"}`),g=m(()=>t.transitionNext||`slide-${t.vertical===!0?"up":"left"}`),s=m(()=>`--q-transition-duration: ${t.transitionDuration}ms`),v=m(()=>typeof t.modelValue=="string"||typeof t.modelValue=="number"?t.modelValue:String(t.modelValue)),y=m(()=>({include:t.keepAliveInclude,exclude:t.keepAliveExclude,max:t.keepAliveMax})),A=m(()=>t.keepAliveInclude!==void 0||t.keepAliveExclude!==void 0);H(()=>t.modelValue,(n,a)=>{const p=S(n)===!0?q(n):-1;e!==!0&&D(p===-1?0:p<q(a)?-1:1),o.value!==p&&(o.value=p,i("beforeTransition",n,a),Q(()=>{i("transition",n,a)}))});function b(){P(1)}function V(){P(-1)}function _(n){i("update:modelValue",n)}function S(n){return n!=null&&n!==""}function q(n){return r.findIndex(a=>a.props.name===n&&a.props.disable!==""&&a.props.disable!==!0)}function W(){return r.filter(n=>n.props.disable!==""&&n.props.disable!==!0)}function D(n){const a=n!==0&&t.animated===!0&&o.value!==-1?"q-transition--"+(n===-1?l.value:g.value):null;c.value!==a&&(c.value=a)}function P(n,a=o.value){let p=a+n;for(;p>-1&&p<r.length;){const w=r[p];if(w!==void 0&&w.props.disable!==""&&w.props.disable!==!0){D(n),e=!0,i("update:modelValue",w.props.name),setTimeout(()=>{e=!1});return}p+=n}t.infinite===!0&&r.length>0&&a!==-1&&a!==r.length&&P(n,n===-1?r.length:-1)}function M(){const n=q(t.modelValue);return o.value!==n&&(o.value=n),!0}function B(){const n=S(t.modelValue)===!0&&M()&&r[o.value];return t.keepAlive===!0?[C(ee,y.value,[C(A.value===!0?d(v.value,()=>({...K,name:v.value})):K,{key:v.value,style:s.value},()=>n)])]:[C("div",{class:"q-panel scroll",style:s.value,key:v.value,role:"tabpanel"},[n])]}function F(){if(r.length!==0)return t.animated===!0?[C(J,{name:c.value},B)]:B()}function O(n){return r=Z(U(n.default,[])).filter(a=>a.props!==null&&a.props.slot===void 0&&S(a.props.name)===!0),r.length}function X(){return r}return Object.assign(u,{next:b,previous:V,goTo:_}),{panelIndex:o,panelDirectives:h,updatePanelsList:O,updatePanelIndex:M,getPanelContent:F,getEnabledPanels:W,getPanels:X,isValidPanelName:S,keepAliveProps:y,needsUniqueKeepAliveWrapper:A,goToPanelByOffset:P,goToPanel:_,nextPanel:b,previousPanel:V}}export{le as a,ce as b,de as c,oe as d,ue as u};
|