Components

This page contains detailed information about each individual component.

Animations

Click an element to see it spin. Watch the element in browser inspect mode to watch the javascript modify its styles.

View Code
Show Classes

Badges

2
234
12
View Code
Show Classes

Boxes

Boxes typically contain a small amount of information that needs to stand apart from neighboring content. Boxes can be used inside of another container, such as a .tile, or stand alone on the page with a shadow.

Box

A basic box with a border.

View Code
Show Classes

Left Cap Box

A box with a left cap.
View Code
Show Classes

Buttons [ Patterns ]

UW Credit Union's button styles can be applied to <a> and <button> elements.

Button Sizes & Layout

Classes
Standard Buttons
XS, SM - Stretch to full width; stacked
MD+ - Natural width; side-by-side
Small Buttons
.small
Optional
XS, SM - Natural width; side-by-side
MD+ - Natural width; side-by-side
Extra Small Buttons
.xsmall
Optional
XS, SM - Natural width; side-by-side
MD+ - Natural width; side-by-side
Note: There is no size difference between small and xsmall buttons on MD+ screens; .small and .xsmall result in the same size button
.full-width
Optional
Make any button, regardless of size, the full width of its container

Primary Buttons

The primary button should be used for important actions on a page, or the most likely action a user will take when completing a form. For example, a primary button is used to move the user forward in a wizard.

View Code
Show Classes

Secondary Buttons

The secondary button should be used for less important actions on a page, or the less likely choice out of two choices, such as "previous step" in a wizard.

View Code
Show Classes

Tertiary Buttons

A tertiary button should be used for the least important actions on a page.

View Code
Show Classes

Reversed Buttons

A reversed button can be used on a dark background.

View Code
Show Classes

A link button looks like a stylized text link, even when a <button> or <input type="submit" /> is used.

View Code
Show Classes

Icon Buttons

The Icon Button should only be used in special cases to illustrate an imporant action the user should take.

View Code
Show Classes

Disabled Buttons

This button should be used very sparingly. A better UX practice is to have field vaildation (on button select) to help the user know what needs to be fixed. We sometimes will disable a button after button is pressed as to not submit twice if it is taking too long to submit. Text on the button will change to "submitting", "logging in" or something similar.

In most cases, if a user cannot take a particular action, the button should not be there at all. However, in certain circumstances it can be helpful to show where the button will be once the action is available.

Accessibility: This button does not pass contrast but WCAG 2.0 says it doesn't need to. It is considered "incidental" text. But accessibility best practices say it needs to have aria-disabled="true". "The aria-disabled state indicates that the element is perceivable but disabled, so it is not editable or otherwise operable."

WebAIM Contrast Aria Disabled

View Code
Show Classes

Filters & Local Nav [ Patterns ]

Filter

Use for filtering the content on a page. Use with or without a title.

Local Nav

Use for local navigation across a set of pages.

Icons

Accessibility with Icons

When using any icons from the list below make sure to use the proper accessibility markup to optimize the element for screen readers.

Guidelines

  • If the icon acts as a button but is not within a <button></button> tag, include role="button" on the clickable element.
  • If your icon is within a button and it does not have a button label or additional label context within the markup, include a span with .screen-reader-only class to contain descriptive information.
  • If the icon is decoration only and no context is needed from a screen reader, include aria-hidden="true" on the icon tag.

Example code of an icon that is a button with no helper text:

