What is SnapSort?
SnapSort is a drag-and-drop interface library for the web. A core concept of SnapSort is to provide utilities for making drag-and-drop, not pre-built components. Specifically, this library is built on two key principles:
- Primitives over abstraction: Rather than abstracting core utilities inside APIs, expose them directly. Let developers mix and match for maximum flexibility.
- Everything is configurable: Avoid “sensible defaults” because there is no such thing. Every UI is unique.
For developers, this means:
- You only need to know two components:
ItemandContainer. Every UI are derived from these primitives. - Extensive hooks to define custom behavior.
- Wide array of configurations to customize drag and drop behavior, animations, etc.
- Style-less by default, bring your own CSS.
Using a coding agent? Start with SnapSort’s llms.txt for the complete documentation tree, or append .md to any documentation URL to get clean, framework-aware Markdown. For example, open this page as Markdown.
SnapSort is in early beta. Expect breaking API changes, incomplete features, and behavioral instability between releases. It is not yet recommended for production-critical interfaces.
SnapSort currently targets pointer-based interactions. Keyboard controls and other accessibility features have not been implemented yet.