About
An easy to use react split panel component with flexible constrains.
Installation
npm i split-panel-react
Usage
;
<SplitPanel> <div>Left side</div> <div>Right side</div></SplitPanel>
Advanced Usage
const containerStyle = height: "200px" border: "1px solid #e0e0e0" boxShadow: "0px 0px 6px -3px #8483DB"; const dividerStyle = background: "#ff90f9" width: "2px"; <SplitPanel containerStyle=containerStyle dividerStyle=dividerStyle leftMaxWidth=700 leftMinWidth=100 rightMaxWidth=700 rightMinWidth=50 defaultLeftWidth=600> <div>Left side</div> <div>Right side</div></SplitPanel>
Props
null
)
leftMaxWidth ([number] default: Left panel maximum width in pixels
null
)
leftMinWidth ([number], default: Left panel minimum width in pixels
null
)
rightMaxWidth ([number] default: Right panel maximum width in pixels
null
)
rightMinWidth ([number] default: Right panel minimum width in pixels
null
)
defaultLeftWidth ([number] default: Left panel default width in pixels
null
)
defaultRightWidth ([number] default: Right panel default width in pixels
50
)
defaultRatio ([number] default: Default ration between the two side, scale: 1-100.
Example: 40
will set the width of the left panel to 40% of the container
maxRatio ([number] default: null`)
The maximum ratio between the left and the right panels, scale: 1-100 example
50
)
minRatio ([number] default: The minimum ratio between the left and the right panels, scale: 1-100 example
null
)
height ([number] default: Container's height in pixels
{}
)
containerStyle ([object] default: An object to style the container, example
{}
)
dividerStyle ([object] default: An object to style the divider, example
() => {}
)
onStart ([function] default: A callback being fire when the divider starts moving
() => {}
)
onFinish ([function] default: A callback being fire when on mouse up event from the divider
({ratio, containerWidth, leftWidth, rightWisth) => {}
)
onChange: ([function] default: A callback being fire when the divider moves.
2
)
dividerWidth ([number] default: Divider width in pixels. For accuracy, indicate the divider width if changed in dividerStyle
Q&A
- What happen if I have conflicted constrains?
split-panel
respects all constrains equally. The user need to make sure that the constrains does not conflict. For example: Here theleftMinWidth
is bigger than theleftMaxWidth
<SplitPanel leftMaxWidth=200 leftMinWidth=300> <div>a</div> <div>b</div></SplitPanel>