All Projects β†’ SparkPost β†’ Matchbox

SparkPost / Matchbox

πŸ”₯ A react UI component library

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Matchbox

orfium-ictinus
This repo will include the building blocks to create the Orfium Parthenons to come ...
Stars: ✭ 20 (-65.52%)
Mutual labels:  react-components, storybook, design-system
shared-react-components-example
An example of a mono-repository of shared React components libraries!
Stars: ✭ 85 (+46.55%)
Mutual labels:  react-components, storybook, design-system
smores-react
🍭 Marshmallow React components
Stars: ✭ 34 (-41.38%)
Mutual labels:  react-components, storybook, design-system
Stardust
🎨Tiller Design System
Stars: ✭ 19 (-67.24%)
Mutual labels:  react-components, storybook, design-system
design-system
A resource for creating user interfaces based on brand, UX, and dev principles
Stars: ✭ 17 (-70.69%)
Mutual labels:  react-components, design-system
react-toolkit
Flexible components html + css + react using BEM convention. Maybe, you can call it "Design System" !
Stars: ✭ 89 (+53.45%)
Mutual labels:  storybook, design-system
elements
Lovingly crafted ui components based on web components. Works well with all Frameworks - including Angular, React and Vue.
Stars: ✭ 42 (-27.59%)
Mutual labels:  storybook, design-system
reactsandbox
Create a React Component Sandboxes based on compositions
Stars: ✭ 11 (-81.03%)
Mutual labels:  react-components, storybook
availity-react
React components using Availity UIKit and Bootstrap 4
Stars: ✭ 46 (-20.69%)
Mutual labels:  react-components, storybook
ripple
Ripple is the frontend framework for Single Digital Presence, delivered using Nuxt and Vue.js
Stars: ✭ 36 (-37.93%)
Mutual labels:  storybook, design-system
Storybook Design Token
The Storybook Design Token Addon allows you to generate design token documentation from your stylesheets.
Stars: ✭ 252 (+334.48%)
Mutual labels:  design-system, storybook
Hiui
HIUI is a solution that is adequate for the fomulation and implementation of interaction and UI design standard for front, middle and backend.
Stars: ✭ 366 (+531.03%)
Mutual labels:  design-system, react-components
pebble
Pebble Design System
Stars: ✭ 14 (-75.86%)
Mutual labels:  storybook, design-system
vuetify-component-lib-template
Template for creating a component library/design system using Vue.js and Vuetify.js.
Stars: ✭ 35 (-39.66%)
Mutual labels:  storybook, design-system
gypcrete
iCHEF web components library, built with React.
Stars: ✭ 28 (-51.72%)
Mutual labels:  react-components, storybook
sodium-ui
Sodium is a simple, modular and customizable web component library to build elegant and accessible UI pieces for your React Application.
Stars: ✭ 23 (-60.34%)
Mutual labels:  storybook, design-system
Sancho
Responsive and accessible React UI components built with Typescript
Stars: ✭ 365 (+529.31%)
Mutual labels:  design-system, react-components
Storybook Addon Material Ui
Addon for storybook wich wrap material-ui components into MuiThemeProvider. πŸ“ƒ This helps and simplifies development of material-ui based components.
Stars: ✭ 513 (+784.48%)
Mutual labels:  react-components, storybook
Pivotal Ui
Pivotal's design system & component library
Stars: ✭ 637 (+998.28%)
Mutual labels:  design-system, react-components
mod-uk-design-system
Build web applications that meet the Defence Digital service standards
Stars: ✭ 78 (+34.48%)
Mutual labels:  storybook, design-system

Matchbox

Matchbox is an open source design system and React component library, built for SparkPost's UI.

Build Tests Codecov Website Deploy Storybook Deploy Playroom Deploy


Welcome to Matchbox Development

Want to start using Matchbox? See:

Looking for documentation? See:

Collaborating on Matchbox

Matchbox uses Lerna to manage packages.

First install lerna globally, then run the following commands to get started:

npm i -g lerna
git clone [email protected]:SparkPost/matchbox.git
cd matchbox
npm i
lerna bootstrap

Root Repo Scripts

# Start Scripts
npm run start:storybook   # Runs storybook
npm run start:site        # Runs the design system website
npm run start:playroom    # Runs playroom

# Test Scripts
# Integration tests require storybook to be running first
npm run pretest           # Run before running tests for first time
npm run test:unit         # Runs unit tests
npm run test:e2e:gui      # Runs integration tests
npm run test:e2e:headless # Runs integration tests in headless mode

# Build Scripts
npm run build             # Builds all packages

Releases

Our release process isn't perfect, and requires some manual work.

We use lerna to handle versioning and publishing to NPM. Before publishing, ensure you are logged into SparkPost's NPM account locally via the NPM CLI. Reach out to #UXFE or #design-guild on Slack if you need access.

Publishing Steps

  1. Merge all pull requests you wish to release to main.
  2. Before publishing for the first time, set up your github auth token in .env. In order to run changelog you'll need to create a personal access token with the public_repo permissions and copy it to a GITHUB_AUTH variable in an .env file.
  3. On the main branch, run npm run changelog. This generates a markdown changelog in CHANGELOG.md.
  4. Open and edit CHANGELOG.md with correct title and version number of your release.
  5. Push these changes to main if you have permissions, or on a new branch.
  6. Run lerna version --force-publish. The Lerna CLI will prompt you for version numbers. The force-publish flag will force all packages to be bumped to the same version. See https://github.com/lerna/lerna/tree/master/commands/version.
  7. Run lerna publish from-package. The Lerna CLI will prompt you for a one time password from your authenticator. See https://github.com/lerna/lerna/tree/master/commands/publish.

What the commands look like:

npm run changelog
# Open the changelog file and edit
git add CHANGELOG.md
git commit -m "Update CHANGELOG.md"
git push
lerna version --force-publish
lerna publish from-package
# That's it!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].