Redpanda UIRedpanda UI

Separator

Visually or semantically separates content.

Made by shadcn

Installation

Loading component...

When to use

Separators provide visual or semantic content separation. Use this decision tree:

Usage

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

Variants

The Separator supports three visual weight variants via the variant prop, mapping to theme border tokens:

VariantTokenDescription
defaultbg-divider-defaultStandard divider weight (default)
subtlebg-divider-subtleLighter weight for de-emphasized separation
strongbg-divider-strongHeavier weight for emphasized separation
<Separator variant="subtle" />
<Separator variant="default" />
<Separator variant="strong" />

Parent-hover pattern

Use Tailwind's group utility to change separator weight on hover:

<div className="group/row">
  <Separator className="group-hover/row:bg-border-strong" />
</div>

Anatomy

The Separator component provides visual content division:

Separator
├── Base UI Separator primitive
├── Orientation: horizontal (default) | vertical
├── Variant: default | subtle | strong
├── ARIA role: separator
├── Visual styling: border token-based line
└── Semantic meaning for screen readers

Props

PropTypeDefaultDescription
variant"default" | "subtle" | "strong""default"Visual weight of the separator
orientation"horizontal" | "vertical""horizontal"Direction of the separator
decorativebooleantrueWhether the separator is purely visual
classNamestringAdditional CSS classes

Accessibility

  • Renders as role="separator" with aria-orientation="horizontal" | "vertical".
  • Base UI note: the Radix decorative prop is accepted for API parity but ignored — role="separator" is always applied. If you truly need a decorative divider that screen readers skip, use a plain <div aria-hidden="true"> with your own styling. See MIGRATION.md.
  • Separators have no keyboard interactions.

Credits

  • We use Base UI for the separator component.
  • We take our inspiration from Shadcn UI for the separator style.

Recent changes

  • patchv1.2.0Pin shipped dependency floors to the version we develop against. Registry items now declare ranges like `^5.1.9` (the actual installed version) instead of collapsing to `^5.0.0`, so consumers start on the known-tested b…#133
  • minorv1.1.0Theme docs refresh, readability pass on semantic foregrounds, and consumer-facing Base UI regression fixes.#121
  • minorv1.0.0Post-Base-UI polish. Public API unchanged.#116
  • majorv1.0.0Migrate every Radix-based primitive to `@base-ui/react@^1.4.0` (Base UI).#114
  • minorv0.3.0Add theme-provider component to the registry with documentation and tests. Includes playground type improvements (export RegistryItem, remove as-const boilerplate) and docs site dark mode border color fix.#109
See full history →
Built by malinskibeniamin. The source code is available on GitHub.

On this page