Homelogologo
Sponsor

Splitter

A component used to resize adjacent panels with a draggable handle.

Usage

Allows users to resize panels in a layout. It supports both horizontal and vertical orientations.

import { Splitter } from "@elemnts-ui/react"; <Splitter.Root panels={[ { id: "left", size: 50 }, { id: "right", size: 50 }, ]} > <Splitter.Panel id="left">Left Panel</Splitter.Panel> <Splitter.ResizeTrigger id="left:right"> <Splitter.ResizeTriggerSeparator /> <Splitter.ResizeTriggerIndicator /> </Splitter.ResizeTrigger> <Splitter.Panel id="right">Right Panel</Splitter.Panel> </Splitter.Root>;

Vertical

Set the orientation prop to "vertical" to stack panels vertically.

Multiple Panels

You can create layouts with multiple resizable panels by defining more panel data and adding corresponding triggers.

Disabled Resize

Use the disabled prop on a Splitter.ResizeTrigger to prevent resizing.

Separator Only

You can choose to only render the separator line for a more minimal look.

API Reference

SplitterRoot

The root container that manages the splitter panels and resize triggers.

PropTypeDefault
panelsPanelData[]required
asChildbooleanfalse
defaultSizePanelSize[]-
keyboardResizeBynumber-
noncestring-
onCollapse(details: ExpandCollapseDetails) => void-
onExpand(details: ExpandCollapseDetails) => void-
onResize(details: ResizeDetails) => void-
onResizeEnd(details: ResizeEndDetails) => void-
onResizeStart() => void-
orientation'horizontal''vertical'
registrySplitterRegistry-
sizePanelSize[]-

SplitterRootProvider

Provides a splitter state machine to its children.

PropTypeDefault
valueUseSplitterReturnrequired
asChildbooleanfalse

SplitterPanel

A resizable panel within the splitter.

PropTypeDefault
idstringrequired
asChildbooleanfalse

SplitterResizeTrigger

The handle used to resize adjacent panels.

PropTypeDefault
idResizeTriggerIdrequired
asChildbooleanfalse
disabledboolean-

SplitterResizeTriggerSeparator

A visual separator line within the resize trigger.

PropTypeDefault
asChildbooleanfalse

SplitterResizeTriggerIndicator

A visual handle indicator within the resize trigger.

PropTypeDefault
asChildbooleanfalse