0.0.5 • Published 2 years ago

split-pane-react-test v0.0.5

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

split-pane-react

Resizable split panes for React.js.Check out the live demo.

Features

  • Supports vertical & horizontal layouts.
  • Supports fluid pane.
  • Use controlled component mode, flexible use
  • Built in different themes

Installing

# use npm
npm install split-pane-react

# or if you use yarn
yarn add split-pane-react

Example Usage

import SplitPane, { Pane } from 'split-pane-react';
import 'split-pane-react/esm/themes/default.css'

function Basic () {
    const [sizes, setSizes] = useState([
        100,
        '30%',
        'auto',
    ]);

    const layoutCSS = {
        height: '100%',
        display: 'flex',
        alignItems: 'center',
        justifyContent: 'center',
    };

    return (
        <div style={{ height: 500 }}>
            <SplitPane
                split='vertical'
                sizes={sizes}
                onChange={setSizes}
            >
                <Pane minSize={50} maxSize='50%'>
                  <div style={{ ...layoutCSS, background: '#ddd' }}>
                    pane1
                  </div>
                </Pane>
                <div style={{ ...layoutCSS, background: '#d5d7d9' }}>
                    pane2
                </div>
                <div style={{ ...layoutCSS, background: '#a1a5a9' }}>
                    pane2
                </div>
            </SplitPane>
        </div>
    );
};

props

SplitPane

PropertyDescriptionTypeDefault
splitDetermine layout of panes.'vertical' |'horizontal''vertical'
sizesCollection of different panel sizes,Only support controlled mode, so it's required(string | number)[][]
resizerSizeSpecify the size for resizernumber4
allowResizeShould allowed to resizedbooleantrue
classNamesplit pane custom class namestringvoid
sashClassNamesplit sash custom class namestringvoid
paneClassNamesplit pane custom class namestringvoid
onChangeCallback of size change(sizes: number[]) => voidvoid

Pane

PropertyDescriptionTypeDefault
classNamepane class namestringvoid
minSizeLimit the minimum size of the panelstring | numbervoid
maxSizeLimit the maximum size of this panelstring|numbervoid

themes

Three different theme styles are built into this component:

  • The default theme style refers to vscode style,The reference path is as follows:
import 'split-pane-react/esm/themes/default.css';
  • The style1 theme style refers to sublime style,The reference path is as follows:
import 'split-pane-react/esm/themes/theme1.css';
  • The style 2 theme has a permanent axis,The reference path is as follows:
import 'split-pane-react/esm/themes/theme2.css';

License

split-pane-react licensed under MIT.

PS: I would love to know if you're using split-pane-react. If you have any use problems, you can raise the issue, and I will try my best to solve them.

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago