2021-03-24 20:30:03 +00:00
2021-03-24 17:42:07 +00:00
2020-10-17 21:50:29 +01:00
2021-03-24 20:30:03 +00:00
2020-11-15 16:05:51 +00:00
2020-11-15 16:05:51 +00:00
2020-09-20 20:00:31 +01:00
2020-09-20 21:52:26 +01:00
2020-11-22 15:30:44 +00:00
2020-10-15 21:14:54 +01:00
2021-03-24 20:30:03 +00:00
2021-03-14 16:27:18 +00:00
2021-03-24 17:42:07 +00:00
2021-03-24 17:42:07 +00:00
2020-10-22 21:54:08 +01:00
2020-09-24 23:01:48 +01:00

dockview

Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support


stability-experimental npm version CI Build codecov Quality Gate Status Bundle Phobia

A zero dependency layout manager based on the layering of split-view components with ReactJS support.

  • View the live demo here.
  • Storybook demo here.
  • Code examples here.
  • Generated TypeDocs can be found here.

Want to inspect the deployed package? Go to https://unpkg.com/browse/dockview@latest/

Features

  • Simple splitviews, nested splitviews (i.e. gridviews) supporting full layout managment with dockable and tabular views
  • Extensive API support at the component level and at the indivdual view level
  • Themable and customizable
  • Serialization / deserialization
  • Tabular views with Drag and Drop support
  • Documentation and examples

Installation

You can install the project from npm. The project comes with TypeScript typings.

npm install --save dockview

Setup

You must import or reference the stylesheet at dockview/dist/styles/dockview.css. For example:

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

You should also attach a dockview theme to an element containing your components. For example:

<body classname="dockview-theme-light">
</body>

dockview has a peer dependency on react >= 16.8.0 and react-dom >= 16.8.0 which is the version that introduced React Hooks.

FAQ

Can I use this library without React?

In theory, yes. The library is written in plain-old JS and the parts written in ReactJS are merely wrappers around the plain-old JS components. Currently everything is published as one package though so maybe that's something to change in the future.

Can I use this library with AngularJS/Vue.js or any other arbitrarily named JavaScript library/framework?

Yes but with some extra work. Dockview is written in plain-old JS so you can either interact directly with the plain-old JS components or create a wrapper using your prefered library/framework. The React wrapper may give some ideas on how this wrapper implementation could be done for other libraries/frameworks. Maybe that's something to change in the future.

Sandbox examples

Description
[MIRROR] Zero dependency Docking Layout Manager. Supports Vanilla TypeScript, React and Vue.
Readme MIT 291 MiB
Languages
TypeScript 84.6%
MDX 5.1%
JavaScript 3.6%
SCSS 3%
HTML 2.9%
Other 0.8%