@innovaccer/design-system

React components library project for Innovaccer Design System

Usage no npm install needed!

<script type="module">
  import innovaccerDesignSystem from 'https://cdn.skypack.dev/@innovaccer/design-system';
</script>

README

Masala Design System

Masala Design System (MDS) is an open-source design system built at Innovaccer. This is a simple and customizable component library to build faster, beautiful, and more accessible React applications on the guidelines and principles of Masala Design System.


codecov GitHub GitHub top language Snyk Vulnerabilities for GitHub Repo


🚀 Get Up and Running

To install @innovaccer/design-system in your project, you will need to run the following command using npm:

npm install @innovaccer/design-system

If you prefer Yarn, use the following command instead:

yarn add @innovaccer/design-system

Adding style:

Import style at your app's root, it is not included in library bundle and shipped as a single css file. For more details see our styling section

import '@innovaccer/design-system/css';

If you want to try out @innovaccer/design-system, you can also use CodeSandbox.

Edit @innovaccer/design-system

Usage

import { Button } from '@innovaccer/design-system';
const App = () => {
  return <Button>Done</Button>;
};

For more information about each component, check out our Storybook. Check out our Tutorial to guide you in creating an awesome app.

CDN

If you prefer to include library globally by marking it as external in your application, library provides various single-file distributions, which can be used as following:

<!-- style -->
<link href="https://unpkg.com/@innovaccer/design-system@2.5.0-3/css/dist/index.css" rel="stylesheet" />

<!-- un-compressed UMD -->
<script src="https://unpkg.com/browse/@innovaccer/design-system@2.5.0-3/dist/index.umd.js"></script>

<!-- brotli compressed UMD -->
<script src="https://unpkg.com/@innovaccer/design-system@2.5.0-3/dist/index.umd.js.br"></script>

<!-- gzip compressed UMD -->
<script src="https://unpkg.com/@innovaccer/design-system@2.5.0-3/dist/index.umd.js.gz"></script>

Styling

As this component library is part of a framework-agnostic design system used at Innovaccer the styling is done with CSS using CSS variables for theming and BEM methodology for reusable and modular styling. So it requires you to include CSS in your project by either importing or serving it as a static file. The complete stylesheet is published as part of the component library at path @innovaccer/design-system/css. You can include css by importing it or loading it from cdn.

👉 Using Font

The css sets the font family as 'Nunito Sans' for the body. To add this font in your project you need to load this font. The recommended way to do it is by adding the following google font cdn link to your app's head.

<link
  href="https://fonts.googleapis.com/css?family=Nunito+Sans:300,300i,400,400i,600,600i,700,700i,800,800i,900,900i&display=swap"
  rel="stylesheet"
/>

👉 Updating Font:

If you don't add the font described above font family will not be affected by css. However, if you want to update the font family update it via the following css variable.

--font-family

👉 Reset Styles

As BEM is used reset.css is not used and no style reset is done.

👉 Polyfill for IE

For css variables to work on IE we use a polyfill at runtime to achieve dynamic theming through variables. Please add the following polyfill in your page.

<script src="https://cdn.jsdelivr.net/npm/css-vars-ponyfill@2"></script>
<script>
  cssVars({
    onlyLegacy: true,
  });
</script>

:card_file_box: Repos

Here are the supporting repositories.

  • MDS Rich Text Editor - Feature-rich WYSIWYG (What You See Is What You Get) HTML editor and WYSIWYG Markdown editor. It is used to create blogs, notes sections, comment sections etc. It has a variety of tools to edit and format rich content.
  • MDS Docs - Documentation site for Masala design system.
  • MDS Helpers - Alert Service.

:books: Documentation

❗ Code of Conduct

We expect everyone participating in the community to abide by our Code of Conduct. Please read it. Please follow it. We work hard to build each other up and create amazing things together. 💪💜

🤝 How to Contribute

Whether you're helping us fix bugs, improve the docs, or spread the word, we'd love to have you as part of the community! :muscle::purple_heart:

Check out our Contributing Guide for ideas on contributing and setup steps for getting our repositories up and running on your local machine.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Aditya Kumawat

💻

Riya Lohia

💻

Satyam Yadav

💻 📖 👀

sandeshchoudhary

💻

adityajhajharia

💻

Anuradha Aggarwal

💻

Sidharth

💻

stuti1090

💻

Vikas Singh

💻

SaniyaGupta

💻

Parth Chauhan

💻

Stuti Pandey

💻

Shivam Dwivedi

💻

Rahul Gaur

💻

atifzaidi92

💻

Sumit Dhyani

💻

Tanmay Sharma

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

:memo: License

Licensed under the MIT License.