Bird
Raised Fist0
Figmabi_tool~15 mins

Component set best practices in Figma - Real Business Scenario

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
Scenario Mode
šŸ‘¤ Your Role: You are a UI/UX designer working on a business intelligence dashboard project.
šŸ“‹ Request: Your manager wants you to create reusable component sets in Figma to ensure consistency and efficiency across the dashboard design.
šŸ“Š Data: You have access to various UI elements like buttons, input fields, dropdowns, and cards that need to be standardized.
šŸŽÆ Deliverable: Create component sets in Figma following best practices for naming, organization, and variants to support easy reuse and scalability.
Progress0 / 7 steps
Sample Data
ComponentStateProperties
ButtonDefaultColor: Blue, Size: Medium
ButtonHoverColor: Dark Blue, Size: Medium
ButtonDisabledColor: Gray, Size: Medium
Input FieldEmptyBorder: Light Gray, Placeholder: Yes
Input FieldFocusedBorder: Blue, Placeholder: Yes
DropdownClosedArrow: Down, Border: Gray
DropdownOpenArrow: Up, Border: Blue
CardDefaultShadow: Yes, Padding: Medium
CardSelectedShadow: Strong, Border: Blue
1
Step 1: Organize all UI elements into logical groups in Figma layers panel.
Create separate frames named 'Buttons', 'Input Fields', 'Dropdowns', and 'Cards' to hold related components.
Expected Result
Layers panel shows four clear groups for each UI element type.
2
Step 2: Create individual components for each UI element state.
Select each UI element variant (e.g., Button Default, Button Hover) and use 'Create Component' feature.
Expected Result
Each UI element state is a separate component in Figma.
3
Step 3: Combine related components into component sets using variants.
Select all Button components and use 'Combine as Variants' to create a Button component set with 'State' property.
Expected Result
Button component set with variants for Default, Hover, and Disabled states.
4
Step 4: Name component sets and variants clearly using consistent naming conventions.
Use names like 'Button / State=Default', 'Button / State=Hover', etc.
Expected Result
Component names are easy to understand and follow a pattern.
5
Step 5: Add properties to component sets for easy customization.
Use variant properties such as 'State' for buttons and 'Open/Closed' for dropdowns.
Expected Result
Component sets allow switching states via properties without duplicating components.
6
Step 6: Use auto layout inside components for responsive resizing.
Apply auto layout to buttons and cards to maintain padding and alignment when resized.
Expected Result
Components resize smoothly and maintain consistent spacing.
7
Step 7: Document component usage guidelines in a Figma page or file.
Create a page named 'Design System' with instructions and examples for using component sets.
Expected Result
Team members can easily understand how to use and customize components.
Final Result
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│       COMPONENT SETS           │
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤
│ Button      │ State         │
│             │ Default       │
│             │ Hover         │
│             │ Disabled      │
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤
│ Input Field │ State         │
│             │ Empty         │
│             │ Focused       │
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤
│ Dropdown    │ State         │
│             │ Closed        │
│             │ Open          │
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤
│ Card        │ State         │
│             │ Default       │
│             │ Selected      │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
āœ“Component sets with variants reduce duplication and improve consistency.
āœ“Clear naming conventions make components easy to find and use.
āœ“Auto layout ensures components adapt well to different sizes.
āœ“Documenting usage helps the whole team maintain design standards.
Bonus Challenge

Create a color theme variant property for buttons to switch between Primary, Secondary, and Danger styles within the same component set.

Show Hint
Add a new variant property called 'Type' with options 'Primary', 'Secondary', and 'Danger' and define color styles for each.

Practice

(1/5)
1. What is the main purpose of a component set in Figma?
easy
A. To export images faster
B. To create unrelated components in one file
C. To group similar components with different states or versions
D. To add animations to components

Solution

  1. Step 1: Understand component sets

    Component sets group similar components that have different states or versions, like buttons with different colors or sizes.
  2. Step 2: Identify the main purpose

    This grouping helps keep designs consistent and easy to update across the project.
  3. Final Answer:

    To group similar components with different states or versions -> Option C
  4. Quick Check:

    Component sets = group similar components [OK]
