Navigation

Separator

Accessible hairline dividers — horizontal, vertical, or with a centered label.

Live example

Import

Each family is its own entry point, so a page loads only what it uses.

tsx
import { IconButton } from "@nibapp/ui/components/button";import { Separator } from "@nibapp/ui/components/separator";

Props

Each component's own props and variants, read from its source. What it also takes from an element or a Base UI part is named below its table.

IconButton

Square, icon-only button. Pair with <Tooltip> to surface the label visually (a `disabledReason` brings its own).

PropTypeDefaultDescription
size"xs" | "sm" | "md" | "lg""md"
aria-label (required)string—

Required: icon-only controls must be named for assistive tech.

children (required)ReactNode—
loadingbooleanfalse
disabledReasonstring | undefined—

Disables the button and says why, as Button's `disabledReason`.

Also takes the props of Base UI's Button, except aria-label and children.

Separator

A hairline divider. With `label`, two lines flank centered text.

PropTypeDefaultDescription
labelReactNode—

Centered text (e.g. "Today", "or"). Horizontal only.

strongbooleanfalse

Stronger line for section breaks.

Also takes the props of Base UI's Separator, except children.