Components

Resizable

유동적인 사이즈 조절을 위한 Resizable 컴포넌트

One
Two
Three
// 컬럼 정의
() => {
const defaultStyle = {
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
padding: '24px',
height: '100%'
}
const fontWeight = { fontWeight: 600 }
return (
<Resizable.Root direction='horizontal' style={{ maxWidth: '28rem', borderRadius: '0.5rem', border: '1px solid #d1d5db', minWidth: '450px', minHeight: '370px', display: 'flex', flexDirection: 'row' }} >
<Resizable.Contents defaultSize={50}>
<div style={{ ...defaultStyle, height: '200px' }} >
<span style={fontWeight}>One</span>
</div>
</Resizable.Contents>
<Resizable.Trigger />
<Resizable.Contents defaultSize={50}>
<Resizable.Root direction='vertical' style={{ display: 'flex', flexDirection: 'column', height: '100%' }} >
<Resizable.Contents defaultSize={25}>
<div style={defaultStyle}>
<span style={fontWeight}>Two</span>
</div>
</Resizable.Contents>
<Resizable.Trigger />
<Resizable.Contents defaultSize={75}>
<div style={defaultStyle}>
<span style={fontWeight}>Three</span>
</div>
</Resizable.Contents>
</Resizable.Root>
</Resizable.Contents>
</Resizable.Root>
)
}

Components

이 컴포넌트는 react-resizable-panels를 기반으로 지원합니다.

Resizable.Root

PropTypeDefault
autoSaveId
string
No default value
children
ReactNode
No default value
className
string
No default value
direction
"horizontal" | "vertical"
No default value
id
string
No default value
onLayout
(sizes: number[]) => void
No default value
storage
PanelGroupStorage
No default value
style
CSSProperties
No default value
tagName
string
div

Resizable.Contents

PropTypeDefault
children
ReactNode
No default value
className
string
No default value
collapsedSize
number
0
collapsible
boolean
false
defaultSize
number
No default value
id
string
No default value
maxSize
number
100
minSize
number
10
onCollapse
() => void
No default value
onExpand
() => void
No default value
onResize
(size: number) => void
No default value
order
number
No default value
style
CSSProperties
No default value
tagName
string
div

Resizable.Trigger

PropTypeDefault
children
ReactNode
No default value
className
string
No default value
hitAreaMargins
{ coarse: number = 15; fine: number = 5; }
No default value
disabled
boolean
No default value
id
string
No default value
onDragging
(isDragging: boolean) => void
No default value
style
CSSProperties
No default value
tagName
string
div
PreviousRating