UI.MD

Kebab

A compact icon-only "more actions" trigger. Pair it with a menu; the orientation prop toggles the vertical (⋮) or horizontal (⋯) overflow glyph.

Installation

$
npx shadcn@latest add https://ui.mattdowney.com/r/kebab.json

Usage

import { Kebab } from "@/components/ui/kebab"

Examples

Default

The vertical (⋮) kebab, wired to a DropdownMenu via render. This is the conventional row and list "more actions" affordance.

Orientation

Pass orientation="horizontal" for the ⋯ meatball, better suited to dense horizontal toolbars.

vertical (default)
horizontal

API Reference

PropTypeDefaultDescription
orientation"vertical" | "horizontal""vertical"Dot axis of the overflow glyph: vertical renders ⋮, horizontal renders ⋯.
variant"default" | "soft" | "outline" | "ghost" | "text" | "destructive" | "subtle" | "ghost-destructive" | "link""ghost"Button variant. Defaults to ghost so the trigger stays quiet until hovered.
size"default" | "xs" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | "inline""icon"Button size preset. Defaults to icon (32px square) to match the default button height.
iconSize"xs" | "sm" | "default" | "lg" | "xl""lg"Size of the overflow glyph. Defaults to lg (20px) so the dots fill the button; drop to sm for a subtler affordance.
...propsButtonProps-Every other Button prop (aria-label, disabled, onClick, asChild, className, ...) is forwarded. aria-label defaults to "More actions".