UNPKG

@benev/slate

Version:
31 lines 935 B
import { signal } from "../../nexus/state.js"; import { dragleave_has_exited_current_target } from "./utils/dragleave_has_exited_current_target.js"; export class ShockDrop { #params; #indicator = signal(false); constructor(params) { this.#params = params; } get indicator() { return this.#indicator.value; } reset_indicator = () => { this.#indicator.value = false; }; dragover = (event) => { event.preventDefault(); if (this.#params.predicate(event)) this.#indicator.value = true; }; dragleave = (event) => { if (dragleave_has_exited_current_target(event)) this.#indicator.value = false; }; drop = (event) => { event.preventDefault(); this.#indicator.value = false; if (this.#params.predicate(event)) this.#params.handle_drop(event); }; } //# sourceMappingURL=drop.js.map