baseweb
A React Component library implementing the Base design language
Uber's open-source library of ready-made React UI components, buttons, inputs, and more, with a consistent design system and easy theming through a single provider wrapper.
Base Web is a library of user interface components built by Uber for building web applications with React. It is the React implementation of Uber's internal design system called Base, which defines a consistent visual language for their products.
The library provides ready-made components such as inputs, buttons, and other common interface elements that developers can drop into a React project. The components are designed to be responsive and follow a consistent style. Theming is handled through a provider pattern, meaning you wrap your application in a theme provider and all components inside pick up the theme automatically. The library includes both a light theme and the ability to define custom themes.
Styling is managed through a separate library called Styletron, which handles CSS-in-JavaScript. Setting up Base Web requires installing both the baseui package and Styletron as peer dependencies. The README includes a short example showing how to wrap an application with the required providers and render a simple input component.
The project mirrors Uber's internal development, but the README notes that the team has reduced its public engagement with the open-source repository. There is a maintenance notice pointing to a blog post with more context on the current support posture.
Documentation and a live component catalog are available on the project's website. A Stackblitz playground link is also provided for trying components in the browser without any local setup. The library is written in TypeScript and ships with type definitions.
Where it fits
- Drop pre-built, consistently styled React components into a web app to avoid building common UI elements from scratch.
- Apply a custom theme across an entire React application by wrapping it in the Base Web theme provider.
- Try out components interactively in the browser via the Stackblitz playground before installing the package locally.