More flexible Figma Components: Slotting

Slotting in Figma is a practical technique that simplifies working with complex designs by equipping components with flexible “slots”. These slots are essentially predefined spaces within a component where other components or elements can be inserted. This is particularly useful for creating customizable and reusable UI elements such as buttons, cards, and navigation menus.

A screenshot showing the “swap instance” action in Figma that is at the core of the slotting technique

The reason for using slotting is that it enables designers to quickly generate design variants without the need to manually adjust each element. It promotes consistency in the design while offering flexibility for adjustments.

To apply slotting in Figma, follow these steps:

  1. Establish a Base Component: Begin by designing a base component that serves as your main template, like a button or card.
  2. Define Slots: Within this base component, identify specific areas for other components that you might want to add or adjust later. Use rectangles or frames as placeholders. It’s crucial that these placeholders are set up as components themselves because you’ll be expected to replace the slot – or placeholder – with another component that represents the actual content later on. In Figma, it’s not possible to add extra child components to an instance of a component, so it’s important to define enough slots in a base component so that you can accommodate all the content you want in each instance.
  3. Develop Component Variants: Create separate components intended to be placed in the defined slots or placeholders. This step is essential for preparing the variable elements you want to be able to swap within your base component.
  4. Use ‘Swap Instance’: Utilize Figma’s “Swap Instance” functionality to easily replace a component within an instance. This facilitates seamless integration of new elements within the structure of your base component, maximizing the flexibility and adaptability of your design.

You can watch the following video -by Figma- on YouTube to see this technique in action: