import { DragOverlay } from "@dnd-kit/core"; import { useAtomValue } from "jotai"; import { draggingIdsFamily } from "./atoms"; import type { SelectableTreeNode } from "./common"; import type { TreeProps } from "./Tree"; import { TreeItemList } from "./TreeItemList"; export function TreeDragOverlay({ treeId, selectableItems, getItemKey, ItemInner, ItemLeftSlotInner, }: { treeId: string; selectableItems: SelectableTreeNode[]; } & Pick, "getItemKey" | "ItemInner" | "ItemLeftSlotInner">) { const draggingItems = useAtomValue(draggingIdsFamily(treeId)); return ( draggingItems.includes(i.node.item.id))} getItemKey={getItemKey} ItemInner={ItemInner} ItemLeftSlotInner={ItemLeftSlotInner} forceDepth={0} /> ); }