Dnd

screenshot of Dnd
express
react
styled-components

Beautiful and accessible drag and drop for lists with React. Star to support our work!

Overview

If you're looking for a powerful yet user-friendly drag-and-drop solution for your React applications, you might want to consider @hello-pangea/dnd. This library focuses on creating beautiful and accessible interfaces for organizing lists, ensuring that users of all abilities can engage with your content. With its natural movement of items and robust keyboard and screen reader support, it sets itself apart from many alternatives available in the market.

What truly stands out about @hello-pangea/dnd is its performance and clean API. Whether you're building simple vertical lists or more complex structures involving virtual lists and multiple independent lists, this library offers flexibility without overwhelming you with complexity. Let's take a closer look at its key features.

Features

  • Accessible Support: Delivers excellent screen reader support and keyboard navigation, making interfaces usable for everyone, including those with disabilities.
  • Performance: Capable of handling up to 10,000 items at 60fps, ensuring smooth interactions regardless of list size.
  • Clean API: Easy to get started with, thanks to its straightforward and powerful API design.
  • Flexible Styling: Maintains unopinionated styling, allowing complete control over how lists look without enforcing additional DOM nodes.
  • Multi Drag Support: Enables users to drag multiple items simultaneously for efficient organizing.
  • Custom Drag Handles: Offers the ability to initiate dragging from various parts of an item, enhancing usability.
  • Versatile Movement: Facilitates conditional dragging and dropping, independent nested lists, and movement between both vertical and horizontal lists seamlessly.
  • Server-Side Rendering: Fully compatible with server-side rendering to support dynamic web applications effectively.

With these features, @hello-pangea/dnd is a strong choice for developers who want to create beautiful, functional, and accessible drag-and-drop experiences in React.

express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

styled-components
Styled Components

Styled Components is a popular library for styling React components using CSS syntax. It allows you to write CSS in your JavaScript code, making it easier to create dynamic styles that are specific to each component.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

Redux

Redux is a state management library for JavaScript apps that provides a predictable and centralized way to manage application state. It enables developers to write actions and reducers that update the state in response to user interactions, server responses, and other events, and can be used with a variety of front-end frameworks and back-end technologies.

rollup
Rollup

RollupJS is a popular and efficient JavaScript module bundler that takes the code from multiple modules and packages them into a single optimized file, minimizing the overall size of the application and improving its performance.

Storybook

Storybook is a tool for developing and testing UI components in isolation. It provides a sandbox environment where you can experiment with different props and states to see how your component responds.

Stylelint

Stylelint is a modern linter for CSS that helps you avoid errors and enforce consistent styling conventions. It provides rules for detecting errors and warnings, and can be configured to match your specific project's requirements.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.

webpack
Webpack

Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.