Captions
Markup where the component goes, CSS in your stylesheet. No JavaScript.
Paste into Claude, ChatGPT or Cursor after filling in {{USER_STACK}}, {{USER_STYLING}} and {{USER_CONSTRAINTS}}. Neutral keeps the greys you see here; Match my project asks the model to map them onto your own colour tokens.
Install with shadcn
Needs a free account token. Get a token
npx shadcn@latest add @movin/checkbox-captionsAbout this component
A captions setting beside a tiny playing video: ticking lights the CC badge and a caption bar rises over the picture, its words appearing one after another. Clearing takes the captions away.
- Dependencies
- None
- Difficulty
- Beginner
- Reduced motion
- Respected
- Theme
- Light and dark
- Follows page color-scheme
Triggers4
- Click
- State change
- Delay stagger
- Continuous
Techniques3
- CSS transition
- Transition delay stagger
- Keyframes
Accessibility
Keyboard and screen readers
A native checkbox inside a <label>, so Space toggles it and the visible label names it; :focus-visible on the input outlines the video.
Reduced motion
The progress bar stops and the captions appear at once.
Use it in anything you build, commercial and client work included. Licence