# About
It is repo for the library of reusable components for INX UI.

# Table of contents
1. [Tech Stack](#tech-stack)
2. [Features](#features)
3. [Getting Started](#getting-started)
4. [Testing](#testing)
5. [Usage](#usage)
6. [Integrations](#integrations)

---

# Tech stack
- Typescript mixed with Javascript and Reactjs. We are migrating slowly to typescript.

---

# Features
Supports a set of useful components used in INX UI repo.

---

# Getting Started
Just start react app and you should be mostly ready to go.

---

## Prerequisites/Dependencies including the versions.
1. Node 22+ installed globally
2. Jetbrains or Visual Studio code or other IDE that supports typescript

---

## First steps
1. ``yarn install``

---

# Testing
No UT and integration tests.
For now, we test manually only.

---

# Usage

## How to run it

### Run

```
npm run start
```

Just in case, you can also run

```
npm i
```

or

```
yarn install
```

to make sure that you have all the dependencies correct.

## How to create a new library version

For every change you make to the library, you have to create a new library version:

1. Go to `package.json` file and update `version` number, so for example if current version is `2.0.414-rc`, you will create version `2.0.415-rc`.
2. Merge your PR with the new version and it will be automatically created. You can check the progress in Pipelines of the repo.
3. Once the new version is created (the pipeline succeed), you can update the library version in INX UI repo in `package.json` and install the new version running `yarn` command.

## How to create a new component for the library

Create a new component in `src/lib/components/` and add it to export list in `src/lib/components/index.js`.

Please add an example of its use in `src/module/examples/` so its easier to know all the components we have.

## How to add new icons to the library

1. Copy the svg icon inside `src/lib/assets/` folder.
2. Create a new icon component in `src/lib/components/Icons/index.js` file.
3. Add new icon component to icon list in `src/module/examples/IconList.js` so its easier to know all icons we have.

---

# Integrations
Application: INX UI

- Protocol: npm

---