Add-on
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-add-onAbout this component
An add-on row in an order summary: ticking gift wrap sends a +4 down to the total, which rolls from $48 to $52 like an odometer, the ones wheel carrying the tens as it passes zero. Clearing rolls it back.
- Dependencies
- None
- Difficulty
- Intermediate
- Reduced motion
- Respected
- Theme
- Light and dark
- Follows page color-scheme
Triggers2
- Click
- State change
Techniques3
- CSS transition
- Keyframes
- Transform only
Accessibility
Keyboard and screen readers
A native checkbox inside a <label>, so Space toggles it and the label ("Gift wrap +$4") names it; :focus-visible on the input outlines the box. The rolling total is decoration here, so a real order summary should also announce the new total.
Reduced motion
The total changes at once.
Use it in anything you build, commercial and client work included. Licence