gglc-ui

Separator

Garis rambut 1px — satu-satunya bobot garis dalam sistem ini. Horizontal atau vertikal.

Instalasi

npx shadcn@latest add @glc/separator

Penggunaan

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

<Separator />
<Separator orientation="vertical" />

Buku Besar

Jurnal, neraca, dan laba rugi.

Jurnal
Neraca
Laba rugi

Vertikal butuh tinggi

Separator vertikal memakai h-full, jadi induknya harus punya tinggi yang pasti. Contoh di atas memakai flex h-5 items-center; tanpa itu, garisnya tidak terlihat sama sekali.

Dekoratif vs semantik

Bawaannya dekoratif — tersembunyi dari teknologi bantu.

Periode berjalan

Agustus 2026

Periode terkunci

Juli 2026

Biarkan decorative pada nilai bawaannya untuk garis yang cuma memisahkan secara visual. Setel ke false kalau garis itu benar-benar membatasi dua bagian yang berbeda maknanya — Radix akan memberinya role="separator" sehingga pembaca layar mengumumkan batas tersebut.

Props

Meneruskan seluruh props Radix Separator Root.
PropTipeDefaultKeterangan
orientation"horizontal" | "vertical""horizontal"Arah garis. Vertikal mengambil tinggi penuh dari induknya.
decorativebooleantrueSaat true, disembunyikan dari teknologi bantu. Setel false untuk batas yang bermakna.
classNamestringDigabung terakhir lewat cn(), jadi bisa menimpa kelas bawaan.

Kode sumber

import * as React from "react"
import * as SeparatorPrimitive from "@radix-ui/react-separator"

import { cn } from "@/registry/glc/lib/utils"

/** 1px hairline divider — the file's only rule weight. */
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-[var(--divider-default)]",
        "data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full",
        "data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
        className
      )}
      {...props}
    />
  )
}

export { Separator }