Help Center
How can we help? πŸ‘‹

Create a scalable set of Button components for your Email Design System

Β 

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

  1. Open the Email Love Figma Plugin in your design system file
  1. Create a new frame in Figma
  1. In the plugin, navigate to the Buttons section
  1. 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

  1. Remove the button from the Email Love frame so you have it as a standalone element
  1. 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
  1. Give your button a descriptive name (e.g., "Purple Button")

Step 3: Convert to a Figma Component

  1. Select your customized button
  1. Click the Create Component icon in the toolbar (or use Cmd/Ctrl + Option/Alt + K)
  1. 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:

  1. With your button component selected, click the diamond icon in the properties panel
  1. Click the + icon to add a variant
  1. 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
  1. 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:

  1. Open the Assets panel on the left sidebar
  1. Find your button component (it will show the number of variants in the corner)
  1. Click on the component to see all available variants
  1. Drag any variant into your design

Step 6: Apply to Your Design System

  1. Navigate to your email design system templates
  1. Locate existing buttons in your component library
  1. Drag your new button component into the button frame
  1. Verify structure: Make sure your button sits inside the correct frame
  1. Delete the old placeholder button
  1. 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:

  1. Create a new frame in Figma
  1. Generate a button using the plugin
  1. Replace it with your custom button component
  1. Move your button into the frame
  1. Select the wrapper frame
  1. Click Add Custom Component in the Email Love plugin
  1. Your button now appears at the top of the plugin component list

Making Global Updates

The power of button components is in global updates:

  1. Navigate to your master button component
  1. Make any styling changes (color, padding, corner radius, etc.)
  1. 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?

Β 
Β 
Did this answer your question?
😞
😐
🀩