ultisuite-client/components/gmail/sidebar/sidebar-nav-drag-bindings.ts
2026-05-20 18:22:36 +02:00

27 lines
753 B
TypeScript

import type { MutableRefObject } from "react"
import type {
SidebarNavDragPayload,
SidebarNavDropPlacement,
} from "@/lib/sidebar-nav-dnd"
export type SidebarNavDragBindings = {
navDragRef: MutableRefObject<SidebarNavDragPayload | null>
navDropPlacementRef: MutableRefObject<SidebarNavDropPlacement | null>
beginNavDrag: (
payload: SidebarNavDragPayload,
sourceEl: HTMLElement | null
) => void
clearNavDrag: () => void
updateNavDropTarget: (
el: HTMLElement,
placement: SidebarNavDropPlacement
) => void
clearNavDropTarget: (el: HTMLElement) => void
commitNavDrop: (
payload: SidebarNavDragPayload,
targetId: string,
placement: SidebarNavDropPlacement,
targetKind: "label" | "folder"
) => void
}