---
type: doc
title: Separator
description: Visually or semantically separates content.
---

> Fulldev UI for Astro. The `@fulldev` registry in `components.json` points at `https://ui.full.dev/r/styles/{style}/{name}.json`; see [installation](/astro/docs/installation.md).

```astro title="src/components/examples/separator/separator-demo.astro"
---
import { Separator } from "@/components/ui/separator"
---

<div class="flex max-w-sm flex-col gap-4 text-sm">
  <div class="flex flex-col gap-1.5">
    <div class="leading-none font-medium">shadcn/ui</div>
    <div class="text-muted-foreground">
      The Foundation for your Design System
    </div>
  </div>
  <Separator />
  <div>
    A set of beautifully designed components that you can customize, extend, and
    build on.
  </div>
</div>
```

## Installation

```bash
npx shadcn@latest add @fulldev/separator
```

## Usage

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

```astro
<Separator />
```

`Separator` is decorative by default (`role="none"`). Pass
`decorative={false}` when it conveys structure to assistive technology; it then
renders `role="separator"` with `aria-orientation`.

## Vertical

Use `orientation="vertical"` for a vertical separator. It stretches to the
height of a flex row.

```astro title="src/components/examples/separator/separator-vertical.astro"
---
import { Separator } from "@/components/ui/separator"
---

<div class="flex h-5 items-center gap-4 text-sm">
  <div>Blog</div>
  <Separator orientation="vertical" />
  <div>Docs</div>
  <Separator orientation="vertical" />
  <div>Source</div>
</div>
```

## Menu

Vertical separators between menu items with descriptions.

```astro title="src/components/examples/separator/separator-menu.astro"
---
import { Separator } from "@/components/ui/separator"
---

<div class="flex items-center gap-2 text-sm md:gap-4">
  <div class="flex flex-col gap-1">
    <span class="font-medium">Settings</span>
    <span class="text-xs text-muted-foreground">Manage preferences</span>
  </div>
  <Separator orientation="vertical" />
  <div class="flex flex-col gap-1">
    <span class="font-medium">Account</span>
    <span class="text-xs text-muted-foreground">Profile & security</span>
  </div>
  <Separator orientation="vertical" class="hidden md:block" />
  <div class="hidden flex-col gap-1 md:flex">
    <span class="font-medium">Help</span>
    <span class="text-xs text-muted-foreground">Support & docs</span>
  </div>
</div>
```

## List

Horizontal separators between list items.

```astro title="src/components/examples/separator/separator-list.astro"
---
import { Separator } from "@/components/ui/separator"
---

<div class="flex w-full max-w-sm flex-col gap-2 text-sm">
  <dl class="flex items-center justify-between">
    <dt>Item 1</dt>
    <dd class="text-muted-foreground">Value 1</dd>
  </dl>
  <Separator />
  <dl class="flex items-center justify-between">
    <dt>Item 2</dt>
    <dd class="text-muted-foreground">Value 2</dd>
  </dl>
  <Separator />
  <dl class="flex items-center justify-between">
    <dt>Item 3</dt>
    <dd class="text-muted-foreground">Value 3</dd>
  </dl>
</div>
```

## RTL

```astro title="src/components/examples/separator/separator-rtl.astro"
---
import { Separator } from "@/components/ui/separator"

const translations = {
  en: {
    dir: "ltr",
    values: {
      title: "shadcn/ui",
      subtitle: "The Foundation for your Design System",
      description:
        "A set of beautifully designed components that you can customize, extend, and build on.",
    },
  },
  ar: {
    dir: "rtl",
    values: {
      title: "shadcn/ui",
      subtitle: "الأساس لنظام التصميم الخاص بك",
      description:
        "مجموعة من المكونات المصممة بشكل جميل يمكنك تخصيصها وتوسيعها والبناء عليها.",
    },
  },
  he: {
    dir: "rtl",
    values: {
      title: "shadcn/ui",
      subtitle: "הבסיס למערכת העיצוב שלך",
      description:
        "סט של רכיבים מעוצבים בצורה יפה שאתה יכול להתאים אישית, להרחיב ולבנות עליהם.",
    },
  },
}

const { dir, values: t } = translations.ar
---

<div class="flex max-w-sm flex-col gap-4 text-sm" dir={dir}>
  <div class="flex flex-col gap-1.5">
    <div class="leading-none font-medium">{t.title}</div>
    <div class="text-muted-foreground">{t.subtitle}</div>
  </div>
  <Separator />
  <div>{t.description}</div>
</div>
```

## API Reference

Source: [`src/components/ui/separator`](https://github.com/fulldotdev/ui/tree/main/src/components/ui/separator)

| Prop          | Type                         | Default        |
| ------------- | ---------------------------- | -------------- |
| `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` |
| `decorative`  | `boolean`                    | `true`         |

`Separator` writes `data-orientation` and a `data-horizontal` or
`data-vertical` attribute for styling.

## Install what this page shows

```bash
npx shadcn@latest add @fulldev/separator-examples
```
