Interactive testing environment for react-shared components
Current: Default
Product button component with multiple layout variants, pricing, reviews, and stock information
Customize the component properties and see the changes in real-time
Different layout styles for the button component
titlestring - Product title (default: "Button")
imagestring - Product image URL (optional)
priceobject - Price information with amount, sale_amount, and sale_amount_available properties
currencystring - Currency code (e.g., "USD")
reviewsArray<{ rating: number }> - Product reviews (optional)
productTypestring - Product type (e.g., "course")
showDiscountboolean - Show discount badge (default: false)
quantitynumber - Available quantity (optional)
layout"default" | "bleed" | "padding-vertical" | "brim" | "ode" | "nova" | "crest" | "rung" | "glint" - Layout variant
onClick() => void - Click handler (optional)
classNamestring - Additional CSS classes (optional)
The component supports 9 different layout variants, each optimized for different theme styles. The layout can be controlled via the layout prop or automatically determined by the theme.
Prices are only displayed for lead-generating product types (courses, digital downloads, etc.). The component automatically handles sale pricing and discount badges.
When a quantity is provided, the component displays stock information. If quantity is 0, it shows "Sold Out". Otherwise, it shows the number of items left.
The component includes a loading spinner that appears while the product image is loading, providing better user experience.