@flatfile/design-system
v5.3.0
Published
flatfile's design system
Downloads
27
Maintainers
Keywords
Readme
Design system
This is the home for Flatfile's design system and component library.
Please visit Installation
for more detailed guidelines.
Developing locally
Using NPM:
First and foremost run npm install
To run Storybook npm run storybook
To test npm test
Building a new component
To create a new component, run npm run createComp {ComponentName}
. The template folder contains a file for your component, docs, css, and tests. Don't forget to export your component from src/index.ts
Publishing to NPM
On your branch, run npm run changeset
from the root of this repo and select @flatfile/design-system
.
Select the correct version update (major/minor/patch) and provide a message for what has changed.
A changeset markdown file will be added that should be merged with your PR.
Once merged, this will trigger a Github action to create a PR to update the version and publish the package.
Accessibility
Design system is built on top of React-Aria which provides accessibility and behavior according to WAI-ARIA Authoring Practice.
In order to use keyboard interactions in Mac OS (Safari and Firefox):
- Enable keyboard as a mouse via system preferences.
- In Safari: check
Preferences
>Advanced
>Press tab to highlight each item on a page
.
Review process
We require an approval from a member of the design team and a member of the engineering team.
Installation
npm install @flatfile/design-system
or
yarn add @flatfile/design-system
Consuming
Some components implicitly assume the existence of a global Tooltip component, make sure it exists by wrapping your app with AMPWrapper
import { Button } from '@flatfile/design-system'
Testing locally with separate project repo
If you have made changes within the design system repo and would like to test the new package locally:
- From this repo
npm run pack:prod
(ornpm run build && npm pack
)
- In the consuming repo's
package.json
, update the design system dependency to"@flatfile/design-system": "file:./path/to/flatfile-design-system-x.x.x.tgz"
- In the consuming repo
npm i
- Restart the application