<a href="#" class="link-icon" role="button">
<i class="icon-help" aria-hidden="true"></i>
<span class="screen-reader-only">Text for screen readers</span>
</a>
Arrows & Chevrons
.icon-chevron-left
Denotes a link that navigates the user "back"
.icon-chevron-right
Denotes a link that opens a new page or navigates the user "forward"
.icon-triangle-down
Opens a flyout or dropdown menu or expands a section
.icon-triangle-up
Closes a flyout or dropdown menu or closes a section
.icon-triangle-left
Paging something that remains on screen (ie: the calendar in the datepicker)
.icon-triangle-right
Paging something that remains on screen (ie: the calendar in the datepicker)
.icon-arrow-down
Arrow Down
Visual indicator to explain moving from one option to another
Also used to indicate a decrease, such as a decrease in spending.
Also used for "Pull to Refresh" functionality when user is pulling down.
.icon-arrow-up
Arrow Up
Used to indicate an increase, such as an increase in spending.
Also used for "Pull to Refresh" functionality after user has released.
.icon-arrow-right
Arrow Right
Visual indicator to explain moving from one option to another
.icon-arrow-left
Arrow Left
Currently not used.
UI Messages (See also: Messages)
.icon-checkmark-circle
Success
.icon-checkmark-filled-circle
Success and used in On/Off toggles
.icon-check-mark
Success
.icon-warn
Warning
.icon-info
Information
Activity Status
.icon-checkmark-circle
Completed
.icon-error-outline
Error
.icon-processing
Processing/Pending
.icon-x-circle
Deleted
.icon-recurring
Recurring Item
Radios & Checkboxes (See also: Radio Buttons, Checkboxes)
.icon-radio
Unchecked Radio
.icon-radio.checked
Checked Radio
.icon-checkbox
Unchecked Checkbox
.icon-checkbox.checked
Checked Checkbox
.icon-checkbox.half-checked
Half-Checked Checkbox
Input Prepends and Appends (See also: Text Boxes)
.icon-dollar-sign
Amount Input - Indicates that a monetary vaule is expected; Eliminates the need for the user to type the dollar sign.
.icon-calendar-dropdown
Date Input - Used as a trigger to open a date picker.
.icon-user
Username Input
.icon-users
Indicates Joint Ownership
.icon-lock
Password Input
.icon-eye
"Visible" - used in password fields to indicate clicking it will reveal a password
.icon-eye-blocked
"Hidden" - used in password fields to indicate clicking it will hide a password
.icon-camera
Image Input - Used to indicate that the user is expected to take a new photo, or upload an existing photo.
Menu & Favorite Accounts
.icon-menu
Opens an off-screen menu
.icon-more-horizontal
Opens configuration options for an item
.icon-expand
Vertical expander
.icon-collapse
Vertical collapse
.icon-star
Indicates a favorite account
.icon-link
Indicates a linked external account
.icon-plus
For more items or menus - Heavier font weight
.icon-more
For more items or menus - Lighter font weight
.icon-filter
For filtering items
.icon-bar-filter-square
For filtering items - square lines
.icon-bar-filter-rounded
For filtering items - rounded lines
.icon-sort-amount-asc
Sort arrow ascending with bars
.icon-sort-amount-desc
Sort arrow descending with bars
.icon-sort-horizontal-arrows
Sort or flip icon
.icon-sort-vertical-arrows
Sort up and down
.icon-menu-open
Open search and filter menu
.icon-menu-close
Close search and filter menu
Reports
.icon-pie-chart
Pie Chart
.icon-bar-chart
Bar Chart
.icon-line-chart
Line Graph
Editing (See also: Edit Inline)
.icon-edit
For edit menu
.icon-edit-inline
Triggers inline edit mode
.icon-copy
Triggers copy
.icon-multiple
Triggers "edit multiple" mode; Used by Web Pay, Account History and Secure Messages
Delete or Close
.icon-x
Closes an overlay, hides an element, or clears text out of an input field.
(Plain versus circle treatment is determined based on the containing element.)
.icon-x-circle
Closes an overlay, hides an element, or clears text out of an input field.
(Plain versus circle treatment is determined based on the containing element.)
.icon-trash
Deletes an item
Documents & Folders
.icon-document
Single document, such as a PDF
.icon-documents
Multiple documents
.icon-folder
Closed Folder - Used to group files and indicate a file structure. The children of a closed folder are hidden.
.icon-folder-open
Open Folder - The children of an open folder are visible.
.icon-upload
Document upload
.icon-download
Download document
.icon-printer
Print
Profile & Messages
.icon-user-circle
Profile
.icon-office
Business or Office
.icon-mail
Inbox
.icon-mail-outline
Inbox, 0 New Messages - Used by Mobile App
.icon-notification
Notification
.icon-notification-outline
Notification
.icon-dot
Dot to indicate unread notification
Settings
.icon-cog
Settings - Used by Mobile App
.icon-settings-horizontal
Change Settings Horizontal
.icon-settings-vertical
Change Settings Vertical
.icon-brightness-contrast
Toggle from dark to light mode
.icon-sun
Sun (not use at this time)
Contact Information
.icon-home
Address
.icon-mail
Email address
.icon-phone
Phone number or phone call
.icon-mobile
Mobile number
.icon-mobile-outline
Mobile number
.icon-text
Text message
Secure Messages
.icon-mail
Unread message
.icon-mail-open
Read message
.icon-mail-open-outline
Read message
.icon-reply
Reply
.icon-compose
Compose
Organize
.icon-organize-fill
Organize Trigger - Indicates items in a grid can be moved up/down or left/right
.icon-move
Organize Handle - Used to drag an item up/down or left/right
.icon-reorder
Reorder Trigger - Indicates items can be moved up/down
.icon-move-vertical
Reorder Handle - Used to drag an item up/down
History Items
.icon-pending-item
Create Pending Item
.icon-dispute
Dispute an item
.icon-split
Split an item
.icon-split-item
Split - Used to indicate that an item was split
.icon-papercheck
View check image
.icon-larger-image
View larger image
.icon-earlypayday
Indiciates an Early Payday ACH deposit
Web Pay
.icon-papercheck
Paper Check Payment
.icon-electronic
Electronic Payment
Search (See also: Search Boxes)
.icon-search
Performs a search
.icon-location
Search Current Location - Used to find Branch or ATM
Help (See also: Popovers)
.icon-help
Opens a help popover
Alternately, denotes a link to Help content
.icon-lightbulb
Used in Internal SNAP for FS popout
Alternately, denotes supplementary content for an idea, reminder, or talking tip.
.icon-bug
Report Bug
Security
.icon-key
Icon used for U-Key
Card Management
.icon-card
Icon used for Credit or Debit Cards
.icon-lock
Icon used for Locking a Credit or Debit Card
.icon-unlock
Icon used for Unlocking a Credit or Debit Card
.icon-cancel-card
Icon used for Cancel Card
.icon-replace-card
Icon used for Replace Card
.icon-card-numbers
Icon for illustrating card numbers
.icon-change-pin
Icon used for Change PIN
.icon-limit-increase
Icon used for Limit Increase
.icon-wallet
Icon used for Credit Card Rewards starting 3/7/25
.icon-erase
Icon used to Erase a Purchase with Rewards Points
Social and Sharing Icons
.icon-facebook
Facebook
.icon-linkedin
LinkedIn
.icon-instagram
Instagram
.icon-youtube
YouTube
.icon-twitter
Twitter
.icon-tiktok
TikTok
Emojis
.icon-happy
Happy Face
.icon-smile
Smiley Face
.icon-neutral
Neutral Face
.icon-wondering
Wondering Face
.icon-sad
Sad Face
.icon-angry
Angry Face
Ratings
.icon-star-empty
Empty Star

