Giter Club home page Giter Club logo

gestalt's Introduction

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:

import { Text } from 'gestalt';
import '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:

yarn
yarn test

Build and watch Gestalt:

cd packages/gestalt
yarn watch

Start the docs server:

cd docs
yarn start
open "http://localhost:8080"

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

Using the Masonry playground:

cd test && yarn start
open "http://localhost:3000"

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

./run_integration_tests

Releasing

The following outlines our release process:

  • Checkout a new branch.
  • Bump package version in packages/gestalt/package.json & update CHANGELOG.md.
  • Open a pull request with the new version and land that in master.
  • Once the version is bumped in master, checkout that commit locally.
  • Publish the tag, npm package, and docs with: ./scripts/publish.js.
  • Draft a release from the tag and update the release notes from the CHANGELOG at https://github.com/pinterest/gestalt/releases.

gestalt's People

Contributors

chrislloyd avatar christianvuerings avatar pfarejowicz avatar liuyenwei avatar kennand avatar amilajack avatar bradencanderson avatar btraut avatar mminute avatar bhongy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.