UNPKG

@procore/core-react

Version:
125 lines (81 loc) 2.86 kB
## CORE React ![npm](https://img.shields.io/npm/v/@procore/core-react.svg) ![npm](https://img.shields.io/npm/dt/@procore/core-react.svg) A set of React components implementing the design system spec. ## Requirements Node 16+ YARN 4+ ## Usage ### Install Install `@procore/core-react` from [NPM](https://www.npmjs.com/package/@procore/core-react). ```sh yarn add @procore/core-react ``` Install the peer dependencies. ```sh yarn add styled-components @procore/globalization-toolkit react-beautiful-dnd react react-dom ``` Install the optional peer dependencies if necessary. ```sh yarn add formik ``` ### Styles Core React's styled components handle all style inclusion except for two cases: 1. Border box and all elements ```css *, ::after, ::before { box-sizing: border-box; } ``` 2. Font Family ```css font-family: Inter, 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans SC', 'Noto Sans TC', Arial, sans-serif; ``` ### Imports Named imports support tree shaking and types. ```tsx import { Button, ButtonProps } from '@procore/core-react' import { Cog } from '@procore/core-icons' export function ButtonCustom(props: ButtonProps) { return <Button {...props} icon={<Cog />} /> } ``` ## Developing To get started, type the following from the project root directory: ```sh yarn ``` All commands below will be ran in the package directory: ```sh cd packages/core-react ``` We use Storybook to develop. Stories are broken into two categories, Demos for interactions and Coverage for displaying variants. ```sh yarn storybook ``` ## Testing Testing currently consists of Jest snapshots and React Testing Library tests. ```sh yarn test ``` Additional testing includes Visual Regression Testing (VRT) that is ran in CI, which compares pixel snapshots of Storybook Coverage stories. ## Building ``` yarn build ``` ## Contributing and Styleguide Bug reports and pull requests are welcome on GitHub at https://github.com/procore/core. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. In lieu of a formal styleguide, we use [husky](https://github.com/typicode/husky) to create a `precommit` hook, which executes [lint-staged](https://github.com/okonet/lint-staged) to automatically format any git staged files using [prettier](https://github.com/prettier/prettier). ## License The package is available under the [Procore Developers License](https://developers.procore.com/terms_and_conditions) ## About Procore <img src="https://www.procore.com/images/procore_logo.png" alt="Procore Logo" width="250px" /> Procore - building the software that builds the world. Learn more about the #1 most widely used construction management software at [procore.com](https://www.procore.com/)