View Code
Show Classes

Icon Sizes







View Code
Show Classes

Icon Positions

View Code
Show Classes

Icons in a List

  • List item 1
  • List item 2
  • List item 3
  • List item 4
"List" with 1 item (div)
View Code
Show Classes

Icons Beside Content

Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eu fringilla purus. Suspendisse sit amet tempus magna,
quis accumsan ligula. Sed egestas ipsum in arcu sollicitudin dictum. Maecenas pretium sit amet massa venenatis eleifend.
Duis lacinia turpis velit, ac facilisis mi porta eu.

View Code
Show Classes

Icons In Circle

View Code

Inputs

UW Credit Union uses a combination of standard browser inputs and custom inputs in order to create the best user experience regardless of device or screen size.

Labels

To ensure accessibility, every input must have a corresponding label.

View Code
Show Classes

Text Boxes

UW Credit Union uses the standard browser input for text boxes.

A note about this field.
View Code

Use a prepended text box to add an icon to the beginning of a text box. Use sparingly.

0.
View Code
Show Classes

Use an appended text box to add an icon to the end of a text box. Use sparingly.

View Code
Show Classes

Use an outside appended text box to add an icon after a text box which appears to be inside the text box. Developed specifically for a password field because 3rd party password managers will use the space at the far right inside a textbox for their own icon. Use sparingly.

