{"version":3,"file":"commonControls.mjs","sources":["../../../src/controls/commonControls.ts"],"sourcesContent":["import { RESIZING, ROTATE } from '../constants';\nimport { changeWidth } from './changeWidth';\nimport { Control } from './Control';\nimport { rotationStyleHandler, rotationWithSnapping } from './rotate';\nimport { scaleCursorStyleHandler, scalingEqually } from './scale';\nimport {\n  scaleOrSkewActionName,\n  scaleSkewCursorStyleHandler,\n  scalingXOrSkewingY,\n  scalingYOrSkewingX,\n} from './scaleSkew';\n\n// use this function if you want to generate new controls for every instance\nexport const createObjectDefaultControls = () => ({\n  ml: new Control({\n    x: -0.5,\n    y: 0,\n    cursorStyleHandler: scaleSkewCursorStyleHandler,\n    actionHandler: scalingXOrSkewingY,\n    getActionName: scaleOrSkewActionName,\n  }),\n\n  mr: new Control({\n    x: 0.5,\n    y: 0,\n    cursorStyleHandler: scaleSkewCursorStyleHandler,\n    actionHandler: scalingXOrSkewingY,\n    getActionName: scaleOrSkewActionName,\n  }),\n\n  mb: new Control({\n    x: 0,\n    y: 0.5,\n    cursorStyleHandler: scaleSkewCursorStyleHandler,\n    actionHandler: scalingYOrSkewingX,\n    getActionName: scaleOrSkewActionName,\n  }),\n\n  mt: new Control({\n    x: 0,\n    y: -0.5,\n    cursorStyleHandler: scaleSkewCursorStyleHandler,\n    actionHandler: scalingYOrSkewingX,\n    getActionName: scaleOrSkewActionName,\n  }),\n\n  tl: new Control({\n    x: -0.5,\n    y: -0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  tr: new Control({\n    x: 0.5,\n    y: -0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  bl: new Control({\n    x: -0.5,\n    y: 0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  br: new Control({\n    x: 0.5,\n    y: 0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  mtr: new Control({\n    x: 0,\n    y: -0.5,\n    actionHandler: rotationWithSnapping,\n    cursorStyleHandler: rotationStyleHandler,\n    offsetY: -40,\n    withConnection: true,\n    actionName: ROTATE,\n  }),\n});\n\nexport const createResizeControls = () => ({\n  mr: new Control({\n    x: 0.5,\n    y: 0,\n    actionHandler: changeWidth,\n    cursorStyleHandler: scaleSkewCursorStyleHandler,\n    actionName: RESIZING,\n  }),\n  ml: new Control({\n    x: -0.5,\n    y: 0,\n    actionHandler: changeWidth,\n    cursorStyleHandler: scaleSkewCursorStyleHandler,\n    actionName: RESIZING,\n  }),\n});\n\nexport const createTextboxDefaultControls = () => ({\n  ...createObjectDefaultControls(),\n  ...createResizeControls(),\n});\n"],"names":["createObjectDefaultControls","ml","Control","x","y","cursorStyleHandler","scaleSkewCursorStyleHandler","actionHandler","scalingXOrSkewingY","getActionName","scaleOrSkewActionName","mr","mb","scalingYOrSkewingX","mt","tl","scaleCursorStyleHandler","scalingEqually","tr","bl","br","mtr","rotationWithSnapping","rotationStyleHandler","offsetY","withConnection","actionName","ROTATE","createResizeControls","changeWidth","RESIZING","createTextboxDefaultControls","_objectSpread"],"mappings":"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"}