Sorry, no results found for "".

Plugin SDK > Sidebars and split views

Sidebars and split views

Resizable, left primary panel

<Canvas ctx={ctx}>
<div style={{ height: 500, position: 'relative' }}>
<VerticalSplit primaryPane="left" size="25%" minSize={220}>
<div style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>
<Toolbar>
<ToolbarStack stackSize="l">
<ToolbarTitle>Primary</ToolbarTitle>
</ToolbarStack>
</Toolbar>
<div
style={{
flex: '1',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '150px',
}}
>
Main content
</div>
</div>
<div style={{ display: 'flex', flexDirection: 'column', height: '100%', borderLeft: '1px solid var(--border-color)' }}>
<Toolbar>
<ToolbarStack stackSize="l">
<ToolbarTitle>Secondary</ToolbarTitle>
</ToolbarStack>
</Toolbar>
<div
style={{
flex: '1',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '150px',
}}
>
Sidebar
</div>
</div>
</VerticalSplit>
</div>
</Canvas>

Resizable, right primary panel

<Canvas ctx={ctx}>
<div style={{ height: 500, position: 'relative' }}>
<VerticalSplit primaryPane="right" size="25%" minSize={220}>
<div style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>
<Toolbar>
<ToolbarStack stackSize="l">
<ToolbarTitle>Secondary</ToolbarTitle>
</ToolbarStack>
</Toolbar>
<div
style={{
flex: '1',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '150px',
}}
>
Sidebar
</div>
</div>
<div style={{ display: 'flex', flexDirection: 'column', height: '100%', borderLeft: '1px solid var(--border-color)' }}>
<Toolbar>
<ToolbarStack stackSize="l">
<ToolbarTitle>Primary</ToolbarTitle>
</ToolbarStack>
</Toolbar>
<div
style={{
flex: '1',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '150px',
}}
>
Main content
</div>
</div>
</VerticalSplit>
</div>
</Canvas>

Collapsible

<Canvas ctx={ctx}>
<div style={{ height: 500, position: 'relative' }}>
<StateManager initial={true}>
{(isCollapsed, setCollapsed) => (
<VerticalSplit
primaryPane="left"
size="25%"
minSize={220}
isSecondaryCollapsed={isCollapsed}
onSecondaryToggle={setCollapsed}
>
<div style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>
<Toolbar>
<ToolbarStack stackSize="l">
<ToolbarTitle>Primary</ToolbarTitle>
</ToolbarStack>
</Toolbar>
<div
style={{
flex: '1',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '150px',
}}
>
Main content
</div>
</div>
<div
style={{
display: 'flex',
flexDirection: 'column',
height: '100%',
borderLeft: '1px solid var(--border-color)',
}}
>
<Toolbar>
<ToolbarStack stackSize="l">
<ToolbarTitle>Secondary</ToolbarTitle>
</ToolbarStack>
</Toolbar>
<div
style={{
flex: '1',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '150px',
}}
>
Sidebar
</div>
</div>
</VerticalSplit>
)}
</StateManager>
</div>
</Canvas>

Overlay mode

<Canvas ctx={ctx}>
<div style={{ height: 500, position: 'relative' }}>
<StateManager initial={true}>
{(isCollapsed, setCollapsed) => (
<VerticalSplit
mode="overlay"
primaryPane="left"
size="25%"
minSize={220}
isSecondaryCollapsed={isCollapsed}
onSecondaryToggle={setCollapsed}
>
<div style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>
<Toolbar>
<ToolbarStack stackSize="l">
<ToolbarTitle>Primary</ToolbarTitle>
</ToolbarStack>
</Toolbar>
<div
style={{
flex: '1',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '150px',
}}
>
Main content
</div>
</div>
<div
style={{
display: 'flex',
flexDirection: 'column',
height: '100%',
borderLeft: '1px solid var(--border-color)',
}}
>
<Toolbar>
<ToolbarStack stackSize="l">
<ToolbarTitle>Secondary</ToolbarTitle>
</ToolbarStack>
</Toolbar>
<div
style={{
flex: '1',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '150px',
}}
>
Sidebar
</div>
</div>
</VerticalSplit>
)}
</StateManager>
</div>
</Canvas>