View Code
Show Classes

Date Boxes

Only use a prepended input for a date field with an associated popup calendar when selecting a date near today's date, such as Transfer Date. Otherwise, use a plain text input without a popup calendar for selecting a date far from today's date, such as Date of Birth or ID Issue Date.

(mm/dd/yyyy)
View Code
Show Classes

Select Lists

UW Credit Union uses a custom control for select lists. The control works like an HTML select on MD+ screens, and pops up in an overlay on XS/SM screens. Unlike a standard HTMl <select>, HTML content can be included in each option.

A note about this field.
View Code
Show Classes

Single Select List with Groups

The Select List with Groupings uses a third party javascript solution called Select2 to handle this type of select list. Use this only when you want selects with <optgroup>. Use the UWCU select list for all other select lists.

A note about this field.
View Code

Multi-Select List

The Multi-Select List uses a third party javascript solution called Select2 to handle this type of select list. Use this only when you want to the user to be allowed to select more than one option . This can be used with groups <optgroup> or without. Use the UWCU select list for all other select lists. An example can be found in Web Branch travel plans.

View Code

Text Area

UW Credit Union uses the standard browser input for text areas.

View Code
Show Classes

Scroll Box

UW Credit Union uses read only text areas to display prefilled information (such as a long agreement to terms), which scroll via mouse or gesture.

View Code
Show Classes

Checkboxes

UW Credit Union uses a custom control to replace the standard browser input for radio buttons. This ensures the radio button will be large enough to tap on mobile devices.

View Code

Use the .input-group_option-wrapper along with .input-group_description to create a checkbox list with boxed items.

Choose an item from the list.

A lot of additional information about this option. Bacon ipsum dolor sit amet strip steak pig turducken ball tip doner fatback. Flank pork belly cow bacon, fatback kevin ball tip drumstick rump boudin.

5 qualifying services or $10,000 in combined balances to avoid monthly fee

View Code
Show Classes

Radio Buttons

UW Credit Union uses a custom control to replace the standard browser input for checkboxes. This ensures the checkbox will be large enough to tap on mobile devices and gives us the ability to present a checkbox in a half-checked state.

Radio Button Group:
View Code

Use the .input-group_option-wrapper along with .input-group_description to create a radio list with boxed items. Or use .input-group_option-wrapper without a description for simple boxed radio items.

Would you like to answer this question?

A lot of additional information about this option. Bacon ipsum dolor sit amet strip steak pig turducken ball tip doner fatback. Flank pork belly cow bacon, fatback kevin ball tip drumstick rump boudin.

5 qualifying services or $10,000 in combined balances to avoid monthly fee

A lot of additional information about this option. Bacon ipsum dolor sit amet strip steak pig turducken ball tip doner fatback. Flank pork belly cow bacon, fatback kevin ball tip drumstick rump boudin.

5 qualifying services or $10,000 in combined balances to avoid monthly fee

What is your answer?
A bit of context for choosing this one
A bit of context for choosing that one
View Code
Show Classes

Input with Suggestions

  • Raspberries
  • Peaches
  • Blueberries
View Code

Edit Inline

Edit Account Nickname:
Edit Account Nickname: Cancel
Cancel
View Code

Datepicker

December 2016
S
M
T
W
T
F
S
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31














Items & Lists [ Item Patterns List Patterns]

Items

An item is a single unit that can be used standalone or with other items in an .item-container to form a list. It uses standard padding and can optionally include an icon on the right or left side.

