Popular Searches
Popular Course Categories
Popular Courses

Introduction to Components

Introduction to Components

Components & Variants

Introduction to Components in Figma

JustAcademy Figma Training provides practical learning of Figma and UI/UX design concepts, including Components, Auto Layout, Variants, Component Properties, Design Systems, Prototyping, and real-world interface design. You can also Register for Figma Course Demo to explore the training program.


1. What are Components in Figma?

Components are reusable design elements in Figma that help designers create consistent, scalable, and maintainable user interfaces. Instead of creating the same button, card, input field, icon, navigation item, or other UI element repeatedly, a designer can create it once as a component and reuse it throughout the design.

A component acts as a reusable source of truth for a particular design element. When the main component is updated, its connected instances can receive applicable changes, helping designers maintain consistency across screens and projects.


2. Simple Definition

A Figma Component is a reusable UI element that can be created once and reused multiple times through connected instances.

Main Component

      |

      +---- Instance 1

      |

      +---- Instance 2

      |

      +---- Instance 3

      |

      +---- Instance 4


3. Why are Components Important?

Components are one of the most important concepts in professional Figma workflows because modern digital products contain many repeated UI elements.

  • They reduce repetitive design work.
  • They improve visual consistency.
  • They make design systems easier to maintain.
  • They allow reusable UI elements to be shared across screens.
  • They make design changes easier to manage.
  • They reduce accidental differences between repeated elements.
  • They support scalable product design.
  • They improve collaboration between designers.
  • They support variants and component properties.
  • They can be shared through libraries in team workflows.


4. Main Component and Instance

There are two fundamental concepts in Figma Components: the Main Component and the Instance.

ConceptMeaning
Main ComponentThe source component that defines the original design, structure, and default behavior.
InstanceA reusable copy connected to the main component.

Changes made to the main component can be reflected in connected instances, while instances can be customized through supported properties and overrides.


5. Main Component

The Main Component is the original component from which instances are created. It contains the structure, styling, layout, and behavior that define the reusable element.

Main Component

Name: Button/Primary

 

Properties:

- Background

- Text

- Padding

- Border Radius

- Icon

- Auto Layout

The main component acts as the source for reusable instances.


6. Component Instance

An instance is a reusable copy of a main component. It remains connected to the main component unless the connection is intentionally broken.

Main Button

     |

     +---- Button Instance

     +---- Button Instance

     +---- Button Instance

Instances allow the same component to be used across multiple screens while retaining a relationship with the source component.


7. Component vs Regular Frame

FeatureRegular FrameComponent
ReusableManual duplicationYes
Connected instancesNoYes
Centralized updatesNoYes
Design system usageLimitedExcellent
VariantsNo component variantsSupported
Component propertiesNot applicableSupported


8. Examples of Components

Almost any repeated UI element can become a component when reuse and consistency provide value.

  • Buttons
  • Input fields
  • Checkboxes
  • Radio buttons
  • Switches
  • Icons
  • Avatars
  • Cards
  • Navigation items
  • Tabs
  • Badges
  • Tags
  • Dropdowns
  • Menus
  • Headers
  • Footers
  • Modals
  • Notifications
  • Tooltips
  • List items


9. Component Example: Button

A button is one of the easiest components to understand. Instead of designing every button separately, create one reusable component and provide controlled variations.

Button Component

+----------------------+

|       Submit         |

+----------------------+

The same component can support labels such as Save, Submit, Continue, Cancel, Delete, and Download.


10. Component Example: Input Field

Input Component

+-----------------------------+

| Enter your email            |

+-----------------------------+

The same input component can be reused for email, username, password, search, address, and other form fields.


11. Component Example: Card

Card Component

+-------------------------+

| Image                   |

|                         |

| Product Name            |

| Description             |

| ₹999                    |

| [ Add to Cart ]         |

+-------------------------+

A product card component can be reused throughout an e-commerce application.


12. Creating a Component

