October 31, 2019

234 words 2 mins read

uber/baseweb

uber/baseweb

A React Component library implementing the Base design language

repo name uber/baseweb
repo link https://github.com/uber/baseweb
homepage https://baseweb.design
language JavaScript
size (curr.) 72732 kB
stars (curr.) 3639
created 2018-03-09
license Other

Build status

Base is a design system comprised of modern, responsive, living components. Base Web is the React implementation of Base.

Usage

On npm, you can find Base Web as baseui.

Add baseui and its peer dependencies to your project:

# using yarn
yarn add baseui styletron-react styletron-engine-atomic

# using npm
npm install baseui styletron-react styletron-engine-atomic
import {Client as Styletron} from 'styletron-engine-atomic';
import {Provider as StyletronProvider} from 'styletron-react';
import {LightTheme, BaseProvider, styled} from 'baseui';
import {StatefulInput} from 'baseui/input';

const engine = new Styletron();

const Centered = styled('div', {
  display: 'flex',
  justifyContent: 'center',
  alignItems: 'center',
  height: '100%',
});

export default function Hello () {
  return (
    <StyletronProvider value={engine}>
      <BaseProvider theme={LightTheme}>
        <Centered>
          <StatefulInput />
        </Centered>
      </BaseProvider>
    </StyletronProvider>
  );
}

Both Base Web and Styletron come with flow types and TypeScript. All our components are typed and examples have Vanilla, Flow and TypeScript versions. For Styletron + TS, you need to add some additional packages:

yarn add @types/styletron-standard @types/styletron-react @types/styletron-engine-atomic

Example

An example of an application using Base Web can be found here. You can also check how it works on CodeSandbox.

Docs

To read the documentation, please visit baseweb.design.

Contributing

Contributing

Shoutouts 🙏

Big thanks to BrowserStack for letting the maintainers use their service to debug browser issues.

comments powered by Disqus