Learn how to build reusable button components that maintain consistency across your entire email design system and update globally when you make changes.
Why Turn Your Button into a Component?
Button components let you:
- Update button styles in one place and see changes across all templates
- Maintain brand consistency across your email program
- Create multiple button variants (colors, sizes, styles) within a single component
- Speed up email production by reusing pre-built buttons
Step 1: Create Your First Button
- Open the Email Love Figma Plugin in your design system file
- Create a new frame in Figma
- In the plugin, navigate to the Buttons section
- Select the default button option to generate a basic button
Understanding Button Structure:
- The outer frame is the button wrapper (you can add padding around it)
- The button itself is set to "hug" by default, meaning it scales based on text length
- Padding inside the button stays consistent regardless of text length
Step 2: Customize Your Button
- Remove the button from the Email Love frame so you have it as a standalone element
- Customize the styling:
- Corner radius: Adjust for rounded or square corners
- Fill color: Change the button background
- Padding: Increase or decrease width/height spacing
- Text properties: Update font, size, and color
- Give your button a descriptive name (e.g., "Purple Button")
Step 3: Convert to a Figma Component
- Select your customized button
- Click the Create Component icon in the toolbar (or use
Cmd/Ctrl + Option/Alt + K)
- Your button now appears with a purple diamond icon, indicating it's a component
Step 4: Create Button Variants
Variants let you maintain multiple button styles within one component:
- With your button component selected, click the diamond icon in the properties panel
- Click the + icon to add a variant
- Customize each variant:
- Red Button: Change fill to red
- White Button: Change fill to white, add colored stroke
- Black Button: Change fill to black, update text color to white
- Name each variant clearly in the properties panel
Pro Tip: You can create as many variants as needed for your brand (outlined buttons, different sizes, secondary styles, etc.)
Step 5: Add Buttons to Your Asset Library
Once your button component with variants is created:
- Open the Assets panel on the left sidebar
- Find your button component (it will show the number of variants in the corner)
- Click on the component to see all available variants
- Drag any variant into your design
Step 6: Apply to Your Design System
- Navigate to your email design system templates
- Locate existing buttons in your component library
- Drag your new button component into the button frame
- Verify structure: Make sure your button sits inside the correct frame
- Delete the old placeholder button
- Repeat for all templates and components in your design system
Important: You can nest Figma components inside each other. Your email templates can contain button components, and any changes to the parent button will cascade to all instances.
Step 7: Save in the Email Love Plugin
To make buttons easily accessible when building emails:
- Create a new frame in Figma
- Generate a button using the plugin
- Replace it with your custom button component
- Move your button into the frame
- Select the wrapper frame
- Click Add Custom Component in the Email Love plugin
- Your button now appears at the top of the plugin component list
Making Global Updates
The power of button components is in global updates:
- Navigate to your master button component
- Make any styling changes (color, padding, corner radius, etc.)
- All instances of that button across your design system update automatically
Example: If you change the button color from purple to gray in the master component, every template using that button will reflect the change immediately.
Best Practices
- Name variants clearly: Use descriptive names like "Primary Red," "Secondary White," "Outline Purple"
- Maintain consistent padding: Keep internal padding the same across variants for visual consistency
- Test responsiveness: Ensure buttons scale properly with different text lengths
- Document your variants: Keep a reference guide showing when to use each button style
- Regular audits: Periodically review your button usage across templates
Troubleshooting
Button isn't updating across templates:
- Verify you're editing the master component (purple diamond icon), not an instance
- Check that instances aren't detached from the component
Button won't scale with text:
- Ensure width and height are set to "hug contents"
- Verify auto layout is enabled on the button
Can't find button in Assets:
- Make sure the button is converted to a component
- Check that you're looking in the correct Figma file
Need Help?
- Join our Discord community for live support
- Email us at support@emaillove.com
