Перейти до вмісту

Роздільник

Горизонтальна або вертикальна лінія, що розділяє меню, панелі інструментів та списки — намальована тим самим суцільним кольором облямівки, що й необруталістські рамки.

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

export function SeparatorDemo() {

Separator малює тонку горизонтальну або вертикальну лінію між блоками контенту. Побудований на компоненті Base UI Separator і навмисно мінімальний: одна лінія в кольорі border теми — той самий суцільний штрих, що обводить кожну необруталістську рамку.

Коли це стане в пригоді:

  • Секції меню та панелей — розділяти групи дій у dropdown, бічних панелях і command bar.
  • Складені списки — ділити рядки на сторінках налаштувань, у стрічках і панелях сповіщень.
  • Вбудовані метадані — вертикальні лінії між статистикою (перегляди, зірки, дата оновлення).

Встановлення

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

Встановіть такі залежності:

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

Скопіюйте та вставте наведений нижче код у свій проєкт.

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 }

Оновіть шляхи імпорту відповідно до налаштувань вашого проєкту.

Використання

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

Приклади

Вертикальний

Використовуйте orientation="vertical" для вертикального роздільника.

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

export function SeparatorVertical() {

Меню

Вертикальні роздільники між пунктами меню з описами.

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

export function SeparatorMenu() {

Список

Горизонтальні роздільники між елементами списку.

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

export function SeparatorList() {

RTL

Щоб увімкнути підтримку RTL у Neobrutalism, перегляньте посібник з налаштування RTL.

"use client"

import * as React from "react"

Доступність

Separator Base UI завжди рендерить role="separator" з aria-orientation за пропом orientation, тож програми зчитування з екрана оголошують його як семантичний роздільник. Для суто декоративних ліній — наприклад, між inline-статистикою — додайте aria-hidden="true" (або звичайний стилізований <div>), щоб допоміжні технології не оголошували роздільники без змісту. Це відрізняється від варіанта Radix, який за замовчуванням декоративний (role="none").

Довідник API

Перегляньте документацію Base UI Separator.