Figma allows designers to create components from selected layers or objects.

  1. Create the design element.
  2. Select the layers that should become the component.
  3. Use the Create Component option.
  4. Alternatively, use the context menu and choose Create component.
  5. On Windows, the commonly used shortcut is Ctrl + Alt + K.
  6. On Mac, the commonly used shortcut is Option + Command + K.
  7. Rename the component using a meaningful name.
  8. Organize it appropriately for future reuse.


13. Component Identification

Figma uses component indicators to distinguish components from regular layers. Components can also be identified from the Layers panel and Assets area.

Layers Panel

 

Main Component

├── Icon

├── Text

└── Background

The exact visual appearance of component indicators may change as Figma updates its interface, but the component concept remains the same.


14. Naming Components

Good naming is essential for scalable component libraries.

Good:

Button/Primary

Button/Secondary

Input/Text

Input/Password

Card/Product

Navigation/Item

 

Avoid:

Frame 123

Rectangle 45

Copy of Button

New Button


15. Component Naming Structure

A structured naming convention makes components easier to find and understand.

Button/Primary

Button/Secondary

Button/Danger

Button/Icon

Card/Product

Card/Profile

Card/Article

Input/Text

Input/Search

Input/Password

Using categories makes large component libraries easier to navigate.


16. Components and Auto Layout

Auto Layout and Components work extremely well together. Auto Layout controls how the component responds to content and spacing, while the Component system makes the element reusable.

Button Component

|

+-- Auto Layout

|    |

|    +-- Icon

|    +-- Text

|

+-- Component

|

+-- Instances


17. Why Use Auto Layout Inside Components?

  • Text can change without breaking the layout.
  • Buttons can resize according to content.
  • Padding remains consistent.
  • Icons and labels remain aligned.
  • Components become more responsive.
  • Variants can share a consistent layout structure.
  • Spacing can be controlled systematically.


18. Components and Fixed Dimensions

Fixed dimensions can be used inside components when an element needs a predictable size.

Icon Button

Width  = 40px

Height = 40px

 

Icon

Width  = 24px

Height = 24px

Use Fixed sizing where consistency is required, while using Hug or Fill where flexibility is needed.


19. Components and Hug Contents

Hug Contents is useful for content-driven components such as buttons, tags, badges, and chips.

Button

Width  = Hug Contents

Height = Hug Contents

 

Text = "Save Changes"

If the label changes, the Auto Layout component can adapt according to its content and spacing configuration.


20. Components and Fill Container

Fill Container is useful when a component or child element needs to occupy available space inside an Auto Layout parent.

Form

|

+-- Input

|    Width = Fill Container

|

+-- Button

     Width = Fill Container


21. Components and Responsive Design

Professional components should be designed with responsive behavior in mind.

Responsive Component

|

+-- Fixed Icon

+-- Flexible Content

+-- Hug Action

+-- Auto Layout Parent

This allows the same component to work across different screens and content conditions.


22. What is an Instance?

An instance is a reusable copy of a main component. When inserted into another design, the instance remains connected to its source component.

Main Component

      |

      +--------+

      |        |

   Instance  Instance

      |        |

   Screen 1  Screen 2


23. How to Insert an Instance

  1. Open the Assets area.
  2. Find the required component.
  3. Select the component.
  4. Drag it onto the canvas or use the insert workflow.
  5. Position the instance in the design.
  6. Customize supported properties or overrides.

Instances can also be created by duplicating or copying an existing instance.


24. Main Component vs Instance

PropertyMain ComponentInstance
PurposeDefines source designReuses source design
ConnectionSourceConnected to source
UpdatesDefines changesCan receive applicable changes
CustomizationDefines defaultsUses supported overrides/properties
ReuseCreates reusable assetsUsed throughout designs


25. Updating the Main Component

When the main component is updated, connected instances can reflect applicable changes.

Before:

Button = Blue

 

Update Main Component:

Button = Green

 

Instances:

Instance 1 → Green

Instance 2 → Green

Instance 3 → Green

This centralized update behavior is one of the biggest advantages of components.


