saturation/uisaturation/ui
DocsComponentsBlocksPagesEmails
GitHub

Sections

IntroductionComponentsInstallationMCPThemingDesignComposing a Detail Panel

Components

Components

General

AvatarBadgeButtonKbdProgressSeparatorSkeletonSpin ResolveSpinnerSplit ButtonSync ButtonTypography

Forms & Inputs

Address LookupCalendar PickerCheckboxColor PickerComboboxDate PickerEmoji PickerFavicon SearchFieldInputInput GroupInput OTPRadio GroupSelectSliderSwitchTextareaToggleToggle Group

Data Display

AccordionAlertCardChartComparison SliderCredit CardData TableEmptyItemMarkdownSaturation Credit CardStatus BadgeTableTree

Detail Panels

Detail FieldDetail HeroDetail Toolbar

Navigation

BreadcrumbCommandMenubarNavigation MenuPaginationTabs

Overlays

CollapsibleContext MenuDialogDropdown MenuHover CardSheet

Layout

Button GroupFont ProviderWizard Split Layout

Feedback

Sonner

Animation & Effects

Animated GroupAnimated ListAnimated NumberBeamBlur FadeBorder TrailGlow EffectLiquid MetalLoading StateParallaxPixelProgressive BlurRippleSpotlightText EffectText Shimmer

Productivity

Agent ChatAI Chat InputCoding AgentFiltersFull CalendarKanbanNovel Editor
Docs/Components/Split Button

Split Button

A button with a primary action and an attached dropdown for secondary actions.

Loading...

Installation

pnpm dlx shadcn@latest add @saturation-ui/split-button

Tailwind v4 — Source Scanning

The public shadcn registry installs component source into your project. If Tailwind v4 isn't scanning your components directory, add this to your CSS entry file:

@source "../components";

This ensures all utility classes in CVA variants and data attribute selectors are included in your build.

Usage

import { SplitButton } from "@/components/ui/split-button"
<SplitButton onClick={addLine} dropdownContent={<DropdownMenuItem>New phase</DropdownMenuItem>}>
  Add line
</SplitButton>

API Reference

PropTypeDefaultDescription
variant"default" | "secondary" | "outline" | "destructive""default"Visual variant applied to both segments.
size"default" | "sm" | "xs" | "lg""default"Height and padding scale.
onClick() => void—Handler for the primary (left) action.
dropdownContentReact.ReactNode—DropdownMenu items rendered when the chevron segment is opened.
dropdownAlign"start" | "center" | "end""end"Dropdown alignment relative to the trigger.
iconReact.ReactNode—Optional leading icon for the primary action.
shortcutstring—Keyboard shortcut chip rendered after the label.
stretchboolean—Stretch the primary segment to fill available width; the chevron stays fixed.
colorstring—Custom background color overriding the variant (hover handled consistently).
disabledboolean—Disables both segments.
PreviousSpinnerNextSpotlight

On This Page

  • Installation
  • Usage
  • API Reference