@chief-editor/editor
Version:
FlowEditor Editor
1 lines • 1.51 kB
JavaScript
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var r,t=1,i=arguments.length;t<i;t++)for(var a in r=arguments[t])Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a]);return e}).apply(this,arguments)};import{Direct}from"@chief-editor/core";import React from"react";import{useEditorCls}from"../../hooks/useEditorCls";import{useDraggerMask}from"../../hooks/useDraggerMask";import{DirectDragger}from"./DirectDragger";export var DirectType;!function(e){e.ALL="all",e.SIDE="side",e.ANGLE="angle"}(DirectType||(DirectType={}));export var DirectTypeAll=[Direct.LEFT_TOP,Direct.TOP,Direct.RIGHT_TOP,Direct.LEFT,Direct.RIGHT,Direct.LEFT_BOTTOM,Direct.BOTTOM,Direct.RIGHT_BOTTOM];export var DirectTypeSide=[Direct.TOP,Direct.LEFT,Direct.RIGHT,Direct.BOTTOM];export var DirectTypeAngle=[Direct.LEFT_TOP,Direct.RIGHT_TOP,Direct.LEFT_BOTTOM,Direct.RIGHT_BOTTOM];export function DirectDragMask(e){var r,t=e.directType,i=e.rotate,a=e.skew,c=e.onDragStart,D=e.onDragging,o=e.onDragEnd,T=e.ratio,s=useEditorCls("direct-drag-mask");switch(t){case DirectType.ALL:r=DirectTypeAll;break;case DirectType.SIDE:r=DirectTypeSide;break;case DirectType.ANGLE:r=DirectTypeAngle;break;default:r=t}var n=useDraggerMask({onDragStart:c,onDragging:D,onDragEnd:o,rotate:i,ratio:T});return React.createElement("div",{className:s,style:{width:"100%",height:"100%"}},r.map((function(e){return React.createElement(DirectDragger,__assign({key:e,data:{direct:e},style:{transform:"skew(-"+a+"deg, 0)"}},n))})))}