SparkPost / Matchbox
π₯ A react UI component library
Stars: β 58
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
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.
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
- Merge all pull requests you wish to release to
main
. - Before publishing for the first time, set up your github auth token in
.env
. In order to runchangelog
you'll need to create a personal access token with thepublic_repo
permissions and copy it to aGITHUB_AUTH
variable in an.env
file. - On the
main
branch, runnpm run changelog
. This generates a markdown changelog inCHANGELOG.md
. - Open and edit
CHANGELOG.md
with correct title and version number of your release. - Push these changes to
main
if you have permissions, or on a new branch. - Run
lerna version --force-publish
. The Lerna CLI will prompt you for version numbers. Theforce-publish
flag will force all packages to be bumped to the same version. See https://github.com/lerna/lerna/tree/master/commands/version. - 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].