react-pane-system
v0.3.3
Published
A declarative, flexible pane layout system for React projects.
Downloads
13
Readme
react-pane-system
A declarative, flexible pane layout system for React projects. Allows pixel and percent values to sizes(including min and max).
Install
> npm install react-pane-system
Usage
import { PaneSystem, PaneRow, Pane } from 'react-pane-system';
<PaneSystem width="100vw" height="100vh">
<PaneRow>
{/* A pane with a splitter on the right side */}
<Pane
id="left-pane"
width="30%"
minWidth="100px"
maxWidth="50%"
splitter="right"
>
<div>Left Pane</div>
</Pane>
{/* This pane resizes automatically */}
<Pane id="right-pane">
<div>Right Pane</div>
</Pane>
</PaneRow>
</PaneSystem>;
Documentation
PaneSystem
| Prop | Type | Description |
| ----------- | ------- | ------------------------------------------------------------------------------------------------------- |
| width | string? | Width of the pane system. Can be any CSS string. (Default: 100%
) |
| height | string? | Height of the pane system. Can be any CSS string. (Default: 100%
) |
| bgColor | string? | Base background color for all the Pane
s. Can be any CSS color string. (Default: #4b5563
) |
| borderWidth | number? | Base border width for all the PaneRow
s and Pane
s. (Default: 1
) |
| borderColor | string? | Base border color for all the PaneRow
s and Pane
s. Can be any CSS color string. (Default: #909090
) |
PaneRow
| Prop | Type | Description |
| -------------- | ------- | ------------------------------------------------------------------------------------------------------- |
| height | string? | Height of the row. Can be either px
or %
. Only one row can have an auto
height. (Default: auto
) |
| minHeight | string? | Minimum height of the row. Can be either px
or %
. (Default: 0
) |
| maxHeight | string? | Maximum height of the row. Can be either px
or %
. (Default: 100%
) |
| splitter | string? | Position of the splitter. Can be either top
or bottom
. |
| splitterHeight | number? | Height of the splitter. (Default: 4
) |
| splitterColor | string? | Color of the splitter. Can be any CSS color string. (Default: rgba(0, 0, 0, 0.2)
) |
| bgColor | string? | Overrides the base background color for all the enclosed Pane
s. Can be any CSS color string. |
| borderWidth | number? | Overrides the base border width for all the enclosed Pane
s. |
| borderColor | string? | Overrides the base border color for all the enclosed Pane
s. Can be any CSS color string. |
Pane
| Prop | Type | Description |
| ------------- | ------- | ------------------------------------------------------------------------------------------------------- |
| id | string | ID of the pane. |
| width | string? | Width of the pane. Can be either px
or %
. Only one pane can have an auto
width. (Default: auto
) |
| minWidth | string? | Minimum width of the pane. Can be either px
or %
. (Default: 0
) |
| maxWidth | string? | Maximum width of the pane. Can be either px
or %
. (Default: 100%
) |
| splitter | string? | Position of the splitter. Can be either left
or right
. |
| splitterWidth | number? | Width of the splitter. (Default: 4
) |
| splitterColor | string? | Color of the splitter. Can be any CSS color string. (Default: rgba(0, 0, 0, 0.2)
) |
| bgColor | string? | Overrides the base background color for this pane. Can be any CSS color string. |
| borderWidth | number? | Overrides the base border width for this pane. |
| borderColor | string? | Overrides the base border color for this pane. Can be any CSS color string. |