MCPcopy
hub / github.com/mathuo/dockview

github.com/mathuo/dockview @v7.0.2 sqlite

repository ↗ · DeepWiki ↗ · release v7.0.2 ↗
4,208 symbols 10,473 edges 579 files 258 documented · 6%
README

dockview

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


npm version npm CI Build Coverage Quality Gate Status Bundle Phobia

Please see the website: https://dockview.dev

Features

  • Serialization / deserialization with full layout management
  • Support for split-views, grid-views and 'dockable' views
  • Themeable and customizable
  • Tab and Group docking / Drag n' Drop
  • Touch & mobile support
  • Popout Windows
  • Floating Groups
  • Extensive API
  • Supports Shadow DOMs
  • High test coverage
  • Documentation website with live examples
  • Transparent builds and Code Analysis
  • Security at mind - verified publishing and builds through GitHub Actions

Packages

Package Description Version
dockview JavaScript — zero dependencies, full feature set out of the box npm version
dockview-react React bindings (peer: react ≥16.8) npm version
dockview-vue Vue 3 bindings (peer: vue ≥3.4) npm version
dockview-angular Angular bindings (peer: @angular/core ≥21) npm version

Installation

npm install dockview          # JavaScript
npm install dockview-react    # React
npm install dockview-vue      # Vue
npm install dockview-angular  # Angular

Quick Start (React)

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.

Development

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

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

MIT — see LICENSE for details.


Want to verify our builds? Go here.

Extension points exported contracts — how you extend this code

IDisposable (Interface)
(no doc) [93 implementers]
packages/dockview-core/src/lifecycle.ts
IPaneviewReactProps (Interface)
(no doc) [3 implementers]
packages/dockview-react/src/paneview/paneview.tsx
DockingKeybindings (Interface)
Bindings owned by this module (kept separate from the default navigation keymap).
packages/dockview-modules/src/keyboardDockingService.ts
SplitviewReadyEvent (Interface)
(no doc)
packages/dockview-vue/src/splitview/types.ts
AngularRendererOptions (Interface)
(no doc)
packages/dockview-angular/src/lib/utils/angular-renderer.ts
CustomParams (Interface)
(no doc)
packages/docs/templates/dockview/update-parameters/react/src/app.tsx
IPanel (Interface)
(no doc) [9 implementers]
packages/dockview-core/src/panel/types.ts
ReactPortalStore (Interface)
(no doc)
packages/dockview-react/src/react.ts

Core symbols most depended-on inside this repo

addPanel
called by 1253
packages/dockview-core/src/dockview/tabGroup.ts
dispose
called by 528
packages/dockview-core/src/dockview/tabGroup.ts
layout
called by 348
packages/dockview-core/src/panel/types.ts
fire
called by 311
packages/dockview-angular/src/__tests__/angular-header-actions-renderer.spec.ts
dispose
called by 257
packages/dockview-core/src/lifecycle.ts
openPanel
called by 243
packages/dockview-core/src/dockview/dockviewGroupPanelModel.ts
push
called by 221
packages/dockview-core/src/overlay/overlay.ts
addView
called by 153
packages/dockview-core/src/gridview/gridview.ts

Shape

Method 2,153
Function 1,048
Class 671
Interface 332
Enum 4

Languages

TypeScript100%

Modules by API surface

packages/dockview-core/src/dockview/dockviewComponent.ts175 symbols
packages/dockview-core/src/api/component.api.ts167 symbols
packages/dockview-core/src/dockview/dockviewGroupPanelModel.ts112 symbols
packages/dockview-core/src/gridview/gridview.ts68 symbols
packages/dockview-core/src/dockview/dockviewShell.ts60 symbols
packages/dockview-core/src/__tests__/dockview/dockviewGroupPanelModel.spec.ts58 symbols
packages/dockview-core/src/splitview/splitview.ts56 symbols
packages/dockview-core/src/dockview/components/titlebar/tabs.ts52 symbols
packages/dockview-core/src/dockview/components/titlebar/tabsContainer.ts49 symbols
packages/dockview-vue/src/utils.ts48 symbols
packages/dockview-core/src/paneview/paneviewComponent.ts47 symbols
packages/dockview-core/src/gridview/baseComponentGridview.ts47 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

Dependencies from manifests, versioned

@angular/common21.2.12 · 1×
@angular/compiler21.2.12 · 1×
@angular/compiler-cli21.2.12 · 1×
@angular/core21.2.12 · 1×
@angular/platform-browser21.2.12 · 1×
@angular/platform-browser-dynamic21.2.12 · 1×
@docusaurus/core3.10.1 · 1×
@docusaurus/module-type-aliases3.10.1 · 1×
@docusaurus/preset-classic3.10.1 · 1×
@docusaurus/theme-search-algolia3.10.1 · 1×
@eslint/js10.0.1 · 1×
@mdx-js/react3.1.1 · 1×

For agents

$ claude mcp add dockview \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact