This is great, and I was just now preparing to sit down to slog through implementing something like along these lines. You just saved me a lot of time.
There are a lot of similarly great React libraries that focus on just one high-level component. A few of my favorites that have saved me tons of time:
- react-grid-layout (https://github.com/STRML/react-grid-layout) for draggable / resizable grids with an easily-serializable layout.
- react-mosaic (https://github.com/nomcopter/react-mosaic) for tiling / movable window layouts.
- react-table (https://react-table.js.org/) for a very powerful, expandable table implementation.