Bird
Raised Fist0
Figmabi_tool~10 mins

Slots pattern for flexible components in Figma - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a slot in a Figma component.

Figma
<Component>
  <[1] name="header" />
</Component>
Drag options to blanks, or click blank then click option'
ASlot
BFrame
CGroup
DText
Attempts:
3 left
💡 Hint
Common Mistakes
Using Frame instead of Slot for flexible placeholders.
Confusing Group with Slot.
2fill in blank
medium

Complete the code to insert content into a named slot in a Figma component instance.

Figma
<ComponentInstance>
  <[1] slot="header">
    <Text>Welcome</Text>
  </[1]>
</ComponentInstance>
Drag options to blanks, or click blank then click option'
AFragment
BFrame
CGroup
DSlot
Attempts:
3 left
💡 Hint
Common Mistakes
Using Frame or Group instead of Slot to fill slot content.
Omitting the slot attribute.
3fill in blank
hard

Fix the error in the slot usage by completing the code correctly.

Figma
<Component>
  <Slot name=[1] />
</Component>
Drag options to blanks, or click blank then click option'
A{header}
Bheader
C"header"
D'header'
Attempts:
3 left
💡 Hint
Common Mistakes
Using unquoted slot names causing syntax errors.
Using single quotes instead of double quotes in JSX.
4fill in blank
hard

Fill both blanks to create a component with two named slots.

Figma
<Component>
  <[1] name=[2] />
  <Slot name="footer" />
</Component>
Drag options to blanks, or click blank then click option'
ASlot
B"header"
DFrame
Attempts:
3 left
💡 Hint
Common Mistakes
Using Frame instead of Slot for slot definition.
Not quoting the slot name.
5fill in blank
hard

Fill all three blanks to insert content into multiple slots in a component instance.

Figma
<ComponentInstance>
  <[1] slot=[2]>
    <Text>Title</Text>
  </[1]>
  <[3] slot="footer">
    <Text>Contact info</Text>
  </[3]>
</ComponentInstance>
Drag options to blanks, or click blank then click option'
ASlot
B"header"
D"footer"
Attempts:
3 left
💡 Hint
Common Mistakes
Using Frame or Group instead of Slot to fill slots.
Not quoting slot attribute values.

Practice

(1/5)
1. What is the main purpose of the Slots pattern in Figma components?
easy
A. To create placeholders inside components for flexible content
B. To lock components so they cannot be edited
C. To export components as images
D. To automatically generate color palettes

Solution

  1. Step 1: Understand the Slots pattern concept

    Slots act as placeholders inside components where you can insert different content later.
  2. Step 2: Identify the main purpose

    This allows components to be flexible and reusable by changing only the slot content.
  3. Final Answer:

    To create placeholders inside components for flexible content -> Option A
  4. Quick Check:

    Slots = placeholders for flexible content [OK]
Hint: Slots hold flexible content inside components [OK]
Common Mistakes:
  • Thinking slots lock components
  • Confusing slots with export features
  • Assuming slots generate colors automatically
2. Which of the following is the correct way to define a slot inside a Figma component?
easy
A. Group layers and rename the group to 'Slot'
B. Use the 'Export' option on a layer
C. Add a frame and mark it as a slot placeholder
D. Create a text layer with the word 'Slot'

Solution

  1. Step 1: Recall how slots are defined

    Slots are defined by adding a frame or container inside a component and marking it as a slot placeholder.
  2. Step 2: Evaluate the options

    Only Add a frame and mark it as a slot placeholder correctly describes adding a frame and marking it as a slot placeholder.
  3. Final Answer:

    Add a frame and mark it as a slot placeholder -> Option C
  4. Quick Check:

    Slot definition = frame marked as slot [OK]
Hint: Slots are frames marked as placeholders inside components [OK]
Common Mistakes:
  • Confusing slots with export settings
  • Thinking renaming groups creates slots
  • Assuming text layers define slots
3. Given a component with a slot named IconSlot, what happens when you drag a new icon into this slot instance?
medium
A. The component breaks and shows an error
B. The original component's icon changes everywhere
C. The slot disappears and cannot be reused
D. The new icon replaces the slot content in that instance only

Solution

  1. Step 1: Understand slot instance behavior

    When you drag content into a slot in an instance, it replaces the slot content only for that instance.
  2. Step 2: Check effect on original component

    The original component remains unchanged; only the instance shows the new content.
  3. Final Answer:

    The new icon replaces the slot content in that instance only -> Option D
  4. Quick Check:

    Slot content replaced per instance [OK]
Hint: Slot content changes only in the instance, not original [OK]
Common Mistakes:
  • Thinking original component changes globally
  • Believing slots disappear after use
  • Assuming errors occur on drag
4. You created a slot inside a component but when you drag content into it, the content does not appear. What is the most likely cause?
medium
A. The slot frame was not marked as a slot placeholder
B. The component is locked and cannot be edited
C. The dragged content is not supported by Figma
D. The component has no fill color

Solution

  1. Step 1: Check slot setup

    If content does not appear when dragged, the slot frame might not be properly marked as a slot placeholder.
  2. Step 2: Rule out other causes

    Locking or fill color does not prevent slot content from showing; Figma supports common content types.
  3. Final Answer:

    The slot frame was not marked as a slot placeholder -> Option A
  4. Quick Check:

    Unmarked slot frame blocks content [OK]
Hint: Mark frames as slots to accept content [OK]
Common Mistakes:
  • Assuming locking blocks slot content
  • Blaming unsupported content types
  • Thinking fill color affects slots
5. You want to create a reusable button component with a slot for an icon and a slot for label text. Which approach best uses the Slots pattern to achieve this?
hard
A. Create two separate components: one for icon and one for label, then group them
B. Create a component with two frames marked as slots: one for the icon and one for the label text
C. Use a single text layer and change its content for icon and label
D. Create a component with fixed icon and label layers without slots

Solution

  1. Step 1: Understand the goal

    You want a flexible button where icon and label can be changed independently.
  2. Step 2: Apply Slots pattern

    Defining two frames as slots inside the button component allows replacing icon and label content separately in instances.
  3. Step 3: Evaluate other options

    Grouping separate components or fixed layers does not provide the same flexibility and reusability.
  4. Final Answer:

    Create a component with two frames marked as slots: one for the icon and one for the label text -> Option B
  5. Quick Check:

    Multiple slots = flexible reusable component [OK]
Hint: Use multiple slot frames for flexible parts [OK]
Common Mistakes:
  • Using fixed layers instead of slots
  • Grouping separate components without slots
  • Trying to use one text layer for icon and label