26. Updating an Instance

Instances can be customized for their specific context using supported overrides and component properties.

Main Component

Button Text = "Button"

 

Instance

Button Text = "Save"

The instance can display different content while maintaining its relationship with the main component.


27. What are Overrides?

Overrides are instance-level customizations that allow designers to change supported aspects of an instance without creating a completely separate component.

Depending on the component structure, designers can customize supported values such as text, fills, strokes, visibility, sizing, and other properties.


28. Why Overrides are Useful

  • They allow contextual customization.
  • They reduce the need for duplicate components.
  • They preserve the relationship with the main component.
  • They allow different content inside reusable UI.
  • They help designers build flexible layouts.


29. Resetting Overrides

If an instance contains changes that are no longer required, supported overrides can be reset so the instance returns toward the main component's default configuration.

Main Component

Text = "Submit"

 

Instance Override

Text = "Save"

 

Reset

Text = "Submit"


30. Detaching an Instance

Detaching an instance breaks its connection to the main component.

Before:

Main Component

      |

   Instance

      |

   Connected

 

After Detach:

Independent Object

      |

No Component Connection

Detaching can be useful when an element must become completely independent, but it should be used carefully because the detached object will no longer receive updates from the original component.


31. When Should You Avoid Detaching?

  • When the element should continue receiving component updates.
  • When the design is part of a design system.
  • When only text or supported properties need changing.
  • When a variant can solve the requirement.
  • When a component property can provide the required flexibility.
  • When an instance swap can solve the requirement.


32. Components and Variants

Variants allow similar versions of a component to be organized together as a component set. They are useful when a component has predictable differences such as state, size, type, or theme.

Button Component Set

|

+-- Type = Primary

|    +-- State = Default

|    +-- State = Hover

|    +-- State = Disabled

|

+-- Type = Secondary

     +-- State = Default

     +-- State = Hover

     +-- State = Disabled


33. What is a Variant?

A variant is a specific version of a component that differs from other versions in predictable ways.

For example, a button may have variants for Primary, Secondary, Disabled, Hover, Small, Medium, and Large states.


34. Component Set

When related variants are grouped together, Figma organizes them into a component set. This makes related component variations easier to manage and use.

Component Set

|

+-- Button

    |

    +-- Primary / Small

    +-- Primary / Large

    +-- Secondary / Small

    +-- Secondary / Large


35. Component Properties

Component properties allow designers to expose controlled aspects of a component for customization. Common property types include Boolean, Instance Swap, Text, Variant, and Slot properties.


36. Boolean Property

A Boolean property uses a true/false value to control whether a specific layer or feature is visible.

Card Component

 

Show Icon = True

Show Icon = False

This is useful for optional elements such as icons, badges, status indicators, or action buttons.


37. Text Property

A Text property allows a designated text layer to be exposed as an editable component property.

Button Component

 

Text Property:

Label = "Submit"

 

Instance:

Label = "Save"

This creates a controlled editing experience for component users.


38. Instance Swap Property

An Instance Swap property allows a nested component instance to be replaced with another suitable component.

List Item

|

+-- Icon

     |

     +-- Home

     +-- User

     +-- Settings

This is useful when the component structure remains the same but the nested asset needs to change.


39. Slot Property

Slots provide flexible content areas inside components. They are useful when designers need flexible content while retaining the component's overall structure.

Modal Component

|

+-- Header

+-- Slot

|    |

|    +-- Custom Content

|

+-- Footer

Slots are particularly useful for flexible layouts such as lists, forms, cards, and modals.


40. Variant Property

Variant properties define how variants within a component set differ from one another.

Button

 

Type:

Primary

Secondary

 

Size:

Small

Medium

Large

Using meaningful properties such as Type and Size generally makes component sets easier to understand and use.


41. Components and Nested Components

A component can contain instances of other components. This is called nesting components or using nested instances.

Card Component

|

+-- Avatar Instance

+-- Badge Instance

+-- Button Instance

Nested components allow complex interfaces to be constructed from smaller reusable building blocks.


