sigilUI

Split Button

Pair a primary action with a menu of related actions.

@sigil-ui/componentsReact

Preview

Live preview Interactive

Import

import { SplitButton } from "@sigil-ui/components";

Usage

"use client";

import { useState } from "react";
import { SplitButton } from "@sigil-ui/components";

function SplitButtonPreview() {
  const [message, setMessage] = useState("Choose an action.");
  return <div className="grid gap-[var(--s-space-16)] w-full">
    <div><SplitButton onClick={() => setMessage("Project saved.")} onDropdownClick={() => setMessage("Save a copy selected.")} dropdownLabel="Save a copy">Save project</SplitButton></div>
    <p role="status" className="text-[var(--s-text-muted)] text-[length:var(--s-size-sm)]">{message}</p>
  </div>;
}

Props

PropTypeDefaultDescription
children (required)ReactNode—Content rendered inside the component.
iconReactNode—Icon configuration.
onDropdownClick() => void—On Dropdown Click configuration.
dropdownLabelstring—Dropdown Label configuration.

Token integration

CSS VariablePurpose
--s-radius-mdRadius md
--s-border-styleBorder style
--s-borderBorder
--s-surfaceSurface
--s-textText
--s-duration-fastDuration fast
--s-surface-elevatedSurface elevated
--s-primaryPrimary
--s-text-mutedText muted