Hint: Component sets group variants of one element type [OK]
Common Mistakes:
  • Thinking component sets are for unrelated components
  • Confusing component sets with export tools
  • Assuming component sets add animations
2. Which of the following is the correct way to name variants inside a component set in Figma?
easy
A. Button1 and Button2
B. Primary-Hover and Primary-Default with dashes
C. HoverState and DefaultState without slashes
D. Primary / Hover and Primary / Default

Solution

  1. Step 1: Understand variant naming conventions

    Figma recommends using clear variant names separated by slashes to indicate states, like "Primary / Hover".
  2. Step 2: Compare options

    Options without slashes or with generic names like "Button1" are less clear and not best practice.
  3. Final Answer:

    Primary / Hover and Primary / Default -> Option D
  4. Quick Check:

    Use slashes for variant names [OK]
Hint: Use slashes to separate variant names clearly [OK]
Common Mistakes:
  • Using generic names like Button1, Button2
  • Not using slashes to separate variant states
  • Using dashes instead of slashes
3. Given a component set with variants named "Size / Small", "Size / Medium", and "Size / Large", what happens if you add a new variant named "Color / Red" to the same set?
medium
A. It creates a new variant group unrelated to size, causing confusion
B. It merges with existing size variants automatically
C. It renames all variants to "Color / Red"
D. It deletes the previous size variants

Solution

  1. Step 1: Understand variant grouping in component sets

    Variants in a set should focus on one property, like size or color, to keep sets clear.
  2. Step 2: Analyze adding a different variant property

    Adding "Color / Red" to a size-focused set creates a new variant property, which can confuse the set's purpose.
  3. Final Answer:

    It creates a new variant group unrelated to size, causing confusion -> Option A
  4. Quick Check:

    Keep variant sets focused on one property [OK]
Hint: Keep variant sets focused on one property [OK]
Common Mistakes:
  • Assuming variants merge automatically
  • Thinking variants rename others
  • Believing variants delete previous ones
4. You created a component set but notice that some variants have inconsistent naming like "Primary-Default" and "Primary / Hover". What is the best way to fix this?
medium
A. Rename all variants to use consistent slash-separated names
B. Delete the variant with the dash and recreate it
C. Ignore the inconsistency as it does not affect usage
D. Merge the variants into one component

Solution

  1. Step 1: Identify naming inconsistency problem

    Inconsistent variant names cause confusion and make it harder to use the component set properly.
  2. Step 2: Apply best practice for naming

    Renaming all variants to use consistent slash-separated names improves clarity and usability.
  3. Final Answer:

    Rename all variants to use consistent slash-separated names -> Option A
  4. Quick Check:

    Consistent naming improves component set clarity [OK]
Hint: Fix variant names to use consistent slashes [OK]
Common Mistakes:
  • Deleting variants unnecessarily
  • Ignoring naming inconsistencies
  • Merging variants incorrectly
5. You have a button component set with variants for size (Small, Medium, Large) and state (Default, Hover, Disabled). What is the best practice to organize these variants in Figma?
hard
A. Create separate component sets for size and state variants
B. Use two variant properties named "Size" and "State" with clear values for each
C. Combine size and state into one variant property with all combinations
D. Use generic names like "Variant1", "Variant2" for all variants

Solution

  1. Step 1: Understand variant properties in component sets

    Figma allows multiple variant properties to organize variants clearly, such as "Size" and "State".
  2. Step 2: Apply best practice for organizing variants

    Using two variant properties with clear values keeps the set manageable and easy to use.
  3. Final Answer:

    Use two variant properties named "Size" and "State" with clear values for each -> Option B
  4. Quick Check:

    Use multiple variant properties for clarity [OK]
Hint: Use multiple variant properties for complex variants [OK]
Common Mistakes:
  • Creating separate sets for related variants
  • Combining all variants into one property
  • Using unclear generic variant names