State + handlers for the `@uipkge/board` compositional primitive. Returns a `state` (draggingId / dragOverLaneId / justMovedId), `handlers` to bind on lanes and cards (onDragStart / onLaneDragOver / onLaneDragLeave / onLaneDrop / onDragEnd), and an imperative `moveItem(itemId, toLaneId, toIndex?)` — used by keyboard navigation, undo, or server-pushed updates. Drop math computes the insertion index from pointer Y vs each card's bounding-box midpoint. An `accepts` predicate gives consumers a per-lane veto. The hook doesn't mutate your lanes data directly — it calls `onLanesChange(next)` and emits `onChange({ itemId, from, to, index })` so you stay in control of the canonical store (useState, Zustand, server). Imports the Board's shared types from `@/components/ui/board/context` so `shadcn add @uipkge/board` and `shadcn add @uipkge/use-board` produce a typed, drop-in pairing.
npx shadcn@latest add https://uipkge.dev/r/react/use-board.jsonuse-board