npm package: @locate-a-locum/react-components
Description: A collection of React components used to build Locate a Locum's web products.
Author: LocateALocum
Latest version: 3.24.0

&nbsp;

<img 
    src=".storybook/public/images/logo.svg" 
    alt="Locate a Locum Logo" 
    width="325px" 
/>
***
&nbsp;

# [React Component Library](https://react-components-docs.herokuapp.com/?path=/docs/getting-started-welcome--page)

A collection of React components that are used to build Locate a Locum's web products. Based on our common design system, the components aim to provide a consistent, high quality experience for users and developers alike.

## Usage

### Install

The component library is distributed via the public [NPM Registry](https://www.npmjs.com/) in the `@locate-a-locum/react-components` package:

```sh
yarn add @locate-a-locum/react-components
```

> Note that this library has a number of `peerDependencies` that must be satisfied.

### Import Components

```jsx
import { Button } from '@locate-a-locum/react-components';

<Button>Locate a Locum</Button>
```

For full setup instructions, visit the [Component Library Setup Page](https://react-components-docs.herokuapp.com/?path=/docs/getting-started-setup--page).

## Built With

- **Framework** | [React](https://reactjs.org/)
- **Language** | [TypeScript](https://www.typescriptlang.org/)
- **Styling** | [Styled-components](https://styled-components.com/) + [Styled-system](https://styled-system.com/)
- **Testing** | [Jest](https://jestjs.io/) + [react-testing-library](https://testing-library.com/docs/react-testing-library/intro)
- **Documentation** | [Invision DSM](https://www.invisionapp.com/design-system-manager) + [Storybook](https://storybook.js.org/)
- **Build & Deployment** | [Webpack](https://webpack.js.org/) + [Github Actions](https://github.com/features/actions) + [Heroku](https://www.heroku.com/)
- **Linting** | [ESlint](https://eslint.org/)

## Developer Contributions

> Note: react-components development required node version 12.0.
 (if you have 12.0 installed, run `nvm use 12.0.x` - if you don't have 12.0.x installed, you can do this via `nvm install 12.0.x` )

- Check out the `develop` branch for initial development.
- Run `yarn` to install dependencies.
- Run `yarn docs` to run the local doc-site and test components.

## Local Development against other repos

We use [yalc](https://www.npmjs.com/package/yalc) to enable testing against local versions of other LaL repos. 

Check out the [Debugging against express-web-app repository](https://lal.atlassian.net/wiki/spaces/D/pages/749338625/Debugging+against+express-web-app+repository) article for information on setup.




### Testing Locally

- `yarn docs` will start the doc site locally allowing you to perform some tests.
- `yarn build` will do a production build of the library.

## Build and Release

For information on our contribution and release workflow, check out this [Confluence article](https://lal.atlassian.net/wiki/spaces/D/pages/740164043/Release+Process).

## Release Notes

You can view an up to date changelog for the component library is the [repositories Github release page.](https://github.com/locate-a-locum/react-components/releases)