Zero dependency layout manager supporting tabs, groups, grids and splitviews. Supports React, Vue, Angular and JavaScript

Please see the website: https://dockview.dev
| Package | Description | Version |
|---|---|---|
dockview |
JavaScript — zero dependencies, full feature set out of the box | |
dockview-react |
React bindings (peer: react ≥16.8) |
|
dockview-vue |
Vue 3 bindings (peer: vue ≥3.4) |
|
dockview-angular |
Angular bindings (peer: @angular/core ≥21) |
npm install dockview # JavaScript
npm install dockview-react # React
npm install dockview-vue # Vue
npm install dockview-angular # Angular
import { DockviewReact } from 'dockview-react';
import 'dockview-react/dist/styles/dockview.css';
const components = {
default: (props) =>
Hello {props.params.title}
,
};
function App() {
const onReady = (event) => {
event.api.addPanel({
id: 'panel_1',
component: 'default',
params: { title: 'World' },
});
};
return (
<DockviewReact
className="dockview-theme-dark"
onReady={onReady}
components={components}
/>
);
}
For Vue and Angular examples see the documentation.
This project is an NX monorepo using Yarn v1 workspaces.
yarn install # Install dependencies
yarn build # Build all packages
yarn test # Run tests
yarn lint # Run ESLint
yarn format # Run Prettier
Build order is managed automatically by NX:
dockview-core → dockview → dockview-react
dockview-core → dockview → dockview-vue
dockview-core → dockview → dockview-angular
Contributions are welcome! Please open an issue or submit a pull request.
MIT — see LICENSE for details.
Want to verify our builds? Go here.
$ claude mcp add dockview \
-- python -m otcore.mcp_server <graph>