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
yarnpackage manager (Read installation guide) - Run
yarn installin the root folder to install all dependencies - Run
yarn storybookto start a dev server for storybook. - Make the component in
src/componentfolder with a storybook file. - Send us pull request and chill
This project is licensed under MIT license.
Eesh Tyagi - @EtEesh 🇩🇪