1.0.1 • Published 4 years ago

@devbookhq/split v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

Splitter

Splitter is a React component thath allows you to split views into resizable panels. Similar to tabs in Visual Studio Code, for example. It's used in Devbook - A Search Engine for Developers.

Here's a gif of what you can build with Splitter: npm.io

Splitter is inspired by Split.js and written as 100% functional component:

  • All size calculation is done through CSS using calc
  • Fully responsive
  • No dependencies beside React
  • Minimal assumptions about your styling and views

Installing

npm install @devbookhq/splitter
# or
yarn add @devbookhq/splitter

Usage

Horizontal split

import ReactSplit, { SplitDirection } from '@devbookhq/splitter'

function MyComponent() {
  return (
    <ReactSplit direction={SplitDirection.Horizontal}>
      <div>Tile 1</div>
      <div>Tile 2</div>
    </ReactSplit>
  );
}

Vertical split

import ReactSplit, { SplitDirection } from '@devbookhq/splitter'

function MyComponent() {
  return (
    <ReactSplit direction={SplitDirection.Vertical}>
      <div>Tile 1</div>
      <div>Tile 2</div>
    </ReactSplit>
  );
}

Nested split

import ReactSplit, { SplitDirection } from '@devbookhq/splitter'

function MyComponent() {
  return (
    <ReactSplit direction={SplitDirection.Vertical}>
      <div>Tile 1</div>
      <ReactSplit direction={SplitDirection.Horizontal}>
        <div>Tile 2</div>
        <ReactSplit direction={SplitDirection.Vertical}>
          <div>Tile 3</div>
          <div>Tile 4</div>
        </ReactSplit>
      </ReactSplit>
    </ReactSplit>
  );
}

To see more examples check out the examples section.

Examples

Check the example folder or the CodeSandbox project.

1.0.1

4 years ago