UNPKG

ant-design-x-vue

Version:

Craft AI-driven interfaces effortlessly

2 lines (1 loc) 1.84 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("../../_util/getScrollBarSize.js"),a=require("../../_util/setStyle.js");let n=[];const d="ant-scrolling-effect",l=new RegExp(`${d}`,"g");let u=0;const r=new Map;class m{constructor(h){this.getContainer=()=>{var i;return(i=this.options)==null?void 0:i.container},this.reLock=i=>{const e=n.find(({target:o})=>o===this.lockTarget);e&&this.unLock(),this.options=i,e&&(e.options=i,this.lock())},this.lock=()=>{var c;if(n.some(({target:t})=>t===this.lockTarget))return;if(n.some(({options:t})=>{var s;return(t==null?void 0:t.container)===((s=this.options)==null?void 0:s.container)})){n=[...n,{target:this.lockTarget,options:this.options}];return}let i=0;const e=((c=this.options)==null?void 0:c.container)||document.body;(e===document.body&&window.innerWidth-document.documentElement.clientWidth>0||e.scrollHeight>e.clientHeight)&&(i=f.default());const o=e.className;if(n.filter(({options:t})=>{var s;return(t==null?void 0:t.container)===((s=this.options)==null?void 0:s.container)}).length===0&&r.set(e,a.default({width:i!==0?`calc(100% - ${i}px)`:void 0,overflow:"hidden",overflowX:"hidden",overflowY:"hidden"},{element:e})),!l.test(o)){const t=`${o} ${d}`;e.className=t.trim()}n=[...n,{target:this.lockTarget,options:this.options}]},this.unLock=()=>{var c;const i=n.find(({target:t})=>t===this.lockTarget);if(n=n.filter(({target:t})=>t!==this.lockTarget),!i||n.some(({options:t})=>{var s;return(t==null?void 0:t.container)===((s=i.options)==null?void 0:s.container)}))return;const e=((c=this.options)==null?void 0:c.container)||document.body,o=e.className;l.test(o)&&(a.default(r.get(e),{element:e}),r.delete(e),e.className=e.className.replace(l,"").trim())},this.lockTarget=u++,this.options=h}}exports.default=m;