Components
A two-state toggle button built on Base UI's Toggle primitive. Ships default and outline variants, three sizes (sm, default, lg), controlled or uncontrolled pressed state via pressed / defaultPressed, disabled styling, and springy pressed feedback. Works as a single button or grouped into a formatting toolbar. Re-exports TogglePrimitive for advanced composition.
npx @21st-dev/cli add cnippet.dev/cnippet-toggleLoading preview...
"use client";
import { HeartIcon } from "lucide-react";
import { useState } from "react";
import { Toggle } from "@/components/ui/cnippet-toggle";
export default function ToggleFavorite() {
const [pressed, setPressed] = useState(false);
return (
<div className="flex items-center justify-center">
<Toggle
aria-label="Toggle favorite"
onPressedChange={setPressed}
pressed={pressed}
>
{pressed ? <HeartIcon className="fill-current" /> : <HeartIcon />}
</Toggle>
</div>
);
}
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...