class r {
  beginDrag() {
    const t = this.spec, o = this.monitor;
    let n = null;
    return typeof t.item == "object" ? n = t.item : typeof t.item == "function" ? n = t.item(o) : n = {}, n ?? null;
  }
  canDrag() {
    const t = this.spec, o = this.monitor;
    return typeof t.canDrag == "boolean" ? t.canDrag : typeof t.canDrag == "function" ? t.canDrag(o) : !0;
  }
  isDragging(t, o) {
    const n = this.spec, e = this.monitor, { isDragging: s } = n;
    return s ? s(e) : o === t.getSourceId();
  }
  endDrag() {
    const t = this.spec, o = this.monitor, n = this.connector, { end: e } = t;
    e && e(o.getItem(), o), n.reconnect();
  }
  constructor(t, o, n) {
    this.spec = t, this.monitor = o, this.connector = n;
  }
}
export {
  r as DragSourceImpl
};
//# sourceMappingURL=DragSourceImpl.js.map
