VoiceIQ Web Component library

Usage no npm install needed!

<script type="module">
  import voiceiqWebComponents from 'https://cdn.skypack.dev/@voiceiq/web-components';



Not the React Component Library VoiceIQ devs need, the React Component Library VoiceIQ devs deserve


  • 📗 Incredibly good documentation (you are reading it right now)
  • 🤩 Modern ReactJS components tailored to be used on VoiceIQ Web Applications
  • 🚀 Easy to install and use on any of your projects


Bring a unified design language across the VoiceIQ Eco System

  • Say goodbye to maintaining a stylegiude for components in your massive codebase. Leave it to us!
  • Pick the component you want from many components tailored to be used on the VoiceIQ Eco System.
  • Use this library to compose or extend your own component with the VoiceIQ pizzaz built in.

For more info on components, see our Components section. That covers intro to individual components and the architecture, including installation, running and configuration. If you look at the repo, that has has more content and configuration than this relatively plain documentation.

How to use


  • react^16 and react-dom^16 are required for the library to function properly
  • Your project should have support for SCSS


yarn add @voiceiq/web-components


To make use of all the library services, you need to connect your root component to the library

import { connectAll } from '@voiceiq/web-components';

export default connectAll(App)

You may decide to connect to each individual ones if you prefer. This gives you the flexibility to ommit features you don't need.

import { connectTheme } from '@voiceiq/web-components';

export default connectTheme(App)
import { connectSnackbar } from '@voiceiq/web-components';

export default connectSnackbar(App)


You have the flexibility to import the component in multiple different ways. Choose the way you prefer.

import { Button } from '@voiceiq/web-components';

Development Setup


The environment setup guide will focus primarily on a Unix environment. It's easy enough to find Windows alternatives. Google it!

  • Git - The world pretty much runs because of Git. Thanks Linus!
  • NodeJS - Javascript runtime (Psst! Try NVM. It's so cool!)
  • Yarn - Package manager


git clone git@bitbucket.org:voiceiq/viq.web.components.git
cd viq.web.components


The setup guide will primarily focus on Visual Studio Code since it is the editor largely used by Viqizens. Here is a list of recommended extensions to install.

  • ESLint - Makes linting Javascript code infinitely easier
  • Import Cost - Makes you paranoid (at least tries to make you paranoid) about cost of imported modules
  • Auto Close Tag - Writing JSX/HTML easier. Closes the tags for you. Who said chivalry is dead!?
  • Better Comments - Helps you write (maybe not good, but) better comments


Code Standard

  • Check out our ESLint configuration. The expected number of lint errors is 0.
  • Imagin this library to be used by the general public. Design the specs, props and docs to cater to that audience.

Component Structure

We have 4 different types of components in this library defined by their size.


  • Smalles fundemental components
  • Does not have an internal state
  • Includes Texts, Icons, Colours, etc.


  • Bigger yet simple components
  • Does not have an internal state
  • Maybe composed using atomic components
  • Includes Buttons, Containers, etc.


  • Bigger shared components
  • Usually composed using multiple other components
  • May contain an internal state
  • Includes Trays, Data Cards, Notifications, etc.


  • Specialized components tailor made for VoiceIQ usage
  • Usually composed using multiple other components
  • May contain an internal state
  • Includes Calendar, Tables, Accordions, Navigation Panels, etc.

Pull Requests

Contributions are welcome in the form of Pull Requests. Component code, documentation and the storybook is expected to be on point.


We use Semantic Versioning to handle versioning

LIbrary Resources


This project has a built in Storybook. To serve the storybook, run the following command from the root directory

yarn serve:storybook


This project is powered by Docsify to generate this amazing documentation site. To serve the site locally, run the following command from the root directory

yarn serve:docs

Running Doc Site in prod mode

We have a custom ExpressJS server that ties up both the prod version of above sites behind a Active Directory auth wall. To run it, simply

yarn build:storybook
yarn build:docs
yarn serve:express