
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@thisbeyond/solid-dnd
Advanced tools

Install it:
npm install @thisbeyond/solid-dnd
Use it:
import {
DragDropProvider,
DragDropSensors,
useDragDropContext,
createDraggable,
createDroppable,
} from "@thisbeyond/solid-dnd";
const Draggable = (props) => {
const draggable = createDraggable(props.id);
return <div use:draggable>draggable</div>;
};
const Droppable = (props) => {
const droppable = createDroppable(props.id);
return <div use:droppable>droppable</div>;
};
const Sandbox = () => {
const [, { onDragEnd }] = useDragDropContext();
onDragEnd(({draggable, droppable}) => {
if (droppable) {
// Handle the drop. Note that solid-dnd doesn't move a draggable into a
// droppable on drop. It leaves it up to you how you want to handle the
// drop.
}
});
return (
<div>
<Draggable id="draggable-1" />
<Droppable id="droppable-1" />
</div>
);
};
const App = () => {
return (
<DragDropProvider>
<DragDropSensors>
<Sandbox />
</DragDropSensors>
</DragDropProvider>
);
};
export default App;
See more examples at https://solid-dnd.com
createDraggable with your elements to easily integrate drag
behaviour. Maintain full control over how your element looks and behaves.createDroppable. Conditionally enable and
disable droppable areas based on the current context.DragOverlay when you want to drag a representation of your element
that is removed from the normal flow.mostIntersecting,
closestCorners and closestCenter) for common usage. You can also add
your own.DragDropProvider for containers isolated from
each other.Solid first caught my eye when I was looking for a way to improve performance of a React app I'd been working on. I was feeling frustrated by the rules of hooks and the effort / complexity of performance improvements - especially what felt like a lot of manual book-keeping across renders. In the end, I changed my app behaviour to sidestep the issues and carried on with React.
But I also found myself watching Solid's progress too, commenting a bit here and there in the community. So, when I started a new side project I decided to jump in and give Solid a go. Performance was great, but what kept me invested in Solid was the clean lines of its primitives / API and the incredibly helpful community. It felt quick to be productive, and I liked how there seemed to be a focus on real world problems and getting it done (progress over perfection or even a hacker spirit). Somehow it also felt closer to vanilla JS and that I was working more with the language than against it.
However, there are always tradeoffs. In this case it was that Solid was not particularly well known and there was not an ecosystem of libraries available to solve common problems. This was a double-edged sword. On the one hand I liked how writing solutions myself kept my app lean, and my solutions focused. On the other, I was spending time building these solutions rather than my app.
One of the more challenging ones was adding drag and drop sorting of list items
to my app. I could have hacked in a third-party library, but I didn't want to
give up the granular reactivity of Solid to do so. I was also interested in the
challenge - how hard would it be with Solid? Inspired by
dnd-kit (a modern approach to dnd in React), I built
something out for my app in around ~700 lines. I shared a gif of it with the
community and decided to try to extract it into a library for others. And so,
solid-dnd came to be :)
FAQs
A lightweight drag and drop toolkit for Solid.
The npm package @thisbeyond/solid-dnd receives a total of 45,489 weekly downloads. As such, @thisbeyond/solid-dnd popularity was classified as popular.
We found that @thisbeyond/solid-dnd demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.