Part of UrStack, my open-source organization for TypeScript libraries. Siblings: UrColor, UrVis, UrCharts.
UrDock builds IDE-style docking layouts for Vue and React: split panes, grids, collapsible regions, tabs. It ships no stylesheet at all. The library owns the geometry, the consumer owns every pixel.
Layout state lives in a reactive store rather than in the DOM. That turns resize and collapse into ordinary state transitions, and it makes a whole workspace layout serializable, so you can save it, restore it, or ship it between users.
Docking libraries almost always arrive with a theme attached, and stripping that theme out is worse than writing the layout yourself. The parts genuinely worth reusing are the ones nobody enjoys writing twice: split geometry, resize constraints, persistence.
UrDock keeps those and hands back the rendering.
data-* state
attributes, so styling is plain CSSasChild polymorphism, rendering as any element or component you supplyasChild polymorphism, data-* state
attributes