42. Why Use Nested Components?

  • Break complex interfaces into smaller reusable pieces.
  • Improve consistency.
  • Make components easier to maintain.
  • Allow nested elements to have their own properties.
  • Support scalable design systems.
  • Reduce duplicate design work.


43. Component Hierarchy

Design System

|

+-- Forms

|    |

|    +-- Input

|    +-- Label

|    +-- Button

|

+-- Navigation

|    |

|    +-- Navigation Item

|    +-- Icon

|

+-- Cards

     |

     +-- Image

     +-- Badge

     +-- Button


44. Component Composition

Component composition means building larger components by combining smaller reusable components.

Product Card

|

+-- Image Component

+-- Badge Component

+-- Rating Component

+-- Price Component

+-- Button Component

This approach creates modular and maintainable design systems.


45. Components and Design Systems

Components are fundamental building blocks of scalable design systems. A design system can contain reusable components, variants, properties, styles, variables, documentation, and usage guidelines.

Design System

|

+-- Colors

+-- Typography

+-- Spacing

+-- Icons

+-- Components

|    |

|    +-- Buttons

|    +-- Inputs

|    +-- Cards

|    +-- Navigation

|    +-- Modals

|

+-- Patterns

+-- Documentation


46. Components and Libraries

Figma supports shared libraries so teams can reuse approved components and other design assets across files, subject to workspace permissions and library settings.

Shared Library

|

+-- Buttons

+-- Inputs

+-- Cards

+-- Navigation

+-- Icons

|

+------------------+

         |

         v

Multiple Design Files


47. Benefits of Component Libraries

  • Centralized reusable assets.
  • Consistent UI across projects.
  • Faster design workflows.
  • Easier maintenance.
  • Better collaboration.
  • Improved design-system governance.
  • Less duplication.


48. Publishing Components

In team workflows, components can be published as library assets so other designers can use them in their files, depending on workspace permissions and library configuration.

Designer A

    |

    v

Component Library

    |

    +---- Designer B

    +---- Designer C

    +---- Designer D


49. Library Updates

When a shared component library is updated, designers may receive library updates that they can review and apply according to the project's library workflow.

Library

Version 1

   |

   v

Component Updated

   |

   v

Version 2

   |

   v

Designers review updates


50. Component Documentation

Good component libraries should provide documentation explaining what a component is, when to use it, what properties are available, and what variations exist.

Button

|

+-- Purpose

+-- Usage

+-- Variants

+-- Properties

+-- States

+-- Accessibility

+-- Do / Don't

+-- Developer Notes


51. Component Naming Best Practices

  • Use meaningful names.
  • Use consistent capitalization.
  • Use categories where helpful.
  • Separate component type from variation.
  • Avoid generic names such as Frame 123.
  • Use predictable naming across the library.


52. Component Organization

Organize components logically so designers can quickly find the required asset.

Components

|

+-- Actions

|    +-- Button

|    +-- Icon Button

|

+-- Forms

|    +-- Input

|    +-- Checkbox

|    +-- Select

|

+-- Navigation

|    +-- Tabs

|    +-- Menu

|

+-- Feedback

     +-- Alert

     +-- Toast


53. Components and Accessibility

Reusable components provide an excellent opportunity to build accessibility considerations into the design system from the beginning.

  • Use sufficient color contrast.
  • Provide visible focus states.
  • Use clear labels.
  • Maintain appropriate touch-target sizes.
  • Provide meaningful error states.
  • Do not communicate important information only through color.
  • Maintain readable typography.


54. Button Component States

A professional button component often needs multiple states.

Button

|

+-- Default

+-- Hover

+-- Pressed

+-- Focus

+-- Disabled

+-- Loading

These states can be managed using variants and component properties.


55. Input Component States

Input

|

+-- Default

+-- Focus

+-- Filled

+-- Error

+-- Disabled

+-- Success

Creating these states as part of the component system makes form design faster and more consistent.


56. Card Component Variations

Card

