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} /> ); }