import { StateNode } from "@cmpd/editor";
import { Brushing } from "./childStates/Brushing.mjs";
import { Crop } from "./childStates/Crop/Crop.mjs";
import { Cropping } from "./childStates/Cropping.mjs";
import { DraggingHandle } from "./childStates/DraggingHandle.mjs";
import { EditingShape } from "./childStates/EditingShape.mjs";
import { Idle } from "./childStates/Idle.mjs";
import { PointingCanvas } from "./childStates/PointingCanvas.mjs";
import { PointingCropHandle } from "./childStates/PointingCropHandle.mjs";
import { PointingHandle } from "./childStates/PointingHandle.mjs";
import { PointingResizeHandle } from "./childStates/PointingResizeHandle.mjs";
import { PointingRotateHandle } from "./childStates/PointingRotateHandle.mjs";
import { PointingSelection } from "./childStates/PointingSelection.mjs";
import { PointingShape } from "./childStates/PointingShape.mjs";
import { Resizing } from "./childStates/Resizing.mjs";
import { Rotating } from "./childStates/Rotating.mjs";
import { ScribbleBrushing } from "./childStates/ScribbleBrushing.mjs";
import { Translating } from "./childStates/Translating.mjs";
class SelectTool extends StateNode {
  static id = "select";
  static initial = "idle";
  static children = () => [
    Crop,
    Cropping,
    Idle,
    PointingCanvas,
    PointingShape,
    Translating,
    Brushing,
    ScribbleBrushing,
    PointingCropHandle,
    PointingSelection,
    PointingResizeHandle,
    EditingShape,
    Resizing,
    Rotating,
    PointingRotateHandle,
    PointingHandle,
    DraggingHandle
  ];
  onExit = () => {
    if (this.editor.getCurrentPageState().editingShapeId) {
      this.editor.setEditingShape(null);
    }
  };
}
export {
  SelectTool
};
//# sourceMappingURL=SelectTool.mjs.map
