@witchcraft/layout
    Preparing search index...
    • Parameters

      • frames: Record<string, LayoutFrame>
      • frame: LayoutFrame
      • dragDirection: "up" | "down" | "left" | "right"
      • movePoint: { x: number; y: number }
      • snapAmount: { x: number; y: number } = settings.snapPointScaled
      • minSize: { height: number; width: number } = settings.minSizeScaled
      • classes: { splitEdge?: string; splitNewFrame?: string } = {}
        • OptionalsplitEdge?: string
          "deco-split-edge bg-red-500"
          
        • OptionalsplitNewFrame?: string
          "deco-split-new-frame bg-blue-500/50"
          

      Returns {
          direction: "up" | "down" | "left" | "right";
          id: string;
          position: number;
          shapes: (
              | {
                  attrs?: Record<string, string>;
                  data: { height: number; width: number; x: number; y: number };
                  type: "rect";
              }
              | {
                  attrs?: Record<string, string>;
                  data: {
                      endX: number;
                      endY: number;
                      error?:
                          | KnownError<
                              LayoutError,
                              | {}
                              | { id: string
                              | undefined }
                              | { id: string | undefined }
                              | { size: { height: number; width: number } }
                              | Record<string, never>
                              | { frame: LayoutFrame }
                              | {
                                  frame: LayoutFrame;
                                  minSize: { height: number; width: number };
                                  nearbyFrames: LayoutFrame[];
                              }
                              | { frame: LayoutFrame }
                              | { frame: LayoutFrame; minSize: number; newSize: number }
                              | { frame: LayoutFrame; framesRequiredToBeDeleted: LayoutFrame[] }
                              | { frame: LayoutFrame }
                              | {
                                  hoveredFrameId: string;
                                  movingFrameId: string;
                                  zoneSide: "left" | "right" | "top" | "bottom" | "center";
                              }
                              | {
                                  hoveredFrameId: string;
                                  movingFrameId: string;
                                  zoneSide: "left"
                                  | "right"
                                  | "top"
                                  | "bottom"
                                  | "center";
                              }
                              | {
                                  hoveredFrameId: string;
                                  movingFrameId: string;
                                  zoneSide: "left"
                                  | "right"
                                  | "top"
                                  | "bottom"
                                  | "center";
                              }
                              | { frame: LayoutFrame }
                              | { frameSizeNeeded: number; minFrameSize: number }
                              | { max: number; min: number; wanted: number }
                              | { problemEdgeCoordinates: number[] }
                              | { id: string; side: "left" | "right" | "top" | "bottom" }
                              | { frame: string }
                              | { frame: LayoutFrame }
                              | { frame: LayoutFrame }
                              | { frame: LayoutFrame }
                              | { frame: LayoutFrame },
                          >
                          | { code: string; message: string };
                      startX: number;
                      startY: number;
                  };
                  type: "edge";
              }
          )[];
          type: "split";
      }