Segmented Control

iOS-style single-choice switcher with a white thumb that springs between segments; supports icons, counts and full width.

About Segmented Control

iOS-style single-choice switcher with a white thumb that springs between segments; supports icons, counts and full width.

Segmented Control is a free primitive component for React, built on shadcn/ui and Tailwind CSS with motion animations that respect reduced-motion settings. It ships as 99 lines of TypeScript you own: every piece of copy is a prop with a sensible default, so you can drop it in and replace the content without touching the layout.

  • segmented control
  • tabs
  • switcher
  • toggle
  • filter

Installation

  1. Add the Chocolate UI registry to your components.json (see the installation guide).
  2. Run the shadcn CLI:
npx shadcn@latest add @chocolate/segmented-control

Dependencies installed automatically: motion, radix-ui.

Uses: motion-presets, utils.

Usage

import SegmentedControl from "@/components/ui/segmented-control"

export default function Page() {
  return <SegmentedControl />
}

FAQ