Caution
This library is now inactive and will not be actively developed any further
- Purpose
- Install the NPM package
- Using the RCL locally
- Using an RCL component
- Running tests
- Finding your way around
- Adding New Icons
- Contributing
The RCL is a tool to help create and maintain robust design systems, allowing a developer to roll out higher quality, more consistent User Interfaces (UI) faster.
To see it in action, visit: http://rcl.policygenius.com/latest/index.html
The RCL relies heavily on the following technologies. If you want to learn more about them and how to customize/configure the RCL, take a look at the documentation:
We use Babel to compile our JS, which allows us to use the latest features of the language.
The RCL is published as a package called "Athenaeum", which can be found here.
Install the package in your project with the package manager of your choice:
yarn add athenaeum
npm install athenaeum
- Clone the repo:
git clone git@github.com:policygenius/athenaeum.git
- Install dependencies:
yarn
- Start the server:
yarn start
- Visit
http://localhost:6060
to view
If you want to work on the RCL and another repo simultaneously, you can symlink to Athenaeum from the repo you are working in.
- In your
athenaeum
repo, run:
yarn link && yarn build:publish:watch
- In the repo you are working in, run:
yarn link 'athenaeum'
- When you are finished, in the repo you are working in, run:
yarn unlink 'athenaeum' && yarn
- In your
athenaeum
repo, run:
yarn unlink
RCL components are React components, which are exported as a collection of modules you can import/require like you would any other JS dependency:
e.g.
import { TextComponent, Button, Layout, Col } from 'athenaeum';
function MyReactComponent( props ) {
return (
<div>
<Layout>
<TextComponent type={6}>I am a header!</TextComponent>
<Col>
I am a column!
</Col>
<Button>Submit!</Button>
</Layout>
</div>
)
}
export default MyReactComponent;
The RCL gets exported with a bundled JS file and a CSS file. To use the RCL stylesheet, you can either import them directly into your project:
import 'athenaeum/lib/assets/styles.css';
OR simply link to the latest version of the styles in your HTML:
<link href="http://rcl.policygenius.com/{{v5.5.2 or latest version}}/assets/styles.css" rel="stylesheet">
Note: Test will be run automatically as part of a githook on git push
yarn test
OR
yarn test [filepath]
The RCL uses the following for testing. If you want to learn more about them and how to customize/configure the RCL, take a look at the documentation:
/src
- atoms (Buttons, Icons, Text, etc.)
- molecules (Form Fields, Lists, Image Asides, etc.)
- organisms (Forms, Tables, etc.)
- templates (Headers, Navigators, Footers, etc.)
Our RCL is structured around the concepts put forth by Atomic Design. The smallest components are ATOMS, which are used to make MOLECULES, which are used to make ORGANISMS, which are lastly used to make TEMPLATES.
Upload the icons to our Google Cloud Bucket using these docs.
Add icon name to the list of possible icon values:
- Open
src/atoms/Icon/constants.js
- Add the name of your icon in alphabetical order
For more information on Contributing and issues, please view the athenaeum
Github wiki.
The RCL and the Athenaeum project is a product by PolicyGenius.