Matchbox is an open source React component library, built for SparkPost's UI.
In your React project, use npm to install matchbox:
npm install @sparkpost/matchbox --save
// Import matchbox's styles
@import '~@sparkpost/matchbox/styles.scss';
// Optionally include config.scss for sass functions and mixins
@import '~@sparkpost/matchbox/src/styles/config.scss';
In-depth usage docs coming in the future. For now, reference storybook.
import React from ‘react’;
import { Panel } from '@sparkpost/matchbox';
const YourComponent = () => (
<Panel accent title='Hey!'>
<Panel.Section>
Section Content
</Panel.Section>
</Panel>
);
React Storybook is included for local development.
# Runs storybook at localhost:9001
npm run start:storybook
When running tests for the first time locally:
npm run pretest
After the initial setup, tests can be run at any time via:
npm run test:unit
End to end tests can be run locally, either in headless mode or with a GUI.
First, run storybook with a local server:
npm run start:storybook
Then, either run Cypress in headless mode:
npm run test:e2e:headless
Or, run Cypress with the GUI
npm run test:e2e:gui
# First merge your PR into master
# Move into the package you want to publish
cd packages/matchbox
# Bump version number
npm version x.x.x
# Commit the release
git add .
git commit -m "Publish @sparkpost/matchbox x.x.x"
git push
# Run the build and publish to NPM with your 2fa code
npm run build
npm publish --otp=xxxxxx