|

+-- Default

+-- Featured

+-- Selected

+-- Disabled

+-- Compact

+-- Expanded

Use variants when these differences are predictable and belong to the same component family.


57. Component Properties vs Variants

FeatureBest Use
BooleanShow or hide optional layers
TextChange controlled text content
Instance SwapReplace nested components
VariantManage defined component variations
SlotProvide flexible content areas


58. Variants vs Separate Components

If multiple components serve the same purpose but differ in predictable ways, variants can help organize them into one component set rather than creating a large collection of disconnected components.

Instead of:

 

Button Primary

Button Secondary

Button Small

Button Large

Button Disabled

 

Use:

 

Button Component Set

|

+-- Type

+-- Size

+-- State


59. Avoiding Variant Explosion

Creating too many combinations can make a component set difficult to maintain.

Better approach:

 

Type = Primary / Secondary

Size = Small / Medium / Large

State = Default / Hover / Disabled

Separate, meaningful properties provide better flexibility and organization than creating an unnecessary number of disconnected combinations.


60. Component Properties Reduce Duplication

Component properties can prevent the need to create separate components for every possible combination of optional elements or content.

Card

|

+-- Show Icon = True / False

+-- Show Button = True / False

+-- Title = Editable

+-- Icon = Swappable


61. Components and Variables

Components can work alongside variables and design tokens to create systematic design systems.

Component

|

+-- Color Variable

+-- Spacing Variable

+-- Typography

+-- Radius Variable

+-- Component Properties

This allows designers to separate reusable structure from reusable design values.


62. Components and Themes

Components can be designed to work with different themes or visual modes.

Button

|

+-- Light Theme

+-- Dark Theme

+-- Brand Theme

Variables, styles, variants, and component properties can be combined to support scalable theming strategies.


63. Components and Prototyping

Components can also be used with interactive behaviors to create reusable interactive UI patterns.

Button

Default

   |

   | Click

   v

Pressed

   |

   | Release

   v

Default

This allows designers to prototype realistic interactions without rebuilding every state manually.


64. Interactive Components

Interactive components allow component variants to participate in prototype interactions. Common examples include buttons, toggles, checkboxes, tabs, menus, and navigation controls.

Checkbox

|

+-- Unchecked

|      |

|      | Click

|      v

+-- Checked


65. Components for Mobile UI

Mobile applications benefit significantly from reusable components.

Mobile Design System

|

+-- Mobile Header

+-- Bottom Navigation

+-- Mobile Button

+-- Input

+-- Card

+-- List Item

+-- Modal

+-- Bottom Sheet


66. Components for Web UI

Web Design System

|

+-- Header

+-- Sidebar

+-- Navigation

+-- Button

+-- Input

+-- Table

+-- Card

+-- Modal

+-- Pagination


67. Components for E-Commerce

E-Commerce Components

|

+-- Product Card

+-- Product Image

+-- Rating

+-- Price

+-- Add to Cart

+-- Quantity Selector

+-- Cart Item

+-- Checkout Form


68. Components for Dashboard Design

Dashboard Components

|

+-- Sidebar

+-- Header

+-- Statistic Card

+-- Chart Container

+-- Table

+-- Filter

+-- Search

+-- Notification

+-- User Profile


69. Components for Design System Projects

A professional design system can organize components according to their role.

Design System

|

+-- Foundations

|    +-- Color

|    +-- Typography

|    +-- Spacing

|

+-- Components

|    +-- Button

|    +-- Input

|    +-- Card

|

+-- Patterns

     +-- Login

     +-- Checkout

     +-- Navigation


70. Common Mistake: Duplicating Components Manually

Manually duplicating the same design without creating a component makes maintenance difficult.

Bad:

Button 1

Button 2

Button 3

Button 4

All designed separately

 

Better:

Main Button Component

      |

      +-- Instance 1

      +-- Instance 2

      +-- Instance 3

      +-- Instance 4


71. Common Mistake: Poor Naming

