Atlaskit

Atlaskit is a collection of reusable packages designed for Atlassian products and experiences. It includes the Atlassian Design System, Atlassian Editor, Atlassian Media, and other packages.

Our public packages are available under the @atlaskit scope on npm. View the source of all public @atlaskit packages in the Atlassian Frontend mirror repository. This mirror is used because Atlaskit is part of the larger Atlassian Frontend internal repository, which is private.

Installation

Packages are available as individual npm packages. This allows you to use packages as needed, without needing to install everything. However, some prerequisites are required to ensure components behave as expected.

Prerequisites

Peer dependencies

Packages in this repository can have peer dependencies. When installing a package make sure to have these installed first:

# With npm
npm i react@^18.2.0 react-dom@^18.2.0 @compiled/react

# With yarn
yarn add react@^18.2.0 react-dom@^18.2.0 @compiled/react

Packages related to Editor and Media can also have a peer dependency on react-intl. If using an Editor or Media package, make sure to install this peer dependency:

# With npm
npm i react-intl-next@npm:react-intl@^5.18.1

# With yarn
yarn add react-intl-next@npm:react-intl@^5.18.1

Since these are all peer dependencies, they need to be on the specified major version. Undefined behavior may occur when using these peer dependencies on different major versions.

CSS reset

Some packages need this reset to ensure styles render consistently, as undefined behavior can happen without it:

npm i @atlaskit/css-reset

For setup instructions, view the CSS reset documentation.

Design system styles and tooling

The Atlassian Design System includes styles, tokens, components, and tooling required to use certain Atlaskit components and keep them up to date.

View Atlassian Design System setup guide.

Typescript

Atlaskit packages are written in Typescript and ship with Typescript declaration (d.ts) files for typechecking your applications. The minimum typescript version we support is the version we currently use in our repo, which we upgrade on a quarterly cadence.

You can check the version a particular package supports by searching its changelog for the last typescript upgrade release, or by checking the typescript version in the devDependencies of the package (this was added to packages ~ October 2020).

If you are on an older version of Typescript than our packages support, you may encounter issues. We suggest upgrading your version of Typescript where possible. Where not possible, you can use a paths mapping to map @atlaskit paths to an empty declaration file to ignore typechecking for those packages.

Documentation

Usage

Install packages you’re interested in using, for example, a button:

npm i @atlaskit/button
import Button from '@atlaskit/button';

<Button>Hello world</Button>;

Contributing

Currently, Atlassian Frontend is only accepting contributions from Atlassian employees. If you are an Atlassian employee you can find information about this on our internal docs.

Support

For developers outside of Atlassian looking for help, or to report issues, please make a post on the community forum. These forums are monitored and posts will be directed to the appropriate maintainers.

We offer internal support for components that are part of the Atlassian Design System (which corresponds to the /design-system folder in the repository). Please note that the level of support varies for all Atlaskit packages. Some are primarily for internal use, without official support.