finds.dev← search

// the find

gridstack/gridstack.js

★ 8,961 · TypeScript · MIT · updated Jun 2026

Build interactive dashboards in minutes.

gridstack.js is a TypeScript library for building drag-and-drop dashboard layouts — the kind where users resize and reposition widgets at runtime. It ships first-party wrappers for Angular, React, and Vue, has no external dependencies since v3, and works on mobile. Aimed at teams building configurable dashboard UIs rather than static layouts.

Zero external dependencies since v3 — no jQuery, no jquery-ui, pure native mouse/touch events. The custom engine API (5.1+) lets you override layout algorithms without forking the library, which is rare and genuinely useful. CSS variables in v12 finally killed the 'forgot to include gridstack-extra.css' class of bugs. The migration docs are unusually honest about breaking changes across 12 major versions, which matters when you're evaluating long-term maintenance risk.

The React wrapper is still fighting the DOM — there's an `_old` folder sitting in the tree alongside the current implementation, which suggests the React story has been rewritten at least once and probably isn't settled. Serialization/deserialization is your problem: save/restore of complex nested grids with dynamic content requires you to wire up `renderCB` yourself, with no built-in persistence layer. The `innerHTML` removal in v11 and the XSS note in the migration docs ('REAL apps would sanitize-html') indicate the security model was bolted on late. And with 12 major versions and frequent breaking changes, you should budget for migration work every couple of years.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →