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 Hide Code
Show Classes Hide Classes
Classes
.spinnable
Required
Allows an element to be spun by adding one of the supporting classes below.
.spin-60
To be applied via javascript
Extends .spinnable
Spins an element 60 degrees.
.spin-180
To be applied via javascript
Extends .spinnable
Spins an element 180 degrees.
Badges
2
234
12
View Code Hide Code
Show Classes Hide Classes
Classes
.badge
Required
A hollow, gray badge
.hollow
Optional
Extends .badge
A hollow, red badge
.reversed
Optional
Extends .badge
A hollow, white badge
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 Hide Code
Show Classes Hide Classes
Classes
.box
Required
Makes the element a block element; applies padding and margins
.padded
Optional
Adds extra padding for more breathing room when needed
.deco
Optional
Adds a border
.shadowed
Optional
Adds a shadow; Used when box is on a gray background
.sharp
Optional
Removes rounded corners. Special cases only. Good for times when box needs to be flush with edges of its container.
.bg-*
Optional
Applies a background color. See Background Colors for a list of color choices.
.has-close-x
Optional
Adjusts right padding when the box contains a close "x" in the upper right corner
.inline-block
Optional
A box with display inline-block
Left Cap Box
A box with a left cap.
View Code Hide Code
Show Classes Hide Classes
Classes
.box-left-cap
Required
Makes the element a block element; applies padding and margins
.shadowed
Optional
Adds a drop shadow around the box. Use when on a gray a background.
.success
Optional
Makes the left cap green.
.warn
Optional
Makes the left cap orange.
.error
Optional
Makes the left cap red.
.info
Optional
Makes the left cap blue.
.has-close-x
Optional
Adjusts right padding when the box contains a close "x" in the upper right corner
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.
Adjusts horizontal padding when the button contains only an icon, no text
.has-icon-right
Optional
Adjusts right padding when the button contains an icon to the right of the text
.has-icon-left
Optional
Adjusts left padding when the button contains an icon to the left of the text
.full-width
Optional
Sets the button to stretch to the full width of its container
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.
Tertiary buttons are currently only used at xsmall size to lower their prominence Note: There is no size difference between small and xsmall buttons on MD+ screens; .small and .xsmall result in the same size button
Classes
.icon-only
Optional
Adjusts horizontal padding when the button contains only an icon, no text
.icon-right
Optional
Adjusts right padding when the button contains an icon to the right of the text
.icon-left
Optional
Adjusts left padding when the button contains an icon to the left of the text
.full-width
Optional
Set the button to stretch to the full width of its container
Reversed Buttons
A reversed button can be used on a dark background.
A hollow, circular button for an extra large button
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."
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
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
Gives the icon a relative position and moves it down by 3px.
Icons in a List
List item 1
List item 2
List item 3
List item 4
"List" with 1 item (div)
View Code Hide Code
Show Classes Hide Classes
Classes
.check-mark-list
Required
Use checkmark icons in place of the default bullet <ul>
For single-item lists, use a <div> (A list with one item is not really a list. A div is a better container for semantics and accessibility.)
.spaced
Optional
Adds extra space between each item in the list.
.no-indent
Optional
Removes the default left indent from a list.
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 Hide Code
Show Classes Hide Classes
Classes
.prepend-icon
Required
Prepares the contaning div element to correctly place the icon.
.prepend-icon_icon
Required
Correctly sizes and places the icon itself.
.prepend-icon_title
Required
Correctly sizes and places the title
.indent-sm
Optional
Indent content below the .icon-prepend on small screens and larger.
Icons In Circle
View Code Hide 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 Hide Code
Show Classes Hide Classes
Classes
.input-label
Required
.screen-reader-only
Optional
If the expected input can be inferred from other information on the screen by a sighted user, use this class to present the label to screen readers only.
.txt-normal
Optional
Remove bold formatting.
Attributes
for
Required
Must match the ID of the associated input.
Text Boxes
UW Credit Union uses the standard browser input for text boxes.
A note about this field.
View Code Hide Code
Use a prepended text box to add an icon to the beginning of a text box. Use sparingly.
0.
View Code Hide Code
Show Classes Hide Classes
Classes
.input-prepend
Required
A container for the input and icon
.input-prepend_label
Required
Child of .input-prepend.
Container for the icon.
.input-prepend_input
Required
Child of .input-prepend.
Placed on the actual input to ensure proper padding
.wide-label
Optional
Extends .input-prepend_input.
Adds extra padding on the left to accommodate a wider label, i.e. trial deposit amount field
Use an appended text box to add an icon to the end of a text box. Use sparingly.
Child of .input-append.
Placed on the actual input to ensure proper padding
.large
Optional
Extends .input-append_input
Adds additional padding to the input, for displaying text
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.
Child of .input-append-outside.
An icon button that sits outisde the input field, to the far right
.input-append-outside_input
Required
Child of .input-append-outside.
Placed on the actual input.
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 Hide Code
Show Classes Hide Classes
Classes
.input-text
Required
MD+
Input width set to fixed value for cross-browser consistency
XS, SM
Input width set to 100% to maximize tappable area
.narrow
Optional
XS - XL
Input width set to fixed value to indicate a short response is expected, such as zip code
.extra-narrow
Optional
XS - XL
Input width set to fixed value to indicate a 1-2 character response is expected, such as state or middle initial
.full-width
Optional
XS - XL
Input width set to 100%
Classes
.input-prepend
Required
A container for an input or inputs with an unattached, styled block to the left containing a label or icon.
MD+
Input width set to fixed value for cross-browser consistency
XS, SM
Input width set to 100% to maximize tappable area
.input-prepend_label
Required
A span or label that sits to the left of an input
.input-prepend_input
Required
Child of .input-prepend
Extends .input-text
An input that sits to the right of a label
Attributes
type
Required
="text"
maxlength
Required
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.
Choose an item from the list
A note about this field.
View Code Hide Code
Show Classes Hide Classes
Classes
.input-select
Required
A container for a custom select list. The <select> element is hidden and replaced by a more stylized drop down menu.
The trigger and the list of options stretch to 100% width inside this container. Conrol the width of this container
to control the width of the trigger and the list of options.
MD+
The list acts like an HTML select and drops down below the trigger.
XS, SM
The list pops up as a modal box above the page content.
.has-ribbon
Optional
Extends .input-select
An input select which leaves room for a ribbon in the list items
.input-select_trigger
Required
Child of .input-select
An element that when clicked, opens the drop down menu
.input-select_list
Required
Child of .input-select
An unordered list of select options
.input-select_list_item
Required
Child of .input-select_list
A single item in the list
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 Hide 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 Hide Code
Text Area
UW Credit Union uses the standard browser input for text areas.
View Code Hide Code
Show Classes Hide Classes
Classes
.input-text-area
Required
MD+
Input width set to fixed value for cross-browser consistency
XS, SM
Input width set to 100% to maximize tappable area
.full-width
Optional
XS - XL
Input width set to 100%
Attributes
rows
Required
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 Hide Code
Show Classes Hide Classes
Classes
.input-scrollbox
Required
MD+
Input width set to fixed value for cross-browser consistency
XS, SM
Input width set to 100% to maximize tappable area
.full-width
Optional; Recommended
XS - XL
Input width set to 100%
Attributes
rows
Required
readonly
Required
readonly
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 Hide Code
Use the .input-group_option-wrapper along with .input-group_description to create a checkbox list with boxed items.
View Code Hide Code
Show Classes Hide Classes
Classes
.input-group_option-wrapper
Optional
Child of .input-group
A container for .input-group_option and .input-group_description.
Adds a shadowed box around the item.
If an .input-group_description is present, this wrapper should be used.
.input-group_option
Required
Child of .input-group
Displays as a CSS table to ensure the checkbox is always sitting alone to the left.
Attributes
role
Required
"checkbox"
aria-checked
Required
true/false/mixed
tabindex
Required
0
Allows this element to receive focus
Classes
.input-group_option_input
Required
Child of .input-group_option
A container for the checkbox. Displays as a CSS table-cell.
.input-group_option_text
Required
Child of .input-group_option
A container for the label element and other text associated with the checkbox. Displays as a CSS table-cell.
.input-group_description
Optional
Child of .input-group_option-wrapper
An optional container used when an input-group_option needs further text
Allows for responsive indenting via the .indent-sm and .indent-md 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.
View Code Hide 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.
View Code Hide Code
Show Classes Hide Classes
Element
<fieldset>
Required
Ensures accessibilty by grouping all radio buttons together as a set of related inputs.
Attributes
role
Required
"radiogroup"
Element
<legend>
Required
Ensures accessibilty by labeling the group of radio buttons.
Classes
.input-label
Optional
Classes
.input-group_option-wrapper
Optional
Child of .input-group
A container for .input-group_option and .input-group_description.
Adds a shadowed box around the item.
If an .input-group_description is present, this wrapper should be used.
.limit-width
Optional
Modifies .input-group_option-wrapper
Limits the width of the wrapper.
.input-group_option
Required
Displays as a CSS table to ensure the checkbox is always sitting alone to the left.
Attributes
role
Required
"radio"
aria-checked
Required
true/false
tabindex
Required
0
The radio button that should receive focus when a user tabs into the radio button group. If no radios are selected, this is the first radio in the group. Otherwise, it is the selected radio.
-1
All other radio buttons in the list.
Classes
.input-group_option_input
Required
A container for the radio button. Displays as a CSS table-cell.
.input-group_option_text
Required
A container for the label element and other text associated with the radio button. Displays as a CSS table-cell.
.input-group_description
Optional
Child of .input-group_option-wrapper
An optional container used when an input-group_option needs further text
Allows for responsive indenting via the .indent-sm and .indent-md classes.
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 Hide Code
Show Classes Hide Classes
Classes
.basic-item
Required
An individual item
.padded
Optional
Adds extra padding for more breathing room when needed
.padded-horizontal
Optional
Adds extra horizontal padding only for more breathing room when needed
.no-deco
Optional
Extends .basic-item
An item without a border
.deco-top-thick
Optional
Extends .basic-item
An item with a thick top border
.deco-bottom-thick
Optional
Extends .basic-item
An item with a thick bottom border
.forward
Optional
Adds a chevron-right to indicate forward motion
.has-icon-right
Optional
Adjusts right padding when the .basic-item contains an icon on the right side
.has-icon-left
Optional
Adjusts left padding when the .basic-item contains an icon on the left side
Classes
.basic-item_icon-right
Optional
Child of .basic-item
An icon positioned to the right of .basic-item
This class controls the positioning of the icon.
.basic-item_title
Optional
Child of .basic-item
A large, semibold title for the item
.basic-item_icon-top-right
Optional
Child of .basic-item
An icon positioned in the top right corner of .basic-item
This class controls the positioning of the icon.
.basic-item_icon-bottom-right
Optional
Child of .basic-item
An icon positioned in the bottom right corner of item
This class controls the positioning of the icon.
.basic-item_icon-left
Optional
Child of .basic-item
An icon positioned to the left of item
This class controls the positioning of the icon.
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 Hide Code
Show Classes Hide Classes
Classes
.item-container
Required
A container for a list of items. Items are attached at all screen sizes by default.
.condensed
Optional
Extends .item-container
A list of items with less vertical padding.
.condensed-md
Optional
Extends .item-container
A list of items with less vertical padding on MD+ screen sizes
Unattached List
Basic Item 1
Basic Item 2
Basic Item 3
View Code Hide Code
Show Classes Hide Classes
Classes
.item-container-unattached
Required
A list whose items are not attached
.spaced
Optional
Add more space between items in the list
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 Hide Code
Show Classes Hide Classes
Classes
.item-container-convertible
Required
A list whose items are attached on small devices/viewports and attached on medium and larger sizes
A clickable/tappable area of content consisiting of two parts - the content, the action
On MD, LG, XL - both items appear in a row
On SM, XS - the action appears below the content
.non-stacking
Optional
Extends .link-area
All three parts of (content, link and icon) appear in a row on all screen sizes
.condensed
Optional
Extends .link-area
Reduces the vertical padding
Classes
.link-area_content
Required
Child of .link-area
A container for the content portion of the link area
.link-area_action
Required
Child of .link-area
The actionable part of the link area, containing one or more .basic-item other action such as buttons
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.
A container for the modal that takes over the whole viewport and applies a dark background
.open
Required
Extends .modal
A class applied via JavaScript when the popover is open
.force-interaction
Optional
Extends .modal
Hides the "X" for modals that don't allow closing without taking some action
.modal_content
Required
Child of .modal
The modal content that sits on top of the dark background
.narrow
Optional
Extends .modal_content
Displays the modal at a narrower width on md+ screen sizes
.wide
Optional
Extends .modal_content
Displays the modal at a wider width on md+ screen sizes
.mini
Optional
Extends .modal_content
The mini modal does not take up the full screen at mobile screen sizes
Centers the modal at mobile and tablet screen sizes
Mini modal buttons should be placed into two col-xs-6 if space permits
If the button texts are too long for this, each button should be .full-width
Use the mini size only when the modal content is very short
.modal_close
Required
Child of .modal_content
The close "X" in the upper right hand corner
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.
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 Hide Code
Show Classes Hide Classes
Classes
.popover-container
Required
A container for the popover to set positioning
.active
Required
Extends .popover-container
A class applied via javascript when the popover is open
.popover-trigger
Required
The icon or text that opens the popup when clicked.
Classes
.popover
Required
A container for the contents of the popover
.popover_title
Required
Child of .popover
A container for the title of the popover
.popover_content
Required
Child of .popover
A container for the popover contents
.popover_arrow
Required
Child of .popover
The arrow for the popover to point to the parent trigger.
.top
Optional
Extends .popover_arrow
Positions the arrow at the top of the popover
.bottom
Optional
Extends .popover_arrow
Positions the arrow at the bottom of the popover
.right
Optional
Extends .popover_arrow
Positions the arrow at the right of the popover
.left
Optional
Extends .popover_arrow
Positions the arrow at the left of the popover
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.
A container for a clickable/tapple trigger, and associated content that is hidden by default
.flyout_trigger
Required
Child of .flyout
The element that when clicked/tapped causes the content to appear. (Controlled via Javascript.)
.flyout_content
Required
Child of .flyout
Extends .dropdown_content
The content
.flyout_content_title
Required
Child of .flyout_content
The content title which only displays on XS, SM to give context to the content
Classes
.dropdown
Required
A container for content that is hidden by default (i.e. flyout menu)
Takes over the whole viewport and applies a dark background on smalls screens.
.under-pill-btn
Optional
Extends .dropdown
Indents the drop down menu content so it sits under the flat edge of the button only
.dropdown_content
Required
Child of .dropdown
Extends .flyout_content
Content drops down below on MD+ screens, like a traditional HTML select element.
Content pops up as an overlay box on XS/SM screns, like a modal.
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 Hide Code
Show Classes Hide Classes
Classes
.progress
Required
A container for a progress bar and label.
.progress_bar
Required
Child of .progress
A container for the progress bar.
.progress_bar_fill
Required
Child of .progress_bar
The "fill" used to indicate progress. This element's width is updated via javascript.
.complete
Optional
Extends .progress_bar_fill
The "fill" used to indicate progress is complete
.progress_label
Optional
Child of .progress
A continer for the label, i.e. "20%" or "Upload Complete"
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 Hide Code
Show Classes Hide Classes
Classes
.progress-circle
Required
The container for a progress circle. Blue and light background by default.
.small
Optional
Extends .progress-circle
A small progress circle
.large
Optional
Extends .progress-circle
A large progress circle
.green
Optional
Extends .progress-circle
A green progress circle
.orange
Optional
Extends .progress-circle
An orange progress circle
.on-dark-gray
Optional
Extends .progress-circle
A progress circle on a dark gray background
.progress-circle_text
Required
Child of .progress-circle
Contains the percentage text. The text is set via JavaScript using the data-progress value.
.progress-circle_slice
Required
Child of .progress-circle
The container for interior colored ring
.progress-circle_slice_bar
Required
Child of .progress-circle_slice
The main ring that rotates throughout the circle. An inline style to set the roatation is applied via JavaScript.
.progress-circle_slice_fill
Required
Child of .progress-circle_slice
Fills in the right half of the ring when over 50%
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 Hide Code
Show Classes Hide Classes
Classes
.progress-simple
Required
The container for the simple progress bar
.progress-simple_bar
Required
The bar expands across to illustrate the progress
.on-top-of-tile
Optional
Extends .progress-simple so it will sit on top of a tile
.animated
Optional
Extends .progress-simple to animate from the previous step to the current step.
Requires these values to be passed in as a style attribute value on .progress-simple_bar.
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."
The container for the progress steps. Centers the component.
.progress-steps_step
Required
The individual step containing a circle and a bar.
.progress-steps_step_bar
Required
The bar contecting between two step circles.
.progress-steps_step_circle
Required
The circle steps on the bar.
.progress-steps_step_circle_text
Required
The number in the circle.
.progress-steps_step_circle_icon
Required
The icon in the circle.
.step-in-progress
Optional
Extends .progress-steps_step
Changes the style of the circle and the bar. Applied when the step is in progress.
.step-done
Optional
Extends .progress-steps_step
Changes the style of the circle and the bar. Applied when the step is complete.
.grow-line-*
Optional
Extends .progress-steps_step
Changes the style of the circle and all the bars. It will also animate the width of the bar. Example: .grow-line-10 will make the line 10% of the total width of the bar behind it. Applied when a step is in progress.
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 Hide Code
Show Classes Hide Classes
Classes
.ribbon
Required
The standard ribbon size. Fits comfortably next to an account nickname with balances below.
.reversed
Optional
Extends .ribbon
Makes the standard ribbon white with a transprent star for use on a colored background.
.ribbon-small
Required
A small ribbon; Fits comfortably next to a single line of text.
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 Hide Code
Show Classes Hide Classes
Classes
.corner-ribbon
Required
The standard ribbon.
.corner-ribbon_inner
Required
Child of .corner-ribbon
A container for the words to appear on the ribbon
Spinners
Basic Spinner
View Code Hide Code
Show Classes Hide Classes
Classes
.loading
Required
A gray loading spinner
.spin
Required
Extends .loading
An animation class which makes any element spin 360 degrees
.small
Optional
Extends .loading
A smaller loading spinner
.large
Optional
Extends .loading
A larger loading spinner
UWCU Leaf Spinner
Loading...
View Code Hide Code
Show Classes Hide Classes
Classes
.uwcu-loading-container
Required
Positions the loading graphic horizontally
.center-viewport
Optional
Extends .uwcu-loading-container
Positions the loading graphic vertically in the viewport. Use when it is the only thing on the page. Example: App Loading Screen
.uwcu-loading
Required
The relatively positioned container that holds it's absolute positioned children .uwcu-loading_spinner, .uwcu-loading_spinner.inner and .uwcu-loading_logo
.uwcu-loading_spinner
Required
A container for a spinner
.inner
Required
Extends .uwcu-loading_spinner
The smaller of the two spinners.
.uwcu-loading-circle-container
Required
The container for the circles that make up the spinner animation
.uwcu-loading-circle
Required
One of the four circles that make the spinning animation
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 Hide Code
Show Classes Hide Classes
Classes
.tile
Required
A content tile witih a white background and drop shadow
.condensed
Optional
Extends .tile
Condenses the padding to match that of .basic-item
.tile-convertible
Required
A tile whose contents are attached at MD+ screen sizes and separate at XS, SM sizes; For use with .item-container-convertible
.stacked-above
Optional
Extends .tile-convertible
Stacked directly above another .tile-convertible (needed for lists that use "view more" functionality)
.stacked-below
Optional
Extends .tile-convertible
Stacked directly below another .tile-convertible (needed for lists that use "view more" functionality)
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
YesNo
YesNo
View Code Hide Code
Show Classes Hide Classes
Classes
.toggle
Required
A container for the toggle buttons.
.toggle_item
Required
An individual choice in the toggle
.pressed
Optional
Extends .toggle_item
Denotes the button that is currently selected; Applies a solid background color to indicate it is selected.
.positive
Optional
Extends .toggle_item
Denotes that button is not an "Off" or "Disabled" value; Applies an orange background when pressed.
NowLater
NowLater
View Code Hide 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.
OnOff
OnOff
View Code Hide Code
Show Classes Hide Classes
Classes
.toggle-pill
Required
A container for overlapping, pill-shaped toggle buttons.
.narrow
Optional
Extends .toggle
A narrow container for a pill toggle.
.toggle_item
Required
An individual choice in the toggle
.pressed
Optional
Extends .toggle_item
Denotes the button that is currently selected; Applies a solid background color to indicate it is selected.
.positive
Optional
Extends .toggle_item
Denotes that button is not an "Off" or "Disabled" value; Applies an orange background when pressed.
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.
$5200$52.00
+5200$52.00
-5200$52.00
$1,89256Available$1,892.56
View Code Hide Code
Show Classes Hide Classes
Classes
.currency
Required
A container for stylized currency
.large
Optional
Extends .currency
A container for large stylized currency
Classes
.currency_symbol
Optional
Child of .currency
A container for the dollar symbol
.currency_sign
Optional
Child of .currency
A container for the positive (+) or negative (-) sign
.currency_dollars
Required
Child of .currency
A container for the dollars
.currency_cents
Required
Child of .currency
A container for the cents
.currency_label
Optional
Child of .currency.large
A container for the a label
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 Hide Code
Show Classes Hide Classes
Classes
.date
Required
A styled date with a larger month and day and smaller year