Роздільник
Горизонтальна або вертикальна лінія, що розділяє меню, панелі інструментів та списки — намальована тим самим суцільним кольором облямівки, що й необруталістські рамки.
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.jsonnpx shadcn@latest add https://neobrutalism.com/r/base/separator.jsonyarn dlx shadcn@latest add https://neobrutalism.com/r/base/separator.jsonbunx --bun shadcn@latest add https://neobrutalism.com/r/base/separator.json
Встановіть такі залежності:
pnpm add @base-ui/reactnpm install @base-ui/reactyarn add @base-ui/reactbun add @base-ui/react
Скопіюйте та вставте наведений нижче код у свій проєкт.
"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.