Components

Components are the reusable building blocks of our design system. Each component meets a specific interaction or UI need, and has been specifically created to work together to create patterns and intuitive user experiences.

Forms and input

Button

A button triggers an event or action. They let users know what will happen next.

Calendar

An interactive calendar for date selection experiences.

Checkbox

A checkbox is an input control that allows a user to select one or more options from a number of choices.

Comment

A comment displays discussions and user feedback.

Date time picker

A date time picker allows the user to select an associated date and time.

Dropdown menu

A dropdown menu displays a list of actions or options to a user.

Focus ring

A focus ring clearly indicates which item has keyboard focus.

Form

A form allows users to input information.

Radio

A radio input allows users to select only one option from a number of choices. Radio is generally displayed in a radio group.

Range

A range lets users choose an approximate value on a slider.

Select

Select allows users to make a single selection or multiple selections from a list of options.

Text area

A text area lets users enter long form text which spans over multiple lines.

Text field

A text field is an input that allows a user to write or edit text.

Toggle

A toggle is used to view or switch between enabled or disabled states.

Images and icons

Avatar

An avatar is a visual representation of a user or entity.

Avatar group

An avatar group displays a number of avatars grouped together in a stack or grid.

Icon

Beta
An icon is a symbol representing a command, device, directory, or common action.

Icon object

An object icon is used to represent an Atlassian-specific content type.

Image

Beta
An image that changes in light or dark themes.

Logo

A logo is a visual representation of a brand or product. It can be a word or an image, or a combination of both.

Layout and structure

Layout grid

Deprecated
A responsive layout grid is a component designed to manage the content of a page.

Page

Caution
A page layout organizes sections on a page using a grid and grid columns.

Page header

A page header defines the top of a page. It contains a title and can be optionally combined with breadcrumbs buttons, search, and filters.

Page layout

Caution
A collection of components which let you compose an application's page layout.

Libraries

Auto scroll

An optional Pragmatic drag and drop package that enables automatic scrolling during a drag operation

CSS

Beta
Style components backed by Atlassian Design System design tokens powered by Compiled CSS-in-JS.

CSS reset

A base stylesheet for the Atlassian Design System.

Core

The core package for Pragmatic drag and drop - enabling fast drag and drop for any experience on any tech stack

Design tokens

Design tokens are the single source of truth to name and store design decisions.

Flourish

An optional Pragmatic drag and drop package for adding visual flourish to drag and drop experiences

Hitbox

An optional package for Pragmatic drag and drop that enables the attaching of interaction information to a drop target

Live region

An optional package for Pragmatic drag and drop that enables screen reader messaging for alternative flows

Motion

A set of utilities to apply motion in your application.

Popper

A wrapper for React Popper for situations which require a bespoke popup where other ADS components are deemed unsuitable

Portal

A wrapper for rendering components in React portals.

Pragmatic drag and drop

Flexible and fast drag and drop for any experience on any tech stack

React accessibility

An optional package for Pragmatic drag and drop containing react components to assist with setting up accessible experiences

React drop indicator

An optional Pragmatic drag and drop package containing react components that provide a visual indication about …

Unit testing

An optional package for Pragmatic drag and drop with helpers for unit testing

react-beautiful-dnd autoscroll

An optional package for Pragmatic drag and drop that enables automatic scrolling during a drag operation. This …

react-beautiful-dnd migration

An optional Pragmatic drag and drop package that enables rapid migration from react-beautiful-dnd to Pragmatic drag and drop

Loading

Progress bar

A progress bar communicates the status of a system process.

Spinner

A spinner is an animated spinning icon that lets users know content is being loaded.

Messaging

Banner

A banner displays a prominent message at the top of the screen.

Flag

A flag is used for confirmations, alerts, and acknowledgments that require minimal user interaction, often displayed using a flag group.

Inline message

An inline message lets users know when important information is available or when an action is required.

Modal dialog

A modal dialog displays content that requires user interaction, in a layer above the page.

Onboarding (spotlight)

An onboarding spotlight introduces new features to users through focused messages or multi-step tours.

Section message

A section message is used to alert users to a particular section of the screen.

Navigation

Atlassian navigation

Caution
A horizontal navigation component for Atlassian products.

Breadcrumbs

Breadcrumbs are a navigation system used to show a user's location in a site or app.

Link

A link takes people to a new location in the product or another website.

Menu

A list of options to help users navigate, or perform actions.

Pagination

Pagination allows you to divide large amounts of content into smaller chunks across multiple pages.

Side navigation

Caution
A highly composable side navigation component that supports nested views.

Tabs

Tabs are used to organize content by grouping similar information on the same page.

Overlays and layering

Blanket

A blanket covers the underlying UI for a layered component, such as a modal dialog or a tooltip.

Drawer

A drawer is a panel that slides in from the left side of the screen.

Inline dialog

Caution
An inline dialog is a pop-up container for small amounts of information. It can also contain controls.

Popup

A popup displays brief content in an overlay.

Tooltip

A tooltip is a floating, non-actionable label used to explain a user interface element or feature.

Primitives

Box

Beta
A box is a primitive component that acts as a generic container, and provides managed access to design tokens.

Pressable

Beta
A pressable is a primitive component for building custom buttons, and provides managed access to design tokens.

Inline

Beta
Inline is a primitive component based on flexbox that manages the horizontal layout of direct children.

Stack

Beta
Stack is a primitive component based on flexbox that manages the vertical layout of direct children.

Flex

Beta
Flex is a primitive layout component that implements the CSS Flexbox API.

Grid

Beta
Grid is a primitive layout component that implements the CSS Grid API.

Bleed

Beta
Bleed is a primitive layout component that controls negative whitespace.

XCSS

Beta
XCSS is a safer, tokens-first approach to CSS-in-JS.

Responsive

Beta
Responsive helpers and primitives to build responsive UIs with.

Status indicators

Badge

A badge is a visual indicator for numeric values such as tallies and scores.

Empty state

An empty state appears when there is no data to display and describes what the user can do next.

Lozenge

A lozenge is a visual indicator used to highlight an item's status for quick recognition.

Progress indicator

A progress indicator shows the user where they are along the steps of a journey.

Progress tracker

A progress tracker displays the steps and progress through a journey.

Tag

A tag labels UI objects for quick recognition and navigation.

Tag group

A tag group controls the layout and alignment for a collection of tags.

Text and data display

Code

Code highlights short strings of code snippets inline with body text.

Dynamic table

A dynamic table displays rows of data with built-in pagination, sorting, and re-ordering functionality.

Heading

Beta
A heading is a typography component used to display text in different sizes and formats.

Inline edit

An inline edit displays a custom input component that switches between reading and editing on the same page.

Table tree

A table tree is an expandable table for showing nested hierarchies of information.

Visually hidden

A utility that hides content from the screen while retaining readability by screen readers for accessibility.

Tooling

App provider

Beta
A top level provider for the Design System.

ESLint plugin

The essential plugin for use with the Atlassian Design System.

Storybook addon

Design token storybook addon

Stylelint plugin

Stylelint plugin for use with the Atlassian Design System.

UI Styling Standard

The eslint plugin to enforce and educate on Atlassian's UI Styling Standard