Components

Our components are a collection of interface elements that can be reused across the Shopify system.

Components can be combined to help anyone building products for Shopify to efficiently design consistent experiences for merchants.

This frees us up to focus on solving unique merchant challenges, rather than reinventing interface elements that are already in use.


Getting started

The component library was designed to help developers quickly create the best experience for Shopify merchants.

Each component includes information to help you implement them, such as:

  • Explanations of the merchant problem it solves in the interface
  • Interactive examples so you can see the component in action
  • Best practices and guidelines to use the component correctly

Learn more about developing apps and themes for Shopify on our developer hub.


Installing and implementing

There are two options for installing and implementing our components, React or CSS.

React components (Recommended)

Use React components in most cases, especially if you’re building a highly interactive experience. This can be done with or without a build system.

CSS components

  • Use CSS components if you don’t have or want a build system for your project

  • Include the CSS in your HTML to implement:

<link rel="stylesheet" href="https://sdks.shopifycdn.com/polaris/1.1.1/polaris.css">

Using the components

You can find comprehensive instructions on how to use components in the Polaris GitHub repo. There are also example applications to explore.

Here are some basic instructions to help you get started for both React and CSS-only:

React components (Recommended)

Include the CSS in your HTML:

<link rel="stylesheet" href="https://sdks.shopifycdn.com/polaris/1.1.1/polaris.css">

Include the component in your project:

import {Button} from '@shopify/polaris';

Tell React to render the element in the DOM:

ReactDOM.render(<Button onClick={() => alert('Button clicked!')}>Example button</Button>, domContainerNode);

CSS components

Include the CSS stylesheet in your HTML:

<link rel="stylesheet" href="https://sdks.shopifycdn.com/polaris/1.1.1/polaris.css">

Add the appropriate classes to your HTML elements:

<button class="Polaris-Button">Example button</button>

Learning resources

These resources have information on getting started with React and how to develop apps and themes for Shopify.

React

If you’re new to React, start with the official React Getting Started documentation. As you read through the topics, follow along using the React Hello World CodePen example.

Here are some additional resources:

Shopify's developer hub

Learn more about developing apps and themes for Shopify on our developer hub.


Methodology

We set out to make our components easy to use. Each of our components has a well-documented public interface (API) with guidelines and well-defined conventions. This way, developers don’t need to worry about the underlying implementation. Instead, they can focus on creating amazing merchant experiences.

We ensure that our components are made for everyone. They meet accessibility standards and are responsive to any screen or device. We also put a lot of effort into optimizing the performance of the components, so everyone can build inclusive experiences that work.

We make our components flexible enough to meet diverse needs. Our components are set up to be restructured based on the information passed in. No matter what type of experience you’re creating, you can use components as the building blocks of your product or feature.


Feedback

Issues or feature requests can be created on the Polaris GitHub page. At this time we’re not accepting pull requests. This is something we’ll support in the future.