import { AppObjectController } from "@vived/core";
import { MouseInputEntity, } from "../../MouseInput/Entities/MouseInput";
import { ToggleLabelDropTargetUC } from "../UseCases/ToggleLabelDropTargetUC";
export class MouseLabelDropAuthor extends AppObjectController {
}
MouseLabelDropAuthor.type = "MouseLabelDropAuthor";
export function makeMouseLabelDropAuthor(appObject) {
    return new MouseLabelDropAuthorImp(appObject);
}
class MouseLabelDropAuthorImp extends MouseLabelDropAuthor {
    get mouseInput() {
        return this.getCachedSingleton(MouseInputEntity.type);
    }
    get addLabelDropCorrectObjectFromRayUC() {
        return this.getCachedSingleton(ToggleLabelDropTargetUC.type);
    }
    constructor(appObject) {
        super(appObject, MouseLabelDropAuthor.type);
        this.onClick = (e) => {
            this.addLabelDropCorrectObjectFromRayUC?.tryToggleFromPixel(e.position);
        };
        this.mouseInput?.registerController(this);
    }
}
//# sourceMappingURL=MouseLabelDropAuthor.js.map