For Developers

Using Canvas

Welcome to Workday Canvas! If you’re just starting out developing with Canvas, follow the guide below to get up and running.

The primary way you will interact with Canvas will be with our Canvas Kit React library. Canvas Kit provides a set of components and primitives that can be used to implement user experiences consistent with the rest of Workday.

Canvas Kit

We support installation for existing projects and bootstrapping in a new project.

Installation

For an existing project, add the Canvas Kit React dependency with your preferred package manager.

With Yarn:

> yarn add @workday/canvas-kit-react

With npm:

> npm install --save @workday/canvas-kit-react

Bootstrapping

Canvas Kit is built with React and Create React App is recommended for bootstrapping a new React project.

Usage

Now you're ready to import our components.

import React from 'react';
import {PrimaryButton} from '@workday/canvas-kit-react/button';
import {Flex} from '@workday/canvas-kit-react/layout';
import {
plusIcon,
relatedActionsVerticalIcon,
caretDownIcon,
} from '@workday/canvas-system-icons-web';
import {createStyles} from '@workday/canvas-kit-styling';
import {system} from '@workday/canvas-tokens-web';
const parentContainerStyles = createStyles({
gap: system.space.x4,
padding: system.space.x4,
});
export default () => (
<Flex cs={parentContainerStyles}>
<PrimaryButton>Primary</PrimaryButton>
<PrimaryButton icon={plusIcon} iconPosition="start">
Primary
</PrimaryButton>
<PrimaryButton icon={caretDownIcon} iconPosition="end">
Primary
</PrimaryButton>
<PrimaryButton icon={relatedActionsVerticalIcon} />
</Flex>
);

For more information on how to use Canvas Kit components, check out their documentation in the Components section.

Resources

For more documentation, helpful links and other developer resources, check out the Resources page.

Reporting a Bug

If you spot a bug, inconsistency, or typo, please open a bug issue. Better yet, submit a pull request to addresses it.

Feature Requests

If you have an idea, we would love to hear about it. The best way to suggest a feature is to open a feature issue. The Canvas Kit core team will take a look and discuss it with you.

Questions

If you have a question, we are here to help! Start a new discussion to be connected to one of our team members.

Contributing

Want to contribute to Canvas Kit? Please read our contributing guidelines to find out more and how to get started.

Versioning

Canvas Kit follows semantic versioning and is enforced automatically by conventional commits (see "Commit Message Format").

Can't Find What You Need?

Check out our FAQ section which may help you find the information you're looking for.

FAQ Section