django-vue3-admin-web/node_modules/e-icon-picker/components/eScrollbar/index.umd.js
2025-10-20 21:21:14 +08:00

7 lines
9.6 KiB
JavaScript

/**
* e-icon-picker v2.1.1
* (c) 2019 - 2022 cnovel.club
* @license MIT
*/
(function(m,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(m=typeof globalThis<"u"?globalThis:m||self,t(m.eScrollbar={},m.Vue))})(this,function(m,t){"use strict";var I;const y=typeof window<"u",Y=e=>typeof e=="string",Q=()=>{};y&&((I=window==null?void 0:window.navigator)!=null&&I.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function V(e){return typeof e=="function"?e():t.unref(e)}function x(e){return e}function j(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function U(e){var n;const o=V(e);return(n=o==null?void 0:o.$el)!=null?n:o}const D=y?window:void 0;function L(...e){let n,o,r,a;if(Y(e[0])||Array.isArray(e[0])?([o,r,a]=e,n=D):[n,o,r,a]=e,!n)return Q;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const i=[],l=()=>{i.forEach(f=>f()),i.length=0},h=(f,p,b)=>(f.addEventListener(p,b,a),()=>f.removeEventListener(p,b,a)),u=t.watch(()=>U(n),f=>{l(),f&&i.push(...o.flatMap(p=>r.map(b=>h(f,p,b))))},{immediate:!0,flush:"post"}),w=()=>{u(),l()};return j(w),w}const H=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},N="__vueuse_ssr_handlers__";H[N]=H[N]||{},H[N];var B;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(B||(B={}));var K=Object.defineProperty,C=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,W=(e,n,o)=>n in e?K(e,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[n]=o,q=(e,n)=>{for(var o in n||(n={}))F.call(n,o)&&W(e,o,n[o]);if(C)for(var o of C(n))G.call(n,o)&&W(e,o,n[o]);return e};q({linear:x},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]}),function(){return y&&document&&document.addEventListener?(e,n,o)=>{e&&n&&o&&e.addEventListener(n,o,!1)}:(e,n,o)=>{e&&n&&o&&e.attachEvent("on"+n,o)}}(),function(){return y&&document&&document.removeEventListener?function(e,n,o){e&&n&&e.removeEventListener(n,o,!1)}:function(e,n,o){e&&n&&e.detachEvent("on"+n,o)}}();const J=e=>typeof e=="string"&&e.constructor===String,S=e=>typeof e=="number"&&e.constructor===Number,Z=e=>typeof e=="object"&&e.constructor===Object;y&&function(e,n,o){!e.composedPath&&o&&(e.composedPath=function(){if(this.path)return this.path;let r=this.target;for(this.path=[];r.parentNode!==null;)this.path.push(r),r=r.parentNode;return this.path.push(n,o),this.path}),String.prototype.startsWith||Object.defineProperty(String.prototype,"startsWith",{value:function(r,a){return a=!a||a<0?0:+a,this.substring(a,a+r.length)===r}})}(Event.prototype,document,window);function R(e,n="px"){if(!e)return"";if(J(e))return e;if(S(e))return`${e}${n}`;console.warn("binding value must be a string or number")}const g=4,A=Symbol("scrollbarContextKey"),ee={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},te=t.defineComponent({name:"e-thumb",props:{always:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},size:{type:Number,default:0},move:{type:Number,default:0},ratio:{type:Number,default:1}},setup(e){const n=t.ref(!1);let o=!1,r=!1;const a=t.ref(),i=t.ref(),l=t.computed(()=>ee[e.vertical?"vertical":"horizontal"]);let h=y?document.onselectstart:null;const u=t.inject(A);if(!u)return;const w=c=>{if(!a.value||!i.value||!u.wrapElement)return;const d=Math.abs(c.target.getBoundingClientRect()[l.value.direction]-c[l.value.client]),_=a.value[l.value.offset]/2,k=(d-_)*100*p.value/i.value[l.value.offset];u.wrapElement[l.value.scroll]=k*u.wrapElement[l.value.scrollSize]/100},f=t.computed(()=>{let d={transform:`translate${e.vertical?"Y":"X"}(${e.move}%)`};return e.vertical?d.height=`${e.size}px`:d.width=`${e.size}px`,d}),p=t.computed(()=>i.value[l.value.offset]**2/u.wrapElement[l.value.scrollSize]/e.ratio/a.value[l.value.offset]),b=c=>{if(!i.value||!a.value||!o)return;const d=(i.value.getBoundingClientRect()[l.value.direction]-c[l.value.client])*-1,_=a.value[l.value.offset],k=(d-_)*100*p.value/i.value[l.value.offset];u.wrapElement[l.value.scroll]=k*u.wrapElement[l.value.scrollSize]/100},T=()=>{document.onselectstart!==h&&(document.onselectstart=h)},z=()=>{o=!1,document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",z),T(),r&&(n.value=!1)},s=c=>{c.stopImmediatePropagation(),o=!0,document.addEventListener("mousemove",b),document.addEventListener("mouseup",z),h=document.onselectstart,document.onselectstart=()=>!1},v=c=>{var _;c.stopPropagation(),c.ctrlKey||[1,2].includes(c.button)||((_=window==null?void 0:window.getSelection())==null||_.removeAllRanges(),s(c),c.currentTarget)};t.onBeforeUnmount(()=>{T(),document.removeEventListener("mouseup",z)});const E=()=>{r=!1,n.value=!!e.size},O=()=>{r=!0,n.value=o};return L(t.toRef(u,"scrollbarElement"),"mousemove",E),L(t.toRef(u,"scrollbarElement"),"mouseleave",O),{visible:n,clickTrackHandler:w,clickThumbHandler:v,eThumb:a,thumbStyle:f,instance:i}}}),fe="",P=(e,n)=>{const o=e.__vccOpts||e;for(const[r,a]of n)o[r]=a;return o};function ne(e,n,o,r,a,i){return t.openBlock(),t.createBlock(t.Transition,{name:"fade"},{default:t.withCtx(()=>[t.withDirectives(t.createElementVNode("div",{ref:"instance",class:t.normalizeClass(["e-thumb",e.vertical?"is-vertical":"is-horizontal"]),onMousedown:n[1]||(n[1]=(...l)=>e.clickTrackHandler&&e.clickTrackHandler(...l))},[t.createElementVNode("div",{ref:"eThumb",class:"e-thumb-inner",style:t.normalizeStyle(e.thumbStyle),onMousedown:n[0]||(n[0]=(...l)=>e.clickThumbHandler&&e.clickThumbHandler(...l))},null,36)],34),[[t.vShow,e.always||e.visible]])]),_:1})}const M=P(te,[["render",ne],["__scopeId","data-v-30bd9195"]]),oe=t.defineComponent({name:"e-bar",props:{always:{type:Boolean,default:!0},ratioY:{type:Number,default:1},ratioX:{type:Number,default:1},width:{type:Number,default:0},height:{type:Number,default:0}},components:{eThumb:M},setup(e){const n=t.reactive({moveX:0,moveY:0}),o=r=>{if(r){const a=r.offsetHeight-g,i=r.offsetWidth-g;n.moveY=r.scrollTop*100/a*e.ratioY,n.moveX=r.scrollLeft*100/i*e.ratioX}};return{...t.toRefs(n),handleScroll:o}}}),de="";function re(e,n,o,r,a,i){const l=t.resolveComponent("e-thumb");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(l,{move:e.moveX,ratio:e.ratioX,size:e.width,always:e.always},null,8,["move","ratio","size","always"]),t.createVNode(l,{move:e.moveY,ratio:e.ratioY,size:e.height,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64)}const X=P(oe,[["render",re],["__scopeId","data-v-80bd0648"]]),le="scroll",ae=t.defineComponent({name:"e-scrollbar",props:{height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},wrapStyle:{type:Object,default:()=>({})},always:Boolean,noresize:Boolean,minSize:{type:Number,default:20}},components:{eBar:X},setup(e,{emit:n}){const o=t.ref(),r=t.ref();let a=t.ref(0),i=t.ref(0),l=t.ref(1),h=t.ref(1);const u=t.ref(),w=t.computed(()=>{const s={};return e.height&&(s.height=R(e.height)),e.maxHeight&&(s.maxHeight=R(e.maxHeight)),[e.wrapStyle,s]}),f=()=>{if(!r.value)return;const s=r.value.offsetHeight-g,v=r.value.offsetWidth-g,E=s**2/r.value.scrollHeight,O=v**2/r.value.scrollWidth,c=Math.max(E,e.minSize),d=Math.max(O,e.minSize);l.value=E/(s-E)/(c/(s-c)),h.value=O/(v-O)/(d/(v-d)),i.value=c+g<s?c:0,a.value=d+g<v?d:0};t.watch(()=>[e.maxHeight,e.height],()=>{t.nextTick(()=>{var s;f(),r.value&&((s=u.value)==null||s.handleScroll(r.value))})});const p=(s,v)=>{Z(s)?r.value.scrollTo(s):S(s)&&S(v)&&r.value.scrollTo(s,v)},b=s=>{if(!S(s)){console.warn("value must be a number");return}t.nextTick(()=>{r.value.scrollTop=s})},T=s=>{if(!S(s)){console.warn("value must be a number");return}t.nextTick(()=>{r.value.scrollLeft=s})};return t.onMounted(()=>{t.nextTick(()=>f())}),t.onUpdated(()=>f()),t.provide(A,t.reactive({scrollbarElement:o,wrapElement:r})),{eScrollbar:o,wrap:r,style:w,sizeWidth:a,sizeHeight:i,ratioX:h,ratioY:l,update:f,barRef:u,handleScroll:()=>{var s;r.value&&((s=u.value)==null||s.handleScroll(r.value),n(le,{scrollTop:r.value.scrollTop,scrollLeft:r.value.scrollLeft}))},setScrollTop:b,setScrollLeft:T,scrollTo:p}}}),me="",se={class:"e-scrollbar",ref:"eScrollbar"};function ie(e,n,o,r,a,i){const l=t.resolveComponent("e-bar");return t.openBlock(),t.createElementBlock("div",se,[t.createElementVNode("div",{ref:"wrap",style:t.normalizeStyle(e.style),onScroll:n[0]||(n[0]=(...h)=>e.handleScroll&&e.handleScroll(...h)),class:"e-scrollbar-wrap"},[t.renderSlot(e.$slots,"default",{},void 0,!0)],36),t.createVNode(l,{ref:"barRef",height:e.sizeHeight,width:e.sizeWidth,"ratio-x":e.ratioX,"ratio-y":e.ratioY,always:e.always},null,8,["height","width","ratio-x","ratio-y","always"])],512)}const $=P(ae,[["render",ie],["__scopeId","data-v-1bb2aa3b"]]),ce={install(e){e.component($.name,$)}};m.default=ce,m.eBar=X,m.eScrollbar=$,m.eThumb=M,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});