palantir/blueprint


A React-based UI toolkit for the web

https://blueprintjs.com/

License: Apache-2.0

Language: TypeScript

Keywords: blueprint, components, design, lerna, react, sass, system, table, toolkit, typescript, ui


Blueprint CircleCI

Blueprint is a React-based UI toolkit for the web.

It is optimized for building complex, data-dense web interfaces for desktop applications which run in modern browsers and IE11. This is not a mobile-first UI toolkit.

Read the introductory blog post ▸

View the full documentation ▸

Try it out on CodeSandbox ▸

Read frequently asked questions (FAQ) on the wiki ▸

Latest changelog

3.x Changelog and 3.0 migration guide ▸

Blueprint 3.0 brings support for using multiple major versions of Blueprint on the same web page. This is possible through the removal of global styles and by deconflicting CSS selectors. It also restores support for React 15 as a peer dependency in most packages.

Upgrading from 1.x

Check out the 2.0 changelog on the wiki, and make sure to review the 2.0 migration guide, in addition to the 3.x content above.

Packages

This repository contains multiple projects in the packages/ directory that fall into 3 categories:

Libraries

These are the component libraries we publish to NPM.

  • npm – Core styles & components.
  • npm – Components for interacting with dates and times.
  • npm – Components for generating and displaying icons.
  • npm – Components for selecting items from a list.
  • npm – Scalable interactive table component.
  • npm – Components for picking timezones.

Applications

These are hosted on GitHub Pages as static web applications:

  • docs-app – Documentation site at blueprintjs.com/docs
  • landing-app – Landing page at blueprintjs.com

These are used as development playground environments:

  • table-dev-app – demo page that supports manual testing of all table features

Build tooling

These packages define development dependencies and contain build configuration. They adhere to the standard NPM package layout, which allows us to keep clear API boundaries for build configuration and isolate groups of devDependencies. They are published to NPM in order to allow other Blueprint-related projects to use this infrastructure outside this monorepo.

Contributing

Looking for places to contribute to the codebase? First read the contribution guidelines, then check out the "help wanted" label.

Development

Lerna manages inter-package dependencies in this monorepo. Builds are orchestrated via lerna run and NPM scripts.

Prerequisites: Node.js v10+, Yarn v1.18+

One-time setup

After cloning this repo, run:

  1. yarn to install all dependencies.
  2. yarn verify to ensure you have all the build tooling working properly.

Incorporating upstream changes

If you were previously in a working state and have just pulled new code from develop:

  • If there were package dependency changes, run yarn at the root.
    • This command is very quick if there are no new things to install.
  • Run yarn compile to get the latest built versions of the library packages in this repo.
    • This command is quicker than yarn verify since it doesn't build the application packages (docs-app, landing-app, etc.) or run tests

Developing libraries

Run yarn dev from the root directory to watch changes across all packages and run the docs application with webpack-dev-server.

Alternately, each library has its own dev script to run the docs app and watch changes to just that package (and its dependencies): yarn dev:core, yarn dev:datetime, etc. One exception is table: since it has its own dev application, the dev:table script runs table-dev-app instead of the docs.

Updating documentation

Much of Blueprint's documentation lives inside source code as JSDoc comments in .tsx files and KSS markup in .scss files. This documentation is extracted and converted into static JSON data using documentalist.

If you are updating documentation sources (not the docs UI code which lives in packages/docs-app or the docs theme in packages/docs-theme), you'll need to run yarn compile from packages/docs-data to see changes reflected in the application. For simplicity, an alias script yarn docs-data exists in the root to minimize directory hopping.

Updating icons

The One-time setup and Incorporating upstream changes steps should produce the generated source code in this repo used to build the icons documentation. This is sufficient for most development workflows.

If you are updating icons or adding new ones, you'll need to run yarn compile in packages/icons to see those changes reflected before running any of the dev scripts.

License

This project is made available under the Apache 2.0 License.

Project Statistics

Sourcerank 18
Repository Size 74.1 MB
Stars 15,298
Forks 1,455
Watchers 350
Open issues 453
Dependencies 1,772
Contributors 209
Tags 441
Created
Last updated
Last pushed

Top Contributors See all

Gilad Gray Chris Lewis Adi Dahiya Antoine Llorca gscshoyru Piotr Adam Kwiatkowski Bill Dwyer Benjamin Lee Sebastian Brückner Michael Wu Jason Killian reiv tgreenwatts Christopher Yu Jacek Jagiełło Tanmoy Bhowmik mcintyret Brie Marvin Sum Rootul Patel

Packages Referencing this Repo

blueprintjs-monorepo
A React UI toolkit for the web.
Latest release 3.18.0 - Published - 15.3K stars
@reactivepad/blueprint-table
Scalable interactive table component
Latest release 3.8.7 - Updated - 15.3K stars
@reactivepad/blueprint-core
Core styles & components
Latest release 3.19.3 - Updated - 15.3K stars
@invisionag/blueprintjs-core
Core styles & components
Latest release 3.18.0-refactor-lifecycle-methods.0 - Published - 15.3K stars
@invisionag/blueprintjs-datetime
Components for interacting with dates and times
Latest release 3.12.0-refactor-lifecycle-methods.1 - Updated - 15.3K stars
qy-blueprintjs-core
Core styles & components
Latest release 4.0.0 - Published - 15.3K stars
qy-blueprintjs-icons
Components, fonts, icons, and css files for creating and displaying icons.
Latest release 4.0.0 - Published - 15.3K stars
archsaber-datetime
Components for interacting with dates and times
Latest release 3.5.0 - Published - 15.3K stars
@xrc-inc/blueprintjs-select
Components related to selecting items from a list
Latest release 3.3.1-2 - Updated - 15.3K stars
@xrc-inc/blueprintjs-icons
Components, fonts, icons, and css files for creating and displaying icons.
Latest release 3.3.1-2 - Updated - 15.3K stars
@xrc-inc/blueprintjs-datetime
Components for interacting with dates and times
Latest release 3.4.1-2 - Updated - 15.3K stars
@hitask/blueprint-timezone
Components related to timezone selection and UI
Latest release 3.5.0 - Updated - 15.3K stars
org.webjars.npm:blueprintjs__core
WebJar for @blueprintjs/core
Latest release 2.0.0-rc.1 - Updated - 15.3K stars
@hitask/blueprint-icons
Components, fonts, icons, and css files for creating and displaying icons.
Latest release 3.12.0 - Updated - 15.3K stars
@hitask/blueprint-select
Components related to selecting items from a list
Latest release 3.11.2 - Updated - 15.3K stars
@hitask/blueprint-table
Scalable interactive table component
Latest release 3.8.2 - Updated - 15.3K stars
@hitask/blueprint-datetime
Components for interacting with dates and times
Latest release 3.15.1 - Updated - 15.3K stars
@hitask/blueprint-core
Core styles & components
Latest release 3.22.2 - Updated - 15.3K stars
@blueprintjs/select
Components related to selecting items from a list
Latest release 3.11.2 - Updated - 15.3K stars
@blueprintjs/docs-theme
Blueprint theme for documentalist
Latest release 3.4.0 - Updated - 15.3K stars

Recent Tags See all

@blueprintjs/docs-app@3.22.2 December 09, 2019
@blueprintjs/core@3.22.2 December 09, 2019
@blueprintjs/core@3.22.1 December 06, 2019
@blueprintjs/docs-app@3.22.0 November 28, 2019
@blueprintjs/core@3.22.0 November 28, 2019
@blueprintjs/docs-app@3.21.0 November 21, 2019
@blueprintjs/core@3.21.0 November 21, 2019
@blueprintjs/core@3.17.2 November 15, 2019
@blueprintjs/datetime@3.15.1 November 14, 2019
@blueprintjs/test-commons@0.10.1 November 11, 2019
@blueprintjs/table@3.8.2 November 11, 2019
@blueprintjs/select@3.11.2 November 11, 2019
@blueprintjs/icons@3.12.0 November 11, 2019
@blueprintjs/docs-app@3.20.0 November 11, 2019
@blueprintjs/datetime@3.15.0 November 11, 2019

Interesting Forks See all

ntedgi/blueprint
A React-based UI toolkit for the web
TypeScript - Other - Updated - 1 stars
rasata/blueprint
A React-based UI toolkit for the web
TypeScript - Other - Updated - 1 stars
Mottoweb/blueprint
A React-based UI toolkit for the web
TypeScript - Last pushed - 1 stars
Kirk-Wang/blueprint
一个基于Typescript&React构建的Web UI库
TypeScript - Last pushed - 1 stars
CNXTEoE/blueprint
A React-based UI toolkit for the web
TypeScript - Updated - 1 stars

Something wrong with this page? Make a suggestion

Last synced: 2019-12-13 11:08:05 UTC