Graphite is PAQT's white-label design system for digital products and experiences. The system consists of working code, design kits, and human interface guidelines.
This repository contains the working code of the components. The core components are Web Components, and we offer wrappers for React & Vue 3 for optimal DX.
| Project | Package | Version | Downloads | Links |
|---|---|---|---|---|
| Core | @graphiteds/core |
README.md |
||
| React | @graphiteds/react |
README.md |
||
| Vue 3 | @graphiteds/vue |
README.md |
Start using our design system by following our quick Getting Started guide. We would love to hear from you! If you have any feedback or run into issues using our design system, please file an issue on this repository.
To start building the components using Stencil, clone this repo to a new directory:
Make sure you are using Node v16 (with npm v8). If you use nvm, you can run nvm use.
git clone https://github.com/paqtcom/graphite-design-system.git graphite-design-system
cd graphite-design-systemRun these commands to setup this project:
npm install
npm run bootstrapNavigate to the core package and run npm start:
cd packages/core
npm startNow you can develop the components.
Need help? Check out the Stencil docs.
Run this command in the core package to test the core components:
npm run testOr run this command in the root to test the core components and all the framework wrappers.
To create a new npm release, you have to be a member of the graphiteds organization and be logged in to npm in your local terminal (npm login). Your local terminal should also have permission to push to GitHub.
Switch to the master branch.
Go to the root of the repo in your terminal.
Run these commands:
npm run bootstrap
npm run buildThis will generate all necessary builds in the packages (core components and framework wrappers).
If successful, you can then publish all the packages to npm (with lerna):
npm run publishThis will ask what the next version should be, changes all the package.json's, creates a tag in the repo and publishes it to npm (if your terminal has GitHub and npm access).