open-index/open-npm huggingface dataset:
npm package: @ikaiodev/beyrjs
Description: Pure development easier and faster
Author: iKaio
Latest version: 1.0.2

# Installation
### Get the code

#### JS [/beyr/master/beyr.min.js](https://raw.githubusercontent.com/iKaio0998/beyr/master/beyr.min.js)
#### CSS [/beyr/master/beyr.min.css](https://raw.githubusercontent.com/iKaio0998/beyr/master/beyr.min.css)

### Import them into your html
Add these lines to the **head** of your html:
```html
<head>
  <script src="./beyr.min.js"></script> <!-- Path to ./beyr.min.js -->
  <link rel="stylesheet" href="./beyr.min.css"> <!-- Path to ./beyr.min.css -->
  ...
```
npm package: @ikalasdev/contractmanager
Description: A library for managing contracts
Author: TLBail
Latest version: 1.0.12

# Contract Manager

## Installation

1. This is a [Node.js](https://nodejs.org/en/) module available through the
[npm registry](https://www.npmjs.com/).
Before installing, [download and install Node.js](https://nodejs.org/en/download/). 
If this is a brand new project, make sure to create a `package.json` first with
the ``npm init``  [command](https://docs.npmjs.com/creating-a-package-json-file).

2. install the module using
```bash
npm install @ikalasdev/contractmanager
```

## Usage

```js
    const manager = require("@ikalasdev/contractmanager");
    
    const abi = manager.getAbi(erc20SourceCode);

    const transaction = await manager.deploy(erc20SourceCode);

    const {address, networkName, explorer} = await manager.deploy(erc20SourceCode, chainId, process.env.PRIVATE_KEY);
```

Want to see more ? [Check the test code in the repository](https://github.com/ikalasdev/ContractManager)
npm package: @ikalasdev/fund-receiver
Description: 1. This is a [Node.js](https://nodejs.org/en/) module available through the [npm registry](https://www.npmjs.com/). Before installing, [download and install Node.js](https://nodejs.org/en/download/).  If this is a brand new project, make sure to create
Author: TLBail
Latest version: 1.0.2

# fund-Receiver


## Installation

1. This is a [Node.js](https://nodejs.org/en/) module available through the
[npm registry](https://www.npmjs.com/).
Before installing, [download and install Node.js](https://nodejs.org/en/download/). 
If this is a brand new project, make sure to create a `package.json` first with
the ``npm init``  [command](https://docs.npmjs.com/creating-a-package-json-file).

2.  **This module need to be in a** [**hardhat project**](https://hardhat.org/getting-started/).  
[create hardhat project](https://hardhat.org/getting-started/) with 
```
npm install hardhat --save-dev
npx hardhat
```

3. install the module using
```bash
npm install @ikalasdev/fund-receiver
```

## Usage

```js
    const data = await fundRecever.deploy(chainId, PRIVATE_KEY);
    const balance = await fundRecever.balance(publicKey);
    await fundRecever.decreaseBalance(publicKey, "0.001");
```

Want to see more ? [Check the test code in the repository](https://github.com/ikalasdev/fund-Receiver)
npm package: @ikalasdev/multisender
Description: Send BNB or BEP20 tokens to multiple addresses in single transaction. Available on the Binance Smart Chain.
Author: TLBail
Latest version: 1.1.5

# MultiSender

- This package is used here https://ikalas.com/app/bsc-token-multisender
- Send BNB or BEP20 tokens to multiple addresses in single transaction.


## Installation

1. This is a [Node.js](https://nodejs.org/en/) module available through the
[npm registry](https://www.npmjs.com/).
Before installing, [download and install Node.js](https://nodejs.org/en/download/). 
If this is a brand new project, make sure to create a `package.json` first with
the ``npm init``  [command](https://docs.npmjs.com/creating-a-package-json-file).

2.  **This module need to be in a** [**hardhat project**](https://hardhat.org/getting-started/).  
[create hardhat project](https://hardhat.org/getting-started/) with 
```
npm install hardhat --save-dev
npx hardhat
```

3. install the module using
```bash
npm install @ikalasdev/multisender
```

## Usage

if you want to send to a lot of addresses the module need to split the transaction in multiple ones.
you can specify the chunk size using :
```js
multisender.setChunkSize(500);
```
the module offer a methode to get the best chunk size for your transaction.
```js
multisender.getBestChunkSize(address, amounts, tokenToSend);
```
the methode search by default between 100 and 1000 addresses or lower. you can change the boundary using:
```js
multisender.getBestChunkSize(address, amounts, tokenToSend, mininumBoundary, maximumBoundary);
```

## Examples

```js

const multisender = require('@ikalasdev/multisender');

const rpcUrl = "https://data-seed-prebsc-1-s1.binance.org:8545/";
const multiSenderContractAdress = "0xBbF1e343953e749d7f00C68bE3FA64E1e044f4d4";


await multisender.init(multiSenderContractAdress, rpcUrl, SENDER_PUBLIC_KEY);
        
const estimation = await multisender.estimate( [addr1.address], [ethers.utils.parseEther("1")], token.address);

console.log("gas cost: ", estimation.gas);
console.log("fee: ", estimation.fee);
```


```js
const transaction = await multisender.createTransaction(
            [addr1.address],
            [ethers.utils.parseEther("1")],
            token.address);


// sign and send the transaction
await clientSigner.sendTransaction(transaction);


```


## utils

    
```js
const decimal = await getDecimal(tokenAddress); //you must have called init before to provide a network
```
Want to see more ? [Check the test code in the repository](https://github.com/ikalasdev/multisender)
npm package: @ikalasdev/nftgenerator
Description: generate nft easily
Author: https://github.com/TLBail
Latest version: 1.2.7

# NftGenerator

# installation

```bash
npm install @ikalasdev/nft-generator
```
# usage
you need to specify a network rpc url and a privateKey.

the nft file and the metadata is publish on pinata ipfs.
you can change the pinata api key and secret in the properties.

only the deployer of the contract can mint new nfts so if you need to add new nfts to the collection 
you need to use the same deployer wallet.
# Exemple

## create new nft 

```js
const nftGenerator = require('@ikalasdev/nftgenerator');

const properties = {
    name: "collection Name ",
    description: "collection description ",
    nfts: [
        {
            //required properties
            filePath: "./nfts/1.png", // can be a url or a local path

            //optional properties (you can add as many as you want)
            name: "nft name",
            description: "nft description",
            attributes: [
                {
                    "trait_type": "Background",
                    "value": "Black"
                }
            ]
        }
    ],

    
    //optional by default the nft owner will be the deployer of the contract
    owner: "0xSFsdfs....",

    //optional if you need to specify a network
    network: {
        rpcUrl: "https://polygon-mumbai.g.alchemy.com/v2/FSDFS...",
        privateKey: YOUR_PRIVATE_KEY
    },

    //optional if you want to use a different pinata api key and secret
    pinata: {
        apiKey: "YOUR_API_KEY",
        apiSecret: "YOUR_SECRET"
    }
};

async function main() {
    await nftGenerator.create(properties);
}
```

## add new nft to collection

```js
const nftGenerator = require('@ikalasdev/nftgenerator');

const properties = {
    name: "collection Name ",
    description: "collection description ",
    nfts: [
        {
            //required properties
            name: "nft name ",
            filePath: "./nfts/1.png", // can be a url or a local path

            //optional properties (you can add as many as you want)
            description: "nft description",
            attributes: [
                {
                    "trait_type": "Background",
                    "value": "Black"
                }
            ]
        }
    ],
    owner: "0xSFsdfs....", // futur owner of the nft

    contractAddress: "0xCF793afc84B8a9415579022CC00551dA146E80d3", // contract address of the collection

    //optional if you need to specify a network
    network: {
        rpcUrl: "https://polygon-mumbai.g.alchemy.com/v2/FSDFS...",
        privateKey: YOUR_PRIVATE_KEY
    },

    //optional if you want to use a different pinata api key and secret
    pinata: {
        apiKey: "YOUR_API_KEY",
        apiSecret: "YOUR_SECRET"
    }
};

async function main() {
    await nftGenerator.addToCollection(properties);
}
```
npm package: @ikalasdev/timelock
Description: Interact with a Timelock smart contract.
Author: HAOUCHET Sahel
Latest version: 1.0.2

# TimelockCreator

Timelock creator is a library that allow you to get the ABI, the bytecode and the sourcecode of a Timelock smart contract. 
You can also deploy immediatly a contract on a blockchain.

## Prerequirements:

This is a [Node.js](https://nodejs.org/en/) module available through the
[npm registry](https://www.npmjs.com/).
Before installing, [download and install Node.js](https://nodejs.org/en/download/). 
If this is a brand new project, make sure to create a `package.json` first with
the ``npm init``  [command](https://docs.npmjs.com/creating-a-package-json-file).

## Installation

1.  **This module need to be in a** [**hardhat project**](https://hardhat.org/getting-started/).  
[create hardhat project](https://hardhat.org/getting-started/) with 
```
npm install hardhat --save-dev
npx hardhat
```

2. install the module using
```bash
npm install @ikalasdev/timelock
```
check soldity compiler version is >= 0.8.0 in **hardhat.config.js**

By default, the basic hardhat project include hardhat-waffle. If this requirement is missing, this at the begining of the **hardhat.config.js** file:
```js
require('@nomiclabs/hardhat-waffle')
```

and download the library with :
```bash
npm install @nomiclabs/hardhat-waffle
```


## Network
For this library there is no needs to setup the network.

## Examples
### Create the contract

With promises :
```js
const timelock = require("@ikalasdev/timelock");


timelock.create().then(function(result) {

    console.log(result.abi);
    console.log(result.bytecode);
    console.log(result.contract);
});
```
with async function : 
```js
const timelock = require("@ikalasdev/timelock");

async function GetInformations()
{
    var result = await timelock.create();
    console.log(result.abi);
    console.log(result.bytecode);
    console.log(result.contract);
}

GetInformations();
```

### Deploy a Timelock contract

With promises :
```js
const timelock = require("@ikalasdev/timelock");


timelock.deploy().then(function(result) {
 //do what ever you what
});
```
with async function : 
```js
const timelock = require("@ikalasdev/timelock");

async function DeployContract()
{
    await timelock.deploy();
}

DeployContract();
```
npm package: @ikalogic/cs8000-api
Description: Node.js API for CS8000 series RF switches
Author: Ikalogic
Latest version: 1.0.4

# CS8000 API

This package contains the Node.js API for CS8000.

## What is CS8000
CS8000 is a family fully programmable, RF switches. It's used for various lab and industrial applications, like 5G MIMO testing, multi-port VNA setups antenna switching, and signal routing.

More information about the hardware can be found on the [product page](https://www.ikalogic.com).

## Installation
You can install the package via npm:

```bash
npm install @ikalogic/cs8000-api
```

## Usage
Here's a simple example of how to use the CS8000 API in your Node.js application:
```javascript

import { CS8000 } from '@ikalogic/cs8000-api';

const sw = new CS8000("CS8216");
await sw.open(); // Auto-detect first available device
sw.prepare(1, 1);
sw.prepare(2, 0);
await sw.commit();
await sw.close();
```
npm package: @ikamva/components
Description: Ikamva Web Components
Author: Sivuyile Magutywa
Latest version: 0.0.9

![Built With Stencil](https://img.shields.io/badge/-Built%20With%20Stencil-16161d.svg?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjIuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI%2BCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI%2BCgkuc3Qwe2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU%2BCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MjQuNywzNzMuOWMwLDM3LjYtNTUuMSw2OC42LTkyLjcsNjguNkgxODAuNGMtMzcuOSwwLTkyLjctMzAuNy05Mi43LTY4LjZ2LTMuNmgzMzYuOVYzNzMuOXoiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTQyNC43LDI5Mi4xSDE4MC40Yy0zNy42LDAtOTIuNy0zMS05Mi43LTY4LjZ2LTMuNkgzMzJjMzcuNiwwLDkyLjcsMzEsOTIuNyw2OC42VjI5Mi4xeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNDI0LjcsMTQxLjdIODcuN3YtMy42YzAtMzcuNiw1NC44LTY4LjYsOTIuNy02OC42SDMzMmMzNy45LDAsOTIuNywzMC43LDkyLjcsNjguNlYxNDEuN3oiLz4KPC9zdmc%2BCg%3D%3D&colorA=16161d&style=flat-square)

# Ikamva Components

Web Components and Shared Code

## Using this component

### Node Modules

- Run `npm i @ikamva/components --save`
- Put a script tag similar to this `<script src='node_modules/@ikamva/components/dist/ikamva.js'></script>` in the head of your index.html
- Then you can use the element anywhere in your template, JSX, html etc

###

- Run `npm i @ikamva/components --save`
- Add an import to the npm packages `import ikamva;`
- Then you can use the element anywhere in your template, JSX, html etc
npm package: @ikamva/ngx-tailwindcss
Description: Tailwind CSS angular schematic
Author: Sivuyile Magutywa
Latest version: 1.0.4

<h1 align="center">Tailwind CSS + Angular</h1>

## ℹ️️ Description

This schematic adds Tailwindcss 2x to an Angular 11 or NX project. 

<br>

## 🔧 How to Install

To Install using `angular cli`, simply do:

```
ng add @ikamva/ngx-tailwindcss
```

<br>

To Install in a specific project:

```
ng add @ikamva/ngx-tailwindcss --project my-app
```

<br>

## 👨🏻‍🏫 How to Use

Check out the [API docs](https://tailwindcss.com/) for the available utilities.

<br>

## ⚠️️ Disclaimer

This repository contains code which is directly taken from:

- [Angular Material](https://github.com/angular/components/tree/master/src/cdk/schematics/utils)
- [Angular 8 + Tailwind CSS Guide](https://dev.to/seankerwin/angular-8-tailwind-css-guide-3m45)

All credits go to the respective developers! 👏

<br>

## 💁🏻 Contributing

This is an open source project. Any contribution would be greatly appreciated!
npm package: @ikamva/saidvalidator
Description: Validates South African ID
Author: Sivuyile Magutywa
Latest version: 2.1.0

<h1 align="center">SA ID VALIDATOR</h1>

## ℹ️️ Description

This package validates South African ID

<br>

## 🔧 How to Install

Install using npm:

```
npm install @ikamva/saidvalidator
```

Install using yarn:

```
yarn add @ikamva/saidvalidator

```
Install using pnpm:

```
pnpm add @ikamva/saidvalidator

```

<br>

## 👨🏻‍🏫 How to Use

### Get full details
```ts
import { validateSAID, Validate }  from "@ikamva/saidvalidator";

// Get all details if valid
const saIDData: Validate = validateSAID("1601016372082"); // {valid: true, gender: 'Male', citizenship: 'SA', dob: '01 Jan 2016'}


// If invalid
const saIDData: Validate = validateSAID("1601016372081"); // {valid: false, gender: 'Invalid ID', dob: 'Invalid ID', citizenship: 'Invalid ID'}

```

### Check Valid ID Only
```ts
import { isSAID }  from "@ikamva/saidvalidator";

// Check if valid sa id only
const isValid = isSAID("1601016372082"); // true
```

### Get D.O.B 
```ts
import { getDOB }  from "@ikamva/saidvalidator";

// returns DD MMM YYYY or 'Invalid ID'
const gender = getDOB("1601016372082"); // 01 Jan 2016 
```

### Get Gender 
```ts
import { getGender }  from "@ikamva/saidvalidator";

// returns 'Male' or 'Female' or 'Invalid ID'
const gender = getGender("1601016372082"); // Male 
```

### Get Citizenship 
```ts
import { getCitizenship }  from "@ikamva/saidvalidator";

// returns 'SA' or 'Other' or 'Invalid ID'
const citizen = getCitizenship("1601016372082"); // SA 
```
<br>

## 💁🏻 Contributing

This is an open source project. Any contribution would be greatly appreciated!
npm package: @ikana/datank-grid
Description: Grid for all the projecs inside datank 
Author: Rodrigo Quezada
Latest version: 0.1.4

# datank-grid
 
This grid is based on the skeleton micro frame work, it's class based.

The grid is a 12-column fluid grid with a max width of 960px, that shrinks with the browser/device at smaller sizes. The max width can be changed with one line of CSS and all columns will resize accordingly. The syntax is simple and it makes coding responsive much easier. Go ahead, resize the browser. 



![the grid](https://raw.githubusercontent.com/datankai/datank-grid/master/img/Bildschirmfoto%202018-06-22%20um%2012.05.26.png "grid illustrated")

```
  <!-- .container is main centered wrapper -->
  <div class="grid-container">

    <!-- columns should be the immediate child of a .row -->
    <div class="row">
      <div class="one column">One</div>
      <div class="eleven columns">Eleven</div>
    </div>

    <!-- just use a number and class 'column' or 'columns' -->
    <div class="row">
      <div class="two columns">Two</div>
      <div class="ten columns">Ten</div>
    </div>

    <!-- there are a few shorthand columns widths as well -->
    <div class="row">
      <div class="one-third column">1/3</div>
      <div class="two-thirds column">2/3</div>
    </div>
    <div class="row">
      <div class="one-half column">1/2</div>
      <div class="one-half column">1/2</div>
    </div>

  </div>
```
npm package: @ikangxu/vuepress-plugin-mouse-effects
Description: mouse-effects plugin for vuepress-theme-reco or other vuepress theme
Author: IKangXu
Latest version: 0.0.3

## 鼠标移动特效

此插件为Vuepress插件，为了更快捷的搭建一个博客进行演示，此处推荐使用主题[vuepress-theme-reco](https://github.com/vuepress-reco/vuepress-theme-reco)

以下是对该主题的介绍（摘抄自官网）

### Introduce

1. 这是一个vuepress主题，旨在添加博客所需的分类、TAB墙、分页、评论等功能；
2. 主题追求极简，根据 vuepress 的默认主题修改而成，官方的主题配置仍然适用；
3. 效果：[午后南杂](https://www.recoluan.com) 
4. 文档：[vuepress-theme-reco-doc](https://vuepress-theme-reco.recoluan.com)

主题效果演示

![Home](https://github.com/vuepress-reco/vuepress-theme-reco/raw/develop/images/home-blog.png)

以下是次插件的效果演示

> particle

![插件效果演示](./assets/img/mouse.gif)

> click-word

![插件效果演示](./assets/img/click-word.gif)

## 插件调用方式

暂时只支持本地调用  
将此插件下载到本地  
使用npm link进行项目关联

然后再`vuepress-theme-reco`主题的`index.js`中进行如下配置即可使用

```js
[require('@ikangxu/vuepress-plugin-mouse-effects'), {
  type: 'click-word', // 暂时只内置了一个特效   内置的特效有 particle|click-word
  words: ["富强", "民主", "文明", "和谐", "自由", "平等", "公正" ,"法治", "爱国", "敬业", "诚信", "友善"], // click-word效果需要用到的文字提示
  style: {
    cursor: 'Altr_Vnd', // 支持自定义cursor，没有则为默认样式
    borderRadius: '50%', // 形状 particle效果需要用到
    zIndex: 2,
    colors: ["#FF0000", "#FF7D00", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF", "#FF00FF"], // 颜色
    fontSize: 14, // click-word效果需要用到的文字显示大小
    r: {
      min: 5, // 半径最小值
      max: 15 // 半径最大值
    },
    dx: {
      min: -10, // 横向偏移量最小值
      max: 10 // 横向偏移量最大值
    },
    dy: {
      min: -10, // 纵向偏移量最小值
      max: 10  // 纵向偏移量最大值
    }
  }
}]
```

```shell
npm i @ikangxu/vuepress-plugin-mouse-effects -D
```

```js
['@ikangxu/vuepress-plugin-mouse-effects', {
  type: 'click-word', // 暂时只内置了一个特效   内置的特效有 particle|click-word
  words: ["富强", "民主", "文明", "和谐", "自由", "平等", "公正" ,"法治", "爱国", "敬业", "诚信", "友善"], // click-word效果需要用到的文字提示
  style: {
    cursor: 'Altr_Vnd', // 支持自定义cursor，没有则为默认样式
    borderRadius: '50%', // 形状 particle效果需要用到
    zIndex: 2,
    colors: ["#FF0000", "#FF7D00", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF", "#FF00FF"], // 颜色
    fontSize: 14, // click-word效果需要用到的文字显示大小
    r: {
      min: 5, // 半径最小值
      max: 15 // 半径最大值
    },
    dx: {
      min: -10, // 横向偏移量最小值
      max: 10 // 横向偏移量最大值
    },
    dy: {
      min: -10, // 纵向偏移量最小值
      max: 10  // 纵向偏移量最大值
    }
  }
}]
```

该插件是全局的，无需新增多余代码
npm package: @ikangxu/vuepress-plugin-rss
Description: rss plugin for vuepress-theme-ic
Author: IKangXu
Latest version: 0.0.4

```js
[require('@ikangxu/vuepress-plugin-rss'), {
  base_url: '/', // required
  site_url: 'http://ikangxu.cn', // required
  copyright: 'IKangXu 2020', // optional
  // filter some post
  filter: (frontmatter) => { return [true|false] },
  // How much articles
  count: 20
}]
```
npm package: @ikangxu/vuepress-plugin-share
Description: share plugin for vuepress-theme-reco or other vuepress theme
Author: IKangXu
Latest version: 0.0.2

## 分享插件

此插件为Vuepress插件，为了更快捷的搭建一个博客进行演示，此处推荐使用主题[vuepress-theme-reco](https://github.com/vuepress-reco/vuepress-theme-reco)

以下是对该主题的介绍（摘抄自官网）

### Introduce

1. 这是一个vuepress主题，旨在添加博客所需的分类、TAB墙、分页、评论等功能；
2. 主题追求极简，根据 vuepress 的默认主题修改而成，官方的主题配置仍然适用；
3. 效果：[午后南杂](https://www.recoluan.com) 
4. 文档：[vuepress-theme-reco-doc](https://vuepress-theme-reco.recoluan.com)

主题效果演示

![Home](https://github.com/vuepress-reco/vuepress-theme-reco/raw/develop/images/home-blog.png)


以下是次插件的效果演示

![插件效果演示](./assets/img/share.gif)

## 插件调用方式

暂时只支持本地调用  
将此插件下载到本地  
使用npm link进行项目关联

然后再`vuepress-theme-reco`主题的`index.js`中进行如下配置即可使用

```js
[require('@vuepress-ikangxu/vuepress-plugin-share'), {
  supports: ['qq-qzone', 'renren', 'douban', 'sina-weibo', 'wechat', 'tieba-baidu', 'qq']
}]
```

or

下载插件

```shell
npm i @ikangxu/vuepress-plugin-share -D
```

```js
['@ikangxu/vuepress-plugin-share', {
  supports: ['qq-qzone', 'renren', 'douban', 'sina-weibo', 'wechat', 'tieba-baidu', 'qq']
}]
```

该插件是全局的，无需新增多余代码