npm.io
7.0.2 • Published 6d ago

dockview

Licence
MIT
Version
7.0.2
Deps
1
Size
2.9 MB
Vulns
0
Weekly
101.6K

dockview

Zero dependency layout manager supporting tabs, groups, grids and splitviews


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
  • Edge Groups
  • Tab 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

Quick Start

dockview is the JavaScript package. Using a framework? Install the matching bindings instead: dockview-react, dockview-vue or dockview-angular.

Install from npm:

npm install dockview

Import the stylesheet:

@import 'dockview/dist/styles/dockview.css';

Create a dockview instance:

import { DockviewComponent } from 'dockview';

const element = document.getElementById('app');

const dockview = new DockviewComponent(element, {
    createComponent: (options) => {
        switch (options.name) {
            case 'my-component':
                return {
                    init: (params) => {
                        params.containerElement.textContent = 'Hello World';
                    },
                };
        }
    },
});

dockview.addPanel({
    id: 'panel_1',
    component: 'my-component',
});

Apply a theme by adding a theme class (e.g. dockview-theme-dark) to a parent element.

See the documentation for full examples.

Want to verify our builds? Go here.

Keywords