top of page
logo-2-color_2x.png

UI Component Library

Points: 

40

Due By:

April 1, 2026 at 4:45:00 AM

Objective

Create a small, reusable component library that demonstrates how UI elements can be systematically built for reuse in future mockups. You are not building a prototype yet—just the components themselves.


Your library must include examples of:

  • Text variables (to control text labels dynamically)

  • Boolean variables (to show/hide elements or change states)

  • Variant systems (organized versions of a component)

  • Instance swaps (replaceable parts like icons or media)


You will also include a Testing Frame to demonstrate that your components work correctly.





Project Requirements


1. Create a Component Library Page

  • Title it Library in your Figma file.

  • Include your color, typography, and sizing variables from your previous exercise

  • Build at least 15 reusable components, representing multiple levels of complexity—atoms, molecules, and organisms (see section below).

  • Choose components that are most useful for your particular project (to save time later).




2. Component Examples (Pick 15)

Below are 30 common components organized by type and complexity. Feel free to adjust or rename based on your project’s theme (e.g., healthcare app, travel site, productivity tool, etc.).


Atoms (Fundamental Elements)

  1. Button (default)

  2. Button with Icon (leading or trailing)

  3. Icon Only Button

  4. Text Input / Field

  5. Checkbox

  6. Radio Button

  7. Toggle / Switch

  8. Tag / Chip

  9. Tooltip

  10. Avatar (image, initials, or icon)

Molecules (Combined Atoms)

  1. Input with Label and Helper Text

  2. Select / Dropdown (with item component)

  3. Search Field (input + icon + clear button)

  4. Tabs (horizontal/vertical variants)

  5. Pagination Controls (prev/next, active states)

  6. Card (title, image, and action area)

  7. Modal / Dialog (title, body, actions)

  8. Toast / Alert Message (type: success, error, warning, info)

  9. Badge with Icon

  10. Progress Bar (with label)

Organisms (Modular Structures)

  1. Navigation Bar / Header (logo, nav items, user menu)

  2. Sidebar / Drawer Navigation

  3. Table Row / List Item (with selection and hover states)

  4. Table / Data Grid (with header, rows, and pagination)

  5. Profile Card (avatar, name, buttons)

  6. Empty State (illustration + message + action)

  7. Sign-In Form (input fields, button, helper text)

  8. Filter Bar (search, filters, sort)

  9. Content Card (media, metadata, buttons)

  10. Dashboard Summary Widget (data, icons, actions)


💡 Tip: You may also create advanced or nested components, such as a button group, card with interactive content, or a list with embedded icons. Combining smaller parts into more complex, reusable structures shows higher design system thinking.





3. Create a “Testing Frame” Page

This page will make it easy for you to test that your components are set up correctly.



How to Set It Up

  1. Create a new page titled 03 – Testing Frame.

  2. On that page, create a large frame titled Component Proofboard.

  3. Inside the frame, create 4 labeled sections — one for each test area:

    • Text Variables Test

    • Boolean Variables Test

    • Variant System Test

    • Instance Swap Test



What to Include in Each Section


Section

What to Show

Example

Text Variables Test

Place 2–3 instances of components with text variables (e.g., buttons, modals). Change the variable values to show how text updates automatically.

Two buttons labeled “Save” and “Cancel” using the same component but different variable values.

Boolean Variables Test

Show a component twice—once with the boolean ON and once OFF. Use this to toggle visibility or states (like showing/hiding an icon or footer).

A card with showFooter=true and one with showFooter=false.

Variant System Test

Create a grid showing all variants of a component (e.g., buttons in different states, sizes, or intents).

A button set showing primary/secondary and default/hover/pressed.



Tips

  • Keep the layout organized using Auto Layout.

  • Label each section clearly with headings.

  • Use your component names as captions underneath.


Keep everything inside one frame called Component Proofboard for easy viewing.





Foundations 

  • Color tokens: Primary, Surface, Text, Border, Success, Warning, Error.

  • Typography: Display, H1–H5, Body, Caption.

  • Spacing scale: Based on 4px increments.





🎨 Accessibility

Make sure:

  • Text contrast is ≥ 4.5:1 for body text.

  • Hover, focus, and pressed states are visually distinct.

  • “Hit areas” for interactive elements that require clicks or taps are at least 40×40 px.


Use the ALLY or ABLE plugin to check for accessibility issues.





Grading Rubric (40 pts total)

Category

Points

What You’ll Be Graded On

A. Foundations & Tokens

10 pts

Consistent use of color, typography, and spacing tokens.

B. Components & Variants

15 pts

At least 2 well-organized variant sets with logical naming.

C. Variables & Booleans

15 pts

Text and boolean variables correctly implemented and functioning.





Deliverable and Submission Information


You will be submitting two things.

  1. Submit a Figma Link (set to “Anyone with link can view”).

  2. Upload your local figma file (look for the option to save as a local copy)






Previous Semester Example


Design system overview with sections for colors, typography, logo, spacing, atomic elements, molecular elements, and organism elements.
Library (15 elements)

Three sections showing UI button tests. Left: "Save," "Cancel." Middle: password input with error. Right: CTA button states in green/yellow.
Proofboard

UI design showing button styles labeled Primary and Secondary with states: Default, Active, Focus, Hover, Disable. Component properties listed.
When I interact with your elements, I should be able to see your component properties and values for each.

Locked Message

bottom of page