Zum Inhalt springen

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.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

Installiere die folgenden Abhängigkeiten:

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

Kopiere den folgenden Code und füge ihn in dein Projekt ein.

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 }

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.