Dnd-kit is a modern, lightweight, performant, accessible, and extensible drag & drop toolkit for React. It is built on top of React Hooks, making it easy to use and integrate into your existing React applications. Dnd-kit supports a wide range of drag & drop interactions, including sorting, nesting, and custom interactions. Here are some of the key features of Dnd-kit:
- **Declarative API:** Dnd-kit uses a declarative API, which means that you can define your drag & drop interactions using props and state, rather than writing a lot of imperative code. This makes it easier to reason about your drag & drop interactions and makes your code more maintainable.
- **Performant:** Dnd-kit is highly performant, even for large datasets. It uses a custom collision detection algorithm that is optimized for performance.
- **Accessible:** Dnd-kit is accessible out of the box, and it supports a variety of accessibility features, such as keyboard navigation and screen reader compatibility.
- **Extensible:** Dnd-kit is extensible, and you can easily create custom interactions and behaviors.
- **TypeScript support:** Dnd-kit has full TypeScript support, so you can benefit from type checking and autocompletion.
If you are looking for a modern, lightweight, performant, accessible, and extensible drag & drop toolkit for React, then Dnd-kit is a great option. It is easy to use, has a wide range of features, and is well-supported.
Here are some examples of how Dnd-kit can be used:
- **Sorting lists:** You can use Dnd-kit to sort lists of items, either by dragging and dropping the items directly, or by using a keyboard interface.
- **Nesting items:** You can use Dnd-kit to nest items within other items, such as creating a tree view of data.
- **Custom interactions:** You can use Dnd-kit to create custom interactions, such as dragging and dropping items onto other items to trigger actions
# References
```dataview
Table title as Title, authors as Authors
where contains(subject, "Dnd-kit") or contains(title, "Dnd-kit")
```