From 9761d7ea50fd8ea217f7aaf39272e1aafbe227eb Mon Sep 17 00:00:00 2001 From: Sanghyeon Lee Date: Fri, 10 Apr 2020 01:10:35 +0900 Subject: [PATCH] Refactor ResizeArrowFnType to resolve Codesandbox parsing error (#1338) --- src/components/App.tsx | 7 +++++-- src/element/index.ts | 1 - src/element/resizeElements.ts | 12 ++---------- src/element/types.ts | 10 ++++++++++ 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/components/App.tsx b/src/components/App.tsx index 911755a5b5..d95da0e178 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -21,7 +21,6 @@ import { getDrawingVersion, getSyncableElements, newLinearElement, - ResizeArrowFnType, resizeElements, getElementWithResizeHandler, canResizeMutlipleElements, @@ -52,7 +51,11 @@ import { import { renderScene } from "../renderer"; import { AppState, GestureEvent, Gesture } from "../types"; -import { ExcalidrawElement, ExcalidrawTextElement } from "../element/types"; +import { + ExcalidrawElement, + ExcalidrawTextElement, + ResizeArrowFnType, +} from "../element/types"; import { distance2d, isPathALoop } from "../math"; diff --git a/src/element/index.ts b/src/element/index.ts index bfbb636cae..05331c1acf 100644 --- a/src/element/index.ts +++ b/src/element/index.ts @@ -29,7 +29,6 @@ export { getElementWithResizeHandler, getResizeHandlerFromCoords, } from "./resizeTest"; -export type { ResizeArrowFnType } from "./resizeElements"; export { resizeElements, canResizeMutlipleElements } from "./resizeElements"; export { isTextElement, isExcalidrawElement } from "./typeChecks"; export { textWysiwyg } from "./textWysiwyg"; diff --git a/src/element/resizeElements.ts b/src/element/resizeElements.ts index 287d58ec57..7dad5eec1c 100644 --- a/src/element/resizeElements.ts +++ b/src/element/resizeElements.ts @@ -2,11 +2,13 @@ import { AppState } from "../types"; import { SHIFT_LOCKING_ANGLE } from "../constants"; import { getSelectedElements, globalSceneState } from "../scene"; import { rescalePoints } from "../points"; + import { rotate, resizeXYWidthHightWithRotation } from "../math"; import { ExcalidrawLinearElement, NonDeletedExcalidrawElement, NonDeleted, + ResizeArrowFnType, } from "./types"; import { getElementAbsoluteCoords, getCommonBounds } from "./bounds"; import { isLinearElement } from "./typeChecks"; @@ -20,16 +22,6 @@ import { type ResizeTestType = ReturnType; -export type ResizeArrowFnType = ( - element: NonDeleted, - pointIndex: number, - deltaX: number, - deltaY: number, - pointerX: number, - pointerY: number, - sidesWithSameLength: boolean, -) => void; - const arrowResizeOrigin: ResizeArrowFnType = ( element, pointIndex, diff --git a/src/element/types.ts b/src/element/types.ts index b21c16c80c..1b1add6cc2 100644 --- a/src/element/types.ts +++ b/src/element/types.ts @@ -58,3 +58,13 @@ export type ExcalidrawLinearElement = _ExcalidrawElementBase & export type PointerType = "mouse" | "pen" | "touch"; export type TextAlign = "left" | "center" | "right"; + +export type ResizeArrowFnType = ( + element: NonDeleted, + pointIndex: number, + deltaX: number, + deltaY: number, + pointerX: number, + pointerY: number, + perfect: boolean, +) => void;