콘텐츠로 이동
RefineUI

Sidebar

접을 수 있는 세로 내비게이션 드로어/사이드바.

Overview

Machine-readable contract from Component Spec.

component: sidebarexport: Sidebarversion: 1attributes: data-refineui=sidebar

Anatomy

Partdata-refineui
rootsidebar
brandsidebar-brand
contentsidebar-content
footersidebar-footer
groupsidebar-group
group_labelsidebar-group-label
headersidebar-header
linksidebar-link
navsidebar-nav
peeksidebar-peek
peek_edgesidebar-peek-edge
peek_insetsidebar-peek-inset
peek_panelsidebar-peek-panel
peek_pinsidebar-peek-pin
peek_surfacesidebar-peek-surface

States

ScopeCategoryValues
componentpseudofocus-visible
componentenvironmentforced-colors, dir

Focus

SectionPropertyValue
visualrequiredtrue
visualselector:focus-visible

Layout

PropertyValue
directionlogical
rtltrue
npm install @refineui/react @refineui/tokens
import {
Sidebar,
SidebarHeader,
SidebarBrand,
SidebarContent,
SidebarNav,
SidebarGroup,
SidebarGroupLabel,
SidebarLink,
SidebarFooter
} from "@refineui/react";
<Sidebar>
<SidebarHeader>
<SidebarBrand>
<Logo />
My App
</SidebarBrand>
</SidebarHeader>
<SidebarContent>
<SidebarNav>
<SidebarGroup>
<SidebarGroupLabel>Main</SidebarGroupLabel>
<SidebarLink href="/" active>Dashboard</SidebarLink>
<SidebarLink href="/projects">Projects</SidebarLink>
<SidebarLink href="/tasks">Tasks</SidebarLink>
</SidebarGroup>
<SidebarGroup>
<SidebarGroupLabel>Settings</SidebarGroupLabel>
<SidebarLink href="/settings">Preferences</SidebarLink>
<SidebarLink href="/profile">Profile</SidebarLink>
</SidebarGroup>
</SidebarNav>
</SidebarContent>
<SidebarFooter>
<p>© 2024</p>
</SidebarFooter>
</Sidebar>

루트 사이드바 컨테이너(<aside> 요소).

헤더 섹션.

브랜드/로고 영역.

메인 콘텐츠 영역.

내비게이션 컨테이너(<nav> 요소).

관련 링크를 그룹화합니다.

그룹 레이블.

PropDefaultTypeDescription
activefalseboolean현재 페이지를 표시합니다(`aria-current="page"`).

푸터 섹션.

도킹된 사이드바가 접혀 있을 때의 조합형 플라이아웃 — 가장자리 호버 시 메인 영역 위에 떠 있는 패널이 나타납니다(콘텐츠는 리플로우되지 않음).

<SidebarPeek enabled={collapsed} widthPercent={28} mode="contained" onPin={expand}>
<SidebarPeekEdge />
<SidebarPeekPanel>
<SidebarPeekPin>{/* pin control */}</SidebarPeekPin>
<Sidebar>...</Sidebar>
</SidebarPeekPanel>
<SidebarPeekInset>{/* main + toggle */}</SidebarPeekInset>
</SidebarPeek>

peek 레이어를 고정 앱 헤더 아래에 맞출 때는 mode="viewport"--refineui-sidebar-peek-viewport-offset을 사용하세요.