Separador
Uma linha horizontal ou vertical que divide menus, barras de ferramentas e listas — desenhada na mesma cor sólida das bordas dos quadros neobrutalistas.
import { Separator } from "@/components/ui/separator"
export function SeparatorDemo() {O separator desenha uma linha fina, horizontal ou vertical, entre blocos de conteúdo. Construído sobre o componente Base UI Separator e mantido deliberadamente minimalista: uma única linha na cor border do tema — o mesmo traço sólido que contorna todo quadro neobrutalista.
Quando usar:
- Seções de menu e de toolbar — separe grupos de ações em dropdowns, sidebars e barras de comando.
- Listas empilhadas — divida linhas em páginas de configurações, feeds e painéis de notificação.
- Metadados inline — linhas verticais entre estatísticas como visualizações, estrelas e data da última atualização.
Instalação#
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
Instale as seguintes dependências:
pnpm add @base-ui/reactnpm install @base-ui/reactyarn add @base-ui/reactbun add @base-ui/react
Copie e cole o código a seguir no seu projeto.
"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 }
Atualize os caminhos de importação conforme a configuração do seu projeto.
Uso#
import { Separator } from "@/components/ui/separator"<Separator />Exemplos#
Vertical#
Use orientation="vertical" para um separador vertical.
import { Separator } from "@/components/ui/separator"
export function SeparatorVertical() {Menu#
Separadores verticais entre itens de menu com descrições.
import { Separator } from "@/components/ui/separator"
export function SeparatorMenu() {Lista#
Separadores horizontais entre itens de uma lista.
import { Separator } from "@/components/ui/separator"
export function SeparatorList() {RTL#
Para ativar o suporte a RTL no Neobrutalism, consulte o guia de configuração de RTL.
"use client"
import * as React from "react"Acessibilidade#
O Separator do Base UI sempre renderiza role="separator", com aria-orientation refletindo a prop orientation, então leitores de tela o anunciam como um divisor semântico. Para linhas puramente decorativas — entre estatísticas inline, por exemplo — adicione aria-hidden="true" (ou use uma <div> estilizada comum) para que a tecnologia assistiva não anuncie divisores que não carregam significado. Note que isso difere da variante Radix, que é decorativa (role="none") por padrão.
Referência da API#
Consulte a documentação Base UI Separator.