Skip to content

Drag position is calculated from the center of the dragged item after updating to v1.x #282

Description

@mykyta-liubimov

Before submitting a new issue

  • I tested using the latest version of the library, as the bug might be already fixed.
  • I tested using a supported version of react native.
  • I checked for possible duplicate issues, with possible answers.

Bug summary

Hello!

After updating the library to version 1.x, I noticed a change in the drag behavior.

Previously, the drop position/intersection point was based on the actual point where the user started dragging the item (the touch/press point).

Now, the intersection point with the drop zone is always calculated from the center of the dragged item, regardless of where the user grabs the item.

For example, if I press and hold an item near its edge and start dragging, the item visually moves from that point, but the drop calculation behaves as if the item was grabbed from the center.

Is this an intended change in v1.x?
Are there any plans to support the previous behavior or provide a configuration option for this?

I would also like to know if this behavior is expected or if I might be missing some configuration on my side.

Library version

1.1.0

Environment info

System:
  OS: macOS 15.7.8
  CPU: (14) arm64 Apple M4 Pro
  Memory: 546.22 MB / 48.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 24.4.1
    path: /opt/homebrew/bin/node
  Yarn:
    version: 1.22.22
    path: /opt/homebrew/bin/yarn
  npm:
    version: 11.4.2
    path: /opt/homebrew/bin/npm
  Watchman:
    version: 2025.07.14.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.16.2
    path: /opt/homebrew/lib/ruby/gems/3.4.0/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 25.2
      - iOS 26.2
      - macOS 26.2
      - tvOS 26.2
      - visionOS 26.2
      - watchOS 26.2
  Android SDK:
    API Levels:
      - "35"
      - "36"
    Build Tools:
      - 35.0.0
      - 36.0.0
    System Images:
      - android-35 | Google Play ARM 64 v8a
      - android-36 | Google Play ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2025.2 AI-252.27397.103.2522.14617522
  Xcode:
    version: 26.2/17C52
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.19
    path: /Users/mliubi/Library/Java/JavaVirtualMachines/ms-17.0.19/Contents/Home/bin/javac
  Ruby:
    version: 3.4.5
    path: /opt/homebrew/opt/ruby/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react: Not Found
  react-native: Not Found
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

info React Native v0.86.2 is now available (your project is running on v0.83.5).

Steps to reproduce

  1. Drag an item by pressing near its edge (not the center).
  2. Move it over a drop zone.
  3. Observe that the drop position is calculated from the item's center instead of the initial touch point.

Reproducible example repository

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions