@blueprintjs/core alternatives and similar libraries
Based on the "Responsive" category.
Alternatively, view @blueprintjs/core alternatives based on common mentions on social networks and blogs.
-
office-ui-fabric-react
Fluent UI web represents a collection of utilities, React components, and web components for building web applications. -
grommet
a react-based framework that provides accessibility, modularity, responsiveness, and theming in a tidy package -
semi-design
🚀A modern, comprehensive, flexible design system and React UI library. 🎨 Provide more than 3000+ Design Tokens, easy to build your design system. Make Semi Design to Any Design. 🧑🏻💻 Design to Code in one click -
searchkit
Search UI for Elasticsearch & Opensearch. Compatible with Algolia's Instantsearch and Autocomplete components. React & Vue support -
CoreUI for React
CoreUI React.js UI Components. CoreUI for React.js replaces and extends the Bootstrap javascript. Components have been built from scratch as true React.js hook components, without jQuery and unneeded dependencies. -
AgnosticUI
AgnosticUI is a set of UI primitives that start their lives in clean HTML and CSS. These standards compliant components are then copied to our framework implementations in: React, Vue 3, Angular, and Svelte. -
cdbreact
Contrast Design Bootstrap : Elegant UI Kit and reusable components for building mobile-first, responsive websites and web apps -
insites-ui
DISCONTINUED. An opinionated UI components library for React. Based on Styled Components and Styled System.
InfluxDB - Purpose built for real-time analytics at any scale.
Do you think we are missing an alternative of @blueprintjs/core or a related project?
README
Blueprint
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 ▸
Read frequently asked questions (FAQ) on the wiki ▸
Changelog
Blueprint's change log and migration guides for major versions live on the repo's Github wiki.
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.
- – Core styles & components.
- – Components for interacting with dates and times.
- – Components for generating and displaying icons.
- – Popover2 and Tooltip2 components.
- – Components for selecting items from a list.
- – Scalable interactive table component.
- – 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.
- – Documentation theme for Documentalist data.
- – ESLint configuration used in this repo and recommended for Blueprint-related projects
- – implementations for custom ESLint rules which enforce best practices for Blueprint usage
- – various utility scripts for linting, working with CSS variables, and building icons
- – implementations for custom stylelint rules which enforce best practices for Blueprint usage
- – various utility functions used in Blueprint test suites
- – TSLint configuration used in this repo and recommended for Blueprint-related projects (should be installed by
@blueprintjs/eslint-config
, not directly)
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 v16.x (see version specified in .nvmrc
), Yarn v1.22+
One-time setup
After cloning this repo, run:
yarn
to install all dependencies.- If running on Windows:
npm install -g windows-build-tools
to install build tools globally- Ensure
bash
is your configured script-shell by running:npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
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
- This command is quicker than
Developing libraries
There are a few ways to run development scripts, here they are listed from simplest to more advanced usage:
- Run
yarn dev
from the root directory to watch changes across all packages and run the docs application with webpack-dev-server. - Alternately, most libraries have a corresponding dev script to run the docs app and watch changes to just that package:
-
yarn dev:core
-
yarn dev:docs
-
yarn dev:datetime
-
yarn dev:popover2
-
yarn dev:select
-
yarn dev:table
-
- Lastly, if you want to control exaclty which dev scripts are run and view the console output in the cleanest way, we recommend opening separate terminal windows or splits and running local package dev tasks in each one. This is the recommended workflow for frequent contributors and advanced developers. For example, to test changes in the core + icons packages, you would run the following in separate terminals:
-
cd packages/core && yarn dev
-
cd packages/icons && yarn dev
-
cd packages/docs-app && yarn dev
-
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.
*Note that all licence references and agreements mentioned in the @blueprintjs/core README section above
are relevant to that project's source code only.