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 |
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
Shoutouts 🙏
Big thanks to BrowserStack for letting the maintainers use their service to debug browser issues.