Names such as Frame 123 or Copy of Button make component libraries difficult to understand.

Bad:

Frame 123

Frame 456

Copy 2

 

Better:

Button/Primary

Button/Secondary

Input/Search


72. Common Mistake: Too Many Components

Not every unique visual element needs to become a component. Components should be created when reuse, consistency, customization, or systemization provides a real benefit.


73. Common Mistake: Detaching Too Often

Frequent detaching breaks the connection to the component system and can create inconsistent one-off designs.

Before detaching, check whether an override, variant, component property, instance swap, or slot can solve the requirement.


74. Common Mistake: Using Variants for Everything

Variants are excellent for predictable component differences, but they should not become a solution for every possible content combination. Use component properties or slots when they are better suited to the requirement.


75. Common Mistake: Ignoring Auto Layout

A component without proper Auto Layout may become difficult to reuse when text, icons, or content changes.

Weak Component

Fixed Position

Fixed Text Area

Manual Spacing

 

Better Component

Auto Layout

Hug / Fill

Consistent Padding

Reusable Properties


76. Common Mistake: Ignoring Long Text

Always test components with short and long content.

Short:

Save

 

Long:

Save Changes and Continue

 

Component should adapt

without breaking the layout.


77. Common Mistake: Ignoring Different Screen Sizes

A component that looks perfect on a desktop screen may fail on mobile. Test components at multiple widths and with realistic content.


78. Best Practices for Components

  • Use meaningful component names.
  • Use Auto Layout whenever appropriate.
  • Use consistent spacing.
  • Use Fixed sizing only where needed.
  • Use Hug for content-driven elements.
  • Use Fill for flexible areas.
  • Use variants for predictable variations.
  • Use component properties for controlled customization.
  • Use nested components for modular structures.
  • Document important components.
  • Keep component sets organized.
  • Test long text and localization.
  • Test responsive behavior.
  • Avoid unnecessary detaching.
  • Maintain accessibility considerations.


79. When Should You Create a Component?

SituationCreate Component?
Repeated buttonYes
Repeated inputYes
Repeated cardYes
Repeated navigation itemYes
One-time decorative shapeUsually no
Reusable iconYes
Unique illustrationDepends on reuse


80. Practical Project: Create a Button Component

  1. Create a frame.
  2. Add Auto Layout using Shift + A.
  3. Add button text.
  4. Set horizontal and vertical padding.
  5. Set a suitable corner radius.
  6. Choose the button background.
  7. Set the width to Hug Contents if the label should determine width.
  8. Set a consistent height if required by the design system.
  9. Select the complete button.
  10. Create a component.
  11. Rename it Button/Primary.

Button/Primary

|

+-- Auto Layout

|    |

|    +-- Text

|

+-- Hug Width

+-- Fixed/Hug Height

+-- Padding

+-- Radius


81. Practical Project: Button Variants

Button Component Set

|

+-- Type = Primary

|    +-- State = Default

|    +-- State = Hover

|    +-- State = Disabled

|

+-- Type = Secondary

     +-- State = Default

     +-- State = Hover

     +-- State = Disabled

This creates a scalable button system.


82. Practical Project: Card Component

  1. Create a card frame.
  2. Add Auto Layout.
  3. Add image area.
  4. Add title.
  5. Add description.
  6. Add price or metadata.
  7. Add action button.
  8. Set appropriate padding and gaps.
  9. Use Fixed or Fill width as required.
  10. Use Hug height for dynamic content.
  11. Create the component.
  12. Add variants if necessary.


83. Practical Project: Navigation Component

Navigation Item

|

+-- Icon Component

+-- Label

+-- Badge Component

|

+-- State Variant

     +-- Default

     +-- Hover

     +-- Active

     +-- Disabled


84. Practical Project: Input Component

Input

|

+-- Label

+-- Input Container

|    |

|    +-- Placeholder

|    +-- Leading Icon

|    +-- Trailing Icon

|

+-- Helper Text

|

Variants:

Default

Focus

Error

Success

Disabled


