UNPKG

jodit-pro

Version:

PRO Version of Jodit Editor

2 lines (1 loc) 1.55 kB
var f=Object.defineProperty;var r=(u,i)=>f(u,"name",{value:i,configurable:!0});import{Dom as j}from"jodit/esm/core/dom/dom.js";import{css as d}from"jodit/esm/core/helpers/utils/css.js";const a=class a{static remove(i){i.container.classList.remove("jodit-ui-resize"),j.safeRemove(i.container.querySelector(".jodit-ui-resize__handle"))}static install(i,o,t={}){var n;i.container.classList.add("jodit-ui-resize"),d(i.container,"position")==="static"&&d(i.container,"position","relative");const s=i.j.c.div("jodit-ui-resize__handle");s.classList.add("jodit-ui-resize__handle_type_"+o),t.handleClassName&&s.classList.add(t.handleClassName),i.container.appendChild(s),i.j.e.on(s,"mousedown touchstart",this.onStartResize.bind(this,i,o,(n=t.onResize)!==null&&n!==void 0?n:(()=>{})))}static onStartResize(i,o,t,n){const s={x:n.clientX,y:n.clientY,w:i.container.offsetWidth,h:i.container.offsetHeight,direction:o},e=i.j.async.throttle(this.onResize.bind(this,i,s,t),i.j.defaultTimeout/10);i.j.lock(),i.j.e.on(i.j.ow,"mousemove touchmove",e).one(i.j.ow,"mouseup touchend",this.onEndResize.bind(this,i,e))}static onResize(i,o,t,n){const s=["left","right"].includes(o.direction),e=i.container.parentElement;if(!e)return;let c;s?c=o.w+(n.clientX-o.x)*(o.direction==="right"?1:-1):c=o.h+(n.clientY-o.y)*(o.direction==="top"?-1:1),t?.({newSize:c})!==!0&&d(i.container,s?"width":"height",c/(s?e.offsetWidth:e.offsetHeight)*100+"%")}static onEndResize(i,o,t){i.j.e.off(i.j.ow,"mousemove touchmove",o),i.j.unlock()}};r(a,"UIResize");let h=a;export{h as UIResize};