Skip to content
GitHub ↗

Buttons / React + CSS

Save button

A bookmark action that fills, settles, and confirms the new state.

Live preview

Keep something worth coming back to.

Make it yours

Use for a reversible save action. This local demo does not persist between visits. Add your own request handling and rollback behavior if a save can fail.

  1. Use a React project with CSS Modules support, such as Next.js or Vite.
  2. Save the JSX as SaveButton.jsx and the CSS as SaveButton.module.css in the same folder.
  3. Import SaveButton and connect its props to your application. Controlled components need parent state and change handlers.

No third-party component or animation package is required. Use the theme controls to adjust accent, corners, spacing, and type. Copy the Theme CSS into your stylesheet and wrap your components in <div className="tdp-components">. The theme applies to every component inside that wrapper. TDP defaults work without a theme file.

Props

PropTypeUse
defaultSavedbooleanInitial saved state.
onChangefunctionReceives the new state; connect persistence here.

Accessibility & behavior

The native button exposes aria-pressed and a live confirmation. Decorative particles are aria-hidden. Reduced-motion preferences disable the burst.

Visible focus styles and reduced-motion support are included. Check labels, contrast, keyboard behavior, and screen-reader output again after adapting the component to your product.

Keep building