A Tiny Component Library and Design System Starter.
It has basic extendible components and basic plumbing using rollup with publish process.
Download or clone the repository and run the following commands from the root directory locally
yarn
yarn build-storybook
yarn storybook
This should be part of your CI pipeline
npm run publish
This creates files array for publishing in package.json
and then uses semantic-release
to publish to npm
The directory structure looks like this
themebook
src
components
tokens
utils
Using rollup
We build the JSX into transpiled version inside packages
.
Bundling is upto the consumer application.
import Button from 'themebook/packages/Button';
and if you want to use the ES
version you can import it like this
import Button from 'themebook/packages/es/Button';
Theme file is defined in
src\theme\theme.js
You can use useTheme
hook or withTheme
HOC to get theme prop in your project.
To override this basic theme, just provide your own theme object and pass it down to ThemeProvider
// index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { ThemeProvider } from 'styled-components';
import App from './App';
const Root = () => (
<ThemeProvider theme={{ ...yourOwntheme }}>
<React.Fragment>
<App />
</React.Fragment>
</ThemeProvider>
);
ReactDOM.render(<Root />, document.getElementById('root'));
We are always open and invite developers to contribute to ThemeBook. We have kept the guidelines and process dead simple, so you invest more time in making components accessible to all.
Micromodal follows the standardjs coding standard.
- Clone Github repo
$ git clone https://github.com/eeshdarthvader/themebook
- Install
yarn
package manager (Read installation guide) - Run
yarn install
in the root folder to install all dependencies - Run
yarn storybook
to start a dev server for storybook. - Make the component in
src/component
folder with a storybook file. - Send us pull request and chill
This project is licensed under MIT license.
Eesh Tyagi - @EtEesh 🇩🇪