Skip to content

Splitter

A component that divides your interface into resizable sections.

Panel A
Panel B
import { Splitter } from '@fintech-sandpit/ui/react'; // Component
import '@fintech-sandpit/ui/style/components/splitter.css'; // Style (optional)
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[]Yes—Panels configuration
orientationOrientationhorizontalSplitter orientation
defaultSizenumber[]—Default size for each panel, %
sizenumber[]—Controlled size for each panel, %
NameTypeRequiredDefaultDescription
idstringYes—Unique identifier of the panel
NameTypeRequiredDefaultDescription
idstringYes—Pair 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']}`
};