Trennlinie
Eine horizontale oder vertikale Linie, die Menüs, Symbolleisten und Listen voneinander trennt – in derselben durchgehenden Rahmenfarbe wie die neobrutalistischen Rahmen.
import { Separator } from "@/components/ui/separator"
export function SeparatorDemo() {Der Separator zieht eine dünne horizontale oder vertikale Linie zwischen Inhaltsblöcken. Er basiert auf der Base UI Separator-Komponente und bleibt bewusst minimal: eine einzelne Linie in der border-Farbe des Themes – derselbe durchgezogene Strich, der jeden neobrutalistischen Rahmen umgibt.
Typische Anwendungsfälle:
- Menü- und Toolbar-Abschnitte – Aktionsgruppen in Dropdowns, Sidebars und Befehlsleisten trennen.
- Gestapelte Listen – Zeilen in Einstellungsseiten, Feeds und Benachrichtigungspanels unterteilen.
- Inline-Metadaten – vertikale Linien zwischen Werten wie Aufrufen, Sternen und dem Datum der letzten Aktualisierung.
Installation#
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
Installiere die folgenden Abhängigkeiten:
pnpm add @base-ui/reactnpm install @base-ui/reactyarn add @base-ui/reactbun add @base-ui/react
Kopiere den folgenden Code und füge ihn in dein Projekt ein.
"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 }
Passe die Importpfade an dein Projekt-Setup an.
Verwendung#
import { Separator } from "@/components/ui/separator"<Separator />Beispiele#
Vertikal#
Verwende orientation="vertical" für einen vertikalen Trenner.
import { Separator } from "@/components/ui/separator"
export function SeparatorVertical() {Menü#
Vertikale Trenner zwischen Menüeinträgen mit Beschreibungen.
import { Separator } from "@/components/ui/separator"
export function SeparatorMenu() {Liste#
Horizontale Trenner zwischen Listenelementen.
import { Separator } from "@/components/ui/separator"
export function SeparatorList() {RTL#
Um RTL-Unterstützung in Neobrutalism zu aktivieren, sieh dir die RTL-Konfigurationsanleitung an.
"use client"
import * as React from "react"Barrierefreiheit#
Der Separator von Base UI rendert immer role="separator", wobei aria-orientation die orientation-Prop widerspiegelt – Screenreader kündigen ihn also als semantischen Trenner an. Für rein dekorative Linien – etwa zwischen Inline-Werten – ergänze aria-hidden="true" (oder verwende ein schlicht gestyltes <div>), damit assistive Technologien keine Trenner vorlesen, die keine Bedeutung tragen. Beachte, dass sich das von der Radix-Variante unterscheidet, die standardmäßig dekorativ ist (role="none").
API-Referenz#
Sieh dir die Dokumentation von Base UI Separator an.