Skip to content

Splitter

A component that divides your interface into resizable sections.

Panel A
Panel B
import { Splitter } from '@fintech-sandpit/ui/react';
return (
<Splitter.Root panels={[{ id: 'a' }, { id: 'b' }]}>
<Splitter.Panel id="a">
Panel A
</Splitter.Panel>
<Splitter.ResizeTrigger id="a:b" />
<Splitter.Panel id="b">
Panel B
</Splitter.Panel>
</Splitter.Root>
);
NameTypeRequiredDefaultDescription
panelsSplitterPanel[]YesPanels configuration
orientationOrientationhorizontalSplitter orientation
defaultSizenumber[]Default size for each panel, %
sizenumber[]Controlled size for each panel, %
NameTypeRequiredDefaultDescription
idstringYesUnique identifier of the panel
NameTypeRequiredDefaultDescription
idstringYesPair of panel identifiers delimited by a colon (e.g. panel1-id:panel2-id)
aria-labelstringResizeAccessible label for the resize trigger
type Orientation = 'horizontal' | 'vertical'
type SplitterPanel = {
id: string;
}
type SplitterResizeTrigger = {
id: `${SplitterPanel['id']}:${SplitterPanel['id']}`
};