1 line
10 KiB
JavaScript
1 line
10 KiB
JavaScript
|
|
import{$n as e,$t as t,B as n,Br as r,Dt as i,Gt as a,H as o,L as s,Nr as c,Ot as l,Q as u,Qn as d,Qt as f,Rr as p,Tn as m,Tt as h,Ut as g,V as _,Vn as v,Wt as y,X as b,Xn as x,Xt as S,Yt as C,Z as w,Zt as T,an as E,ar as D,at as O,bt as ee,cn as k,ct as A,dn as j,et as M,fn as N,ft as P,ht as F,it as I,jr as L,jt as R,ln as z,lr as B,mn as V,mt as H,nn as te,nt as U,ot as W,pt as G,qn as K,qt as ne,rt as q,st as J,tn as Y,tt as X,wr as re,xr as ie,yt as ae,zr as oe}from"./index-o0-2k-vI.js";function se({selectedElement:e,containerElement:t,isRtl:n,isHorizontal:r}){let i=Z(r,t),a=ue(r,n,t),o=Z(r,e),s=de(r,e),c=o*.4;return a>s?s-c:a+i<s+o?s-i+o+c:a}function ce({selectedElement:e,containerElement:t,isHorizontal:n}){let r=Z(n,t),i=de(n,e),a=Z(n,e);return i-r/2+a/2}function le(e,t){return t?.[e?`scrollWidth`:`scrollHeight`]||0}function ue(e,t,n){if(!n)return 0;let{scrollLeft:r,offsetWidth:i,scrollWidth:a}=n;return e?t?a-i+r:r:n.scrollTop}function Z(e,t){return t?.[e?`offsetWidth`:`offsetHeight`]||0}function de(e,t){return t?.[e?`offsetLeft`:`offsetTop`]||0}var fe=Symbol.for(`vuetify:v-slide-group`),Q=N({centerActive:Boolean,scrollToActive:{type:Boolean,default:!0},contentClass:null,direction:{type:String,default:`horizontal`},symbol:{type:null,default:fe},nextIcon:{type:Y,default:`$next`},prevIcon:{type:Y,default:`$prev`},showArrows:{type:[Boolean,String],validator:e=>typeof e==`boolean`||[`always`,`desktop`,`mobile`,`never`].includes(e)},...j(),...C({mobile:null}),...R(),...X({selectedClass:`v-slide-group-item--active`})},`VSlideGroup`),$=k()({name:`VSlideGroup`,props:Q(),emits:{"update:modelValue":e=>!0},setup(t,{slots:n}){let{isRtl:r}=f(),{displayClasses:i,mobile:a}=S(t),o=U(t,t.symbol),s=L(!1),c=L(0),u=L(0),h=L(0),_=d(()=>t.direction===`horizontal`),{resizeRef:y,contentRect:x}=g(),{resizeRef:C,contentRect:w}=g(),T=ne(),E=d(()=>({container:y.el,duration:200,easing:`easeOutQuart`})),O=d(()=>o.selected.value.length?o.items.value.findIndex(e=>e.id===o.selected.value[0]):-1),ee=d(()=>o.selected.value.length?o.items.value.findIndex(e=>e.id===o.selected.value[o.selected.value.length-1]):-1);if(v){let e=-1;ie(()=>[o.selected.value,x.value,w.value,_.value],()=>{cancelAnimationFrame(e),e=requestAnimationFrame(()=>{if(x.value&&w.value){let e=_.value?`width`:`height`;u.value=x.value[e],h.value=w.value[e],s.value=u.value+1<h.value}if(t.scrollToActive&&O.value>=0&&C.el){let e=C.el.children[ee.value];A(e,t.centerActive)}})})}let k=L(!1);function A(e,t){let n=0;n=t?ce({containerElement:y.el,isHorizontal:_.value,selectedElement:e}):se({containerElement:y.el,isHorizontal:_.value,isRtl:r.value,selectedElement:e}),j(n)}function j(e){if(!v||!y.el)return;let t=Z(_.value,y.el),n=ue(_.value,r.value,y.el);if(!(le(_.value,y.el)<=t||Math.abs(e-n)<16)){if(_.value&&r.value&&y.el){let{scrollWidth:t,offsetWidth:n}=y.el;e=t-n-e}_.value?T.horizontal(e,E.value):T(e,E.value)}}function M(e){let{scrollTop:t,scrollLeft:n}=e.target;c.value=_.value?n:t}function N(e){if(k.value=!0,!(!s.value||!C.el)){for(let t of e.composedPath())for(let e of C.el.children)if(e===t){A(e);return}}}function P(e){k.value=!1}let F=!1;function I(e){!F&&!k.value&&!(e.relatedTarget&&C.el?.contains(e.relatedTarget))&&V(),F=!1}function R(){F=!0}function z(e){if(!C.el)return;function t(t){e.preventDefault(),V(t)}_.value?e.key===`ArrowRight`?t(r.value?`prev`:`next`):e.key===`ArrowLeft`&&t(r.value?`next`:`prev`):e.key===`ArrowDown`?t(`next`):e.key===`ArrowUp`&&t(`prev`),e.key===`Home`?t(`first`):e.key===`End`&&t(`last`)}function B(e,t){if(!e)return;let n=e;do n=n?.[t===`next`?`nextElementSibling`:`previousElementSibling`];while(n?.hasAttribute(`disabled`));return n}function V(e){if(!C.el)return;let t;if(!e)t=m(C.el)[0];else if(e===`next`){if(t=B(C.el.querySelector(`:focus`),e),!t)return V(`first`)}else if(e===`prev`){if(t=B(C.el.querySelector(`:focus`),e),!t)return V(`last`)}else e===`first`?(t=C.el.firstElementChild,t?.hasAttribute(`disabled`)&&(t=B(t,`next`))):e===`last`&&(t=C.el.lastElementChild,t?.hasAttribute(`disabled`)&&(t=B(t,`prev`)));t&&t.focus({preventScroll:!0})}function H(e){
|