This is a set of react components some of which are based on SEB's bootstrap. The plan for this project is to increase and improve components for future usage.
- The package name:
@sebgroup/react-components - The package documentation: Documentation
- The package sourcecode: Github Source Code
- NPM package: @sebgroup/react-components
This version of components has been developed with:
- React
- Typescript
- SEB Bootstrap
You should be able to install the NPM package.
npm install @sebgroup/react-components --saveThis project is based on SEB Bootstrap which includes fonts, colors and variables, to make sure everything works fine, please install these dependencies on your project:
npm install @sebgroup/bootstrap --saveThen make sure you add the Main SEB bootstrap package in your main style.SCSS or index.ts as follows
@import '~@sebgroup/bootstrap/scss/bootstrap';.
For Visual Studio Code users, please install the recommended plugins
This project uses prettier for a more consistent (less annoying) coding. We are using 4 different builds for this project. The src folder is where the actual components exist with all their necessary dependencies. and develop folder is where we develop and test those components.
- Development:
npm start - Check formatting rules, Compile components and Create Docs folder:
npm run build - Build and create the Documentation pages only:
npm run docs - To run the unit tests, run:
npm test - To run a unit test for a specific component you have to pass the name of the component, example:
npm test Button. It can also be chained with multiple specific components, e.g.npm test Button RadioGroup - To commit your changes run:
npm run commitand follow the steps
For performance benefits we are not combining all the components into single Index rather they are chunked into their subpackage. Therefore, to use a component, you need to import the Component submodule from the dist folder, in whichever Class you want to use it. Here is a sample of how to import a Button component in a page.
import { Button } from "@sebgroup/react-components";
const Component = () => {
const onClick = (e) => {
console.log("Im Clicked");
}
return (
<div>
<Button onClick={onClick}>Button label</Button>
</div>
);
}
export default Component;