dk-plus
Version:
2 lines (1 loc) • 1.16 kB
JavaScript
;var f=Object.defineProperty;var p=(o,t,e)=>t in o?f(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var i=(o,t,e)=>(p(o,typeof t!="symbol"?t+"":t,e),e);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});class D{constructor(t){i(this,"dom");i(this,"open",!1);i(this,"getDom",(t,e)=>{const r=e.childNodes,n=Array.from(r);let s=0;for(;t!==n[s].className&&s<n.length;)s++;return n[s]});i(this,"setStyle",()=>{try{const t=this.dom.value,e=window.innerHeight,r=this.getDom("dk-shadow",t),n=this.getDom("dk-box",r),s=this.getDom("dkcodedisplay_code",n),c=this.getDom("dkcodedisplay_open",n),d=window.pageYOffset||document.documentElement.scrollTop,l=t.offsetTop+t.clientHeight-d>e;if(t.offsetTop-d+s.clientHeight-t.clientHeight/2<e&&l){const a=t.parentNode.parentNode,m=a.parentNode.parentNode.parentNode.parentNode.parentNode;c.style.position="fixed",c.style.left=a.offsetLeft+m.offsetLeft+"px",c.style.width=t.clientWidth+"px"}else c.style.position="absolute",c.style.left=0+"px"}catch{}});i(this,"init",(t,e)=>{this.open=e,this.dom=t,this.setStyle()});this.dom=t}}exports.SetPosition=D;