For the complete documentation index, see llms.txt. Markdown variants are available by appending .md to any URL or sending an Accept: text/markdown header. An agent skill is available at /.well-known/agent-skills/site-skill.md.
/
144
Sponsor

Radio

A radio whose checked/unchecked state is a pure function of the timeline.

Customize

Installation

$ pnpm dlx shadcn@latest add @framecn/radio

Usage

import { Radio } from "@/components/ui/radio";
<Radio label="Subscribe to updates" state="checked" />

Smooth transitions

The docs preview animates checked → unchecked via useRadioTransition. Forward primary into the hook when using style so the fill tracks the color prop:

import { Radio } from "@/components/framecn/radio";
import { useRadioTransition } from "@/components/framecn/use-radio-transition";
 
const style = useRadioTransition(
  [
    { at: 18, state: "checked", duration: 14 },
    { at: 78, state: "unchecked", duration: 12 },
  ],
  { primary: "#171717" }
);
 
<Radio label="Subscribe to updates" style={style} />;

style takes precedence over state when both are provided.

API Reference

Radio

PropTypeDefault
state"unchecked" | "checked""unchecked"
styleRadioStyle- (takes precedence over state)
labelstring-
size"sm" | "default" | "lg""default"
themePartial<FramecnTheme>-
primarystring-
classNamestring-