A basic item.
View Code
Show Classes

Attached List

Note: If the content should not be represented in a semantic list (<ul> or <ol>), the .item-container class can be used on other elements, such as <div>.

  • Basic Item 1
  • Basic Item 2
  • Basic Item 3
View Code
Show Classes

Unattached List

  • Basic Item 1
  • Basic Item 2
  • Basic Item 3
View Code
Show Classes

Convertible Lists

A list of items that are unattached on XS/SM and attached on MD+.

  • Basic Item 1
  • Basic Item 2
  • Basic Item 3
View Code
Show Classes

Link Areas [ Item Patterns | List Patterns ]

Modals, Popovers & Flyouts

Modals, flyouts and popovers are used to reveal extra informational content or links when clicked.

Modals

A modal is a box overlaying the current screen, but you can still see the dimmed content behind. We use modals in contexts such as:

  • To edit content - use this when you have content you want the user to edit without leaving the page.
    Examples: editing a pending or history item or erasing a purchase.
  • To confirm action - use to confirm an action the user is taking which cannot be undone, in essence destructive.
    Examples: deleting a pending item or leaving a page
  • To educate - use to educate or provide clarity to a user.
    Examples: definitions of financial terms, how the credit pull process works or a frequently asked question.
  • To notify user of an error or message - use to notify a user that an error or potential issue occurred.
    Examples: session time out

Modal Trigger: Modals can be triggered when the user takes an action like clicking an icon, link or button. The element's trigger can be a unique ID or a class, but a unique ID is recommended.

Modal Content: In most cases, you'll need to create a separate page for the modal content. When the trigger element is clicked, JavaScript will put the modal content into the template modal overlay.

Tips: It is recommended to place your on-page JavaScript into a @section PageScripts. Make sure the JavaScript references the correct names of your trigger class/ID and your modal content page.

View Code
Show Classes

Confirm modals work a bit differently. Rather than creating a view for the modal content, title, and buttons, and writing JavaScript to trigger the modal, simply add the attribute "data-confirm" to your button or link and include the markup you want to display within the body of the confirm modal.

The modal template for all Confirm modals is already hard-coded with the title "Confirm" and two buttons: "Confirm" and "Cancel", so you don't need to define these. The Confirm modal uses the "mini" modal size.

Confirm modals are used when the user is about to take an action that cannot easily be undone. For example, resetting the mobile app or deleting a Secure Message.

View Code

Popovers (use sparingly - instead where possible use modal as it has better mobile usability)

Use popovers to reveal useful information that should not be visible unless needed by the user, such as on-page help.

I am text that needs explanation.
View Code
Show Classes

Flyouts

Use flyouts to reveal lists of links. Flyouts are presented as a modal on XS, SM screen sizes and as a flyout menu on MD+. Two styling options are available: dark and light. The dark list of links is only applied on MD+ screen sizes.

View Code
Show Classes

Progress

Progress Bar

Use this progress bar to present feedback to the user during time-consuming operations, such as uploading an image. This is used in conjunction with some javascript that animates the bar across until the upload is complete.

20%


100%
View Code
Show Classes

Progress Circle

Use the progress circle to show the user progress toward a goal.

Accessibility: Axe DevTools will flag this as not passing contrast and needs review because "Element's background color could not be determined due to a pseudo element". This might be because Chrome says the puesdo class CSS Variable background color isn't defined (bug?). These have been checked manually and pass contrast.

Future: Check to see where we are still using these. Can we eliminate some of these? Can we not use a psuedo element?

View Code
Show Classes

Progress Simple

Use this simple progress bar to show the progress through a simple workflow. This was designed to take up less vertical space than other progress components in order to have a better mobile experience. This might not work well for long or complicated workflows where you need more detail.

  • We use the .progress-simple as a wrapper to indicate the max value of the progress bar.
  • We use the inner .progress-simple_bar to indicate the progress so far.
  • The .progress-simple_bar requires an inline style to set their width.
  • The .progress-simple_bar also requires some role and aria attributes to make it accessible.