85. Practical Project: Profile Component

Profile

|

+-- Avatar Component

+-- Name

+-- Email

+-- Status Badge

+-- Action Button

This demonstrates component composition and nested reusable elements.


86. Practical Project: Reusable List Item

A list item is a good intermediate component project because it can combine Auto Layout, nested components, variants, and component properties.

List Item

|

+-- Avatar

+-- Label

+-- Metadata

+-- Trailing Action


87. Component Debugging

When a component behaves unexpectedly, inspect the structure from the outside inward.

  1. Check whether the selected object is a main component or instance.
  2. Check Auto Layout settings.
  3. Check Fixed, Hug, and Fill behavior.
  4. Check component properties.
  5. Check variants.
  6. Check nested components.
  7. Check overrides.
  8. Check padding and spacing.
  9. Check text resizing.
  10. Test the instance with different content.


88. Component Debugging Flow

Component Problem

       |

       v

Main Component or Instance?

       |

       v

Check Auto Layout

       |

       v

Check Fixed / Hug / Fill

       |

       v

Check Variants

       |

       v

Check Properties

       |

       v

Check Nested Components

       |

       v

Check Overrides

       |

       v

Test Again


89. Components and Developer Handoff

Well-structured components make developer handoff easier because developers can understand reusable UI patterns, states, dimensions, content rules, and variations.

Button

|

+-- Type

+-- Size

+-- State

+-- Icon

+-- Label

+-- Spacing

+-- Interaction

Component documentation can also help communicate intended usage and design rules.


90. Components and Development

Components have a strong conceptual relationship with reusable UI components in frontend frameworks.

Figma

Button Component

      |

      v

Development

Button Component

      |

      +-- Primary

      +-- Secondary

      +-- Disabled

A Figma button component may correspond conceptually to a reusable React, Vue, Angular, or other frontend component.


91. Components and CSS

A Figma component can represent a reusable UI pattern that is later implemented through HTML and CSS.

.button {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  padding: 12px 20px;

  border-radius: 8px;

}

The exact implementation depends on the development framework and design requirements.


92. Component Architecture

Component Architecture

|

+-- Foundation

|    +-- Colors

|    +-- Typography

|    +-- Spacing

|

+-- Components

|    +-- Button

|    +-- Input

|    +-- Card

|

+-- Component Sets

|    +-- Button States

|    +-- Input States

|

+-- Patterns

     +-- Login

     +-- Checkout

     +-- Dashboard


93. Component Quality Checklist

  • Is the component reusable?
  • Does it have a clear name?
  • Is Auto Layout configured correctly?
  • Are spacing and padding consistent?
  • Are Fixed dimensions used only where necessary?
  • Does content adapt correctly?
  • Are variants required?
  • Are component properties useful?
  • Are nested components structured properly?
  • Are states represented correctly?
  • Has long content been tested?
  • Has responsive behavior been tested?
  • Is accessibility considered?
  • Is documentation available?


94. Quick Comparison of Component Concepts

ConceptPurpose
Main ComponentDefines the reusable source.
InstanceReusable copy connected to the main component.
VariantDefines a predictable version of a component.
Boolean PropertyShows or hides optional content.
Text PropertyAllows controlled text editing.
Instance SwapAllows nested component replacement.
SlotProvides flexible content areas.
LibraryShares reusable assets across files.


95. Interview Questions

Q1. What is a Component in Figma?

A Component is a reusable design element that can be used to create consistent UI elements across designs.

Q2. What is the difference between a Main Component and an Instance?

The Main Component is the source definition, while an Instance is a reusable copy connected to that source.

Q3. Why are components important?

They improve consistency, reduce repetitive work, simplify maintenance, and support scalable design systems.

Q4. How do you create a component in Figma?

Select the desired layers and use the Create Component command from the appropriate Figma interface control or keyboard shortcut.

Q5. What happens when the Main Component changes?

Connected instances can receive applicable updates from the main component.

Q6. What is an instance?

An instance is a reusable copy of a main component that maintains a connection to its source.

