Lewati ke konten

Pemisah

Garis horizontal atau vertikal yang memisahkan menu, bilah alat, dan daftar — digambar dengan warna garis tepi solid yang sama dengan bingkai bergaya neobrutalis.

import { Separator } from "@/components/ui/separator"

export function SeparatorDemo() {

Separator menggambar garis tipis horizontal atau vertikal di antara blok-blok konten. Dibangun di atas komponen Base UI Separator dan sengaja dibiarkan minimal: satu garis tunggal dengan warna border tema — goresan pejal yang sama dengan yang membingkai setiap rangka neobrutalis.

Cocok digunakan untuk:

  • Bagian menu dan toolbar — memisahkan kelompok aksi di dropdown, sidebar, dan bilah perintah.
  • Daftar bertumpuk — membagi baris di halaman pengaturan, umpan, dan panel notifikasi.
  • Metadata sebaris — garis vertikal di antara statistik seperti jumlah tayangan, bintang, dan tanggal pembaruan terakhir.

Instalasi

pnpm dlx shadcn@latest add https://neobrutalism.com/r/base/separator.json
npx shadcn@latest add https://neobrutalism.com/r/base/separator.json
yarn dlx shadcn@latest add https://neobrutalism.com/r/base/separator.json
bunx --bun shadcn@latest add https://neobrutalism.com/r/base/separator.json

Instal dependensi berikut:

pnpm add @base-ui/react
npm install @base-ui/react
yarn add @base-ui/react
bun add @base-ui/react

Salin dan tempel kode berikut ke dalam proyek Anda.

components/ui/separator.tsx
"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 }

Perbarui jalur impor agar sesuai dengan pengaturan proyek Anda.

Penggunaan

import { Separator } from "@/components/ui/separator"
<Separator />

Contoh

Vertikal

Gunakan orientation="vertical" untuk pemisah vertikal.

import { Separator } from "@/components/ui/separator"

export function SeparatorVertical() {

Pemisah vertikal antar item menu dengan deskripsi.

import { Separator } from "@/components/ui/separator"

export function SeparatorMenu() {

Daftar

Pemisah horizontal antar item daftar.

import { Separator } from "@/components/ui/separator"

export function SeparatorList() {

RTL

Untuk mengaktifkan dukungan RTL di Neobrutalism, lihat panduan konfigurasi RTL.

"use client"

import * as React from "react"

Aksesibilitas

Separator milik Base UI selalu merender role="separator" dengan aria-orientation yang mencerminkan prop orientation, sehingga pembaca layar mengumumkannya sebagai pembatas semantik. Untuk garis yang murni dekoratif — misalnya di antara statistik sebaris — tambahkan aria-hidden="true" (atau gunakan <div> bergaya biasa) agar teknologi bantu tidak mengumumkan pembatas yang tidak membawa makna. Perhatikan bahwa ini berbeda dari varian Radix, yang secara bawaan bersifat dekoratif (role="none").

Referensi API

Lihat dokumentasi Base UI Separator.