25%
50%
75%
100%
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas neque neque, luctus a fermentum at, elementum sed massa. Aliquam erat volutpat.
View Code
Show Classes

Progress Steps

Use the step progress to show the users linear progress toward a goal.

Accessibility Requirements: Every progress bar requires role="progressbar" and some aria values, like min, max, the current value, label and value text aria-label="Progress Steps" aria-valuetext="Step 1: Getting Started" aria-valuenow="1" aria-valuemin="1" aria-valuemax="3". The screenreader should read this "Progress Bar Step 1, Getting to know You".

Update: From axe Dev tools: ul or ol (ordered or unordered list) element cannot be role="progressbar".

Accessibility: Steps in the future do not pass contrast but WCAG 2.0 says it doesn't need to. It is considered "incidental" text. But accessibility best practices say it needs to have aria-disabled="true". "The aria-disabled state indicates that the element is perceivable but disabled, so it is not editable or otherwise operable."

WebAIM Contrast Aria Disabled

1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
4
View Code
Show Classes

Ribbons

Favorite Ribbon [ Patterns ]

A favorite ribbon is used to denote a Favorite Account. A favorite ribbon can be placed in any container that implements the .has-ribbon class.




View Code
Show Classes

Corner Ribbon

A corner ribbon is used to communitcate a new feature. A corner ribbon can be placed in any container that implements the .has-corner-ribbon class.

NEW


View Code
Show Classes

Spinners

Basic Spinner

View Code
Show Classes

UWCU Leaf Spinner

Loading...

View Code
Show Classes

Tiles [Patterns: Items, Lists ]

Tiles are used to group sections of content on a page. Tiles should stand alone against the background of the page and should usually not be nested inside another tile, box or other styled container.

Basic Tile

Tile content.
View Code
Show Classes

Timeline [Patterns: Timeline Patterns ]

  • 1You Complete Your Application
    If you've gathered all your info, the application takes 30-45 minutes
  • 2We Review Your Application & Notify You of the Status
    2 business days
  • 3Your School Certifies Your Enrollment & Loan Amount
    10 business days
  • Find Your Personalized Offers
    Get prequalified card offers with no risk and no obligation.
  • Choose Your Favorite Offer
    Decide which credit card is right for you.
  • Complete the Online Application
    We'll prefill your info to make it even easier.
View Code

Toggles [ Patterns ]

UW Credit Union uses toggles as follows:

  • Toggles are used to perform an action when there are 2 choices.
  • For example, use a toggle to turn a setting on or off. (Note: The action should happen right away. No need to press another button to save the choice.) Use a toggle to show/hide a section of a form/page.
  • One of the choices should always be selected by default. You should never see a toggle with both choices unselected.
  • A toggle should not fire validation. Both choices should be valid.

Basic Toggle

Yes No

Yes No
View Code
Show Classes
Now Later

Now Later
View Code

Pill Toggle

Use the pill toggles for settings. Pill toggles have less visual weight and are are well-suited to appear stacked in a list of items.

On Off

On Off
View Code
Show Classes

Typography

Currency

At larger sizes, currency is presented in a stylized format.

Note: Screen readers cannot accurately read this stylized format out loud, so an additional element with the dollar amount in plain text must be included, such as <span class="screen-reader-only>$100.00><span>. The element with stylized currency must be hidden from screen readers with the aria-hidden="true" attribute.

$52.00

$52.00

$52.00

$1,892.56

View Code
Show Classes

Dates

At smaller sizes, dates are presented in all caps for better readability. At larger sizes, dates are presented in a stylized format.

Dec 25, 2017

Dec 25, 2017

Jan 4
2017
View Code
Show Classes

Mini Labels [ Label/Value Pair Patterns ]

UW Credit Union uses a small label for label/value pairs and for list headings.

Label
View Code
Show Classes

Mini Headings [ List Patterns ]

UW Credit Union uses a small heading for lists when the prominence of the title should be reduced.

Heading

View Code
Show Classes