A subtle line between sections or inline items. It is horizontal by default and can run vertically within a row.
arctis/ui
A set of components you can customize, extend, and build on.
Blog
Docs
Source
tsx
import { Separator } from "@/components/ui/separator"export function Example() { return ( <div className="text-sm font-normal tracking-wide"> <div className="space-y-1"> <h4 className="text-foreground">arctis/ui</h4> <p className="text-muted-foreground"> A set of components you can customize, extend, and build on. </p> </div> <Separator className="my-4" /> <div className="flex h-5 items-center gap-4 text-foreground"> <div>Blog</div> <Separator orientation="vertical" /> <div>Docs</div> <Separator orientation="vertical" /> <div>Source</div> </div> </div> )}Installation
npx @arctis-sh/@arctis-sh/ui@latest add separatorUsage
import { Separator } from "@/components/ui/separator"<Separator />Basic
A title and description followed by links divided with vertical separators.
arctis/ui
A set of components you can customize, extend, and build on.
Blog
Docs
Source
tsx
import { Separator } from "@/components/ui/separator"export function Example() { return ( <div className="text-sm font-normal tracking-wide"> <div className="space-y-1"> <h4 className="text-foreground">arctis/ui</h4> <p className="text-muted-foreground"> A set of components you can customize, extend, and build on. </p> </div> <Separator className="my-4" /> <div className="flex h-5 items-center gap-4 text-foreground"> <div>Blog</div> <Separator orientation="vertical" /> <div>Docs</div> <Separator orientation="vertical" /> <div>Source</div> </div> </div> )}Vertical
Use orientation="vertical" between inline items. Vertical lines use self-stretch in a flex row.
Blog
Docs
Source
tsx
import { Separator } from "@/components/ui/separator"export function Example() { return ( <div className="flex h-5 items-center justify-center gap-4 text-sm font-normal tracking-wide text-foreground"> <div>Blog</div> <Separator orientation="vertical" /> <div>Docs</div> <Separator orientation="vertical" /> <div>Source</div> </div> )}Menu
Vertical separators between menu items, each with a title and short description.
Settings
Preferences
Account
Profile & security
Help
Support & docs
tsx
import { Separator } from "@/components/ui/separator"export function Example() { return ( <div className="flex items-stretch gap-4 text-sm font-normal tracking-wide"> <div className="grid gap-0.5"> <div className="text-foreground">Settings</div> <div className="text-muted-foreground">Preferences</div> </div> <Separator orientation="vertical" /> <div className="grid gap-0.5"> <div className="text-foreground">Account</div> <div className="text-muted-foreground">Profile & security</div> </div> <Separator orientation="vertical" /> <div className="grid gap-0.5"> <div className="text-foreground">Help</div> <div className="text-muted-foreground">Support & docs</div> </div> </div> )}List
Horizontal separators between stacked rows.
Item 1Value 1
Item 2Value 2
Item 3Value 3
tsx
import { Separator } from "@/components/ui/separator"const items = [ { label: "Item 1", value: "Value 1" }, { label: "Item 2", value: "Value 2" }, { label: "Item 3", value: "Value 3" },]export function Example() { return ( <div className="text-sm font-normal tracking-wide"> {items.map((item, index) => ( <div key={item.label}> {index > 0 ? <Separator /> : null} <div className="flex items-center justify-between py-2"> <span className="text-foreground">{item.label}</span> <span className="text-muted-foreground">{item.value}</span> </div> </div> ))} </div> )}API Reference
Separator
When decorative is true (the default), assistive technology ignores the line. Set decorative={false} to render a semantic role="separator".
| Prop | Type | Default |
|---|---|---|
| orientation | "horizontal" | "vertical" | "horizontal" |
| decorative | boolean | true |
| className | string | — |
<Separator />