섹션
컴포넌트
import { Separator } from "@/components/ui/separator"
export function SeparatorDemo() {Separator는 콘텐츠 블록 사이에 얇은 가로 또는 세로 구분선을 그립니다. Base UI Separator 프리미티브를 기반으로 하며, 의도적으로 최소한으로 유지했습니다. 테마 border 색의 한 줄 — 네오브루탈리즘 프레임을 그리는 것과 같은 단색 선입니다.
다음과 같은 경우에 사용합니다.
- 메뉴·툴바 섹션 — 드롭다운, 사이드바, 커맨드 바에서 동작 그룹을 나눕니다.
- 쌓인 목록 — 설정 페이지, 피드, 알림 패널의 행을 구분합니다.
- 인라인 메타데이터 — 조회수, 별, 최종 업데이트 날짜 사이의 세로 선.
설치#
pnpm dlx shadcn@latest add https://neobrutalism.com/r/base/separator.jsonnpx shadcn@latest add https://neobrutalism.com/r/base/separator.jsonyarn dlx shadcn@latest add https://neobrutalism.com/r/base/separator.jsonbunx --bun shadcn@latest add https://neobrutalism.com/r/base/separator.json
다음 의존성을 설치합니다.
pnpm add @base-ui/reactnpm install @base-ui/reactyarn add @base-ui/reactbun add @base-ui/react
다음 코드를 복사해서 프로젝트에 붙여넣습니다.
"use client"
import * as React from "react"
import { Separator as SeparatorPrimitive } from "radix-ui"
import { cn } from "@/lib/utils"
function Separator({
className,
orientation = "horizontal",
decorative = true,
...props
}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {
return (
<SeparatorPrimitive.Root
data-slot="separator"
decorative={decorative}
orientation={orientation}
className={cn(
"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
className
)}
{...props}
/>
)
}
export { Separator }
import 경로를 프로젝트 구성에 맞게 수정합니다.
사용법#
import { Separator } from "@/components/ui/separator"<Separator />예제#
수직#
수직 방향의 구분선에는 orientation="vertical"을 지정합니다.
import { Separator } from "@/components/ui/separator"
export function SeparatorVertical() {메뉴#
설명이 있는 메뉴 항목 사이에 배치한 수직 구분선입니다.
import { Separator } from "@/components/ui/separator"
export function SeparatorMenu() {리스트#
리스트 항목 사이에 배치한 수평 구분선입니다.
import { Separator } from "@/components/ui/separator"
export function SeparatorList() {RTL#
Neobrutalism에서 RTL 지원을 활성화하는 방법은 RTL 설정 가이드를 참고하세요.
"use client"
import * as React from "react"접근성#
Base UI의 Separator는 항상 role="separator"를 렌더링하고, aria-orientation이 orientation prop을 반영하므로 스크린 리더가 시맨틱 구분선으로 읽습니다. 인라인 통계 사이처럼 순수히 장식인 선에는 aria-hidden="true"를 두거나(또는 일반 스타일 <div>를 써서) 의미 없는 구분선을 보조 기술이 읽지 않게 하세요. 기본적으로 장식(role="none")인 Radix 변형과 다릅니다.
API 참조#
자세한 내용은 Base UI 문서를 참고하세요.