Q7. What are variants?

Variants are different versions of the same component organized into a component set.

Q8. What are component properties?

Component properties expose controlled aspects of a component that users can customize, such as Boolean visibility, text, instance swaps, slots, and variant values.

Q9. What is a Boolean property?

A Boolean property uses true/false values to control layer visibility.

Q10. What is a Text property?

A Text property allows users to edit designated text content through component controls.

Q11. What is Instance Swap?

It allows a nested component instance to be replaced with another suitable instance.

Q12. What is a Slot?

A Slot is a flexible area inside a component where content can be inserted while retaining the component's overall structure.

Q13. What is the purpose of Auto Layout inside a component?

Auto Layout makes components adapt to content, spacing, alignment, and available space more reliably.

Q14. When should you use variants?

Use variants when a component has predictable variations such as type, size, state, or theme.

Q15. What is component detachment?

Detachment breaks an instance's connection to its main component and turns it into an independent design object.

Q16. Why should designers avoid unnecessary detaching?

Because detached elements no longer receive updates from their original component.

Q17. What are nested components?

Nested components are reusable component instances placed inside another component.

Q18. How do components support design systems?

They provide reusable, standardized building blocks that can be maintained and shared across products and teams.


96. Practice Exercises

  1. Create a Primary Button component.
  2. Create Secondary and Danger button variants.
  3. Add Default, Hover, Pressed, and Disabled states.
  4. Create a reusable Input component.
  5. Create an Avatar component.
  6. Create a Badge component.
  7. Create a Product Card component.
  8. Create a Navigation Item component.
  9. Nest an Avatar component inside a Profile component.
  10. Add a Boolean property to show or hide an icon.
  11. Add a Text property to a button.
  12. Add an Instance Swap property to a navigation item.
  13. Create a component set using variants.
  14. Create a reusable list item.
  15. Create a modal with a flexible content area.
  16. Publish a small component library for practice.
  17. Test components with long labels.
  18. Test components at multiple screen sizes.
  19. Document the components.
  20. Prepare the component system for developer handoff.


97. Quick Revision

Figma Components

|

+-- Main Component

|      |

|      +-- Defines Source

|

+-- Instances

|      |

|      +-- Reusable Copies

|

+-- Variants

|      |

|      +-- Component Variations

|

+-- Properties

|      |

|      +-- Boolean

|      +-- Text

|      +-- Instance Swap

|      +-- Slot

|      +-- Variant

|

+-- Nested Components

|      |

|      +-- Components inside Components

|

+-- Libraries

       |

       +-- Shared Assets


98. Key Takeaways

  • Components are reusable design elements in Figma.
  • The Main Component defines the source design.
  • Instances are reusable copies connected to the main component.
  • Main component changes can propagate to connected instances.
  • Instances can be customized through supported properties and overrides.
  • Auto Layout makes components more flexible and responsive.
  • Variants organize predictable component variations.
  • Boolean properties control optional layer visibility.
  • Text properties provide controlled editable content.
  • Instance Swap properties allow nested component replacement.
  • Slots provide flexible content areas.
  • Nested components support modular design systems.
  • Libraries allow reusable assets to be shared across design files.
  • Good naming and documentation are essential for component libraries.
  • Avoid unnecessary duplication and detaching.
  • Test components with different content, sizes, and states.


99. Conclusion

Components are one of the most powerful features in Figma for creating scalable, consistent, and maintainable UI designs. Instead of manually recreating the same interface elements, designers can create reusable main components and place connected instances throughout their designs.

Professional component workflows become even more powerful when Components are combined with Auto Layout, Fixed Dimensions, Hug Contents, Fill Container, Variants, Component Properties, Nested Components, Slots, and Libraries. These features allow designers to build flexible design systems instead of collections of disconnected screens.

The key principle is simple: design reusable elements once, structure them properly, and reuse them consistently.

For structured Figma and UI/UX learning, visit JustAcademy Figma Training or Register for Figma Course Demo.

whatsapp