canvas-kit icon indicating copy to clipboard operation
canvas-kit copied to clipboard

Development kits to implement UI following the Workday Canvas Design System (https://canvas.workday.com/). See our Component Storybook -

Workday Canvas Kit

This project provides a set of components for the Workday Canvas Design System that can be used to implement user experiences consistent with Workday's design principles.

Workday Canvas Kit is released under the Apache-2.0 license Maintained with Lerna Release PRs welcome

For a list of available react modules see Canvas Kit Component Status

Getting started

React

Installation

To get started using Canvas kit React first add or install the module to your existing React project

yarn add @workday/canvas-kit-react

or

npm install @workday/canvas-kit-react

Usage

import * as React from 'react';
import {SecondaryButton} from '@workday/canvas-kit-react';

<SecondaryButton>Button Label</SecondaryButton>;

CSS

Installation

To get started using Canvas kit CSS first add or install the module to your project

yarn add @workday/canvas-kit-css

or

npm install @workday/canvas-kit-css

Add your node_modules directory to your SASS includePaths. You will then be able to import index.scss.

Usage

@import '~@workday/canvas-kit-css/index.scss';

You must have PostCSS support. Add the postcss-inline-svg plugin to properly process and inline icons. Process your SASS through PostCSS once it has been compiled to CSS.

<button class="wdc-btn">Button Label</button>

Reporting a Bug

If you spot a bug, inconsistency, or typo, please open a bug issue. Better yet, submit a pull request to address 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.

Contributing

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

Open Development

All work on the Canvas Kit happens directly on GitHub. Both core team members and external contributors can send pull requests which go through the same review process. Any and all issues are public and available for discussion.

Versioning

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

Each module is independently versioned using Lerna.

Version Support

At any given time, we support three major versions of Canvas Kit: previous, current, and next. Each of these have different levels of support.

The previous major version is stable for production and will receive patch updates as needed, but there will be no new features added. Patch releases are automatically deployed upon merge by GitHub Actions.

The current major version is also stable and receives new feature and patch updates. Patch releases are automatically deployed upon merge by GitHub Actions, and minor releases are manually deployed at the end of each sprint.

The next major version is typically an unstable environment and has major breaking changes. You are welcome to pull this version down for local development and experimentation, but we generally recommend against using it in production until the first stable version has been released.

Developer Documentation

  • Contributing
  • Code of Conduct
  • Component Status
  • Upgrade Guides:
    • v4.0 Upgrade Guide
    • v5.0 Upgrade Guide
    • v6.0 Upgrade Guide
    • v7.0 Upgrade Guide
  • Code Style / Best Practices:
    • API & Pattern Guidelines
    • Compound Components
    • Creating Compound Components
    • Testing

License

The Workday Canvas Kits are licensed under the Apache 2.0 License.

Supported Browsers

  • IE11
  • Microsoft Edge: last 2 versions
  • Mozilla Firefox: last 2 versions
  • Google Chrome: last 2 versions
  • Apple Safari: last 2 versions
  • Opera: last 2 versions

Thank you

Visual Testing by ChromaticQA

Builds by Github Actions