UNPKG

react-beautiful-dnd-next

Version:

Beautiful and accessible drag and drop for lists with React

44 lines (40 loc) 951 B
// @flow import type { DroppableDimension, DraggableDimensionMap, DragImpact, Displacement, Viewport, OnLift, } from '../../types'; import getDisplacement from '../get-displacement'; import withNewDisplacement from './with-new-displacement'; type RecomputeArgs = {| impact: DragImpact, destination: DroppableDimension, viewport: Viewport, onLift: OnLift, draggables: DraggableDimensionMap, forceShouldAnimate?: boolean, |}; export default ({ impact, viewport, destination, draggables, onLift, forceShouldAnimate, }: RecomputeArgs): DragImpact => { const updated: Displacement[] = impact.movement.displaced.map( (entry: Displacement) => getDisplacement({ draggable: draggables[entry.draggableId], destination, previousImpact: impact, viewport: viewport.frame, onLift, forceShouldAnimate, }), ); return withNewDisplacement(impact, updated); };