E-Commerce
Wishlist/Save Button
Heart toggle with a pop animation on save, in an icon-only or labelled-pill variant.
$ velocityx add wishlist-button
Built for react.
Needs react, react-dom already installed
as peer dependencies.
An Astro-only project needs @astrojs/react wired up first — this won't run on its own in plain Astro.
Full docs for Wishlist/Save Button →
Needs a licence key —
subscribe here, then
velocityx loginonce.
Props
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| active | boolean | No | false | controlled saved state |
| onToggle | (next: boolean) => Promise<void> | void | Yes | ||
| variant | 'icon' | 'labelled' | No | 'icon' | |
| savedLabel | string | No | 'Saved' | |
| defaultLabel | string | No | 'Save' |
File this creates
The CLI writes this path into your project, relative to its root — nothing else moves.
components/velocity/wishlist-button/WishlistButton.jsx Using the Wishlist/Save Button component
Install it with velocityx add wishlist-button.
The CLI writes the source straight into your project — no runtime dependency, no registry
lock-in, and it themes itself from the same primary-*/accent-* scale as the rest of the library.
Related components
More from E-Commerce.
Primary CTA with loading, success checkmark and error states around an async add-to-cart handler.
reactRight-docked cart drawer on desktop and a three-snap-point bottom sheet on mobile, with no backdrop-blur scrim, focus trap and Escape to close.
reactSingle cart row with thumbnail, variant text, quantity stepper, line total and a fade-out remove action.
reactTwo-column shipping and payment form with native HTML5 validation and a submit button with a loading state.
react