refactor: auto ordered imports (#9163)

This commit is contained in:
Marcel Mraz
2025-03-12 15:23:31 +01:00
committed by GitHub
parent 82b9a6b464
commit 21ffaf4d76
421 changed files with 3531 additions and 2762 deletions
+6 -6
View File
@@ -1,17 +1,17 @@
import { isElementInViewport } from "../element/sizeHelpers";
import { isImageElement } from "../element/typeChecks";
import { renderInteractiveSceneThrottled } from "../renderer/interactiveScene";
import { renderStaticSceneThrottled } from "../renderer/staticScene";
import { memoize, toBrandedType } from "../utils";
import type Scene from "./Scene";
import type { RenderableElementsMap } from "./types";
import type {
ExcalidrawElement,
NonDeletedElementsMap,
NonDeletedExcalidrawElement,
} from "../element/types";
import { renderInteractiveSceneThrottled } from "../renderer/interactiveScene";
import { renderStaticSceneThrottled } from "../renderer/staticScene";
import type { AppState } from "../types";
import { memoize, toBrandedType } from "../utils";
import type Scene from "./Scene";
import type { RenderableElementsMap } from "./types";
export class Renderer {
private scene: Scene;
+17 -14
View File
@@ -1,4 +1,21 @@
import throttle from "lodash.throttle";
import { ENV } from "../constants";
import { isNonDeletedElement } from "../element";
import { isFrameLikeElement } from "../element/typeChecks";
import {
syncInvalidIndices,
syncMovedIndices,
validateFractionalIndices,
} from "../fractionalIndex";
import { getElementsInGroup } from "../groups";
import { randomInteger } from "../random";
import { arrayToMap } from "../utils";
import { toBrandedType } from "../utils";
import { getSelectedElements } from "./selection";
import type { LinearElementEditor } from "../element/linearElementEditor";
import type {
ExcalidrawElement,
NonDeletedExcalidrawElement,
@@ -10,22 +27,8 @@ import type {
OrderedExcalidrawElement,
Ordered,
} from "../element/types";
import { isNonDeletedElement } from "../element";
import type { LinearElementEditor } from "../element/linearElementEditor";
import { isFrameLikeElement } from "../element/typeChecks";
import { getSelectedElements } from "./selection";
import type { AppState } from "../types";
import type { Assert, SameType } from "../utility-types";
import { randomInteger } from "../random";
import {
syncInvalidIndices,
syncMovedIndices,
validateFractionalIndices,
} from "../fractionalIndex";
import { arrayToMap } from "../utils";
import { toBrandedType } from "../utils";
import { ENV } from "../constants";
import { getElementsInGroup } from "../groups";
type ElementIdKey = InstanceType<typeof LinearElementEditor>["elementId"];
type ElementKey = ExcalidrawElement | ElementIdKey;
+21 -18
View File
@@ -1,19 +1,9 @@
import type { Point as RoughPoint } from "roughjs/bin/geometry";
import type { Drawable, Options } from "roughjs/bin/core";
import type { RoughGenerator } from "roughjs/bin/generator";
import { getDiamondPoints, getArrowheadPoints } from "../element";
import type { ElementShapes } from "./types";
import type {
ExcalidrawElement,
NonDeletedExcalidrawElement,
ExcalidrawSelectionElement,
ExcalidrawLinearElement,
Arrowhead,
} from "../element/types";
import { generateFreeDrawShape } from "../renderer/renderElement";
import { isTransparent, assertNever } from "../utils";
import { pointFrom, pointDistance, type LocalPoint } from "@excalidraw/math";
import { simplify } from "points-on-curve";
import { ROUGHNESS } from "../constants";
import { getDiamondPoints, getArrowheadPoints } from "../element";
import { headingForPointIsHorizontal } from "../element/heading";
import {
isElbowArrow,
isEmbeddableElement,
@@ -21,11 +11,24 @@ import {
isIframeLikeElement,
isLinearElement,
} from "../element/typeChecks";
import { canChangeRoundness } from "./comparisons";
import type { EmbedsValidationStatus } from "../types";
import { pointFrom, pointDistance, type LocalPoint } from "@excalidraw/math";
import { generateFreeDrawShape } from "../renderer/renderElement";
import { getCornerRadius, isPathALoop } from "../shapes";
import { headingForPointIsHorizontal } from "../element/heading";
import { isTransparent, assertNever } from "../utils";
import { canChangeRoundness } from "./comparisons";
import type {
ExcalidrawElement,
NonDeletedExcalidrawElement,
ExcalidrawSelectionElement,
ExcalidrawLinearElement,
Arrowhead,
} from "../element/types";
import type { EmbedsValidationStatus } from "../types";
import type { ElementShapes } from "./types";
import type { Drawable, Options } from "roughjs/bin/core";
import type { RoughGenerator } from "roughjs/bin/generator";
import type { Point as RoughPoint } from "roughjs/bin/geometry";
const getDashArrayDashed = (strokeWidth: number) => [8, 8 + strokeWidth];
+8 -5
View File
@@ -1,14 +1,17 @@
import type { Drawable } from "roughjs/bin/core";
import { RoughGenerator } from "roughjs/bin/generator";
import { COLOR_PALETTE } from "../colors";
import { elementWithCanvasCache } from "../renderer/renderElement";
import { _generateElementShape } from "./Shape";
import type {
ExcalidrawElement,
ExcalidrawSelectionElement,
} from "../element/types";
import { elementWithCanvasCache } from "../renderer/renderElement";
import { _generateElementShape } from "./Shape";
import type { ElementShape, ElementShapes } from "./types";
import { COLOR_PALETTE } from "../colors";
import type { AppState, EmbedsValidationStatus } from "../types";
import type { ElementShape, ElementShapes } from "./types";
import type { Drawable } from "roughjs/bin/core";
export class ShapeCache {
private static rg = new RoughGenerator();
+23 -21
View File
@@ -1,16 +1,6 @@
import rough from "roughjs/bin/rough";
import type {
ExcalidrawElement,
ExcalidrawFrameLikeElement,
ExcalidrawTextElement,
NonDeletedExcalidrawElement,
NonDeletedSceneElementsMap,
} from "../element/types";
import type { Bounds } from "../element/bounds";
import { getCommonBounds, getElementAbsoluteCoords } from "../element/bounds";
import { renderSceneToSvg } from "../renderer/staticSvgScene";
import { arrayToMap, distance, getFontString, toBrandedType } from "../utils";
import type { AppState, BinaryFiles } from "../types";
import { getDefaultAppState } from "../appState";
import {
DEFAULT_EXPORT_PADDING,
FRAME_STYLE,
@@ -21,27 +11,39 @@ import {
MIME_TYPES,
EXPORT_DATA_TYPES,
} from "../constants";
import { getDefaultAppState } from "../appState";
import { base64ToString, decode, encode, stringToBase64 } from "../data/encode";
import { serializeAsJSON } from "../data/json";
import { newTextElement } from "../element";
import { getCommonBounds, getElementAbsoluteCoords } from "../element/bounds";
import {
getInitializedImageElements,
updateImageCache,
} from "../element/image";
import { newElementWith } from "../element/mutateElement";
import { isFrameLikeElement } from "../element/typeChecks";
import { Fonts } from "../fonts";
import { syncInvalidIndices } from "../fractionalIndex";
import {
getElementsOverlappingFrame,
getFrameLikeElements,
getFrameLikeTitle,
getRootElements,
} from "../frame";
import { newTextElement } from "../element";
import { type Mutable } from "../utility-types";
import { newElementWith } from "../element/mutateElement";
import { isFrameLikeElement } from "../element/typeChecks";
import type { RenderableElementsMap } from "./types";
import { syncInvalidIndices } from "../fractionalIndex";
import { renderStaticScene } from "../renderer/staticScene";
import { Fonts } from "../fonts";
import { base64ToString, decode, encode, stringToBase64 } from "../data/encode";
import { renderSceneToSvg } from "../renderer/staticSvgScene";
import { type Mutable } from "../utility-types";
import { arrayToMap, distance, getFontString, toBrandedType } from "../utils";
import type { RenderableElementsMap } from "./types";
import type { Bounds } from "../element/bounds";
import type {
ExcalidrawElement,
ExcalidrawFrameLikeElement,
ExcalidrawTextElement,
NonDeletedExcalidrawElement,
NonDeletedSceneElementsMap,
} from "../element/types";
import type { AppState, BinaryFiles } from "../types";
const truncateText = (element: ExcalidrawTextElement, maxWidth: number) => {
if (element.width <= maxWidth) {
+2
View File
@@ -1,5 +1,7 @@
import { clamp, round } from "@excalidraw/math";
import { MAX_ZOOM, MIN_ZOOM } from "../constants";
import type { NormalizedZoomValue } from "../types";
export const getNormalizedZoom = (zoom: number): NormalizedZoomValue => {
+3 -3
View File
@@ -1,16 +1,16 @@
import type { AppState, Offsets, PointerCoords, Zoom } from "../types";
import type { ExcalidrawElement } from "../element/types";
import {
getCommonBounds,
getClosestElementBounds,
getVisibleElements,
} from "../element";
import {
sceneCoordsToViewportCoords,
viewportCoordsToSceneCoords,
} from "../utils";
import type { ExcalidrawElement } from "../element/types";
import type { AppState, Offsets, PointerCoords, Zoom } from "../types";
const isOutsideViewPort = (appState: AppState, cords: Array<number>) => {
const [x1, y1, x2, y2] = cords;
const { x: viewportX1, y: viewportY1 } = sceneCoordsToViewportCoords(
+4 -3
View File
@@ -1,9 +1,10 @@
import { getCommonBounds } from "../element";
import { getLanguage } from "../i18n";
import { getGlobalCSSVariable } from "../utils";
import type { ExcalidrawElement } from "../element/types";
import type { InteractiveCanvasAppState } from "../types";
import type { ScrollBars } from "./types";
import { getGlobalCSSVariable } from "../utils";
import { getLanguage } from "../i18n";
import type { ExcalidrawElement } from "../element/types";
export const SCROLLBAR_MARGIN = 4;
export const SCROLLBAR_WIDTH = 6;
+9 -8
View File
@@ -1,11 +1,5 @@
import type {
ElementsMap,
ElementsMapOrArray,
ExcalidrawElement,
NonDeletedExcalidrawElement,
} from "../element/types";
import { getElementAbsoluteCoords, getElementBounds } from "../element";
import type { AppState, InteractiveCanvasAppState } from "../types";
import { isElementInViewport } from "../element/sizeHelpers";
import { isBoundToContainer, isFrameLikeElement } from "../element/typeChecks";
import {
elementOverlapsWithFrame,
@@ -13,7 +7,14 @@ import {
getFrameChildren,
} from "../frame";
import { isShallowEqual } from "../utils";
import { isElementInViewport } from "../element/sizeHelpers";
import type {
ElementsMap,
ElementsMapOrArray,
ExcalidrawElement,
NonDeletedExcalidrawElement,
} from "../element/types";
import type { AppState, InteractiveCanvasAppState } from "../types";
/**
* Frames and their containing elements are not to be selected at the same time.
+3 -3
View File
@@ -1,5 +1,4 @@
import type { RoughCanvas } from "roughjs/bin/canvas";
import type { Drawable } from "roughjs/bin/core";
import type { UserIdleState } from "../constants";
import type {
ExcalidrawElement,
NonDeletedElementsMap,
@@ -18,7 +17,8 @@ import type {
PendingExcalidrawElements,
} from "../types";
import type { MakeBrand } from "../utility-types";
import type { UserIdleState } from "../constants";
import type { RoughCanvas } from "roughjs/bin/canvas";
import type { Drawable } from "roughjs/bin/core";
export type RenderableElementsMap = NonDeletedElementsMap &
MakeBrand<"RenderableElementsMap">;