セクション
コンポーネント
import { Separator } from "@/components/ui/separator"
export function SeparatorDemo() {Separator はコンテンツのブロック間に細い横線または縦線を引きます。Base UI Separator コンポーネント上に構築し、意図的に最小限です。テーマの border 色の1本の線で、ネオブルータリストの枠を描くのと同じソリッドなストロークです。
次のような場面で使います:
- メニューとツールバーの区切り — ドロップダウン、サイドバー、コマンドバー内のアクション群を分割。
- 積み上げリスト — 設定ページ、フィード、通知パネルの行を区切る。
- インラインのメタデータ — 閲覧数、スター、最終更新などの統計の間の縦線。
インストール#
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 { 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 のドキュメントをご覧ください。