@cclr/trans 0.1.48 → 0.1.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/type/index.d.ts +1 -1
- package/package.json +8 -8
package/lib/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@cclr/lang"),t=require("@cclr/react"),r=require("react"),n=require("@cclr/emitter"),i=require("@cclr/trigger"),o=require("@cclr/front"),s=require("react/jsx-runtime"),a=require("@cclr/utils"),u=require("react-dom");function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t,r){return t=p(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,m()?Reflect.construct(t,r||[],p(e).constructor):t.apply(e,r))}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t,r){return t&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,E(n.key),n)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function g(e,t,r){return(t=E(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function v(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&D(e,t)}function m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(m=function(){return!!e})()}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach(function(t){g(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function b(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function D(e,t){return D=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},D(e,t)}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,s,a=[],u=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==t);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw i}}return a}}(e,t)||I(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||I(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function I(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}var j=x(t.createCtx({}),2),C=j[0],S=j[1],k=x(t.createCtx({}),2),R=k[0],O=k[1],z=function(){var e=R().baseCore;return{start:e.start,move:e.move,end:e.end,mouseEvent:e.mouseEvent,getData:e.getData,getBaseData:e.getBaseData,reset:e.reset,addUser:e.addUser,onDragMove:e.onDragMove,onStatus:e.onStatus,onDomEvent:e.onDomEvent}},T=function(){var e=z().onStatus,t=x(r.useState({}),2),n=t[0],i=t[1];return r.useEffect(function(){return e(function(e,t){i(t)})},[]),n};var P,F,B="data-trans-box-type",A="data-trans-box-id",N="data-trans-box-data",M=function(e){return e[e.drag=1]="drag",e[e.drop=2]="drop",e[e.resize=4]="resize",e[e.select=8]="select",e[e.stop=64]="stop",e[e.boundary=128]="boundary",e}({}),X=(P=[M.drag,M.drop,M.resize,M.select,M.stop,M.boundary],F=[],function e(t,r){if(t.length&&F.push(t),0!==r.length)for(var n=0;n<r.length;n++)e(t.concat(r[n]),r.slice(0,n))}([],P),F).reduce(function(e,t){var r=t.reduce(function(e,t){return e|t},0);return e[r.toString()]=r,e},{}),Y=function(e){if(e)return e.getAttribute(N)},q=function(e,t){e&&e.setAttribute(A,t.toString())},_=function(e){if(e)return e.getAttribute(A)},L=function(e,t){if(e){var r=e.getAttribute(B)||"",n=(X[r]||0)|t;e.setAttribute(B,n.toString())}},U=function(e){if(e)return X[e.getAttribute(B)||""]},W=function(e,t){for(var r=e,n=[],i=[],o=[];r&&r!==document.body;){var s=U(r);s&&(!t||t&s)&&(n.push(s),i.push(_(r)),o.push(Y(r))),r=r.parentElement}return{types:n,ids:i,datas:o}},H=function(){var e=z(),n=e.start,i=e.move,a=e.end,u=e.reset,c=e.mouseEvent,f=e.getData,l=r.useRef({free:!0,timer:null}),d=function(){clearTimeout(l.current.timer),l.current.timer=null,c("drag")},g=t.useCallbackRef(function(e){var t;if(clearTimeout(l.current.timer),(null==e||null===(t=e.target)||void 0===t?void 0:t.nodeType)===Node.ELEMENT_NODE){l.current.free=!1;var r=W(e.target),i=e.clientX,o=e.clientY;n({startClientX:i,startClientY:o},r),c("down"),l.current.timer=setTimeout(d,120)}}),p=t.useCallbackRef(function(e){if(!l.current.free){var t=e.clientX,r=e.clientY,n=f(),o=t-n.startClientX,s=r-n.startClientY;l.current.timer&&(o>30||s>30)&&d(),i({clientX:t,clientY:r,spaceX:o,spaceY:s})}}),v=t.useCallbackRef(function(e){if(clearTimeout(l.current.timer),!l.current.free){l.current.timer&&(c("tap"),l.current.timer=null);var t=e.clientX,r=e.clientY,n=f(),i=n.startClientX,o=n.startClientY;a({clientX:t,clientY:r,spaceX:t-i,spaceY:r-o})}l.current.free=!0,setTimeout(function(){u()},0)});return r.useEffect(function(){return o.addEventListenerMultiple(window,{mousedown:g,mousemove:p,mouseup:v})},[]),s.jsx(s.Fragment,{})},V=function(){return d(function e(t){l(this,e),g(this,"baseCore",void 0),this.baseCore=t,this.initFreeReset()},[{key:"onFreeReset",value:function(){}},{key:"initFreeReset",value:function(){var e=this;this.baseCore.onStatus(function(t){"free"===t&&e.onFreeReset()})}}])}(),$={status:"free",users:[],position:{startClientX:0,startClientY:0,clientX:0,clientY:0,spaceX:0,spaceY:0},level:{types:[],ids:[],datas:[]},eventType:"free"},G=d(function e(){var t=this;l(this,e),g(this,"triggers",i.dataTriggers($)),g(this,"onDragMove",function(e){return t.triggers.onChange("position",function(){e(t.getData())})}),g(this,"onStatus",function(e){var r;return t.triggers.onChange("status",function(n){r!==n&&(r=n,e(n,t.getBaseData()))})}),g(this,"onDomEvent",function(e,r){return t.triggers.onChange("eventType",function(n){e===n&&r(t.getBaseData())})}),g(this,"getData",function(){return y(y({},t.triggers.getter(["status","users"])),t.triggers.getter("position"))}),g(this,"getBaseData",function(){return t.triggers.getter(["status","users","position","level","eventType"])}),g(this,"reset",function(){t.triggers.setter($)}),g(this,"descroy",function(){t.triggers.destroy()})}),J=function(){function e(){var t;l(this,e);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return g(t=f(this,e,[].concat(n)),"start",function(e,r){t.triggers.setter({position:function(t){return y(y({},t),e)},status:"start",level:r})}),g(t,"move",function(e){t.triggers.setter({position:function(t){return y(y({},t),e)},status:"move"})}),g(t,"end",function(e){t.triggers.setter({position:function(t){return y(y({},t),e)},status:"end"})}),g(t,"mouseEvent",function(e){t.triggers.setter({eventType:e})}),g(t,"addUser",function(e){t.triggers.setter({users:function(t){return[].concat(w(t),[e])}})}),t}return v(e,G),d(e)}(),K=function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=z().onDragMove,o=t.useThrottleFn(e,{wait:60}),s=o.run,a=o.fun,u=o.cancel;r.useEffect(function(){if(n)return i(function(e){return"start"===e.status||"free"===e.status||"end"===e.status?(u(),a(e)):s(e)})},[n])},Q={dragId:"",item:void 0,type:"",offset:{x:0,y:0,w:0,h:0},renderFake:!0},Z=function(){function e(){var t;l(this,e);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return g(t=f(this,e,[].concat(o)),"triggers",i.dataTriggers(Q)),g(t,"dragEmitter",new n.Emitter),g(t,"onDragStartEvent",function(e,r){return t.dragEmitter.addListener(e,r)}),g(t,"onDraggingId",function(e){return t.triggers.onChange("dragId",function(){e(t.getDraggingData())})}),g(t,"getDraggingData",function(){return t.triggers.getter(["dragId","item","type","offset","renderFake"])}),g(t,"onFreeReset",function(){t.triggers.setter(Q)}),g(t,"descroy",function(){t.triggers.destroy()}),t}return v(e,V),d(e)}(),ee=function(){function e(){var t;l(this,e);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return g(t=f(this,e,[].concat(n)),"setDragData",function(e){t.triggers.getter("dragId")||t.triggers.setter(y(y({},e),{},{renderFake:function(){return e.renderFake}}))}),g(t,"emitDrag",function(e){t.dragEmitter.emit(e,{})}),t}return v(e,Z),d(e)}(),te={stack:[],dropId:"",item:void 0,accept:[],dropPos:void 0},re=function(){function e(){var t;l(this,e);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return g(t=f(this,e,[].concat(n)),"triggers",i.dataTriggers(te)),g(t,"onDropStack",function(e){t.triggers.onChange("stack",e)}),g(t,"onDropId",function(e){t.triggers.onChange("dropId",function(){e(t.getDropData())})}),g(t,"getDropStack",function(){return t.triggers.getter("stack")}),g(t,"getDropData",function(){return t.triggers.getter(["dropId","item","accept"])}),g(t,"getDropPos",function(){return t.triggers.getter("dropPos")}),g(t,"getStack",function(){return t.triggers.getter(["stack"])}),g(t,"onFreeReset",function(){t.triggers.setter(te)}),g(t,"descroy",function(){t.triggers.destroy()}),t}return v(e,V),d(e)}(),ne=function(){function e(){var t;l(this,e);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return g(t=f(this,e,[].concat(n)),"setDropInfo",function(e){t.triggers.setter(e)}),g(t,"setDropPos",function(e){t.triggers.setter({dropPos:e})}),g(t,"setDropStack",function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.triggers.setter({stack:e})}),t}return v(e,re),d(e)}(),ie=function(e){var t=r.useRef();return e||t},oe=function(){var e=R().dragCore,t=e.setDragData,r=e.getDraggingData;return{dragCore:e,onDragId:e.onDraggingId,onDragStartEvent:e.onDragStartEvent,emitDrag:e.emitDrag,setDragData:t,getDraggingData:r}},se=function(){var e=oe().onDragId,t=x(r.useState({}),2),n=t[0],i=t[1];return r.useEffect(function(){return e(function(e){i(e)})},[]),n},ae=function(){return R().dndMonitor},ue=function(n){var i,o,s,a,u=n.id,c=n.item,f=n.type,l=n.renderFake,d=n.onDragStart,g=n.onDrag,p=n.onDragEnd,v=n.disabled,m=ae(),h=z(),y=h.getData,b=h.addUser,D=oe(),x=D.setDragData,w=D.onDragStartEvent,E=se().dragId,I=E===u,j=ie(n.domRef),C=t.useCallbackRef(function(){var t=y(),r=t.startClientX,n=t.startClientY,i=j.current.getBoundingClientRect(),o=i.left,s=i.top,a=i.width,g=i.height;b("dnd"),x({dragId:u,item:c,type:f,offset:{x:r-o,y:n-s,w:a,h:g},renderFake:e.isFunction(l)?l.bind(null,m):l}),null==d||d(m)});return i=function(e){"end"===e&&(null==p||p(m))},o=I,s=z().onStatus,a=t.useCallbackRef(i),r.useEffect(function(){if(o)return s(a)},[o]),K(function(e){"free"!==e.status&&(null==g||g(m))},I&&!!g),r.useEffect(function(){if(!v)return w(u,C)},[v]),r.useEffect(function(){L(j.current,M.drag),q(j.current,u)},[]),[{id:u,item:c,draggingId:E,isDragging:I},j]},ce=function(){var e=R().dropCore,t=e.setDropInfo,r=e.setDropPos,n=e.setDropStack;return{dropCore:e,getDropData:e.getDropData,setDropInfo:t,setDropPos:r,setDropStack:n,onDropStack:e.onDropStack,onDropId:e.onDropId}},fe=function(e){var n=e.id,i=e.item,o=e.accept,s=e.disabled,a=e.onOver,u=e.onDroped,c=ie(e.domRef),f=ae(),l=function(){var e=ce().onDropStack,t=x(r.useState([]),2),n=t[0],i=t[1];return r.useEffect(function(){return e(function(e){i(e)})},[]),n}(),d=ce(),g=d.setDropInfo,p=d.setDropPos,v=n||t.useUuid(),m=se(),h=m.dragId,y=m.type,b=h&&l[0]===v,D=!(null!=o&&o.length)||(null==o?void 0:o.includes(y||"")),w=function(e){var t,r=(null===(t=c.current)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0},n=r.left,i=r.top;return{x:e.clientX-n,y:e.clientY-i}},E=t.useThrottleFn(function(e){p(w(e)),null==a||a(f)}).run;return r.useEffect(function(){!s&&b&&g({dropId:v,accept:o,item:i})},[b,s]),t.useEventListenerMultiple(c,{mousemove:E,mouseup:function(e){p(w(e)),null==u||u(f)}},!!b&&!s),r.useEffect(function(){L(c.current,M.drop),q(c.current,v)},[]),[{id:v,item:i,accept:o,isOver:b,isAccept:D},c]},le=["className","style","children"],de=r.forwardRef(function(t,n){var i=t.className,a=t.style,u=t.children,c=b(t,le);return r.isValidElement(u)&&e.isString(u.type)?r.cloneElement(u,y(y({},c),{},{ref:n,className:o.classNames(i,u.props.className),style:e.obj.extend(a,u.props.style)})):s.jsx("div",y(y({ref:n},c),{},{style:a,className:i,children:u}))}),ge=["className","style","children"],pe=["id","renderFake"],ve=function(t){var r=t.className,n=t.style,i=t.children,o=b(t,ge),a=C(),u=a.id,c=a.renderFake,f=b(a,pe),l=T().status,d=x(ue(y(y({id:u,renderFake:e.isUndefinedOrNull(c)||c},o),f)),2),g=d[0].isDragging,p={ref:d[1],className:r,style:y(y({},n),{},{cursor:"move"!==l?"grab":void 0,pointerEvents:g?"none":"unset"})};return s.jsx(de,y(y({},p),{},{children:i}))},me=function(e){var t=e.className,r=e.style,n=e.children,i=e.onOver,o=e.onDroped,a=e.item,u=e.accept,c=e.id,f=x(fe({id:c,item:a||{},accept:u||[],onDroped:function(e){if(g){var t=e.getDroppingCoord();if(t){var r=e.getDraggingBaseData().dragId;null==o||o(r,t)}}},onOver:function(e){var t=e.getDroppingCoord();if(t){var r=e.getDraggingBaseData().dragId;null==i||i(r,t)}}}),2),l=f[0],d=l.isOver,g=l.isAccept,p={ref:f[1],className:t,style:y({boxShadow:d?g?"0 0 4px 1px #1f90fc":"0 0 4px 1px orange":void 0},r)};return s.jsx(de,y(y({},p),{},{children:n}))},he={lt:"nwse-resize",rt:"nesw-resize",lb:"nesw-resize",rb:"nwse-resize",t:"ns-resize",l:"ew-resize",r:"ew-resize",b:"ns-resize"},ye=function(e){var t=e.hidden,n=e.handles,i=e.id;return t?s.jsx(s.Fragment,{}):(n||["lt","l","lb","t","b","rt","r","rb"]).map(function(e){return r.createElement("span",y(y({},g(g(g({},B,M.resize),A,i),N,e)),{},{key:e,style:we[e]}))})},be={position:"absolute",left:0,top:0,transform:"translate(-50%, -50%)",backgroundColor:"green"},De=y(y({},be),{},{width:"20px",height:"20px",borderRadius:"2px"}),xe=y(y({},be),{},{width:"6px",height:"6px"}),we={lt:y(y({},xe),{},{cursor:he.lt}),lb:y(y({},xe),{},{top:"100%",cursor:he.lb}),rt:y(y({},xe),{},{left:"100%",cursor:he.rt}),rb:y(y({},xe),{},{left:"100%",top:"100%",cursor:he.rb}),l:y(y({},De),{},{top:"50%",width:xe.height,cursor:he.l}),r:y(y({},De),{},{left:"100%",top:"50%",width:xe.width,cursor:he.r}),t:y(y({},De),{},{left:"50%",height:xe.height,cursor:he.t}),b:y(y({},De),{},{left:"50%",top:"100%",height:xe.height,cursor:he.b})},Ee={id:"",info:{},startCoord:{x:0,y:0,w:0,h:0}},Ie=function(){function e(){var t;l(this,e);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return g(t=f(this,e,[].concat(o)),"triggers",i.dataTriggers(Ee)),g(t,"resizeEmitter",new n.Emitter),g(t,"onBaseInfo",function(e){return t.triggers.onChange("id",function(){e(t.getBaseInfo())})}),g(t,"onResizeEvent",function(e,r){return t.resizeEmitter.addListener(e,r)}),g(t,"getBaseInfo",function(){return t.triggers.getter(["id","info","handle","startCoord"])}),g(t,"onFreeReset",function(){t.triggers.setter(Ee)}),g(t,"descroy",function(){t.triggers.destroy()}),t}return v(e,V),d(e)}(),je=function(){function e(){var t;l(this,e);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return g(t=f(this,e,[].concat(n)),"setBaseInfo",function(e){t.triggers.setter(e)}),g(t,"emitResize",function(e,r){t.resizeEmitter.emit(e,r)}),t}return v(e,Ie),d(e)}(),Ce=function(){var e=R().resizeCore;return{descroy:e.descroy,getBaseInfo:e.getBaseInfo,onBaseInfo:e.onBaseInfo,emitResize:e.emitResize,onResizeEvent:e.onResizeEvent,setBaseInfo:e.setBaseInfo}},Se=function(){var e=Ce().onBaseInfo,t=x(r.useState({}),2),n=t[0],i=t[1];return r.useEffect(function(){return e(i)},[]),n},ke=function(e){var n=e.id,i=e.onResizing,o=e.onResized,s=e.disabled,a=z().addUser,u=Ce(),c=u.setBaseInfo,f=u.onResizeEvent,l=Se(),d=l.id,g=l.handle,p=l.startCoord,v=ie(e.domRef),m=d===n,h=t.useCallbackRef(function(e){var t,r,i;a("resize");var o=(null==v||null===(t=v.current)||void 0===t?void 0:t.getBoundingClientRect())||{width:0,height:0},s=o.width,u=o.height;c({id:n,startCoord:{x:(null===(r=v.current)||void 0===r?void 0:r.offsetLeft)||0,y:(null===(i=v.current)||void 0===i?void 0:i.offsetTop)||0,w:s,h:u},info:{},handle:e})});return r.useEffect(function(){if(!s)return f(n,h)},[s]),K(function(e){if("free"!==e.status){var t=function(e,t,r){var n=y({},e),i=n.h,o=n.w,s=n.x,a=n.y,u=t.spaceX,c=t.spaceY;switch(r){case"lt":n.x=s+u,n.y=a+c,n.w=o-u,n.h=i-c;break;case"rt":n.x=s,n.y=a+c,n.w=o+u,n.h=i-c;break;case"lb":n.x=s+u,n.y=a,n.w=o-u,n.h=i+c;break;case"rb":n.x=s,n.y=a,n.w=o+u,n.h=i+c;break;case"l":n.x=s+u,n.y=a,n.w=o-u,n.h=i;break;case"r":n.x=s,n.y=a,n.w=o+u,n.h=i;break;case"b":n.x=s,n.y=a,n.w=o,n.h=i+c;break;case"t":n.x=s,n.y=a+c,n.w=o,n.h=i-c}return n}(p,e,g);null==i||i(t),"end"===e.status&&(null==o||o(t))}},m&&!!i),[{isResizing:m},{}]},Re=["children","style","pure","className"],Oe=["show","dom"],ze=function(e){var t=e.show,r=e.dom,n=b(e,Oe);return t&&r?u.createPortal(s.jsx("div",{style:{position:"absolute",inset:0},children:s.jsx(ye,y({},n))}),r):s.jsx(s.Fragment,{})},Te={ids:[],infoMap:{}},Pe=function(){function e(){var t;l(this,e);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return g(t=f(this,e,[].concat(o)),"triggers",i.dataTriggers(Te)),g(t,"selectEmitter",new n.Emitter),g(t,"onSelectIds",function(e){return t.triggers.onChange("ids",function(){e(t.getSelectInfo())})}),g(t,"onTapEvent",function(e,r){return t.selectEmitter.addListener(e,r)}),g(t,"getSelectInfo",function(){return t.triggers.getter(["ids","infoMap"])}),g(t,"reset",function(){t.triggers.setter(Te)}),g(t,"descroy",function(){t.triggers.destroy()}),t}return v(e,V),d(e)}(),Fe=function(){function e(){var t;l(this,e);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return g(t=f(this,e,[].concat(n)),"setSelectIds",function(e){t.triggers.setter({ids:e})}),g(t,"emitTapEvent",function(e){t.selectEmitter.emit(e,{})}),t}return v(e,Pe),d(e)}(),Be=function(){var e=R().selectCore,t=e.reset,r=e.setSelectIds,n=e.descroy,i=e.onSelectIds,o=e.getSelectInfo;return{onTapEvent:e.onTapEvent,emitTapEvent:e.emitTapEvent,getSelectInfo:o,setSelectIds:r,onSelectIds:i,reset:t,descroy:n}},Ae=function(e){var t=e.id,n=e.disabled,i=function(){var e=Be(),t=e.onSelectIds,n=e.getSelectInfo,i=x(r.useState(n()),2),o=i[0],s=i[1];return r.useEffect(function(){return t(function(e){s(e)})},[]),o}(),o=i.ids,s=i.infoMap,a=Be(),u=a.onTapEvent,c=a.setSelectIds,f=s[t],l=o.includes(t),d=ie(e.domRef);return r.useEffect(function(){if(!n)return u(t,function(){c([t])})},[n]),r.useEffect(function(){L(null==d?void 0:d.current,M.select),q(null==d?void 0:d.current,t)},[]),[{isSelect:l,selectInfo:f},d]},Ne=function(e){var t=e.id,n=e.coord,i=e.item,o=e.className,a=e.resizeDisable,u=e.dropDisable,c=e.dragDisable,f=e.selectDisable,l=e.onResizing,d=e.onOver,g=e.onDroped,p=T().status,v=x(ue({id:t,renderFake:!0,item:i,disabled:c}),2),m=v[0].isDragging,h=v[1],b=x(Ae({id:t,domRef:h,disabled:f}),1)[0].isSelect;ke({id:t,onResizing:l,domRef:h,disabled:a}),fe({id:t,item:i,domRef:h,onOver:d,onDroped:g,disabled:u});var D=r.useMemo(function(){return{left:n.x,top:n.y,width:n.w,height:n.h,cursor:"move"!==p?"grab":void 0,pointerEvents:m?"none":"unset"}},[n,p,m]),w=r.useMemo(function(){return{boxShadow:b?"0 0 4px 1px #0078d4":void 0}},[b]),E=r.useMemo(function(){return{contain:b?"layout":void 0}},[b]);return s.jsxs(s.Fragment,{children:[s.jsx(ze,{show:b&&!m,id:t,dom:h.current}),s.jsx(de,{ref:h,className:o,style:y(y(y(y({},D),w),E),e.style),children:e.children})]})},Me=["className","style","children","id","coord","item"],Xe=function(){var e=se().dragId,t=Se(),n=t.handle,i=t.id,o=z().getData;return r.useEffect(function(){var t=o().users[0];e&&"dnd"===t?(document.body.style.cursor="grabbing",document.body.style.userSelect="none"):n&&"resize"===t?(document.body.style.cursor=he[n],document.body.style.userSelect="none"):(document.body.style.cursor="",document.body.style.userSelect="")},[e,n,i]),s.jsx(s.Fragment,{})},Ye=function(){var e=z().onDomEvent,t=oe().emitDrag;return r.useEffect(function(){return e("drag",function(e){var r=e.level,n=r.types,i=r.ids;if(!(n[0]&M.resize)){var o=n.findIndex(function(e){return e&M.drag});if(!(o<0)){var s=i[o];s&&t(s)}}})},[]),s.jsx(s.Fragment,{})},qe=function(){var t=se(),n=t.dragId,i=t.offset,o=t.renderFake,a=x(r.useState(""),2),c=a[0],f=a[1],l=x(r.useState(!1),2),d=l[0],g=l[1],p=r.useRef({timer:null}),v=function(e){var t=e.clientX,r=e.clientY,n=i,o=n.x,s=n.y;f("translate(".concat(t-(o||0),"px, ").concat(r-(s||0),"px)"))},m=function(e){clearTimeout(p.current.timer),v(e),p.current.timer=setTimeout(function(){g(!0),p.current.timer=null},100)};K(function(e){switch(e.status){case"start":m(e);break;case"end":clearTimeout(p.current.timer),p.current.timer=setTimeout(function(){g(!1),f(""),p.current.timer=null},100);break;case"move":p.current.timer?v(e):m(e)}},!!n);var h=r.useMemo(function(){return e.isFunction(o)?o():s.jsx("div",{style:{width:"100%",height:"100%",backgroundColor:"rgba(0,0,0,0.5)"}})},[o]);return u.createPortal(s.jsx("div",{style:{position:"fixed",pointerEvents:"none",left:0,top:0,width:0,height:0,zIndex:1e3},children:o?s.jsx("div",{style:{display:d&&n?"block":"none",position:"absolute",transition:n?"transform linear 0.1s":"",width:null==i?void 0:i.w,height:null==i?void 0:i.h,transform:c},children:h}):s.jsx(s.Fragment,{})}),document.body)},_e=function(){var e=T().status,n=ce().setDropStack,i="free"!==e,a=t.useCallbackRef(function(e){var t=W(e.target,M.drop).ids;n(t.filter(Boolean))});return r.useEffect(function(){if(i)return o.addEventListenerMultiple(window,{mouseover:a})},[i]),s.jsx(s.Fragment,{})},Le=function(){var e=z().onDomEvent,t=Ce().emitResize;return r.useEffect(function(){return e("down",function(e){var r=e.level,n=r.types,i=r.ids,o=r.datas;if(n[0]&M.resize){var s=i[0],a=o[0];t(s,a)}})},[]),s.jsx(s.Fragment,{})},Ue=function(){var e=Be(),t=e.reset,n=e.emitTapEvent,i=z().onDomEvent;return r.useEffect(function(){return i("tap",function(e){var r=e.level,i=r.types,o=r.ids,s=i.findIndex(function(e){return e&M.select});if(s<0)t();else{var a=o[s];a&&n(a)}})},[]),s.jsx(s.Fragment,{})};exports.BoxProviderWrap=function(e){var t=e.id,r=e.item,n=e.type;return s.jsx(S,{value:{id:t,item:r,type:n},children:e.children})},exports.CoordWrap=function(e){var n=e.children,i=e.onWillChange,o=x(t.useControl(e,[]),2),u=o[0],c=o[1],f=r.useMemo(function(){return a.listToMap(n,"key")},[n]),l=function(e,t){if(u){var r=w(u),n=u.findIndex(function(t){return t.i===e});-1!==n&&(r[n]=y(y({},r[n]),t),null==c||c(r))}};return s.jsx(me,{accept:e.accept,className:e.className,style:e.style,onDroped:function(e,t){if(u){var r=w(u),n=u.findIndex(function(t){return t.i===e}),o=!1,s=y({i:e},t);-1===n&&(o=!0,r.push({}),n=r.length-1),r[n]=s;var a=i?i(r,{addIds:o?[s.i]:[],removeIds:[],changeIds:[s.i]}):r;a&&(null==c||c(a))}},children:null==u?void 0:u.map(function(e){var t=f[e.i];return t?s.jsx(Ne,{style:{position:"absolute"},coord:e,id:e.i,onResizing:l.bind(null,e.i),dropDisable:!0,children:t},e.i):s.jsx(r.Fragment,{},e.i)})})},exports.Drag=ve,exports.DragBoxWrap=function(e){var t=e.className,r=e.style,n=e.children,i=e.id,o=e.coord,a=e.item,u=b(e,Me);return s.jsx(S,{value:{id:i,coord:o,item:a},children:s.jsx(ve,y(y({style:r,className:t},u),{},{children:n}))})},exports.Drop=me,exports.PlainWrap=function(e){var n=e.children,i=e.onWillAdd,o=x(t.useControl(e,[]),2),u=o[0],c=o[1],f=r.useMemo(function(){return a.listToMap(n,"key")},[n]),l=function(e,t){if(u){var r=w(u),n=u.findIndex(function(t){return t.i===e}),o=y({i:e},t);-1===n&&(o.i=i?i(e,t):a.uuid(),r.push({}),n=r.length-1),r[n]=o,null==c||c(r)}},d=function(e,t){if(u){var r=w(u),n=u.findIndex(function(t){return t.i===e});-1!==n&&(r[n]=y(y({},r[n]),t),null==c||c(r))}},g=function(e){if(u){var t=e.getDroppingId(),r=e.getDraggingBaseData(),n=r.dragId,i=r.offset,o=u.findIndex(function(e){return e.i===n});if(-1!==o){var s=u.findIndex(function(e){return e.i===t});if(-1!==s){var a=w(u),f=a[o];a[o]=a[s],a[s]=f,null==c||c(a)}}else null==l||l(n,{x:0,y:0,w:i.w,h:i.h})}};return s.jsx(me,{accept:e.accept,className:e.className,style:e.style,onDroped:l,children:null==u?void 0:u.map(function(e){var t=f[e.i];return t?s.jsx(Ne,{coord:e,id:e.i,onResizing:d.bind(null,e.i),onDroped:g,children:t},e.i):s.jsx(r.Fragment,{},e.i)})})},exports.ReiseHandle=ye,exports.Resize=function(e){var t=e.children,r=e.style,n=e.pure,i=e.className,o=b(e,Re);return x(ke(o),1),n?s.jsx(ye,{id:o.id}):s.jsxs("div",{style:y({position:"relative"},r),className:i,children:[s.jsx(ye,{id:o.id}),t]})},exports.ResizeCore=je,exports.TransBox=Ne,exports.TransProviderWrap=function(e){var r=t.useRefPro(function(){var e=new J,t=new ee(e),r=new ne(e),n=function(e){var t=e.draggingCore,r=e.droppingCore,n=e.baseCore;return{getBaseMoveData:function(){return n.getBaseData()},getDraggingBaseData:function(){return t.getDraggingData()},getDraggingId:function(){return t.triggers.getter("dragId")||""},getDraggingItem:function(){return t.triggers.getter("item")||{}},getDraggingType:function(){return t.triggers.getter("type")||""},getDraggingOffset:function(){return t.triggers.getter("offset")},getDroppingBaseData:function(){return r.getDropData()},getDroppingId:function(){return r.triggers.getter("dropId")},getDroppingAccept:function(){return r.triggers.getter("accept")||[]},getDroppingItem:function(){return r.triggers.getter("item")},getDroppingStack:function(){return r.triggers.getter("stack")},getDroppingCoord:function(){var e=r.getDropPos();if(e){var n=t.getDraggingData().offset;return{x:e.x-(n.x||0),y:e.y-(n.y||0),w:n.w,h:n.h}}}}}({baseCore:e,droppingCore:r,draggingCore:t});return{baseCore:e,selectCore:new Fe(e),resizeCore:new je(e),dragCore:t,dropCore:r,dndMonitor:n}});return s.jsxs(O,{value:r.current,children:[s.jsx(H,{}),s.jsx(Xe,{}),s.jsx(Le,{}),s.jsx(Ye,{}),s.jsx(Ue,{}),s.jsx(qe,{}),s.jsx(_e,{}),e.children]})},exports.useResize=ke,exports.useResizeCore=Ce,exports.useResizeInfo=Se;
|
|
1
|
+
"use strict";var e=require("@cclr/lang"),t=require("@cclr/react"),r=require("react"),n=require("@cclr/emitter"),i=require("@cclr/trigger"),o=require("@cclr/front"),s=require("react/jsx-runtime"),a=require("@cclr/utils"),u=require("react-dom");function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t,r){return t=p(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,m()?Reflect.construct(t,r||[],p(e).constructor):t.apply(e,r))}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t,r){return t&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,E(n.key),n)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function g(e,t,r){return(t=E(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function v(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&D(e,t)}function m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(m=function(){return!!e})()}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach(function(t){g(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function b(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function D(e,t){return D=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},D(e,t)}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,s,a=[],u=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==t);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw i}}return a}}(e,t)||I(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||I(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function I(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}var j=x(t.createCtx({}),2),C=j[0],S=j[1],k=x(t.createCtx({}),2),R=k[0],O=k[1],z=function(){var e=R().baseCore;return{start:e.start,move:e.move,end:e.end,mouseEvent:e.mouseEvent,getData:e.getData,getBaseData:e.getBaseData,reset:e.reset,addUser:e.addUser,onDragMove:e.onDragMove,onStatus:e.onStatus,onDomEvent:e.onDomEvent}},T=function(){var e=z().onStatus,t=x(r.useState({}),2),n=t[0],i=t[1];return r.useEffect(function(){return e(function(e,t){i(t)})},[]),n};var P,F,B="data-trans-box-type",A="data-trans-box-id",N="data-trans-box-data",M=function(e){return e[e.drag=1]="drag",e[e.drop=2]="drop",e[e.resize=4]="resize",e[e.select=8]="select",e[e.stop=64]="stop",e[e.boundary=128]="boundary",e}({}),X=(P=[M.drag,M.drop,M.resize,M.select,M.stop,M.boundary],F=[],function e(t,r){if(t.length&&F.push(t),0!==r.length)for(var n=0;n<r.length;n++)e(t.concat(r[n]),r.slice(0,n))}([],P),F).reduce(function(e,t){var r=t.reduce(function(e,t){return e|t},0);return e[r.toString()]=r,e},{}),Y=function(e){if(e)return e.getAttribute(N)},q=function(e,t){e&&e.setAttribute(A,t.toString())},_=function(e){if(e)return e.getAttribute(A)},L=function(e,t){if(e){var r=e.getAttribute(B)||"",n=(X[r]||0)|t;e.setAttribute(B,n.toString())}},U=function(e){if(e)return X[e.getAttribute(B)||""]},W=function(e,t){for(var r=e,n=[],i=[],o=[];r&&r!==document.body;){var s=U(r);s&&(!t||t&s)&&(n.push(s),i.push(_(r)),o.push(Y(r))),r=r.parentElement}return{types:n,ids:i,datas:o}},H=function(){var e=z(),n=e.start,i=e.move,a=e.end,u=e.reset,c=e.mouseEvent,f=e.getData,l=r.useRef({free:!0,timer:null}),d=function(){clearTimeout(l.current.timer),l.current.timer=null,c("drag")},g=t.useCallbackRef(function(e){var t;if(clearTimeout(l.current.timer),(null==e||null===(t=e.target)||void 0===t?void 0:t.nodeType)===Node.ELEMENT_NODE){l.current.free=!1;var r=W(e.target),i=e.clientX,o=e.clientY;n({startClientX:i,startClientY:o},r),c("down"),l.current.timer=setTimeout(d,120)}}),p=t.useCallbackRef(function(e){if(!l.current.free){var t=e.clientX,r=e.clientY,n=f(),o=t-n.startClientX,s=r-n.startClientY;l.current.timer&&(o>30||s>30)&&d(),i({clientX:t,clientY:r,spaceX:o,spaceY:s})}}),v=t.useCallbackRef(function(e){if(clearTimeout(l.current.timer),!l.current.free){l.current.timer&&(c("tap"),l.current.timer=null);var t=e.clientX,r=e.clientY,n=f(),i=n.startClientX,o=n.startClientY;a({clientX:t,clientY:r,spaceX:t-i,spaceY:r-o})}l.current.free=!0,setTimeout(function(){u()},0)});return r.useEffect(function(){return o.addEventListenerMultiple(window,{mousedown:g,mousemove:p,mouseup:v})},[]),s.jsx(s.Fragment,{})},V=function(){return d(function e(t){l(this,e),g(this,"baseCore",void 0),this.baseCore=t,this.initFreeReset()},[{key:"onFreeReset",value:function(){}},{key:"initFreeReset",value:function(){var e=this;this.baseCore.onStatus(function(t){"free"===t&&e.onFreeReset()})}}])}(),$={status:"free",users:[],position:{startClientX:0,startClientY:0,clientX:0,clientY:0,spaceX:0,spaceY:0},level:{types:[],ids:[],datas:[]},eventType:"free"},G=d(function e(){var t=this;l(this,e),g(this,"triggers",i.dataTriggers($)),g(this,"onDragMove",function(e){return t.triggers.onChange("position",function(){e(t.getData())})}),g(this,"onStatus",function(e){var r;return t.triggers.onChange("status",function(n){r!==n&&(r=n,e(n,t.getBaseData()))})}),g(this,"onDomEvent",function(e,r){return t.triggers.onChange("eventType",function(n){e===n&&r(t.getBaseData())})}),g(this,"getData",function(){return y(y({},t.triggers.getter(["status","users"])),t.triggers.getter("position"))}),g(this,"getBaseData",function(){return t.triggers.getter(["status","users","position","level","eventType"])}),g(this,"reset",function(){t.triggers.setter($)}),g(this,"descroy",function(){t.triggers.destroy()})}),J=function(){function e(){var t;l(this,e);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return g(t=f(this,e,[].concat(n)),"start",function(e,r){t.triggers.setter({position:function(t){return y(y({},t),e)},status:"start",level:r})}),g(t,"move",function(e){t.triggers.setter({position:function(t){return y(y({},t),e)},status:"move"})}),g(t,"end",function(e){t.triggers.setter({position:function(t){return y(y({},t),e)},status:"end"})}),g(t,"mouseEvent",function(e){t.triggers.setter({eventType:e})}),g(t,"addUser",function(e){t.triggers.setter({users:function(t){return[].concat(w(t),[e])}})}),t}return v(e,G),d(e)}(),K=function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=z().onDragMove,o=t.useThrottleFn(e,{wait:60}),s=o.run,a=o.fun,u=o.cancel;r.useEffect(function(){if(n)return i(function(e){return"start"===e.status||"free"===e.status||"end"===e.status?(u(),a(e)):s(e)})},[n])},Q={dragId:"",item:void 0,type:"",offset:{x:0,y:0,w:0,h:0},renderFake:!0},Z=function(){function e(){var t;l(this,e);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return g(t=f(this,e,[].concat(o)),"triggers",i.dataTriggers(Q)),g(t,"dragEmitter",new n.Emitter),g(t,"onDragStartEvent",function(e,r){return t.dragEmitter.addListener(e,r)}),g(t,"onDraggingId",function(e){return t.triggers.onChange("dragId",function(){e(t.getDraggingData())})}),g(t,"getDraggingData",function(){return t.triggers.getter(["dragId","item","type","offset","renderFake"])}),g(t,"onFreeReset",function(){t.triggers.setter(Q)}),g(t,"descroy",function(){t.triggers.destroy()}),t}return v(e,V),d(e)}(),ee=function(){function e(){var t;l(this,e);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return g(t=f(this,e,[].concat(n)),"setDragData",function(e){t.triggers.getter("dragId")||t.triggers.setter(y(y({},e),{},{renderFake:function(){return e.renderFake}}))}),g(t,"emitDrag",function(e){t.dragEmitter.emit(e,{})}),t}return v(e,Z),d(e)}(),te={stack:[],dropId:"",item:void 0,accept:[],dropPos:void 0},re=function(){function e(){var t;l(this,e);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return g(t=f(this,e,[].concat(n)),"triggers",i.dataTriggers(te)),g(t,"onDropStack",function(e){t.triggers.onChange("stack",e)}),g(t,"onDropId",function(e){t.triggers.onChange("dropId",function(){e(t.getDropData())})}),g(t,"getDropStack",function(){return t.triggers.getter("stack")}),g(t,"getDropData",function(){return t.triggers.getter(["dropId","item","accept"])}),g(t,"getDropPos",function(){return t.triggers.getter("dropPos")}),g(t,"getStack",function(){return t.triggers.getter(["stack"])}),g(t,"onFreeReset",function(){t.triggers.setter(te)}),g(t,"descroy",function(){t.triggers.destroy()}),t}return v(e,V),d(e)}(),ne=function(){function e(){var t;l(this,e);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return g(t=f(this,e,[].concat(n)),"setDropInfo",function(e){t.triggers.setter(e)}),g(t,"setDropPos",function(e){t.triggers.setter({dropPos:e})}),g(t,"setDropStack",function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.triggers.setter({stack:e})}),t}return v(e,re),d(e)}(),ie=function(e){var t=r.useRef();return e||t},oe=function(){var e=R().dragCore,t=e.setDragData,r=e.getDraggingData;return{dragCore:e,onDragId:e.onDraggingId,onDragStartEvent:e.onDragStartEvent,emitDrag:e.emitDrag,setDragData:t,getDraggingData:r}},se=function(){var e=oe().onDragId,t=x(r.useState({}),2),n=t[0],i=t[1];return r.useEffect(function(){return e(function(e){i(e)})},[]),n},ae=function(){return R().dndMonitor},ue=function(n){var i,o,s,a,u=n.id,c=n.item,f=n.type,l=n.renderFake,d=n.onDragStart,g=n.onDrag,p=n.onDragEnd,v=n.disabled,m=ae(),h=z(),y=h.getData,b=h.addUser,D=oe(),x=D.setDragData,w=D.onDragStartEvent,E=se().dragId,I=E===u,j=ie(n.domRef),C=t.useCallbackRef(function(){var t=y(),r=t.startClientX,n=t.startClientY,i=j.current.getBoundingClientRect(),o=i.left,s=i.top,a=i.width,g=i.height;b("dnd"),x({dragId:u,item:c,type:f,offset:{x:r-o,y:n-s,w:a,h:g},renderFake:e.isFunction(l)?l.bind(null,m):l}),null==d||d(m)});return i=function(e){"end"===e&&(null==p||p(m))},o=I,s=z().onStatus,a=t.useCallbackRef(i),r.useEffect(function(){if(o)return s(a)},[o]),K(function(e){"free"!==e.status&&(null==g||g(m))},I&&!!g),r.useEffect(function(){if(!v)return w(u,C)},[v]),r.useEffect(function(){L(j.current,M.drag),q(j.current,u)},[]),[{id:u,item:c,draggingId:E,isDragging:I},j]},ce=function(){var e=R().dropCore,t=e.setDropInfo,r=e.setDropPos,n=e.setDropStack;return{dropCore:e,getDropData:e.getDropData,setDropInfo:t,setDropPos:r,setDropStack:n,onDropStack:e.onDropStack,onDropId:e.onDropId}},fe=function(e){var n=e.id,i=e.item,o=e.accept,s=e.disabled,a=e.onOver,u=e.onDroped,c=ie(e.domRef),f=ae(),l=function(){var e=ce().onDropStack,t=x(r.useState([]),2),n=t[0],i=t[1];return r.useEffect(function(){return e(function(e){i(e)})},[]),n}(),d=ce(),g=d.setDropInfo,p=d.setDropPos,v=n||t.useUuid(),m=se(),h=m.dragId,y=m.type,b=h&&l[0]===v,D=!(null!=o&&o.length)||(null==o?void 0:o.includes(y||"")),w=function(e){var t,r=(null===(t=c.current)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0},n=r.left,i=r.top;return{x:e.clientX-n,y:e.clientY-i}},E=t.useThrottleFn(function(e){p(w(e)),null==a||a(f)}).run;return r.useEffect(function(){!s&&b&&g({dropId:v,accept:o,item:i})},[b,s]),t.useEventListenerMultiple(c,{mousemove:E,mouseup:function(e){p(w(e)),null==u||u(f)}},!!b&&!s),r.useEffect(function(){L(c.current,M.drop),q(c.current,v)},[]),[{id:v,item:i,accept:o,isOver:b,isAccept:D},c]},le=["className","style","children"],de=r.forwardRef(function(t,n){var i=t.className,a=t.style,u=t.children,c=b(t,le);return r.isValidElement(u)&&e.isString(u.type)?r.cloneElement(u,y(y({},c),{},{ref:n,className:o.classNames(i,u.props.className),style:e.obj.extend(a,u.props.style)})):s.jsx("div",y(y({ref:n},c),{},{style:a,className:i,children:u}))}),ge=["className","style","children"],pe=["id","renderFake"],ve=function(t){var r=t.className,n=t.style,i=t.children,o=b(t,ge),a=C(),u=a.id,c=a.renderFake,f=b(a,pe),l=T().status,d=x(ue(y(y({id:u,renderFake:e.isUndefinedOrNull(c)||c},o),f)),2),g=d[0].isDragging,p={ref:d[1],className:r,style:y(y({},n),{},{cursor:"move"!==l?"grab":void 0,pointerEvents:g?"none":"unset"})};return s.jsx(de,y(y({},p),{},{children:i}))},me=function(e){var t=e.className,r=e.style,n=e.children,i=e.onOver,o=e.onDroped,a=e.item,u=e.accept,c=e.id,f=fe({id:c,item:a||{},accept:u||[],onDroped:function(e){if(p){var t=e.getDroppingCoord();if(t){var r=e.getDraggingBaseData(),n=r.dragId,i=r.item;null==o||o(n,t,i)}}},onOver:function(e){var t=e.getDroppingCoord();if(t){var r=e.getDraggingBaseData().dragId;null==i||i(r,t)}}}),l=x(f,2),d=l[0],g=d.isOver,p=d.isAccept,v={ref:l[1],className:t,style:y({boxShadow:g?p?"0 0 4px 1px #1f90fc":"0 0 4px 1px orange":void 0},r)};return s.jsx(de,y(y({},v),{},{children:n}))},he={lt:"nwse-resize",rt:"nesw-resize",lb:"nesw-resize",rb:"nwse-resize",t:"ns-resize",l:"ew-resize",r:"ew-resize",b:"ns-resize"},ye=function(e){var t=e.hidden,n=e.handles,i=e.id;return t?s.jsx(s.Fragment,{}):(n||["lt","l","lb","t","b","rt","r","rb"]).map(function(e){return r.createElement("span",y(y({},g(g(g({},B,M.resize),A,i),N,e)),{},{key:e,style:we[e]}))})},be={position:"absolute",left:0,top:0,transform:"translate(-50%, -50%)",backgroundColor:"green"},De=y(y({},be),{},{width:"20px",height:"20px",borderRadius:"2px"}),xe=y(y({},be),{},{width:"6px",height:"6px"}),we={lt:y(y({},xe),{},{cursor:he.lt}),lb:y(y({},xe),{},{top:"100%",cursor:he.lb}),rt:y(y({},xe),{},{left:"100%",cursor:he.rt}),rb:y(y({},xe),{},{left:"100%",top:"100%",cursor:he.rb}),l:y(y({},De),{},{top:"50%",width:xe.height,cursor:he.l}),r:y(y({},De),{},{left:"100%",top:"50%",width:xe.width,cursor:he.r}),t:y(y({},De),{},{left:"50%",height:xe.height,cursor:he.t}),b:y(y({},De),{},{left:"50%",top:"100%",height:xe.height,cursor:he.b})},Ee={id:"",info:{},startCoord:{x:0,y:0,w:0,h:0}},Ie=function(){function e(){var t;l(this,e);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return g(t=f(this,e,[].concat(o)),"triggers",i.dataTriggers(Ee)),g(t,"resizeEmitter",new n.Emitter),g(t,"onBaseInfo",function(e){return t.triggers.onChange("id",function(){e(t.getBaseInfo())})}),g(t,"onResizeEvent",function(e,r){return t.resizeEmitter.addListener(e,r)}),g(t,"getBaseInfo",function(){return t.triggers.getter(["id","info","handle","startCoord"])}),g(t,"onFreeReset",function(){t.triggers.setter(Ee)}),g(t,"descroy",function(){t.triggers.destroy()}),t}return v(e,V),d(e)}(),je=function(){function e(){var t;l(this,e);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return g(t=f(this,e,[].concat(n)),"setBaseInfo",function(e){t.triggers.setter(e)}),g(t,"emitResize",function(e,r){t.resizeEmitter.emit(e,r)}),t}return v(e,Ie),d(e)}(),Ce=function(){var e=R().resizeCore;return{descroy:e.descroy,getBaseInfo:e.getBaseInfo,onBaseInfo:e.onBaseInfo,emitResize:e.emitResize,onResizeEvent:e.onResizeEvent,setBaseInfo:e.setBaseInfo}},Se=function(){var e=Ce().onBaseInfo,t=x(r.useState({}),2),n=t[0],i=t[1];return r.useEffect(function(){return e(i)},[]),n},ke=function(e){var n=e.id,i=e.onResizing,o=e.onResized,s=e.disabled,a=z().addUser,u=Ce(),c=u.setBaseInfo,f=u.onResizeEvent,l=Se(),d=l.id,g=l.handle,p=l.startCoord,v=ie(e.domRef),m=d===n,h=t.useCallbackRef(function(e){var t,r,i;a("resize");var o=(null==v||null===(t=v.current)||void 0===t?void 0:t.getBoundingClientRect())||{width:0,height:0},s=o.width,u=o.height;c({id:n,startCoord:{x:(null===(r=v.current)||void 0===r?void 0:r.offsetLeft)||0,y:(null===(i=v.current)||void 0===i?void 0:i.offsetTop)||0,w:s,h:u},info:{},handle:e})});return r.useEffect(function(){if(!s)return f(n,h)},[s]),K(function(e){if("free"!==e.status){var t=function(e,t,r){var n=y({},e),i=n.h,o=n.w,s=n.x,a=n.y,u=t.spaceX,c=t.spaceY;switch(r){case"lt":n.x=s+u,n.y=a+c,n.w=o-u,n.h=i-c;break;case"rt":n.x=s,n.y=a+c,n.w=o+u,n.h=i-c;break;case"lb":n.x=s+u,n.y=a,n.w=o-u,n.h=i+c;break;case"rb":n.x=s,n.y=a,n.w=o+u,n.h=i+c;break;case"l":n.x=s+u,n.y=a,n.w=o-u,n.h=i;break;case"r":n.x=s,n.y=a,n.w=o+u,n.h=i;break;case"b":n.x=s,n.y=a,n.w=o,n.h=i+c;break;case"t":n.x=s,n.y=a+c,n.w=o,n.h=i-c}return n}(p,e,g);null==i||i(t),"end"===e.status&&(null==o||o(t))}},m&&!!i),[{isResizing:m},{}]},Re=["children","style","pure","className"],Oe=["show","dom"],ze=function(e){var t=e.show,r=e.dom,n=b(e,Oe);return t&&r?u.createPortal(s.jsx("div",{style:{position:"absolute",inset:0},children:s.jsx(ye,y({},n))}),r):s.jsx(s.Fragment,{})},Te={ids:[],infoMap:{}},Pe=function(){function e(){var t;l(this,e);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return g(t=f(this,e,[].concat(o)),"triggers",i.dataTriggers(Te)),g(t,"selectEmitter",new n.Emitter),g(t,"onSelectIds",function(e){return t.triggers.onChange("ids",function(){e(t.getSelectInfo())})}),g(t,"onTapEvent",function(e,r){return t.selectEmitter.addListener(e,r)}),g(t,"getSelectInfo",function(){return t.triggers.getter(["ids","infoMap"])}),g(t,"reset",function(){t.triggers.setter(Te)}),g(t,"descroy",function(){t.triggers.destroy()}),t}return v(e,V),d(e)}(),Fe=function(){function e(){var t;l(this,e);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return g(t=f(this,e,[].concat(n)),"setSelectIds",function(e){t.triggers.setter({ids:e})}),g(t,"emitTapEvent",function(e){t.selectEmitter.emit(e,{})}),t}return v(e,Pe),d(e)}(),Be=function(){var e=R().selectCore,t=e.reset,r=e.setSelectIds,n=e.descroy,i=e.onSelectIds,o=e.getSelectInfo;return{onTapEvent:e.onTapEvent,emitTapEvent:e.emitTapEvent,getSelectInfo:o,setSelectIds:r,onSelectIds:i,reset:t,descroy:n}},Ae=function(e){var t=e.id,n=e.disabled,i=function(){var e=Be(),t=e.onSelectIds,n=e.getSelectInfo,i=x(r.useState(n()),2),o=i[0],s=i[1];return r.useEffect(function(){return t(function(e){s(e)})},[]),o}(),o=i.ids,s=i.infoMap,a=Be(),u=a.onTapEvent,c=a.setSelectIds,f=s[t],l=o.includes(t),d=ie(e.domRef);return r.useEffect(function(){if(!n)return u(t,function(){c([t])})},[n]),r.useEffect(function(){L(null==d?void 0:d.current,M.select),q(null==d?void 0:d.current,t)},[]),[{isSelect:l,selectInfo:f},d]},Ne=function(e){var t=e.id,n=e.coord,i=e.item,o=e.className,a=e.resizeDisable,u=e.dropDisable,c=e.dragDisable,f=e.selectDisable,l=e.onResizing,d=e.onOver,g=e.onDroped,p=T().status,v=x(ue({id:t,renderFake:!0,item:i,disabled:c}),2),m=v[0].isDragging,h=v[1],b=x(Ae({id:t,domRef:h,disabled:f}),1)[0].isSelect;ke({id:t,onResizing:l,domRef:h,disabled:a}),fe({id:t,item:i,domRef:h,onOver:d,onDroped:g,disabled:u});var D=r.useMemo(function(){return{left:n.x,top:n.y,width:n.w,height:n.h,cursor:"move"!==p?"grab":void 0,pointerEvents:m?"none":"unset"}},[n,p,m]),w=r.useMemo(function(){return{boxShadow:b?"0 0 4px 1px #0078d4":void 0}},[b]),E=r.useMemo(function(){return{contain:b?"layout":void 0}},[b]);return s.jsxs(s.Fragment,{children:[s.jsx(ze,{show:b&&!m,id:t,dom:h.current}),s.jsx(de,{ref:h,className:o,style:y(y(y(y({},D),w),E),e.style),children:e.children})]})},Me=["className","style","children","id","coord","item"],Xe=function(){var e=se().dragId,t=Se(),n=t.handle,i=t.id,o=z().getData;return r.useEffect(function(){var t=o().users[0];e&&"dnd"===t?(document.body.style.cursor="grabbing",document.body.style.userSelect="none"):n&&"resize"===t?(document.body.style.cursor=he[n],document.body.style.userSelect="none"):(document.body.style.cursor="",document.body.style.userSelect="")},[e,n,i]),s.jsx(s.Fragment,{})},Ye=function(){var e=z().onDomEvent,t=oe().emitDrag;return r.useEffect(function(){return e("drag",function(e){var r=e.level,n=r.types,i=r.ids;if(!(n[0]&M.resize)){var o=n.findIndex(function(e){return e&M.drag});if(!(o<0)){var s=i[o];s&&t(s)}}})},[]),s.jsx(s.Fragment,{})},qe=function(){var t=se(),n=t.dragId,i=t.offset,o=t.renderFake,a=x(r.useState(""),2),c=a[0],f=a[1],l=x(r.useState(!1),2),d=l[0],g=l[1],p=r.useRef({timer:null}),v=function(e){var t=e.clientX,r=e.clientY,n=i,o=n.x,s=n.y;f("translate(".concat(t-(o||0),"px, ").concat(r-(s||0),"px)"))},m=function(e){clearTimeout(p.current.timer),v(e),p.current.timer=setTimeout(function(){g(!0),p.current.timer=null},100)};K(function(e){switch(e.status){case"start":m(e);break;case"end":clearTimeout(p.current.timer),p.current.timer=setTimeout(function(){g(!1),f(""),p.current.timer=null},100);break;case"move":p.current.timer?v(e):m(e)}},!!n);var h=r.useMemo(function(){return e.isFunction(o)?o():s.jsx("div",{style:{width:"100%",height:"100%",backgroundColor:"rgba(0,0,0,0.5)"}})},[o]);return u.createPortal(s.jsx("div",{style:{position:"fixed",pointerEvents:"none",left:0,top:0,width:0,height:0,zIndex:1e3},children:o?s.jsx("div",{style:{display:d&&n?"block":"none",position:"absolute",transition:n?"transform linear 0.1s":"",width:null==i?void 0:i.w,height:null==i?void 0:i.h,transform:c},children:h}):s.jsx(s.Fragment,{})}),document.body)},_e=function(){var e=T().status,n=ce().setDropStack,i="free"!==e,a=t.useCallbackRef(function(e){var t=W(e.target,M.drop).ids;n(t.filter(Boolean))});return r.useEffect(function(){if(i)return o.addEventListenerMultiple(window,{mouseover:a})},[i]),s.jsx(s.Fragment,{})},Le=function(){var e=z().onDomEvent,t=Ce().emitResize;return r.useEffect(function(){return e("down",function(e){var r=e.level,n=r.types,i=r.ids,o=r.datas;if(n[0]&M.resize){var s=i[0],a=o[0];t(s,a)}})},[]),s.jsx(s.Fragment,{})},Ue=function(){var e=Be(),t=e.reset,n=e.emitTapEvent,i=z().onDomEvent;return r.useEffect(function(){return i("tap",function(e){var r=e.level,i=r.types,o=r.ids,s=i.findIndex(function(e){return e&M.select});if(s<0)t();else{var a=o[s];a&&n(a)}})},[]),s.jsx(s.Fragment,{})};exports.BoxProviderWrap=function(e){var t=e.id,r=e.item,n=e.type;return s.jsx(S,{value:{id:t,item:r,type:n},children:e.children})},exports.CoordWrap=function(e){var n=e.children,i=e.onWillChange,o=x(t.useControl(e,[]),2),u=o[0],c=o[1],f=r.useMemo(function(){return a.listToMap(n,"key")},[n]),l=function(e,t){if(u){var r=w(u),n=u.findIndex(function(t){return t.i===e});-1!==n&&(r[n]=y(y({},r[n]),t),null==c||c(r))}};return s.jsx(me,{accept:e.accept,className:e.className,style:e.style,onDroped:function(e,t){if(u){var r=w(u),n=u.findIndex(function(t){return t.i===e}),o=!1,s=y({i:e},t);-1===n&&(o=!0,r.push({}),n=r.length-1),r[n]=s;var a=i?i(r,{addIds:o?[s.i]:[],removeIds:[],changeIds:[s.i]}):r;a&&(null==c||c(a))}},children:null==u?void 0:u.map(function(e){var t=f[e.i];return t?s.jsx(Ne,{style:{position:"absolute"},coord:e,id:e.i,onResizing:l.bind(null,e.i),dropDisable:!0,children:t},e.i):s.jsx(r.Fragment,{},e.i)})})},exports.Drag=ve,exports.DragBoxWrap=function(e){var t=e.className,r=e.style,n=e.children,i=e.id,o=e.coord,a=e.item,u=b(e,Me);return s.jsx(S,{value:{id:i,coord:o,item:a},children:s.jsx(ve,y(y({style:r,className:t},u),{},{children:n}))})},exports.Drop=me,exports.PlainWrap=function(e){var n=e.children,i=e.onWillAdd,o=x(t.useControl(e,[]),2),u=o[0],c=o[1],f=r.useMemo(function(){return a.listToMap(n,"key")},[n]),l=function(e,t){if(u){var r=w(u),n=u.findIndex(function(t){return t.i===e}),o=y({i:e},t);-1===n&&(o.i=i?i(e,t):a.uuid(),r.push({}),n=r.length-1),r[n]=o,null==c||c(r)}},d=function(e,t){if(u){var r=w(u),n=u.findIndex(function(t){return t.i===e});-1!==n&&(r[n]=y(y({},r[n]),t),null==c||c(r))}},g=function(e){if(u){var t=e.getDroppingId(),r=e.getDraggingBaseData(),n=r.dragId,i=r.offset,o=u.findIndex(function(e){return e.i===n});if(-1!==o){var s=u.findIndex(function(e){return e.i===t});if(-1!==s){var a=w(u),f=a[o];a[o]=a[s],a[s]=f,null==c||c(a)}}else null==l||l(n,{x:0,y:0,w:i.w,h:i.h})}};return s.jsx(me,{accept:e.accept,className:e.className,style:e.style,onDroped:l,children:null==u?void 0:u.map(function(e){var t=f[e.i];return t?s.jsx(Ne,{coord:e,id:e.i,onResizing:d.bind(null,e.i),onDroped:g,children:t},e.i):s.jsx(r.Fragment,{},e.i)})})},exports.ReiseHandle=ye,exports.Resize=function(e){var t=e.children,r=e.style,n=e.pure,i=e.className,o=b(e,Re);return x(ke(o),1),n?s.jsx(ye,{id:o.id}):s.jsxs("div",{style:y({position:"relative"},r),className:i,children:[s.jsx(ye,{id:o.id}),t]})},exports.ResizeCore=je,exports.TransBox=Ne,exports.TransProviderWrap=function(e){var r=t.useRefPro(function(){var e=new J,t=new ee(e),r=new ne(e),n=function(e){var t=e.draggingCore,r=e.droppingCore,n=e.baseCore;return{getBaseMoveData:function(){return n.getBaseData()},getDraggingBaseData:function(){return t.getDraggingData()},getDraggingId:function(){return t.triggers.getter("dragId")||""},getDraggingItem:function(){return t.triggers.getter("item")||{}},getDraggingType:function(){return t.triggers.getter("type")||""},getDraggingOffset:function(){return t.triggers.getter("offset")},getDroppingBaseData:function(){return r.getDropData()},getDroppingId:function(){return r.triggers.getter("dropId")},getDroppingAccept:function(){return r.triggers.getter("accept")||[]},getDroppingItem:function(){return r.triggers.getter("item")},getDroppingStack:function(){return r.triggers.getter("stack")},getDroppingCoord:function(){var e=r.getDropPos();if(e){var n=t.getDraggingData().offset;return{x:e.x-(n.x||0),y:e.y-(n.y||0),w:n.w,h:n.h}}}}}({baseCore:e,droppingCore:r,draggingCore:t});return{baseCore:e,selectCore:new Fe(e),resizeCore:new je(e),dragCore:t,dropCore:r,dndMonitor:n}});return s.jsxs(O,{value:r.current,children:[s.jsx(H,{}),s.jsx(Xe,{}),s.jsx(Le,{}),s.jsx(Ye,{}),s.jsx(Ue,{}),s.jsx(qe,{}),s.jsx(_e,{}),e.children]})},exports.useResize=ke,exports.useResizeCore=Ce,exports.useResizeInfo=Se;
|
package/lib/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isFunction as t,isString as e,obj as r,isUndefinedOrNull as n}from"@cclr/lang";import{createCtx as i,useCallbackRef as o,useThrottleFn as a,useUuid as u,useEventListenerMultiple as s,useControl as c,useRefPro as f}from"@cclr/react";import l,{useState as d,useEffect as g,useRef as p,forwardRef as v,isValidElement as m,createElement as h,useMemo as y,Fragment as b}from"react";import{Emitter as D}from"@cclr/emitter";import{dataTriggers as w}from"@cclr/trigger";import{addEventListenerMultiple as I,classNames as S}from"@cclr/front";import{jsx as x,Fragment as E,jsxs as C}from"react/jsx-runtime";import{listToMap as O,uuid as k}from"@cclr/utils";import z,{createPortal as R}from"react-dom";function j(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function P(t,e,r){return e=N(e),function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,X()?Reflect.construct(e,r||[],N(t).constructor):e.apply(t,r))}function T(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function B(t,e,r){return e&&function(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,$(n.key),n)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function A(t,e,r){return(e=$(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function N(t){return N=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},N(t)}function F(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&U(t,e)}function X(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(X=function(){return!!t})()}function Y(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function M(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Y(Object(r),!0).forEach(function(e){A(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Y(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function _(t,e){if(null==t)return{};var r,n,i=function(t,e){if(null==t)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==e.indexOf(n))continue;r[n]=t[n]}return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n<o.length;n++)r=o[n],-1===e.indexOf(r)&&{}.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}function U(t,e){return U=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},U(t,e)}function L(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,a,u=[],s=!0,c=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(u.push(n.value),u.length!==e);s=!0);}catch(t){c=!0,i=t}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return u}}(t,e)||q(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function W(t){return function(t){if(Array.isArray(t))return j(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||q(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}function q(t,e){if(t){if("string"==typeof t)return j(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?j(t,e):void 0}}var G=L(i({}),2),H=G[0],J=G[1],K=L(i({}),2),Q=K[0],V=K[1],Z=function(){var t=Q().baseCore;return{start:t.start,move:t.move,end:t.end,mouseEvent:t.mouseEvent,getData:t.getData,getBaseData:t.getBaseData,reset:t.reset,addUser:t.addUser,onDragMove:t.onDragMove,onStatus:t.onStatus,onDomEvent:t.onDomEvent}},tt=function(){var t=Z().onStatus,e=L(d({}),2),r=e[0],n=e[1];return g(function(){return t(function(t,e){n(e)})},[]),r};var et,rt,nt="data-trans-box-type",it="data-trans-box-id",ot="data-trans-box-data",at=function(t){return t[t.drag=1]="drag",t[t.drop=2]="drop",t[t.resize=4]="resize",t[t.select=8]="select",t[t.stop=64]="stop",t[t.boundary=128]="boundary",t}({}),ut=(et=[at.drag,at.drop,at.resize,at.select,at.stop,at.boundary],rt=[],function t(e,r){if(e.length&&rt.push(e),0!==r.length)for(var n=0;n<r.length;n++)t(e.concat(r[n]),r.slice(0,n))}([],et),rt).reduce(function(t,e){var r=e.reduce(function(t,e){return t|e},0);return t[r.toString()]=r,t},{}),st=function(t){if(t)return t.getAttribute(ot)},ct=function(t,e){t&&t.setAttribute(it,e.toString())},ft=function(t){if(t)return t.getAttribute(it)},lt=function(t,e){if(t){var r=t.getAttribute(nt)||"",n=(ut[r]||0)|e;t.setAttribute(nt,n.toString())}},dt=function(t){if(t)return ut[t.getAttribute(nt)||""]},gt=function(t,e){for(var r=t,n=[],i=[],o=[];r&&r!==document.body;){var a=dt(r);a&&(!e||e&a)&&(n.push(a),i.push(ft(r)),o.push(st(r))),r=r.parentElement}return{types:n,ids:i,datas:o}},pt=function(){var t=Z(),e=t.start,r=t.move,n=t.end,i=t.reset,a=t.mouseEvent,u=t.getData,s=p({free:!0,timer:null}),c=function(){clearTimeout(s.current.timer),s.current.timer=null,a("drag")},f=o(function(t){var r;if(clearTimeout(s.current.timer),(null==t||null===(r=t.target)||void 0===r?void 0:r.nodeType)===Node.ELEMENT_NODE){s.current.free=!1;var n=gt(t.target),i=t.clientX,o=t.clientY;e({startClientX:i,startClientY:o},n),a("down"),s.current.timer=setTimeout(c,120)}}),l=o(function(t){if(!s.current.free){var e=t.clientX,n=t.clientY,i=u(),o=e-i.startClientX,a=n-i.startClientY;s.current.timer&&(o>30||a>30)&&c(),r({clientX:e,clientY:n,spaceX:o,spaceY:a})}}),d=o(function(t){if(clearTimeout(s.current.timer),!s.current.free){s.current.timer&&(a("tap"),s.current.timer=null);var e=t.clientX,r=t.clientY,o=u(),c=o.startClientX,f=o.startClientY;n({clientX:e,clientY:r,spaceX:e-c,spaceY:r-f})}s.current.free=!0,setTimeout(function(){i()},0)});return g(function(){return I(window,{mousedown:f,mousemove:l,mouseup:d})},[]),x(E,{})},vt=function(){return B(function t(e){T(this,t),A(this,"baseCore",void 0),this.baseCore=e,this.initFreeReset()},[{key:"onFreeReset",value:function(){}},{key:"initFreeReset",value:function(){var t=this;this.baseCore.onStatus(function(e){"free"===e&&t.onFreeReset()})}}])}(),mt={status:"free",users:[],position:{startClientX:0,startClientY:0,clientX:0,clientY:0,spaceX:0,spaceY:0},level:{types:[],ids:[],datas:[]},eventType:"free"},ht=B(function t(){var e=this;T(this,t),A(this,"triggers",w(mt)),A(this,"onDragMove",function(t){return e.triggers.onChange("position",function(){t(e.getData())})}),A(this,"onStatus",function(t){var r;return e.triggers.onChange("status",function(n){r!==n&&(r=n,t(n,e.getBaseData()))})}),A(this,"onDomEvent",function(t,r){return e.triggers.onChange("eventType",function(n){t===n&&r(e.getBaseData())})}),A(this,"getData",function(){return M(M({},e.triggers.getter(["status","users"])),e.triggers.getter("position"))}),A(this,"getBaseData",function(){return e.triggers.getter(["status","users","position","level","eventType"])}),A(this,"reset",function(){e.triggers.setter(mt)}),A(this,"descroy",function(){e.triggers.destroy()})}),yt=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"start",function(t,r){e.triggers.setter({position:function(e){return M(M({},e),t)},status:"start",level:r})}),A(e,"move",function(t){e.triggers.setter({position:function(e){return M(M({},e),t)},status:"move"})}),A(e,"end",function(t){e.triggers.setter({position:function(e){return M(M({},e),t)},status:"end"})}),A(e,"mouseEvent",function(t){e.triggers.setter({eventType:t})}),A(e,"addUser",function(t){e.triggers.setter({users:function(e){return[].concat(W(e),[t])}})}),e}return F(t,ht),B(t)}(),bt=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=Z().onDragMove,n=a(t,{wait:60}),i=n.run,o=n.fun,u=n.cancel;g(function(){if(e)return r(function(t){return"start"===t.status||"free"===t.status||"end"===t.status?(u(),o(t)):i(t)})},[e])},Dt={dragId:"",item:void 0,type:"",offset:{x:0,y:0,w:0,h:0},renderFake:!0},wt=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"triggers",w(Dt)),A(e,"dragEmitter",new D),A(e,"onDragStartEvent",function(t,r){return e.dragEmitter.addListener(t,r)}),A(e,"onDraggingId",function(t){return e.triggers.onChange("dragId",function(){t(e.getDraggingData())})}),A(e,"getDraggingData",function(){return e.triggers.getter(["dragId","item","type","offset","renderFake"])}),A(e,"onFreeReset",function(){e.triggers.setter(Dt)}),A(e,"descroy",function(){e.triggers.destroy()}),e}return F(t,vt),B(t)}(),It=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"setDragData",function(t){e.triggers.getter("dragId")||e.triggers.setter(M(M({},t),{},{renderFake:function(){return t.renderFake}}))}),A(e,"emitDrag",function(t){e.dragEmitter.emit(t,{})}),e}return F(t,wt),B(t)}(),St={stack:[],dropId:"",item:void 0,accept:[],dropPos:void 0},xt=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"triggers",w(St)),A(e,"onDropStack",function(t){e.triggers.onChange("stack",t)}),A(e,"onDropId",function(t){e.triggers.onChange("dropId",function(){t(e.getDropData())})}),A(e,"getDropStack",function(){return e.triggers.getter("stack")}),A(e,"getDropData",function(){return e.triggers.getter(["dropId","item","accept"])}),A(e,"getDropPos",function(){return e.triggers.getter("dropPos")}),A(e,"getStack",function(){return e.triggers.getter(["stack"])}),A(e,"onFreeReset",function(){e.triggers.setter(St)}),A(e,"descroy",function(){e.triggers.destroy()}),e}return F(t,vt),B(t)}(),Et=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"setDropInfo",function(t){e.triggers.setter(t)}),A(e,"setDropPos",function(t){e.triggers.setter({dropPos:t})}),A(e,"setDropStack",function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.triggers.setter({stack:t})}),e}return F(t,xt),B(t)}(),Ct=function(t){var e=p();return t||e},Ot=function(){var t=Q().dragCore,e=t.setDragData,r=t.getDraggingData;return{dragCore:t,onDragId:t.onDraggingId,onDragStartEvent:t.onDragStartEvent,emitDrag:t.emitDrag,setDragData:e,getDraggingData:r}},kt=function(){var t=Ot().onDragId,e=L(d({}),2),r=e[0],n=e[1];return g(function(){return t(function(t){n(t)})},[]),r},zt=function(){return Q().dndMonitor},Rt=function(e){var r,n,i,a,u=e.id,s=e.item,c=e.type,f=e.renderFake,l=e.onDragStart,d=e.onDrag,p=e.onDragEnd,v=e.disabled,m=zt(),h=Z(),y=h.getData,b=h.addUser,D=Ot(),w=D.setDragData,I=D.onDragStartEvent,S=kt().dragId,x=S===u,E=Ct(e.domRef),C=o(function(){var e=y(),r=e.startClientX,n=e.startClientY,i=E.current.getBoundingClientRect(),o=i.left,a=i.top,d=i.width,g=i.height;b("dnd"),w({dragId:u,item:s,type:c,offset:{x:r-o,y:n-a,w:d,h:g},renderFake:t(f)?f.bind(null,m):f}),null==l||l(m)});return r=function(t){"end"===t&&(null==p||p(m))},n=x,i=Z().onStatus,a=o(r),g(function(){if(n)return i(a)},[n]),bt(function(t){"free"!==t.status&&(null==d||d(m))},x&&!!d),g(function(){if(!v)return I(u,C)},[v]),g(function(){lt(E.current,at.drag),ct(E.current,u)},[]),[{id:u,item:s,draggingId:S,isDragging:x},E]},jt=function(){var t=Q().dropCore,e=t.setDropInfo,r=t.setDropPos,n=t.setDropStack;return{dropCore:t,getDropData:t.getDropData,setDropInfo:e,setDropPos:r,setDropStack:n,onDropStack:t.onDropStack,onDropId:t.onDropId}},Pt=function(t){var e=t.id,r=t.item,n=t.accept,i=t.disabled,o=t.onOver,c=t.onDroped,f=Ct(t.domRef),l=zt(),p=function(){var t=jt().onDropStack,e=L(d([]),2),r=e[0],n=e[1];return g(function(){return t(function(t){n(t)})},[]),r}(),v=jt(),m=v.setDropInfo,h=v.setDropPos,y=e||u(),b=kt(),D=b.dragId,w=b.type,I=D&&p[0]===y,S=!(null!=n&&n.length)||(null==n?void 0:n.includes(w||"")),x=function(t){var e,r=(null===(e=f.current)||void 0===e?void 0:e.getBoundingClientRect())||{left:0,top:0},n=r.left,i=r.top;return{x:t.clientX-n,y:t.clientY-i}},E=a(function(t){h(x(t)),null==o||o(l)}).run;return g(function(){!i&&I&&m({dropId:y,accept:n,item:r})},[I,i]),s(f,{mousemove:E,mouseup:function(t){h(x(t)),null==c||c(l)}},!!I&&!i),g(function(){lt(f.current,at.drop),ct(f.current,y)},[]),[{id:y,item:r,accept:n,isOver:I,isAccept:S},f]},Tt=["className","style","children"],Bt=v(function(t,n){var i=t.className,o=t.style,a=t.children,u=_(t,Tt);return m(a)&&e(a.type)?l.cloneElement(a,M(M({},u),{},{ref:n,className:S(i,a.props.className),style:r.extend(o,a.props.style)})):x("div",M(M({ref:n},u),{},{style:o,className:i,children:a}))}),At=["className","style","children"],Nt=["id","renderFake"],Ft=function(t){var e=t.className,r=t.style,i=t.children,o=_(t,At),a=H(),u=a.id,s=a.renderFake,c=_(a,Nt),f=tt().status,l=L(Rt(M(M({id:u,renderFake:n(s)||s},o),c)),2),d=l[0].isDragging,g=l[1],p=M(M({},r),{},{cursor:"move"!==f?"grab":void 0,pointerEvents:d?"none":"unset"});return x(Bt,M(M({},{ref:g,className:e,style:p}),{},{children:i}))},Xt=function(t){var e=t.className,r=t.style,n=t.children,i=t.onOver,o=t.onDroped,a=t.item,u=t.accept,s=t.id,c=L(Pt({id:s,item:a||{},accept:u||[],onDroped:function(t){if(d){var e=t.getDroppingCoord();if(e){var r=t.getDraggingBaseData().dragId;null==o||o(r,e)}}},onOver:function(t){var e=t.getDroppingCoord();if(e){var r=t.getDraggingBaseData().dragId;null==i||i(r,e)}}}),2),f=c[0],l=f.isOver,d=f.isAccept,g=c[1],p=M({boxShadow:l?d?"0 0 4px 1px #1f90fc":"0 0 4px 1px orange":void 0},r);return x(Bt,M(M({},{ref:g,className:e,style:p}),{},{children:n}))},Yt={lt:"nwse-resize",rt:"nesw-resize",lb:"nesw-resize",rb:"nwse-resize",t:"ns-resize",l:"ew-resize",r:"ew-resize",b:"ns-resize"},Mt=function(t){var e=t.hidden,r=t.handles,n=t.id;return e?x(E,{}):(r||["lt","l","lb","t","b","rt","r","rb"]).map(function(t){return h("span",M(M({},A(A(A({},nt,at.resize),it,n),ot,t)),{},{key:t,style:Wt[t]}))})},_t={position:"absolute",left:0,top:0,transform:"translate(-50%, -50%)",backgroundColor:"green"},Ut=M(M({},_t),{},{width:"20px",height:"20px",borderRadius:"2px"}),Lt=M(M({},_t),{},{width:"6px",height:"6px"}),Wt={lt:M(M({},Lt),{},{cursor:Yt.lt}),lb:M(M({},Lt),{},{top:"100%",cursor:Yt.lb}),rt:M(M({},Lt),{},{left:"100%",cursor:Yt.rt}),rb:M(M({},Lt),{},{left:"100%",top:"100%",cursor:Yt.rb}),l:M(M({},Ut),{},{top:"50%",width:Lt.height,cursor:Yt.l}),r:M(M({},Ut),{},{left:"100%",top:"50%",width:Lt.width,cursor:Yt.r}),t:M(M({},Ut),{},{left:"50%",height:Lt.height,cursor:Yt.t}),b:M(M({},Ut),{},{left:"50%",top:"100%",height:Lt.height,cursor:Yt.b})},$t={id:"",info:{},startCoord:{x:0,y:0,w:0,h:0}},qt=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"triggers",w($t)),A(e,"resizeEmitter",new D),A(e,"onBaseInfo",function(t){return e.triggers.onChange("id",function(){t(e.getBaseInfo())})}),A(e,"onResizeEvent",function(t,r){return e.resizeEmitter.addListener(t,r)}),A(e,"getBaseInfo",function(){return e.triggers.getter(["id","info","handle","startCoord"])}),A(e,"onFreeReset",function(){e.triggers.setter($t)}),A(e,"descroy",function(){e.triggers.destroy()}),e}return F(t,vt),B(t)}(),Gt=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"setBaseInfo",function(t){e.triggers.setter(t)}),A(e,"emitResize",function(t,r){e.resizeEmitter.emit(t,r)}),e}return F(t,qt),B(t)}(),Ht=function(){var t=Q().resizeCore;return{descroy:t.descroy,getBaseInfo:t.getBaseInfo,onBaseInfo:t.onBaseInfo,emitResize:t.emitResize,onResizeEvent:t.onResizeEvent,setBaseInfo:t.setBaseInfo}},Jt=function(){var t=Ht().onBaseInfo,e=L(d({}),2),r=e[0],n=e[1];return g(function(){return t(n)},[]),r},Kt=function(t){var e=t.id,r=t.onResizing,n=t.onResized,i=t.disabled,a=Z().addUser,u=Ht(),s=u.setBaseInfo,c=u.onResizeEvent,f=Jt(),l=f.id,d=f.handle,p=f.startCoord,v=Ct(t.domRef),m=l===e,h=o(function(t){var r,n,i;a("resize");var o=(null==v||null===(r=v.current)||void 0===r?void 0:r.getBoundingClientRect())||{width:0,height:0},u=o.width,c=o.height;s({id:e,startCoord:{x:(null===(n=v.current)||void 0===n?void 0:n.offsetLeft)||0,y:(null===(i=v.current)||void 0===i?void 0:i.offsetTop)||0,w:u,h:c},info:{},handle:t})});return g(function(){if(!i)return c(e,h)},[i]),bt(function(t){if("free"!==t.status){var e=function(t,e,r){var n=M({},t),i=n.h,o=n.w,a=n.x,u=n.y,s=e.spaceX,c=e.spaceY;switch(r){case"lt":n.x=a+s,n.y=u+c,n.w=o-s,n.h=i-c;break;case"rt":n.x=a,n.y=u+c,n.w=o+s,n.h=i-c;break;case"lb":n.x=a+s,n.y=u,n.w=o-s,n.h=i+c;break;case"rb":n.x=a,n.y=u,n.w=o+s,n.h=i+c;break;case"l":n.x=a+s,n.y=u,n.w=o-s,n.h=i;break;case"r":n.x=a,n.y=u,n.w=o+s,n.h=i;break;case"b":n.x=a,n.y=u,n.w=o,n.h=i+c;break;case"t":n.x=a,n.y=u+c,n.w=o,n.h=i-c}return n}(p,t,d);null==r||r(e),"end"===t.status&&(null==n||n(e))}},m&&!!r),[{isResizing:m},{}]},Qt=["children","style","pure","className"],Vt=function(t){var e=t.children,r=t.style,n=t.pure,i=t.className,o=_(t,Qt);return L(Kt(o),1),n?x(Mt,{id:o.id}):C("div",{style:M({position:"relative"},r),className:i,children:[x(Mt,{id:o.id}),e]})},Zt=["show","dom"],te=function(t){var e=t.show,r=t.dom,n=_(t,Zt);return e&&r?z.createPortal(x("div",{style:{position:"absolute",inset:0},children:x(Mt,M({},n))}),r):x(E,{})},ee={ids:[],infoMap:{}},re=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"triggers",w(ee)),A(e,"selectEmitter",new D),A(e,"onSelectIds",function(t){return e.triggers.onChange("ids",function(){t(e.getSelectInfo())})}),A(e,"onTapEvent",function(t,r){return e.selectEmitter.addListener(t,r)}),A(e,"getSelectInfo",function(){return e.triggers.getter(["ids","infoMap"])}),A(e,"reset",function(){e.triggers.setter(ee)}),A(e,"descroy",function(){e.triggers.destroy()}),e}return F(t,vt),B(t)}(),ne=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"setSelectIds",function(t){e.triggers.setter({ids:t})}),A(e,"emitTapEvent",function(t){e.selectEmitter.emit(t,{})}),e}return F(t,re),B(t)}(),ie=function(){var t=Q().selectCore,e=t.reset,r=t.setSelectIds,n=t.descroy,i=t.onSelectIds,o=t.getSelectInfo;return{onTapEvent:t.onTapEvent,emitTapEvent:t.emitTapEvent,getSelectInfo:o,setSelectIds:r,onSelectIds:i,reset:e,descroy:n}},oe=function(t){var e=t.id,r=t.disabled,n=function(){var t=ie(),e=t.onSelectIds,r=t.getSelectInfo,n=L(d(r()),2),i=n[0],o=n[1];return g(function(){return e(function(t){o(t)})},[]),i}(),i=n.ids,o=n.infoMap,a=ie(),u=a.onTapEvent,s=a.setSelectIds,c=o[e],f=i.includes(e),l=Ct(t.domRef);return g(function(){if(!r)return u(e,function(){s([e])})},[r]),g(function(){lt(null==l?void 0:l.current,at.select),ct(null==l?void 0:l.current,e)},[]),[{isSelect:f,selectInfo:c},l]},ae=function(t){var e=t.id,r=t.coord,n=t.item,i=t.className,o=t.resizeDisable,a=t.dropDisable,u=t.dragDisable,s=t.selectDisable,c=t.onResizing,f=t.onOver,l=t.onDroped,d=tt().status,g=L(Rt({id:e,renderFake:!0,item:n,disabled:u}),2),p=g[0].isDragging,v=g[1],m=L(oe({id:e,domRef:v,disabled:s}),1)[0].isSelect;Kt({id:e,onResizing:c,domRef:v,disabled:o}),Pt({id:e,item:n,domRef:v,onOver:f,onDroped:l,disabled:a});var h=y(function(){return{left:r.x,top:r.y,width:r.w,height:r.h,cursor:"move"!==d?"grab":void 0,pointerEvents:p?"none":"unset"}},[r,d,p]),b=y(function(){return{boxShadow:m?"0 0 4px 1px #0078d4":void 0}},[m]),D=y(function(){return{contain:m?"layout":void 0}},[m]);return C(E,{children:[x(te,{show:m&&!p,id:e,dom:v.current}),x(Bt,{ref:v,className:i,style:M(M(M(M({},h),b),D),t.style),children:t.children})]})},ue=function(t){var e=t.children,r=t.onWillChange,n=L(c(t,[]),2),i=n[0],o=n[1],a=y(function(){return O(e,"key")},[e]),u=function(t,e){if(i){var r=W(i),n=i.findIndex(function(e){return e.i===t});-1!==n&&(r[n]=M(M({},r[n]),e),null==o||o(r))}};return x(Xt,{accept:t.accept,className:t.className,style:t.style,onDroped:function(t,e){if(i){var n=W(i),a=i.findIndex(function(e){return e.i===t}),u=!1,s=M({i:t},e);-1===a&&(u=!0,n.push({}),a=n.length-1),n[a]=s;var c=r?r(n,{addIds:u?[s.i]:[],removeIds:[],changeIds:[s.i]}):n;c&&(null==o||o(c))}},children:null==i?void 0:i.map(function(t){var e=a[t.i];return e?x(ae,{style:{position:"absolute"},coord:t,id:t.i,onResizing:u.bind(null,t.i),dropDisable:!0,children:e},t.i):x(b,{},t.i)})})},se=["className","style","children","id","coord","item"],ce=function(t){var e=t.className,r=t.style,n=t.children,i=t.id,o=t.coord,a=t.item,u=_(t,se);return x(J,{value:{id:i,coord:o,item:a},children:x(Ft,M(M({style:r,className:e},u),{},{children:n}))})},fe=function(t){var e=t.children,r=t.onWillAdd,n=L(c(t,[]),2),i=n[0],o=n[1],a=y(function(){return O(e,"key")},[e]),u=function(t,e){if(i){var n=W(i),a=i.findIndex(function(e){return e.i===t}),u=M({i:t},e);-1===a&&(u.i=r?r(t,e):k(),n.push({}),a=n.length-1),n[a]=u,null==o||o(n)}},s=function(t,e){if(i){var r=W(i),n=i.findIndex(function(e){return e.i===t});-1!==n&&(r[n]=M(M({},r[n]),e),null==o||o(r))}},f=function(t){if(i){var e=t.getDroppingId(),r=t.getDraggingBaseData(),n=r.dragId,a=r.offset,s=i.findIndex(function(t){return t.i===n});if(-1!==s){var c=i.findIndex(function(t){return t.i===e});if(-1!==c){var f=W(i),l=f[s];f[s]=f[c],f[c]=l,null==o||o(f)}}else null==u||u(n,{x:0,y:0,w:a.w,h:a.h})}};return x(Xt,{accept:t.accept,className:t.className,style:t.style,onDroped:u,children:null==i?void 0:i.map(function(t){var e=a[t.i];return e?x(ae,{coord:t,id:t.i,onResizing:s.bind(null,t.i),onDroped:f,children:e},t.i):x(b,{},t.i)})})},le=function(t){var e=t.id,r=t.item,n=t.type;return x(J,{value:{id:e,item:r,type:n},children:t.children})},de=function(){var t=kt().dragId,e=Jt(),r=e.handle,n=e.id,i=Z().getData;return g(function(){var e=i().users[0];t&&"dnd"===e?(document.body.style.cursor="grabbing",document.body.style.userSelect="none"):r&&"resize"===e?(document.body.style.cursor=Yt[r],document.body.style.userSelect="none"):(document.body.style.cursor="",document.body.style.userSelect="")},[t,r,n]),x(E,{})},ge=function(){var t=Z().onDomEvent,e=Ot().emitDrag;return g(function(){return t("drag",function(t){var r=t.level,n=r.types,i=r.ids;if(!(n[0]&at.resize)){var o=n.findIndex(function(t){return t&at.drag});if(!(o<0)){var a=i[o];a&&e(a)}}})},[]),x(E,{})},pe=function(){var e=kt(),r=e.dragId,n=e.offset,i=e.renderFake,o=L(d(""),2),a=o[0],u=o[1],s=L(d(!1),2),c=s[0],f=s[1],l=p({timer:null}),g=function(t){var e=t.clientX,r=t.clientY,i=n,o=i.x,a=i.y;u("translate(".concat(e-(o||0),"px, ").concat(r-(a||0),"px)"))},v=function(t){clearTimeout(l.current.timer),g(t),l.current.timer=setTimeout(function(){f(!0),l.current.timer=null},100)};bt(function(t){switch(t.status){case"start":v(t);break;case"end":clearTimeout(l.current.timer),l.current.timer=setTimeout(function(){f(!1),u(""),l.current.timer=null},100);break;case"move":l.current.timer?g(t):v(t)}},!!r);var m=y(function(){return t(i)?i():x("div",{style:{width:"100%",height:"100%",backgroundColor:"rgba(0,0,0,0.5)"}})},[i]);return R(x("div",{style:{position:"fixed",pointerEvents:"none",left:0,top:0,width:0,height:0,zIndex:1e3},children:i?x("div",{style:{display:c&&r?"block":"none",position:"absolute",transition:r?"transform linear 0.1s":"",width:null==n?void 0:n.w,height:null==n?void 0:n.h,transform:a},children:m}):x(E,{})}),document.body)},ve=function(){var t=tt().status,e=jt().setDropStack,r="free"!==t,n=o(function(t){var r=gt(t.target,at.drop).ids;e(r.filter(Boolean))});return g(function(){if(r)return I(window,{mouseover:n})},[r]),x(E,{})},me=function(){var t=Z().onDomEvent,e=Ht().emitResize;return g(function(){return t("down",function(t){var r=t.level,n=r.types,i=r.ids,o=r.datas;if(n[0]&at.resize){var a=i[0],u=o[0];e(a,u)}})},[]),x(E,{})},he=function(){var t=ie(),e=t.reset,r=t.emitTapEvent,n=Z().onDomEvent;return g(function(){return n("tap",function(t){var n=t.level,i=n.types,o=n.ids,a=i.findIndex(function(t){return t&at.select});if(a<0)e();else{var u=o[a];u&&r(u)}})},[]),x(E,{})},ye=function(t){var e=f(function(){var t=new yt,e=new It(t),r=new Et(t),n=function(t){var e=t.draggingCore,r=t.droppingCore,n=t.baseCore;return{getBaseMoveData:function(){return n.getBaseData()},getDraggingBaseData:function(){return e.getDraggingData()},getDraggingId:function(){return e.triggers.getter("dragId")||""},getDraggingItem:function(){return e.triggers.getter("item")||{}},getDraggingType:function(){return e.triggers.getter("type")||""},getDraggingOffset:function(){return e.triggers.getter("offset")},getDroppingBaseData:function(){return r.getDropData()},getDroppingId:function(){return r.triggers.getter("dropId")},getDroppingAccept:function(){return r.triggers.getter("accept")||[]},getDroppingItem:function(){return r.triggers.getter("item")},getDroppingStack:function(){return r.triggers.getter("stack")},getDroppingCoord:function(){var t=r.getDropPos();if(t){var n=e.getDraggingData().offset;return{x:t.x-(n.x||0),y:t.y-(n.y||0),w:n.w,h:n.h}}}}}({baseCore:t,droppingCore:r,draggingCore:e});return{baseCore:t,selectCore:new ne(t),resizeCore:new Gt(t),dragCore:e,dropCore:r,dndMonitor:n}});return C(V,{value:e.current,children:[x(pt,{}),x(de,{}),x(me,{}),x(ge,{}),x(he,{}),x(pe,{}),x(ve,{}),t.children]})};export{le as BoxProviderWrap,ue as CoordWrap,Ft as Drag,ce as DragBoxWrap,Xt as Drop,fe as PlainWrap,Mt as ReiseHandle,Vt as Resize,Gt as ResizeCore,ae as TransBox,ye as TransProviderWrap,Kt as useResize,Ht as useResizeCore,Jt as useResizeInfo};
|
|
1
|
+
import{isFunction as t,isString as e,obj as r,isUndefinedOrNull as n}from"@cclr/lang";import{createCtx as i,useCallbackRef as o,useThrottleFn as a,useUuid as u,useEventListenerMultiple as s,useControl as c,useRefPro as f}from"@cclr/react";import l,{useState as d,useEffect as g,useRef as p,forwardRef as v,isValidElement as m,createElement as h,useMemo as y,Fragment as b}from"react";import{Emitter as D}from"@cclr/emitter";import{dataTriggers as w}from"@cclr/trigger";import{addEventListenerMultiple as I,classNames as S}from"@cclr/front";import{jsx as x,Fragment as E,jsxs as C}from"react/jsx-runtime";import{listToMap as O,uuid as k}from"@cclr/utils";import z,{createPortal as R}from"react-dom";function j(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function P(t,e,r){return e=N(e),function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,X()?Reflect.construct(e,r||[],N(t).constructor):e.apply(t,r))}function T(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function B(t,e,r){return e&&function(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,$(n.key),n)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function A(t,e,r){return(e=$(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function N(t){return N=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},N(t)}function F(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&U(t,e)}function X(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(X=function(){return!!t})()}function Y(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function M(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Y(Object(r),!0).forEach(function(e){A(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Y(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function _(t,e){if(null==t)return{};var r,n,i=function(t,e){if(null==t)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==e.indexOf(n))continue;r[n]=t[n]}return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n<o.length;n++)r=o[n],-1===e.indexOf(r)&&{}.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}function U(t,e){return U=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},U(t,e)}function L(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,a,u=[],s=!0,c=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(u.push(n.value),u.length!==e);s=!0);}catch(t){c=!0,i=t}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return u}}(t,e)||q(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function W(t){return function(t){if(Array.isArray(t))return j(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||q(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}function q(t,e){if(t){if("string"==typeof t)return j(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?j(t,e):void 0}}var G=L(i({}),2),H=G[0],J=G[1],K=L(i({}),2),Q=K[0],V=K[1],Z=function(){var t=Q().baseCore;return{start:t.start,move:t.move,end:t.end,mouseEvent:t.mouseEvent,getData:t.getData,getBaseData:t.getBaseData,reset:t.reset,addUser:t.addUser,onDragMove:t.onDragMove,onStatus:t.onStatus,onDomEvent:t.onDomEvent}},tt=function(){var t=Z().onStatus,e=L(d({}),2),r=e[0],n=e[1];return g(function(){return t(function(t,e){n(e)})},[]),r};var et,rt,nt="data-trans-box-type",it="data-trans-box-id",ot="data-trans-box-data",at=function(t){return t[t.drag=1]="drag",t[t.drop=2]="drop",t[t.resize=4]="resize",t[t.select=8]="select",t[t.stop=64]="stop",t[t.boundary=128]="boundary",t}({}),ut=(et=[at.drag,at.drop,at.resize,at.select,at.stop,at.boundary],rt=[],function t(e,r){if(e.length&&rt.push(e),0!==r.length)for(var n=0;n<r.length;n++)t(e.concat(r[n]),r.slice(0,n))}([],et),rt).reduce(function(t,e){var r=e.reduce(function(t,e){return t|e},0);return t[r.toString()]=r,t},{}),st=function(t){if(t)return t.getAttribute(ot)},ct=function(t,e){t&&t.setAttribute(it,e.toString())},ft=function(t){if(t)return t.getAttribute(it)},lt=function(t,e){if(t){var r=t.getAttribute(nt)||"",n=(ut[r]||0)|e;t.setAttribute(nt,n.toString())}},dt=function(t){if(t)return ut[t.getAttribute(nt)||""]},gt=function(t,e){for(var r=t,n=[],i=[],o=[];r&&r!==document.body;){var a=dt(r);a&&(!e||e&a)&&(n.push(a),i.push(ft(r)),o.push(st(r))),r=r.parentElement}return{types:n,ids:i,datas:o}},pt=function(){var t=Z(),e=t.start,r=t.move,n=t.end,i=t.reset,a=t.mouseEvent,u=t.getData,s=p({free:!0,timer:null}),c=function(){clearTimeout(s.current.timer),s.current.timer=null,a("drag")},f=o(function(t){var r;if(clearTimeout(s.current.timer),(null==t||null===(r=t.target)||void 0===r?void 0:r.nodeType)===Node.ELEMENT_NODE){s.current.free=!1;var n=gt(t.target),i=t.clientX,o=t.clientY;e({startClientX:i,startClientY:o},n),a("down"),s.current.timer=setTimeout(c,120)}}),l=o(function(t){if(!s.current.free){var e=t.clientX,n=t.clientY,i=u(),o=e-i.startClientX,a=n-i.startClientY;s.current.timer&&(o>30||a>30)&&c(),r({clientX:e,clientY:n,spaceX:o,spaceY:a})}}),d=o(function(t){if(clearTimeout(s.current.timer),!s.current.free){s.current.timer&&(a("tap"),s.current.timer=null);var e=t.clientX,r=t.clientY,o=u(),c=o.startClientX,f=o.startClientY;n({clientX:e,clientY:r,spaceX:e-c,spaceY:r-f})}s.current.free=!0,setTimeout(function(){i()},0)});return g(function(){return I(window,{mousedown:f,mousemove:l,mouseup:d})},[]),x(E,{})},vt=function(){return B(function t(e){T(this,t),A(this,"baseCore",void 0),this.baseCore=e,this.initFreeReset()},[{key:"onFreeReset",value:function(){}},{key:"initFreeReset",value:function(){var t=this;this.baseCore.onStatus(function(e){"free"===e&&t.onFreeReset()})}}])}(),mt={status:"free",users:[],position:{startClientX:0,startClientY:0,clientX:0,clientY:0,spaceX:0,spaceY:0},level:{types:[],ids:[],datas:[]},eventType:"free"},ht=B(function t(){var e=this;T(this,t),A(this,"triggers",w(mt)),A(this,"onDragMove",function(t){return e.triggers.onChange("position",function(){t(e.getData())})}),A(this,"onStatus",function(t){var r;return e.triggers.onChange("status",function(n){r!==n&&(r=n,t(n,e.getBaseData()))})}),A(this,"onDomEvent",function(t,r){return e.triggers.onChange("eventType",function(n){t===n&&r(e.getBaseData())})}),A(this,"getData",function(){return M(M({},e.triggers.getter(["status","users"])),e.triggers.getter("position"))}),A(this,"getBaseData",function(){return e.triggers.getter(["status","users","position","level","eventType"])}),A(this,"reset",function(){e.triggers.setter(mt)}),A(this,"descroy",function(){e.triggers.destroy()})}),yt=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"start",function(t,r){e.triggers.setter({position:function(e){return M(M({},e),t)},status:"start",level:r})}),A(e,"move",function(t){e.triggers.setter({position:function(e){return M(M({},e),t)},status:"move"})}),A(e,"end",function(t){e.triggers.setter({position:function(e){return M(M({},e),t)},status:"end"})}),A(e,"mouseEvent",function(t){e.triggers.setter({eventType:t})}),A(e,"addUser",function(t){e.triggers.setter({users:function(e){return[].concat(W(e),[t])}})}),e}return F(t,ht),B(t)}(),bt=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=Z().onDragMove,n=a(t,{wait:60}),i=n.run,o=n.fun,u=n.cancel;g(function(){if(e)return r(function(t){return"start"===t.status||"free"===t.status||"end"===t.status?(u(),o(t)):i(t)})},[e])},Dt={dragId:"",item:void 0,type:"",offset:{x:0,y:0,w:0,h:0},renderFake:!0},wt=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"triggers",w(Dt)),A(e,"dragEmitter",new D),A(e,"onDragStartEvent",function(t,r){return e.dragEmitter.addListener(t,r)}),A(e,"onDraggingId",function(t){return e.triggers.onChange("dragId",function(){t(e.getDraggingData())})}),A(e,"getDraggingData",function(){return e.triggers.getter(["dragId","item","type","offset","renderFake"])}),A(e,"onFreeReset",function(){e.triggers.setter(Dt)}),A(e,"descroy",function(){e.triggers.destroy()}),e}return F(t,vt),B(t)}(),It=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"setDragData",function(t){e.triggers.getter("dragId")||e.triggers.setter(M(M({},t),{},{renderFake:function(){return t.renderFake}}))}),A(e,"emitDrag",function(t){e.dragEmitter.emit(t,{})}),e}return F(t,wt),B(t)}(),St={stack:[],dropId:"",item:void 0,accept:[],dropPos:void 0},xt=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"triggers",w(St)),A(e,"onDropStack",function(t){e.triggers.onChange("stack",t)}),A(e,"onDropId",function(t){e.triggers.onChange("dropId",function(){t(e.getDropData())})}),A(e,"getDropStack",function(){return e.triggers.getter("stack")}),A(e,"getDropData",function(){return e.triggers.getter(["dropId","item","accept"])}),A(e,"getDropPos",function(){return e.triggers.getter("dropPos")}),A(e,"getStack",function(){return e.triggers.getter(["stack"])}),A(e,"onFreeReset",function(){e.triggers.setter(St)}),A(e,"descroy",function(){e.triggers.destroy()}),e}return F(t,vt),B(t)}(),Et=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"setDropInfo",function(t){e.triggers.setter(t)}),A(e,"setDropPos",function(t){e.triggers.setter({dropPos:t})}),A(e,"setDropStack",function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.triggers.setter({stack:t})}),e}return F(t,xt),B(t)}(),Ct=function(t){var e=p();return t||e},Ot=function(){var t=Q().dragCore,e=t.setDragData,r=t.getDraggingData;return{dragCore:t,onDragId:t.onDraggingId,onDragStartEvent:t.onDragStartEvent,emitDrag:t.emitDrag,setDragData:e,getDraggingData:r}},kt=function(){var t=Ot().onDragId,e=L(d({}),2),r=e[0],n=e[1];return g(function(){return t(function(t){n(t)})},[]),r},zt=function(){return Q().dndMonitor},Rt=function(e){var r,n,i,a,u=e.id,s=e.item,c=e.type,f=e.renderFake,l=e.onDragStart,d=e.onDrag,p=e.onDragEnd,v=e.disabled,m=zt(),h=Z(),y=h.getData,b=h.addUser,D=Ot(),w=D.setDragData,I=D.onDragStartEvent,S=kt().dragId,x=S===u,E=Ct(e.domRef),C=o(function(){var e=y(),r=e.startClientX,n=e.startClientY,i=E.current.getBoundingClientRect(),o=i.left,a=i.top,d=i.width,g=i.height;b("dnd"),w({dragId:u,item:s,type:c,offset:{x:r-o,y:n-a,w:d,h:g},renderFake:t(f)?f.bind(null,m):f}),null==l||l(m)});return r=function(t){"end"===t&&(null==p||p(m))},n=x,i=Z().onStatus,a=o(r),g(function(){if(n)return i(a)},[n]),bt(function(t){"free"!==t.status&&(null==d||d(m))},x&&!!d),g(function(){if(!v)return I(u,C)},[v]),g(function(){lt(E.current,at.drag),ct(E.current,u)},[]),[{id:u,item:s,draggingId:S,isDragging:x},E]},jt=function(){var t=Q().dropCore,e=t.setDropInfo,r=t.setDropPos,n=t.setDropStack;return{dropCore:t,getDropData:t.getDropData,setDropInfo:e,setDropPos:r,setDropStack:n,onDropStack:t.onDropStack,onDropId:t.onDropId}},Pt=function(t){var e=t.id,r=t.item,n=t.accept,i=t.disabled,o=t.onOver,c=t.onDroped,f=Ct(t.domRef),l=zt(),p=function(){var t=jt().onDropStack,e=L(d([]),2),r=e[0],n=e[1];return g(function(){return t(function(t){n(t)})},[]),r}(),v=jt(),m=v.setDropInfo,h=v.setDropPos,y=e||u(),b=kt(),D=b.dragId,w=b.type,I=D&&p[0]===y,S=!(null!=n&&n.length)||(null==n?void 0:n.includes(w||"")),x=function(t){var e,r=(null===(e=f.current)||void 0===e?void 0:e.getBoundingClientRect())||{left:0,top:0},n=r.left,i=r.top;return{x:t.clientX-n,y:t.clientY-i}},E=a(function(t){h(x(t)),null==o||o(l)}).run;return g(function(){!i&&I&&m({dropId:y,accept:n,item:r})},[I,i]),s(f,{mousemove:E,mouseup:function(t){h(x(t)),null==c||c(l)}},!!I&&!i),g(function(){lt(f.current,at.drop),ct(f.current,y)},[]),[{id:y,item:r,accept:n,isOver:I,isAccept:S},f]},Tt=["className","style","children"],Bt=v(function(t,n){var i=t.className,o=t.style,a=t.children,u=_(t,Tt);return m(a)&&e(a.type)?l.cloneElement(a,M(M({},u),{},{ref:n,className:S(i,a.props.className),style:r.extend(o,a.props.style)})):x("div",M(M({ref:n},u),{},{style:o,className:i,children:a}))}),At=["className","style","children"],Nt=["id","renderFake"],Ft=function(t){var e=t.className,r=t.style,i=t.children,o=_(t,At),a=H(),u=a.id,s=a.renderFake,c=_(a,Nt),f=tt().status,l=L(Rt(M(M({id:u,renderFake:n(s)||s},o),c)),2),d=l[0].isDragging,g=l[1],p=M(M({},r),{},{cursor:"move"!==f?"grab":void 0,pointerEvents:d?"none":"unset"});return x(Bt,M(M({},{ref:g,className:e,style:p}),{},{children:i}))},Xt=function(t){var e=t.className,r=t.style,n=t.children,i=t.onOver,o=t.onDroped,a=t.item,u=t.accept,s=t.id,c=Pt({id:s,item:a||{},accept:u||[],onDroped:function(t){if(g){var e=t.getDroppingCoord();if(e){var r=t.getDraggingBaseData(),n=r.dragId,i=r.item;null==o||o(n,e,i)}}},onOver:function(t){var e=t.getDroppingCoord();if(e){var r=t.getDraggingBaseData().dragId;null==i||i(r,e)}}}),f=L(c,2),l=f[0],d=l.isOver,g=l.isAccept,p=f[1],v=M({boxShadow:d?g?"0 0 4px 1px #1f90fc":"0 0 4px 1px orange":void 0},r);return x(Bt,M(M({},{ref:p,className:e,style:v}),{},{children:n}))},Yt={lt:"nwse-resize",rt:"nesw-resize",lb:"nesw-resize",rb:"nwse-resize",t:"ns-resize",l:"ew-resize",r:"ew-resize",b:"ns-resize"},Mt=function(t){var e=t.hidden,r=t.handles,n=t.id;return e?x(E,{}):(r||["lt","l","lb","t","b","rt","r","rb"]).map(function(t){return h("span",M(M({},A(A(A({},nt,at.resize),it,n),ot,t)),{},{key:t,style:Wt[t]}))})},_t={position:"absolute",left:0,top:0,transform:"translate(-50%, -50%)",backgroundColor:"green"},Ut=M(M({},_t),{},{width:"20px",height:"20px",borderRadius:"2px"}),Lt=M(M({},_t),{},{width:"6px",height:"6px"}),Wt={lt:M(M({},Lt),{},{cursor:Yt.lt}),lb:M(M({},Lt),{},{top:"100%",cursor:Yt.lb}),rt:M(M({},Lt),{},{left:"100%",cursor:Yt.rt}),rb:M(M({},Lt),{},{left:"100%",top:"100%",cursor:Yt.rb}),l:M(M({},Ut),{},{top:"50%",width:Lt.height,cursor:Yt.l}),r:M(M({},Ut),{},{left:"100%",top:"50%",width:Lt.width,cursor:Yt.r}),t:M(M({},Ut),{},{left:"50%",height:Lt.height,cursor:Yt.t}),b:M(M({},Ut),{},{left:"50%",top:"100%",height:Lt.height,cursor:Yt.b})},$t={id:"",info:{},startCoord:{x:0,y:0,w:0,h:0}},qt=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"triggers",w($t)),A(e,"resizeEmitter",new D),A(e,"onBaseInfo",function(t){return e.triggers.onChange("id",function(){t(e.getBaseInfo())})}),A(e,"onResizeEvent",function(t,r){return e.resizeEmitter.addListener(t,r)}),A(e,"getBaseInfo",function(){return e.triggers.getter(["id","info","handle","startCoord"])}),A(e,"onFreeReset",function(){e.triggers.setter($t)}),A(e,"descroy",function(){e.triggers.destroy()}),e}return F(t,vt),B(t)}(),Gt=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"setBaseInfo",function(t){e.triggers.setter(t)}),A(e,"emitResize",function(t,r){e.resizeEmitter.emit(t,r)}),e}return F(t,qt),B(t)}(),Ht=function(){var t=Q().resizeCore;return{descroy:t.descroy,getBaseInfo:t.getBaseInfo,onBaseInfo:t.onBaseInfo,emitResize:t.emitResize,onResizeEvent:t.onResizeEvent,setBaseInfo:t.setBaseInfo}},Jt=function(){var t=Ht().onBaseInfo,e=L(d({}),2),r=e[0],n=e[1];return g(function(){return t(n)},[]),r},Kt=function(t){var e=t.id,r=t.onResizing,n=t.onResized,i=t.disabled,a=Z().addUser,u=Ht(),s=u.setBaseInfo,c=u.onResizeEvent,f=Jt(),l=f.id,d=f.handle,p=f.startCoord,v=Ct(t.domRef),m=l===e,h=o(function(t){var r,n,i;a("resize");var o=(null==v||null===(r=v.current)||void 0===r?void 0:r.getBoundingClientRect())||{width:0,height:0},u=o.width,c=o.height;s({id:e,startCoord:{x:(null===(n=v.current)||void 0===n?void 0:n.offsetLeft)||0,y:(null===(i=v.current)||void 0===i?void 0:i.offsetTop)||0,w:u,h:c},info:{},handle:t})});return g(function(){if(!i)return c(e,h)},[i]),bt(function(t){if("free"!==t.status){var e=function(t,e,r){var n=M({},t),i=n.h,o=n.w,a=n.x,u=n.y,s=e.spaceX,c=e.spaceY;switch(r){case"lt":n.x=a+s,n.y=u+c,n.w=o-s,n.h=i-c;break;case"rt":n.x=a,n.y=u+c,n.w=o+s,n.h=i-c;break;case"lb":n.x=a+s,n.y=u,n.w=o-s,n.h=i+c;break;case"rb":n.x=a,n.y=u,n.w=o+s,n.h=i+c;break;case"l":n.x=a+s,n.y=u,n.w=o-s,n.h=i;break;case"r":n.x=a,n.y=u,n.w=o+s,n.h=i;break;case"b":n.x=a,n.y=u,n.w=o,n.h=i+c;break;case"t":n.x=a,n.y=u+c,n.w=o,n.h=i-c}return n}(p,t,d);null==r||r(e),"end"===t.status&&(null==n||n(e))}},m&&!!r),[{isResizing:m},{}]},Qt=["children","style","pure","className"],Vt=function(t){var e=t.children,r=t.style,n=t.pure,i=t.className,o=_(t,Qt);return L(Kt(o),1),n?x(Mt,{id:o.id}):C("div",{style:M({position:"relative"},r),className:i,children:[x(Mt,{id:o.id}),e]})},Zt=["show","dom"],te=function(t){var e=t.show,r=t.dom,n=_(t,Zt);return e&&r?z.createPortal(x("div",{style:{position:"absolute",inset:0},children:x(Mt,M({},n))}),r):x(E,{})},ee={ids:[],infoMap:{}},re=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"triggers",w(ee)),A(e,"selectEmitter",new D),A(e,"onSelectIds",function(t){return e.triggers.onChange("ids",function(){t(e.getSelectInfo())})}),A(e,"onTapEvent",function(t,r){return e.selectEmitter.addListener(t,r)}),A(e,"getSelectInfo",function(){return e.triggers.getter(["ids","infoMap"])}),A(e,"reset",function(){e.triggers.setter(ee)}),A(e,"descroy",function(){e.triggers.destroy()}),e}return F(t,vt),B(t)}(),ne=function(){function t(){var e;T(this,t);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return A(e=P(this,t,[].concat(n)),"setSelectIds",function(t){e.triggers.setter({ids:t})}),A(e,"emitTapEvent",function(t){e.selectEmitter.emit(t,{})}),e}return F(t,re),B(t)}(),ie=function(){var t=Q().selectCore,e=t.reset,r=t.setSelectIds,n=t.descroy,i=t.onSelectIds,o=t.getSelectInfo;return{onTapEvent:t.onTapEvent,emitTapEvent:t.emitTapEvent,getSelectInfo:o,setSelectIds:r,onSelectIds:i,reset:e,descroy:n}},oe=function(t){var e=t.id,r=t.disabled,n=function(){var t=ie(),e=t.onSelectIds,r=t.getSelectInfo,n=L(d(r()),2),i=n[0],o=n[1];return g(function(){return e(function(t){o(t)})},[]),i}(),i=n.ids,o=n.infoMap,a=ie(),u=a.onTapEvent,s=a.setSelectIds,c=o[e],f=i.includes(e),l=Ct(t.domRef);return g(function(){if(!r)return u(e,function(){s([e])})},[r]),g(function(){lt(null==l?void 0:l.current,at.select),ct(null==l?void 0:l.current,e)},[]),[{isSelect:f,selectInfo:c},l]},ae=function(t){var e=t.id,r=t.coord,n=t.item,i=t.className,o=t.resizeDisable,a=t.dropDisable,u=t.dragDisable,s=t.selectDisable,c=t.onResizing,f=t.onOver,l=t.onDroped,d=tt().status,g=L(Rt({id:e,renderFake:!0,item:n,disabled:u}),2),p=g[0].isDragging,v=g[1],m=L(oe({id:e,domRef:v,disabled:s}),1)[0].isSelect;Kt({id:e,onResizing:c,domRef:v,disabled:o}),Pt({id:e,item:n,domRef:v,onOver:f,onDroped:l,disabled:a});var h=y(function(){return{left:r.x,top:r.y,width:r.w,height:r.h,cursor:"move"!==d?"grab":void 0,pointerEvents:p?"none":"unset"}},[r,d,p]),b=y(function(){return{boxShadow:m?"0 0 4px 1px #0078d4":void 0}},[m]),D=y(function(){return{contain:m?"layout":void 0}},[m]);return C(E,{children:[x(te,{show:m&&!p,id:e,dom:v.current}),x(Bt,{ref:v,className:i,style:M(M(M(M({},h),b),D),t.style),children:t.children})]})},ue=function(t){var e=t.children,r=t.onWillChange,n=L(c(t,[]),2),i=n[0],o=n[1],a=y(function(){return O(e,"key")},[e]),u=function(t,e){if(i){var r=W(i),n=i.findIndex(function(e){return e.i===t});-1!==n&&(r[n]=M(M({},r[n]),e),null==o||o(r))}};return x(Xt,{accept:t.accept,className:t.className,style:t.style,onDroped:function(t,e){if(i){var n=W(i),a=i.findIndex(function(e){return e.i===t}),u=!1,s=M({i:t},e);-1===a&&(u=!0,n.push({}),a=n.length-1),n[a]=s;var c=r?r(n,{addIds:u?[s.i]:[],removeIds:[],changeIds:[s.i]}):n;c&&(null==o||o(c))}},children:null==i?void 0:i.map(function(t){var e=a[t.i];return e?x(ae,{style:{position:"absolute"},coord:t,id:t.i,onResizing:u.bind(null,t.i),dropDisable:!0,children:e},t.i):x(b,{},t.i)})})},se=["className","style","children","id","coord","item"],ce=function(t){var e=t.className,r=t.style,n=t.children,i=t.id,o=t.coord,a=t.item,u=_(t,se);return x(J,{value:{id:i,coord:o,item:a},children:x(Ft,M(M({style:r,className:e},u),{},{children:n}))})},fe=function(t){var e=t.children,r=t.onWillAdd,n=L(c(t,[]),2),i=n[0],o=n[1],a=y(function(){return O(e,"key")},[e]),u=function(t,e){if(i){var n=W(i),a=i.findIndex(function(e){return e.i===t}),u=M({i:t},e);-1===a&&(u.i=r?r(t,e):k(),n.push({}),a=n.length-1),n[a]=u,null==o||o(n)}},s=function(t,e){if(i){var r=W(i),n=i.findIndex(function(e){return e.i===t});-1!==n&&(r[n]=M(M({},r[n]),e),null==o||o(r))}},f=function(t){if(i){var e=t.getDroppingId(),r=t.getDraggingBaseData(),n=r.dragId,a=r.offset,s=i.findIndex(function(t){return t.i===n});if(-1!==s){var c=i.findIndex(function(t){return t.i===e});if(-1!==c){var f=W(i),l=f[s];f[s]=f[c],f[c]=l,null==o||o(f)}}else null==u||u(n,{x:0,y:0,w:a.w,h:a.h})}};return x(Xt,{accept:t.accept,className:t.className,style:t.style,onDroped:u,children:null==i?void 0:i.map(function(t){var e=a[t.i];return e?x(ae,{coord:t,id:t.i,onResizing:s.bind(null,t.i),onDroped:f,children:e},t.i):x(b,{},t.i)})})},le=function(t){var e=t.id,r=t.item,n=t.type;return x(J,{value:{id:e,item:r,type:n},children:t.children})},de=function(){var t=kt().dragId,e=Jt(),r=e.handle,n=e.id,i=Z().getData;return g(function(){var e=i().users[0];t&&"dnd"===e?(document.body.style.cursor="grabbing",document.body.style.userSelect="none"):r&&"resize"===e?(document.body.style.cursor=Yt[r],document.body.style.userSelect="none"):(document.body.style.cursor="",document.body.style.userSelect="")},[t,r,n]),x(E,{})},ge=function(){var t=Z().onDomEvent,e=Ot().emitDrag;return g(function(){return t("drag",function(t){var r=t.level,n=r.types,i=r.ids;if(!(n[0]&at.resize)){var o=n.findIndex(function(t){return t&at.drag});if(!(o<0)){var a=i[o];a&&e(a)}}})},[]),x(E,{})},pe=function(){var e=kt(),r=e.dragId,n=e.offset,i=e.renderFake,o=L(d(""),2),a=o[0],u=o[1],s=L(d(!1),2),c=s[0],f=s[1],l=p({timer:null}),g=function(t){var e=t.clientX,r=t.clientY,i=n,o=i.x,a=i.y;u("translate(".concat(e-(o||0),"px, ").concat(r-(a||0),"px)"))},v=function(t){clearTimeout(l.current.timer),g(t),l.current.timer=setTimeout(function(){f(!0),l.current.timer=null},100)};bt(function(t){switch(t.status){case"start":v(t);break;case"end":clearTimeout(l.current.timer),l.current.timer=setTimeout(function(){f(!1),u(""),l.current.timer=null},100);break;case"move":l.current.timer?g(t):v(t)}},!!r);var m=y(function(){return t(i)?i():x("div",{style:{width:"100%",height:"100%",backgroundColor:"rgba(0,0,0,0.5)"}})},[i]);return R(x("div",{style:{position:"fixed",pointerEvents:"none",left:0,top:0,width:0,height:0,zIndex:1e3},children:i?x("div",{style:{display:c&&r?"block":"none",position:"absolute",transition:r?"transform linear 0.1s":"",width:null==n?void 0:n.w,height:null==n?void 0:n.h,transform:a},children:m}):x(E,{})}),document.body)},ve=function(){var t=tt().status,e=jt().setDropStack,r="free"!==t,n=o(function(t){var r=gt(t.target,at.drop).ids;e(r.filter(Boolean))});return g(function(){if(r)return I(window,{mouseover:n})},[r]),x(E,{})},me=function(){var t=Z().onDomEvent,e=Ht().emitResize;return g(function(){return t("down",function(t){var r=t.level,n=r.types,i=r.ids,o=r.datas;if(n[0]&at.resize){var a=i[0],u=o[0];e(a,u)}})},[]),x(E,{})},he=function(){var t=ie(),e=t.reset,r=t.emitTapEvent,n=Z().onDomEvent;return g(function(){return n("tap",function(t){var n=t.level,i=n.types,o=n.ids,a=i.findIndex(function(t){return t&at.select});if(a<0)e();else{var u=o[a];u&&r(u)}})},[]),x(E,{})},ye=function(t){var e=f(function(){var t=new yt,e=new It(t),r=new Et(t),n=function(t){var e=t.draggingCore,r=t.droppingCore,n=t.baseCore;return{getBaseMoveData:function(){return n.getBaseData()},getDraggingBaseData:function(){return e.getDraggingData()},getDraggingId:function(){return e.triggers.getter("dragId")||""},getDraggingItem:function(){return e.triggers.getter("item")||{}},getDraggingType:function(){return e.triggers.getter("type")||""},getDraggingOffset:function(){return e.triggers.getter("offset")},getDroppingBaseData:function(){return r.getDropData()},getDroppingId:function(){return r.triggers.getter("dropId")},getDroppingAccept:function(){return r.triggers.getter("accept")||[]},getDroppingItem:function(){return r.triggers.getter("item")},getDroppingStack:function(){return r.triggers.getter("stack")},getDroppingCoord:function(){var t=r.getDropPos();if(t){var n=e.getDraggingData().offset;return{x:t.x-(n.x||0),y:t.y-(n.y||0),w:n.w,h:n.h}}}}}({baseCore:t,droppingCore:r,draggingCore:e});return{baseCore:t,selectCore:new ne(t),resizeCore:new Gt(t),dragCore:e,dropCore:r,dndMonitor:n}});return C(V,{value:e.current,children:[x(pt,{}),x(de,{}),x(me,{}),x(ge,{}),x(he,{}),x(pe,{}),x(ve,{}),t.children]})};export{le as BoxProviderWrap,ue as CoordWrap,Ft as Drag,ce as DragBoxWrap,Xt as Drop,fe as PlainWrap,Mt as ReiseHandle,Vt as Resize,Gt as ResizeCore,ae as TransBox,ye as TransProviderWrap,Kt as useResize,Ht as useResizeCore,Jt as useResizeInfo};
|
package/lib/type/index.d.ts
CHANGED
|
@@ -258,7 +258,7 @@ type TPosParams = {
|
|
|
258
258
|
type TDropProps = ICommonUiProps & Omit<TDroppingBase, 'dropId'> & {
|
|
259
259
|
id?: string;
|
|
260
260
|
onOver?: (id: string, pos: TPosParams) => void;
|
|
261
|
-
onDroped?: (id: string, pos: TPosParams) => void;
|
|
261
|
+
onDroped?: (id: string, pos: TPosParams, dragItem?: TPlainObject) => void;
|
|
262
262
|
};
|
|
263
263
|
declare const Drop: FC<TDropProps>;
|
|
264
264
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cclr/trans",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.50",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"author": "cclr <18843152354@163.com>",
|
|
6
6
|
"homepage": "",
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
"g:test": "vitest run",
|
|
28
28
|
"g:build": "drr build"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "d35827a9380709a9fbfb9630860dcc2739e0bb8e",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@cclr/emitter": "0.1.
|
|
33
|
-
"@cclr/front": "0.1.
|
|
34
|
-
"@cclr/lang": "0.1.
|
|
35
|
-
"@cclr/react": "0.1.
|
|
36
|
-
"@cclr/trigger": "0.1.
|
|
37
|
-
"@cclr/utils": "0.1.
|
|
32
|
+
"@cclr/emitter": "0.1.50",
|
|
33
|
+
"@cclr/front": "0.1.50",
|
|
34
|
+
"@cclr/lang": "0.1.50",
|
|
35
|
+
"@cclr/react": "0.1.50",
|
|
36
|
+
"@cclr/trigger": "0.1.50",
|
|
37
|
+
"@cclr/utils": "0.1.50"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/react": "^18.3.27",
|