Components Explained

Components are interactive UI elements with a specific functional behaviour. These can vary in complexity: from basic components like buttons or text inputs, to more complicated components like a color picker. All of the components within Canvas have been created using Canvas Tokens which are consistent preset stylings used in both design libraries and code libraries alike. Think of these like the DNA that makes Workday products look and feel like they’re part of the same family.

The components in the official Canvas Figma libraries and Canvas Kit code repository have been created to be as universal, flexible and scaleable as possible. This means they can be of most value to the most amount of teams using them. Our mission is to provide you with high quality flexible building blocks so you can efficiently build a diverse set of cohesive Workday experiences.

Components vs Patterns

Components and Patterns are intrinsically related, but they are not the same. Components in and of themselves lack context. They are the essential building blocks by which UI solutions are built. Components help development teams to quickly and efficiently build UI solutions in a modular way.

Core patterns classify and document reusable UI solutions, or 'ways of doing things' built to respond to common user problems. An example of a patterns is the convention of how search bars and results work on eCommerce websites. Or the pattern of error messages reacting to user interactions. The patterns and components we use in Canvas are solutions built with similar visuals. These use a combination of various Canvas components and tokens, which provide the visual UI layer which users interact with.

Custom Components

Looking to create custom components with Canvas? Check out our Getting Started guidance for creating custom components with Canvas.

Component Status

Canvas components are available for the following platforms:

ComponentWebiOSAndroid
ButtonYesYesYes
Action BarYesYesYes
Segmented ControlYesNoNo
CardYesNoNo
Expandable ContainerYesYesYes
ListNoYesYes
Side PanelYesNoNo
TableYesNoNo
TabsYesYesYes
AvatarYesYesYes
BannerYesNoNo
Loading DotsYesNoNo
PillYesYesYes
SkeletonYesYesYes
Status IndicatorYesYesYes
CheckboxYesYesYes
Color InputYesNoNo
Date InputNoYesYes
Date PickerNoYesYes
Form FieldYesNoNo
Number InputNoYesYes
RadioYesYesYes
SelectYesNoNo
SwitchYesNoNo
Text AreaYesYesYes
Text InputYesYesYes
BoxYesNoNo
FlexYesNoNo
GridYesNoNo
Bottom Navigation BarNoYesYes
BreadcrumbsYesNoNo
PaginationYesNoNo
Alert DialogNoYesYes
Bottom SheetNoYesYes
MenuYesYesYes
ModalYesNoNo
PopupYesNoNo
ToastYesNoNo
TooltipYesNoNo
TextYesNoNo
Body TextYesNoNo
HeadingYesNoNo
Label TextYesNoNo
SubtextYesNoNo
TitleYesNoNo

Contribute A Component

Looking to contribute a component to Canvas? Check out our Getting Started guidance for contribution for designers or for developers to learn more.

Can't Find What You Need?

Check out our FAQ section which may help you find the information you're looking for. For further information, contact the #canvas or #canvas-kitchannels on Slack.

FAQ Section