Skip to content

v1.0.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@Horuse Horuse released this 05 Apr 11:15
· 120 commits to main since this release

Complete rewrite with a new modular architecture. All previous APIs have changed — see the documentation.

Breaking Changes

  • DragController renamed to DndController
  • position is now a required prop on DndDraggable
  • Type filtering moved from data={{ type, accepts }} to dedicated type / accepts props
  • DndPreview is no longer used directly — remove all manual placements

Features

  • Drop previews and dragged item visibility handled automatically — no manual DndPreview, hiddenId, or visibleItems needed
  • onDragStart / onDragEnd callbacks no longer return an unsubscribe function — cleanup is automatic
  • DndSimulator for programmatic drag simulation
  • mode="target" on DndDroppable for non-sortable drop zones (trash, board columns)
  • overlap prop for intersection-based hit detection
  • onDropCancelled callback
  • PreviewConfig and ScrollConfig for fine-tuning animations and auto-scroll
  • DndControllerConfig constructor config on DndController
  • Touch support: long-press delay, momentum scroll, configurable scroll cancel threshold
  • SSR compatibility

Bug Fixes

  • Post-drop translation snap eliminated
  • Ghost return animation is scroll-aware
  • Drop preview correctly scoped in nested containers
  • Drag activation prevented in draggable padding area

Build

  • Migrated to Turborepo monorepo

Docs

  • New docs with live examples

Full Changelog: v0.3.0...v1.0.0-beta.1