p3x-redis-ui-material
Version:
💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity
1 lines • 5.56 kB
JavaScript
import{A as e,C as t,Kt as n,Wt as r,_t as i,nt as a,w as o}from"./i18n.store-B-qxQMr8.js";import{$ as s,Bt as c,Ct as ee,D as l,O as te,Pt as u,Q as d,Vt as f,ct as p,kn as ne,lt as m,mt as h,rr as g,vt as _,x as v}from"./_plugin-vue_export-helper-Cw5qm5mn.js";import{r as re}from"./goto-C-sTTLx6.js";import{s as y}from"./transitions-RnAlfm8N.js";function b({selectedElement:e,containerElement:t,isRtl:n,isHorizontal:r}){let i=w(r,t),a=C(r,n,t),o=w(r,e),s=T(r,e),c=o*.4;return a>s?s-c:a+i<s+o?s-i+o+c:a}function x({selectedElement:e,containerElement:t,isHorizontal:n}){let r=w(n,t),i=T(n,e),a=w(n,e);return i-r/2+a/2}function S(e,t){return t?.[e?`scrollWidth`:`scrollHeight`]||0}function C(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 w(e,t){return t?.[e?`offsetWidth`:`offsetHeight`]||0}function T(e,t){return t?.[e?`offsetLeft`:`offsetTop`]||0}var E=Symbol.for(`vuetify:v-slide-group`),D=f({centerActive:Boolean,scrollToActive:{type:Boolean,default:!0},contentClass:null,direction:{type:String,default:`horizontal`},symbol:{type:null,default:E},nextIcon:{type:_,default:`$next`},prevIcon:{type:_,default:`$prev`},showArrows:{type:[Boolean,String],validator:e=>typeof e==`boolean`||[`always`,`desktop`,`mobile`,`never`].includes(e)},...c(),...p({mobile:null}),...d(),...l({selectedClass:`v-slide-group-item--active`})},`VSlideGroup`),O=u()({name:`VSlideGroup`,props:D(),emits:{"update:modelValue":e=>!0},setup(c,{slots:l}){let{isRtl:u}=h(),{displayClasses:d,mobile:f}=m(c),p=te(c,c.symbol),_=i(!1),T=i(0),E=i(0),D=i(0),O=t(()=>c.direction===`horizontal`),{resizeRef:k,contentRect:A}=s(),{resizeRef:j,contentRect:M}=s(),N=re(),P=t(()=>({container:k.el,duration:200,easing:`easeOutQuart`})),F=t(()=>p.selected.value.length?p.items.value.findIndex(e=>e.id===p.selected.value[0]):-1),I=t(()=>p.selected.value.length?p.items.value.findIndex(e=>e.id===p.selected.value[p.selected.value.length-1]):-1);if(g){let e=-1;a(()=>[p.selected.value,A.value,M.value,O.value],()=>{cancelAnimationFrame(e),e=requestAnimationFrame(()=>{if(A.value&&M.value){let e=O.value?`width`:`height`;E.value=A.value[e],D.value=M.value[e],_.value=E.value+1<D.value}if(c.scrollToActive&&F.value>=0&&j.el){let e=j.el.children[I.value];R(e,c.centerActive)}})})}let L=i(!1);function R(e,t){let n=0;n=t?x({containerElement:k.el,isHorizontal:O.value,selectedElement:e}):b({containerElement:k.el,isHorizontal:O.value,isRtl:u.value,selectedElement:e}),z(n)}function z(e){if(!g||!k.el)return;let t=w(O.value,k.el),n=C(O.value,u.value,k.el);if(!(S(O.value,k.el)<=t||Math.abs(e-n)<16)){if(O.value&&u.value&&k.el){let{scrollWidth:t,offsetWidth:n}=k.el;e=t-n-e}O.value?N.horizontal(e,P.value):N(e,P.value)}}function B(e){let{scrollTop:t,scrollLeft:n}=e.target;T.value=O.value?n:t}function V(e){if(L.value=!0,!(!_.value||!j.el)){for(let t of e.composedPath())for(let e of j.el.children)if(e===t){R(e);return}}}function H(e){L.value=!1}let U=!1;function W(e){!U&&!L.value&&!(e.relatedTarget&&j.el?.contains(e.relatedTarget))&&q(),U=!1}function G(){U=!0}function ie(e){if(!j.el)return;function t(t){e.preventDefault(),q(t)}O.value?e.key===`ArrowRight`?t(u.value?`prev`:`next`):e.key===`ArrowLeft`&&t(u.value?`next`:`prev`):e.key===`ArrowDown`?t(`next`):e.key===`ArrowUp`&&t(`prev`),e.key===`Home`?t(`first`):e.key===`End`&&t(`last`)}function K(e,t){if(!e)return;let n=e;do n=n?.[t===`next`?`nextElementSibling`:`previousElementSibling`];while(n?.hasAttribute(`disabled`));return n}function q(e){if(!j.el)return;let t;if(!e)t=ne(j.el)[0];else if(e===`next`){if(t=K(j.el.querySelector(`:focus`),e),!t)return q(`first`)}else if(e===`prev`){if(t=K(j.el.querySelector(`:focus`),e),!t)return q(`last`)}else e===`first`?(t=j.el.firstElementChild,t?.hasAttribute(`disabled`)&&(t=K(t,`next`))):e===`last`&&(t=j.el.lastElementChild,t?.hasAttribute(`disabled`)&&(t=K(t,`prev`)));t&&t.focus({preventScroll:!0})}function J(e){let t=O.value&&u.value?-1:1,n=(e===`prev`?-t:t)*E.value,r=T.value+n;if(O.value&&u.value&&k.el){let{scrollWidth:e,offsetWidth:t}=k.el;r+=e-t}z(r)}let Y=t(()=>({next:p.next,prev:p.prev,select:p.select,isSelected:p.isSelected})),X=t(()=>_.value||Math.abs(T.value)>0),Z=t(()=>{switch(c.showArrows){case`never`:return!1;case`always`:return!0;case`desktop`:return!f.value;case!0:return X.value;case`mobile`:return f.value||X.value;default:return!f.value&&X.value}}),Q=t(()=>Math.abs(T.value)>1),$=t(()=>X.value?D.value-E.value-Math.abs(T.value)>1:!1);return ee(()=>e(c.tag,{class:r([`v-slide-group`,{"v-slide-group--vertical":!O.value,"v-slide-group--has-affixes":Z.value,"v-slide-group--is-overflowing":_.value},d.value,c.class]),style:n(c.style),tabindex:L.value||p.selected.value.length?-1:0,onFocus:W},{default:()=>[Z.value&&o(`div`,{key:`prev`,class:r([`v-slide-group__prev`,{"v-slide-group__prev--disabled":!Q.value}]),onMousedown:G,onClick:()=>Q.value&&J(`prev`)},[l.prev?.(Y.value)??e(y,null,{default:()=>[e(v,{icon:u.value?c.nextIcon:c.prevIcon},null)]})]),o(`div`,{key:`container`,ref:k,class:r([`v-slide-group__container`,c.contentClass]),onScroll:B},[o(`div`,{ref:j,class:`v-slide-group__content`,onFocusin:V,onFocusout:H,onKeydown:ie},[l.default?.(Y.value)])]),Z.value&&o(`div`,{key:`next`,class:r([`v-slide-group__next`,{"v-slide-group__next--disabled":!$.value}]),onMousedown:G,onClick:()=>$.value&&J(`next`)},[l.next?.(Y.value)??e(y,null,{default:()=>[e(v,{icon:u.value?c.prevIcon:c.nextIcon},null)]})])]})),{selected:p.selected,scrollTo:J,scrollOffset:T,focus:q,hasPrev:Q,hasNext:$}}});export{E as n,D as r,O as t};