pinterest/gestalt

Name: gestalt

Owner: Pinterest

Description: A set of React UI components that supports Pinterest?s design language

Created: 2018-02-16 22:17:51.0

Updated: 2018-05-24 16:13:25.0

Pushed: 2018-05-23 21:47:10.0

Homepage: https://pinterest.github.io/gestalt

Size: 5233

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Gestalt

Build status NPM Version

Gestalt is a set of React UI components that enforces Pinterest?s design language. We use it to streamline communication between designers and developers by enforcing a bunch of fundamental UI components. This common set of components helps raise the bar for UX & accessibility across Pinterest.

View the full docs or Check out the Gestalt playground

Usage

Gestalt exports each component as ES6 modules and a single, precompiled CSS file:

rt { Text } from 'gestalt';
rt 'gestalt/dist/gestalt.css';

That syntax is Webpack specific (and will work with Create React App), but you can use Gestalt anywhere that supports ES6 module bundling and global CSS.

Development

Gestalt is a multi-project monorepo. The docs, components and integration tests are all organized as separate packages that share similar tooling.

Install project dependencies and run tests:


 test

Build and watch Gestalt & run the docs server:

 start

Visit http://localhost:3000/ and click on a component to view the docs.

Using the Masonry playground:

est && yarn start
 "http://localhost:3001/Masonry"

Running Masonry's integration tests. This will leave lots of Firefox processes hanging around, so please be warned.

n_integration_tests
Releasing

If you haven?t already, you?ll first need to create an npm account. Once you've done that you can setup your username and email in Yarn using yarn login.

The following outlines our release process:

  1. Checkout a new branch.
  2. Bump package version in packages/gestalt/package.json & update CHANGELOG.md.
  3. Open a pull request with the new version and land that in master.
  4. Once the version is bumped in master, checkout that commit locally.
  5. Run npm login using your npm username and password.
  6. Run the release script from the root directory of the project ./scripts/publish.js to publish the tag, npm package, and docs.
  7. Draft a new release from the tag at https://github.com/pinterest/gestalt/releases.

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.