open-index/open-npm huggingface dataset:
npm package: @kvcvc/isic
Description: DiscountManager API client
Author: Kovačević Marko
Latest version: 1.0.4

# isic

[![Version](https://img.shields.io/npm/v/@kvcvc/isic)](https://img.shields.io/npm/v/@kvcvc/isic)
[![Downloads](https://img.shields.io/npm/dt/@kvcvc/isic)](https://img.shields.io/npm/dt/@kvcvc/isic)

ISIC Discount Manager client implementation

- verify ISIC/ITIC/ALIVE cards
- report discount usage

## Installation

Using npm:

```shell
npm install @kvcvc/isic
```

## Usage

```node
const DiscountManagerClient = require('@kvcvc/isic');

const client = new DiscountManagerClient(
  'DM_USERNAME',
  'DM_PASSWORD',
  'DM_INSTANCE_URL'
);

client
  .verifyCard('S420001019431J', 'Janička Testová')
  .then((res) => {
    /* {
      id: 3215481, 
      createdOn: '2022-01-01T08:00:00+00:00',
      cardNumber: 'S420001019431J',
      cardholderName: 'Janička Testová',
      mode: 'CARDHOLDER',
      result: 'FAILED',
      reason: 'CARD_EXPIRED',
      cardType: 'ISIC'
    } */
  })
  .catch((err) => {
    // DiscountManagerClientException: Invalid credentials specified
  });
```

## Documentation

For complete documentation about the available operations, please see the [auto-generated JSDocs documentation](./docs).

## License

[MIT](https://choosealicense.com/licenses/mit/)
npm package: @kverhoef/ngx-simple-skeleton-loader
Description: ## Full page skeleton loader
Author: Kevin Verhoef
Latest version: 1.0.15

# Skeleton loader

## Full page skeleton loader

The full page skeleton loader is the simplest way to add skeleton loading to your application.
All that has to be done is implement the interceptor (see below for the code example). Once added it will watch for http calls.
While http calls are requesting the skeleton loader will cover the whole page and block ui-input.

```{ provide: HTTP_INTERCEPTORS, useClass: SkeletonLoaderHttpInterceptor, multi: true }```

## Customizing the skeleton loader

### Excluding parts for the skeleton loading placeholder

Parts can be excluded for skeleton loading by adding the css class **skip-skeleton-loader** to the element.

```<div class="skip-skeleton-loader">This part will not be covered by the skeleton loader</div>```

### Add elements to be replaced by the skeleton loader

By default only text elements will be replaced by the skeleton loader placeholder. To add any other element, add the class **add-skeleton-loader**.

```<div class="add-skeleton-loader">This part will not be covered by the skeleton loader</div>```

## Partial skeleton loader ##
You can get more control to where the skeleton loader should be placed. This requires to specify which element should be blocked by the skeleton loader and which observable it should observe.

```
// 1 Reference a html element for the skeleton loader placement
@ViewChild('skeletonLoaderContainer') skeletonLoaderContainer: ElementRef;

// 2 Add the SkeletonLoaderService
constructor(private skeletonLoaderService: SkeletonLoaderService, private httpClient: HttpClient)

// 3 Use the loadWithSkeleton function
someMethod() {
    this.skeletonLoaderService.loadWithSkeleton(
        httpClient.get('http://example.com'),
        this.skeletonLoaderContainer
    ).subscribe();
}
```
npm package: @kvib/css
Description: NPM-pakke for KVIB-CSS
Author: KVIB
Latest version: 5.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# KVIB - Kartverkets interaksjon- og designbibliotek

[KVIB](https://kartverket.github.io/kvib/) er et prosjekt i regi av eiendomsportalen med mål om å samle designguidelines og kode for Kartverkets applikasjoner.

Dokumentasjonen for KVIB hostes med [github-pages](https://pages.github.com/).

I tillegg har vi også laget npm package, KVIB-css, som inneholder css for designbiblioteket.
Kildekoden til dette ligger i static/css-mappen i dette repoet.

## KVIB-CSS:

For å publisere ny versjon av KVIB-css:

1. Trykk på Github Actions i Kvib Github repository
2. Velg "KVIB Package publish"
3. Trykk på "Run workflow" på Master branch.

Ny versjon av KVIB-css blir opprettet og publisert i kartverkets npm konto.

## Rutine ved endringer:

1. Gjør nødvendige endringer i css-filene i css-mappa i static/css.
2. Sørg for at dokumentasjonen er oppdatert for all ny kode i docs-mappa.
3. Opprett pull-request for endringene dine på github.
4. Merg endringene til master når de er godkjent.
5. Publiser ny versjon (se steg 1-3 i avsnittet over) av KVIB-css til npm.
6. Oppdater blog med informasjon om ny versjon og hva som er endret, (hent versjonsnummer fra package.json i static/css, som ble oppdatert når du kjørte steg 3 i publiseringen)
7. Push commit med nytt versjonsnummer og oppdatert blog direkte på master
npm package: @kviewui/color-builder
Description: kviewui自用的颜色生成工具
Author: kviewui@163.com
Latest version: 1.0.5

# kviewui组件库自用的颜色生成工具
该工具基于[arco design](https://arco.design)的色彩生成算法，封装了一套轻量版的适合组件库打造自己的主题风格的色彩生成工具。

---

## 方法概览
| 方法名 | 说明
| --- | ---
| generate | 用来生成指定颜色的指定配置格式的颜色色阶集合或者颜色色值，具体可看下面示例代码
| getPresetColors | 获取插件预设的主题色集合，主题取色参考了[arco design](https://arco.design)
| getRgbStr | 获取给定颜色值的rgb格式的颜色值，具体可看下面示例代码


### 安装插件
>推荐pnpm作为包管理工具

```shell
pnpm add @kviewui/color-builder
    or
npm i @kviewui/color-builder --save
    or
yarn add @kviewui/color-builder
```
#### 引入插件
```js
import { colorBuilder } from '@kviewui/color-builder'
```

---

## Generate

### Genarate Props
| 参数名 | 说明 | 类型 | 默认值 | 必填
| --- | --- | --- | --- | ---
| color | 颜色值，可选值格式hex/rgb/hsl | String | - | 是
| options | 配置格式，见下方参数结构说明，options不填的话会默认输出`color`参数的`hex`格式颜色值 | Object | - | 否


### Options 参数结构
| 参数名 | 说明 | 类型 | 默认值 | 必填
| --- | --- | --- | --- | ---
| dark | 是否为暗黑模式 | Boolean | `false` | 否
| list | 是否生成为色阶集合，色阶阶梯分为1-10个阶梯 | Boolean | `false` | 否
| index | 色阶值，可选值为1-10之间的数字 | Number | `6` | 否
| format | 颜色值格式，可选值为hex/rgb/hsl | String | 'hex' | 否


### 示例代码

>下面以颜色值格式为`hex`为例，`rgb`和`hsl`格式同理


#### 生成暗黑模式下的色阶集合示例代码，明亮模式同理，调整`dark`参数即可
```js
// 生成暗黑模式下的色阶集合
const colorList = colorBuilder.generate('#00BC79', {
    dark: true, // 暗黑模式
    list: true, // 生成色阶集合,
    format: 'hex'
})
console.log(colorList)
```

>#### 上面示例输出结果
```shell
['#004D3C', '#04684F', '#0B8462', '#13A073', '#1EBC84', '#28C98B', '#52D7A0', '#80E4B7', '#B3F2D3', '#EBFFF4']
```

#### 获取指定颜色的暗黑模式颜色值示例代码，明亮模式同理，调整`dark`参数即可
```js
// 生成指定颜色的暗黑模式颜色值
const darkColor = colorBuilder.generate('#00BC79', {
    dark: true, // 暗黑模式
    list: false, // 不生成色阶集合
    format: 'hex'
})
console.log(darkColor)
```

>#### 上面示例输出结果
```shell
#28C98B
```
---

## GetPresetColors
### GetPresetColors Props
该方法无需传参

### 示例代码

#### 获取预设的主题色集合
```js
const colorList = colorBuilder.getPresetColors()
console.log(JSON.stringify(colorList))
```

>#### 上面示例输出结果
##### 列表了一个索引的结果，后面省略号省略了，自己可以实际运行体验
```shell
arcoblue: [
    // 暗黑模式
    dark: ['#000D4D', '#041B79', '#0E32A6', '#1D4DD2', '#306FFF', '#3C7EFF', '#689FFF', '#93BEFF', '#BEDAFF', '#EAF4FF'],
    // 明亮模式
    light: ['#E8F3FF', '#BEDAFF', '#94BFFF', '#6AA1FF', '#4080FF', '#165DFF', '#0E42D2', '#072CA6', '#031A79', '#000D4D']
    // 主色
    primary: "#165DFF"
]
...
```

## GetRgbStr
### GetRgbStr Props
| 参数名 | 说明 | 类型 | 默认值 | 必填
| --- | --- | --- | --- | ---
| color | 指定的颜色色值，可选格式为`hex`/`rgb`/`hsl` | String | - | 是

### 示例代码

#### 获取指定颜色色值的rgb格式
```js
const rgbStr = colorBuilder.getRgbStr('#00BC79')
console.log(rgbStr)
```

>#### 上面示例输出结果
```shell
0,188,121
```
npm package: @kviewui/vite-plugin-autocss
Description: 基于vite的HMR机制，根据页面class自动生成css文件的vite插件
Author: kviewui
Latest version: 1.1.2

## vite-plugin-autocss 基于vite的HMR机制，根据页面class自动生成css文件

```tips
如果想去除项目中没用到的css可以删除根目录引入的css源文件，然后重新编译项目即可生成新的css。
```

## [更新记录](https://gitcode.net/kviewui/vite-plugin-autocss/blob/master/CHANGE.md)
### 如何使用
+
  ### 安装依赖【推荐pnpm作为包管理器】
  ```shell
  pnpm add @kviewui/vite-plugin-autocss -D
    or
  npm i @kviewui/vite-plugin-autocss -D
    or
  yarn add @kviewui/vite-plugin-autocss -D
  ```
+
    ### vite 配置
  ```js
  import vitePluginAutocss from '@kviewui/vite-plugin-autocss'
  export default defineConfig({
    // ... other config settings 
    plugins:[
      vitePluginAutocss()
    ]
  })
  ```
  在项目入口文件中引入 生成的css 
  ```js
  import '@/style/auto.css'
  ```
***
 ### 生成代码提示文件
 +  ### npx脚本生成【不支持读取css前缀】
    将会在项目根目录生成 autocss-use-snippets.css 作为代码提示文件
    ```
    npx autocss-gen-snippets
    or
    yarn autocss-gen-snippets
    ```
    
+ ### 配置文件配置自动生成【支持读取css前缀】
  ```js
  // .autocss.config.js
  module.exports = {
    // 省略的配置内容
    ...,
    autoUseSnippets: true, // 是否自动生成css代码提示文件 【v1.1.1以上版本支持】
    // 省略的配置内容
    ...
  }
  ```

### 配置项
请复制项目根目录中 `node_modules/@kviewui/vite-plugin-autocss/` 目录下的配置文件 **[autocss.config.js](https://gitcode.net/kviewui/vite-plugin-autocss/blob/master/autocss.config.js)** 到项目根目录，重命名为 `.autocss.config.js` 文件

### 自动生成配置文件【可省略手动复制配置文件的步骤】
  将会在项目根目录生成 .autocss.config.js 配置文件
  ```
  npx autocss-init-config
    or
  yarn autocss-init-config
  ```


## [规则说明与进阶使用](https://gitcode.net/kviewui/vite-plugin-autocss/blob/master/RULE.md)

### 感谢以下开源仓库提供

+ ## [css-generator-plugin](https://github.com/macheteHot/css-generator-plugin)
npm package: @kvinc/acorn-webpack
Description: 模仿webpack制定的打包工具
Author: cjd
Latest version: 0.0.21

# 模仿webpack打包工具martin-webpack

## 前言
```
  webpack已经逐渐成为了主流的打包工具，它对于项目的管理具有极大的帮助，martin-webapck是根据webpack打包出来的代码进行自定义处理，是一个简易的打包工具:zap:
```

## 完成功能
- [x] 最基础的打包: 不引入模块, 单文件打包 :wink:
- [x] 引入模块 :wink:
- [x] 自制插件 :wink:

## 安装
```
  npm i @kvinc/acorn-webpack -g
```

## 命令行
```
  mwebpack --config xxx
```

## 配置文件
属性 | 类型 | 说明
:---:| :---: | :---:
entry | <code>String</code><code>Array</code><code>Object</code> | 打包文件的入口
output | {path: path, fileName: fileName} | 打包文件的出口, path为出口的路径, fileName为输出文件名称, 支持[name].[hash].js, name为main或者是对象的key, hash是文件内容的哈希值
plugins | Array | 插件

## 自制插件
```
  允许用户自制插件
  插件格式:
    1. 必须是构造函数
    2. 原型下具有init方法
      参数:
        modules: 文件解析出来的一些信息
        config: mwebpack配置文件
```

## 零配置插件
``` javascript
  // 允许用户不用指定配置文件, mwebapck内部集成了初始配置
  const HTMLWebpackPlugin = require('./plugins/html-webpack-plugin')
  module.exports = {
    entry: {
    'app' : './src/index.js'
    },
    output: {
      fileName: '[name].[hash].js'
    },
    plugins: [
      new HTMLWebpackPlugin()
    ]
  }
```
npm package: @kvinc/loadingv2md
Description: vue转换markdown
Author: cjd
Latest version: 0.1.12

# vue转换markdown文件, 为vuepress简便处理

> 插件作用
- 将vue转换为markdown文件
- 压缩vue文件里的template里img src应用到了的图片和styles里background运用的图片

## 安装
```
  cnpm i @kvinc/loadingv2md@latest -g
  或者
  npx @kvinc/loadingv2md@latest
```

## 配置项

| 参数名 | 类型 | 说明 |
| :----: | :----:| :----:|
| config | string | 指定配置文件, 必须是v2md.config.js |
|component| boolean| 是否展示组件 |
|ignore| <code>array or string</code>  | 忽略某个文件下的vue转换 |
|entry| string  | 入口文件夹 |
|compress| boolean  | 是否压缩图片 |

> 命令行用法

```
npx @kvinc/loadingv2md@latest --config v2md.config.js --component  --ignore dir
=== OR ===
loadingv2md --config v2md.config.js --component  --ignore dir

参数使用可以参考:
  loadingv2md -h
  npx @kvinc/loadingv2md@latest -h
```

> 配置文件
```
  {
    entry: 'src', 默认是src
    component: true,
    ignore: [dir, ...] || dir
  }
```

## 转换格式
> methods
```
  /** 
  * @param {string} # 参数名称 - 参数说明
  * @returns {string} # 返回名称 - 返回说明
  * @author {作者名称}
  * @description {描述}
  */
```

> === 转换 ===

<code>作者: 作者名称<code>

### 描述
```
  描述内容
```

## 参数
| 方法名 | 参数 | 类型 | 说明 |
| :----: | :----:| :----:| :----:|
| 方法名 | 参数名称 | 参数类型 | 参数说明

## 返回
| 方法名 | 参数 | 类型 | 说明 |
| :----: | :----:| :----:| :----:|
| 方法名 | 参数名称 | 参数类型 | 参数说明

> 配置了component
```
 name: 'BaseComponent'
```
=== 转换 ===
```
 <base-component></base-component>
```

> 根据vue component name来配置title
```
 name: 'BaseComponent'
```
=== 转换 ===
```
 ---
  BaseComponent
 ---
```

## 压缩图片
> template 
```
  <div>
    <img src="/path/to" />
  </div>

  说明: template是以上这种, 会根据/path/to来查找当前目录下图片并且进行压缩覆盖, 注意, 图片暂时只能在src下的assets里, 生成也会在src下的assets
```

> styles
```
  background: url(/path/to)

  说明: 与template类似
```

## markdown生成
```
  每个vue文件在自己的目录下都会生成一个md
```
npm package: @kvinc/martin-webpack
Description: 模仿webpack制定的打包工具
Author: cjd
Latest version: 0.0.1

# 模仿webpack打包工具martin-webpack

## 前言
```
  webpack已经逐渐成为了主流的打包工具，它对于项目的管理具有极大的帮助，martin-webapck是根据webpack打包出来的代码进行自定义处理，是一个简易的打包工具:zap:
```

## 完成功能
- [x] 最基础的打包: 不引入模块, 单文件打包 :wink:
- [x] 引入模块 :wink:
- [x] 自制插件 :wink:

## 安装
```
  npm i @kvinc/acorn-webpack -g
```

## 命令行
```
  mwebpack --config xxx
```

## 配置文件
属性 | 类型 | 说明
:---:| :---: | :---:
entry | <code>String</code><code>Array</code><code>Object</code> | 打包文件的入口
output | {path: path, fileName: fileName} | 打包文件的出口, path为出口的路径, fileName为输出文件名称, 支持[name].[hash].js, name为main或者是对象的key, hash是文件内容的哈希值
plugins | Array | 插件

## 自制插件
```
  允许用户自制插件
  插件格式:
    1. 必须是构造函数
    2. 原型下具有init方法
      参数:
        modules: 文件解析出来的一些信息
        config: mwebpack配置文件
```

## 零配置插件
``` javascript
  // 允许用户不用指定配置文件, mwebapck内部集成了初始配置
  const HTMLWebpackPlugin = require('./plugins/html-webpack-plugin')
  module.exports = {
    entry: {
    'app' : './src/index.js'
    },
    output: {
      fileName: '[name].[hash].js'
    },
    plugins: [
      new HTMLWebpackPlugin()
    ]
  }
```
npm package: @kvinc/martin-webpack-dev-server
Description: 依据@kvinc/martin-webpack制作的服务器
Author: cjd
Latest version: 0.0.3

# mwebpack-dev-server
## 基于mwebpack构建的node服务器

## 安装
```javascript
  npm i @kvinc/acorn-webpack-dev-server -g
```

## 使用
```javascript
  mwebpack-dev-server --config xxx
```

## mwebpack.config.js
```javascript
  module.exports = {
    entry: xxx,
    output: {
      path: path.resolve(__dirname, './dist/js'),
      filename: '[name].[hash].js'
    },
    resolveLoaders: './webpack/loaders'
  }
```

## 插件
如果你想直接打包出html, 那么在根目录下创建一个模板index.html, 并且仿照[MwebpackHTMlPlugin](https://github.com/Gloomysunday28/mwebpack-dev-server/blob/master/plugins/HTMLWebpackPlugin.js), 最后在mwebpack.config.js里使用

```javascript
  ...,
  plugins: [
    new MwebpackHTMlPlugin()
  ]
  ...
```
npm package: @kvinc/mreact
Description: martin's simple react
Author: cjd
Latest version: 0.0.2

# React基本功能模拟

- [React对象](https://github.com/Gloomysunday28/m-react-simlar/blob/master/React/index.js)
- [Component的实现](https://github.com/Gloomysunday28/m-react-simlar/blob/master/React/Component.js)

- [ReactDOM](https://github.com/Gloomysunday28/m-react-simlar/blob/master/ReactDOM/index.js)
- [render](https://github.com/Gloomysunday28/m-react-simlar/blob/master/ReactDOM/render.js)

- [Diff算法](https://github.com/Gloomysunday28/m-react-simlar/blob/master/Diff/Diff.js)

- [异步SetState](https://github.com/Gloomysunday28/m-react-simlar/blob/master/SetState/index.js)



## 任务列表
- [x] JSX和虚拟DOM :wink:
- [x] 生命周期和render :wink:
- [x] diff算法 :wink:
- [x] 异步的setState :wink:

## JSX loader解析
类型 | 解析
:---:| :---:
文本 | 文本
JSX  | {tag: tagName, attrs: {}, children:[]}
组件(无状态) | function() {return {tag: tagName, attrs: {}, children:[]}}
组件 | function() {return {render() {return {tag: tagName, attrs: {}, children:[]}}}}

## JS API
Api | 说明
:---: | :---:
cssText | 添加字符串style到行内样式
attributes | 获取DOM所有的属性
replaceChild | 参数(newNode, oldNode), 用newNode替换oldNode,oldNode子节点会全部消失
toLowerCase | 转化成小写
textContent | 获取文本节点的值 和 修改文本节点的值
removeChild | 参数(node), 删除节点
insertBefore | 参数(newNode, oldNode), 将newNode插在oldNode前面

## Diff算法
> Diff算法的两种比较
>> - 保存上次的虚拟DOM, 然后对比修改后的虚拟DOM, 对比后生成真实DOM
>> - 将修改后的DOM直接与真实DOM对比, 实时更改真实DOM

> 两种方法谁更好?
>> 目前第二种方法效率是更高的

> 逻辑
>> - 总共分为三种对比节点: 文本节点, 标签节点, 组件
>>> - 文本节点:
```
  1. 如果新的节点是文本节点, 而旧的节点不是文本节点, 那么创建一个文本节点填充内容后替换掉真实原来的DOM
  2. 如果新的节点和旧的节点同时为文本节点, 内容不同, 那么更新旧节点的内容
```
>>> - 标签节点
```
  1. 如果新的标签名和旧的标签名是不同的, 那么创建新的标签, 并且取出旧节点的所有子节点添加到自己下面, 同时替换掉原来的旧节点
  2. 如果新的标签名和旧的标签名是一样, 那么对比两者属性:
    1.新标签的属性存在, 旧标签属性不存在, 添加新标签属性
    2.新标签的属性不存在, 旧标签属性存在, 删除旧标签属性
    3.如果新标签属性和旧标签属性相同, 内容不同, 修改旧标签属性的属性值
  3. 对比子节点
    1. 子节点分为有key值和没有key值的, 区分两者
    2. 具备key属性的进行对比
      1. 新节点有key, 旧节点没有key, 则添加新节点
      2. 新节点没有key, 旧节点有key, 则删除旧节点
    3. 不具备key属性的进行对比
      优先取相同的TagName的节点进行对比, 进行Diff算法后生成真实DOM
    4. 重新生成的DOM与原子节点的集合相对应下标的值进行对比
      1. 如果新DOM不等于原子节点对应下标的DOM相同, 并且原有对应下标的DOM不存在, 那么说明新DOM是新添加的, 则appendChild
      2. 如果新DOM与原子节点对应下标的相邻的下一个节点相同的话, 那么说明该DOM已被删除, 则删除原有的DOM
      3. 如果新DOM与原子节点不等, 也没有以上两种情况, 那么将新节点插入到原子节点前面
        原因:
          1. 当原子节点是这样的 div1 -> div2 -> div3 -> div4, 新DOM列表是 div3 -> div4, 那么div3与div1进行对比后, div3插入到div1之前就是第一个, 紧接着div4插入到div2之前(由于div1到div4是没有消除的, 所以后面会有清除动作)
          2. 当原子节点是这样的 div1 -> div2 -> div3 -> div4, 新DOM列表是 div0 -> div1 -> div2 -> div3 -> div4, 那么div0与div1对比后, 插入到div1之前
```

>>> - 组件
```
  1. 如果新的组件和旧的组件相同, 那么更新旧的组件
  2. 如果新的组件和旧的组件不同, 注销原组件并创建新组件
```

## SetState
```
  1. 合并一段时间内提交的setState -- 设置队列
  2. 延迟更新 -- 参考EventLoop
```
npm package: @kvlvgg/metamask-auth
Description: The simple module for web3 authentication via MetaMask
Author: kvlvgg
Latest version: 1.0.3

# MetaMask Auth

Simple module that eases Metamask authentication proccess

## Installation

`npm install @kvlvgg/metamask-auth`

## Usage

`import { MetaMask, Onboarding, METAMASK_STATUSES, METAMASK_MESSAGES, METAMASK_ERRORS } from '@kvlvgg/metamask-auth';`

MetaMask is an event-based class. You can subscribe on following ones:

1. status
2. message
3. error
4. connected
5. disconnected
6. signed

For example, this is how I handle events in my vuex-store.

```
const actions: ActionTree<ModuleState, RootState> = {
  [ACTIONS.START_ONBOARDING]() {
    Onboarding.init();
  },

  [ACTIONS.INIT]({ dispatch, commit }) {
    MetaMask.on("status", (status) => commit(MUTATIONS.SET_STATUS, status));
    MetaMask.on("error", (error) => commit(MUTATIONS.SET_STATUS, error));

    MetaMask.on("connected", (account) => {
      commit(MUTATIONS.SET_METAMASK_WALLET_ADDRESS, account);
      dispatch(USER_STORE.ACTIONS.LOAD_OR_CREATE_USER, account, { root: true });
    });

    MetaMask.on("disconnected", () => {
      commit(USER_STORE.MUTATIONS.CLEAR, null, { root: true });
      commit(MUTATIONS.CLEAR_METAMASK_WALLET_ADDRESS, null);
    });

    MetaMask.on("signed", (signature) =>
      dispatch(USER_STORE.ACTIONS.AUTHENTICATE, signature, { root: true })
    );

    return MetaMask.init();
  },

  [ACTIONS.REQUEST_ACCOUNT]() {
    return MetaMask.init(true);
  },

  [ACTIONS.SIGN]({ rootGetters }) {
    const user: User | null = rootGetters[USER_STORE.GETTERS.USER];
    if (!user?.nonce) return;

    return MetaMask.sign(user.nonce);
  },
};
```

## Contributing

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## P.S

This is my first package that I publish. I am not sure if I do everything correctly.  
Don't hesitate to contact me for giving advice.
npm package: @kvnjng/selenium-ide-js-converter
Description: Simple JavaScript converter for selenium ide html file
Author: kvnjng
Latest version: 1.2.0

# Selenium IDE JS Converter
Tool to convert html test files generated from Selenium IDE into runnable node.js test files (via Firefox webdriver).

# Dependencies 
```
selenium-webdriver
mocha
geckodriver.exe
```

# Installation
```
1) Clone repo 'https://github.com/kvnjng/selenium-ide-js-converter.git'
2) Open console in folder and type 'npm i --save mocha'
3) Download the latest version of 'geckodriver' (Mozilla Firefox Webdriver) and place in main directory: (https://github.com/mozilla/geckodriver/releases)
4) Place your Selenium-generated html test case in the 'input_html_tests' folder
5) Type 'node convert.js' to convert all test cases placed in 'input_html_tests' folder. Converted tests will be placed in 'output_js_tests'
6) Type 'npm test' to run all javascript test cases in the 'output_js_tests' folder
```

#### Supported commands:
```
open
click
clickAndWait
waitForElementPresent
waitForTitle
type
typeAndWait
select
assetText
assertTitle
pause
```

#### Modification:
To modify the test conversion template, open and edit the 'convert.js' file.
To add more commands, edit the 'mappingOrder' variable in 'interpretOrder' function in the 'engine.js' file.
npm package: @kvnlnt/statical
Description: The Radical Static Site Generator
Author: Kevin Lint
Latest version: 1.3.2

# Statical

## The Radical Static Site Generator

Simplicity rules. Statical is a static website generator that uses simple conventions to help you create and maintain a static website with minimal dependencies and little conceptual overhead. With a few basic node modules and a no-nonsense build script it's easy to create, extend and maintain an information rich static website.

## Install

    npm i -g @kvnlnt/statical

## Quickstart

cd to a folder where you'd like to create a new site and:

    statical create --site=mysite.com

A starter site has been generated into a folder called `mysite.com`. Cd into it and:

    statical compile

Open up the site's `index.html` file in a browser. You're on your way.

## How it Works

### TLDR;

1. Data in `./src/data/_global.json` as well as other data specified in a page's config file gets merged
2. Page layouts specifed in `config.pages.[page].layout` get's merged with it's partials, specified in `config.pages.[page].partials` as a string...
3. And it all get's compiled together with Handlebars

### Structure

The entire app is made up of the following:

- `/public` - the place where pages are auto generated to as well as the place to keep your static files
- `/src/statical.json` - global config and registry of pages
- `/src/pages/*.json` - page level configuration and data
- `/src/data/*.json` - a place to keep reusable data
- `/src/templates/layouts/*.html` - main layout templates
- `/src/templates/partials/*.html` - reusable html fragments

### Config

The config file is the heart of the app. The `config.pages` collection contains page the following configs:

- `config.file` - path and name of file to generate
- `config.layout` - layout file to use (loaded from the templates folder)
- `config.partials` - partials are injected into the template using css selectors. Example: a partial of `".layout-menu": "menu.html"` would get the contents of `/src/partials/menu.html` and inject it into the dom element `<div class="layout-menu"></div>` which is expected to be in the pages template.
- `config.params` - see [Data](#Data) below
- `config.data` - see [Data](#Data) below

### Data

Data is scoped like so: Global -> Page -> Data. Each time a page is compiled a data object is concatenated from the three scopes. The data is stored in three areas:

1. Globally available data is stored in the `./src/data/_global.json` file
2. Page Level data is stored in the `params` key of each page's config file (in `./src/pages/*`)
3. Reusable Fragments should be stored as json files in the `./src/data` folder. To include them, add the file name to a page config's `data` key.

### Templating

It uses [Handlebars](https://handlebarsjs.com/). All that data gets compiled against the fully concatenated template string (the template with it's partials) and compiled with Handlebars.
npm package: @kvoon/cg
Description: AI-powered git commit message generator
Author: kvoon
Latest version: 0.2.0

# cg

AI-powered git commit message generator using [pi-ai](https://github.com/mariozechner/pi-ai).

## Install

```bash
npm install -g @kvoon/cg
```

## Usage

```bash
# Generate and commit
cg

# Generate and show commit message (dry-run)
cg --dry-run

# Use a reference message as inspiration
cg "fix login bug"

# Specify commit type and scope
cg "add new feature" -t feat -s auth

# With commit body
cg "update API" -t feat -s api -b "Breaking: changed response format"
```

## Commands

```bash
cg settings   # Configure default AI provider and model
cg --help     # Show all options
```

## Configuration

On first run, `cg` will prompt you to select an AI provider and model. Settings are saved to `~/.cgrc.json`.

## Options

| Flag            | Description                           |
| --------------- | ------------------------------------- |
| `-t`            | Commit type (feat, fix, docs, etc.)   |
| `-s`            | Commit scope                          |
| `-b`            | Commit body                           |
| `--dry-run`     | Show message without executing commit |
| `--no-generate` | Skip AI generation                    |
npm package: @kvpasupuleti/text-to-emoji-converter
Description: A flexible and customizable text-to-emoji converter for JavaScript and TypeScript applications.
Author: Krishna Vamsi Pasupuleti
Latest version: 1.0.1

# Text to Emoji Converter

A flexible and customizable text-to-emoji converter for JavaScript and TypeScript applications.

## Installation

If you are using npm

```bash
npm install @kvpasupuleti/text-to-emoji-converter
```

If you are using yarn

```bash
yarn add @kvpasupuleti/text-to-emoji-converter
```

## Usage

### Basic Usage

```typescript
import { EmojiConverter } from '@kvpasupuleti/text-to-emoji-converter';

// Create a new converter instance
const converter = new EmojiConverter();

// Convert text to emojis
const result = converter.convert('I love pizza!');
console.log(result); // "🙋‍♂️ ❤️ 🍕!"
```

### Custom Emoji Mappings

```typescript
// Add custom mappings during initialization
const customMappings = {
  'awesome': '🌟',
  'coding': '👨‍💻',
};
const converter = new EmojiConverter(customMappings);

// Or add them later
converter.addMappings({
  'fantastic': '✨',
  'javascript': '💛',
});

// Remove specific mappings
converter.removeMappings(['coding', 'javascript']);

// Reset to default mappings
converter.resetToDefault();

// Get current mappings
const currentMappings = converter.getMappings();
```

## API Reference

### `EmojiConverter`

#### Constructor
```typescript
constructor(customEmojiMap?: EmojiMap)
```

Creates a new EmojiConverter instance with optional custom emoji mappings.

#### Methods

##### `convert(text: string): string`
Converts text to emojis using the configured emoji map.

##### `addMappings(newMappings: EmojiMap): void`
Adds new emoji mappings or overrides existing ones.

##### `removeMappings(words: string[]): void`
Removes emoji mappings for specific words.

##### `getMappings(): EmojiMap`
Returns the current emoji mappings.

##### `resetToDefault(): void`
Resets the emoji map to default mappings.

### Types

```typescript
type EmojiMap = {
  [key: string]: string;
};
```

## License

MIT
npm package: @kvraamkey/react-multiselect-dropdown
Description: react multiselect dropdown component for web applications. Easy to integrate and use.
Author: kvraamkey
Latest version: 1.6.1



# React Multiselect Dropdown with Limit

### Installing / Getting started

This package is available in npm repository as @kvraamkey/react-multiselect-dropdown. It will work correctly with all popular bundlers.

```
npm install @kvraamkey/react-multiselect-dropdown --save

[using Yarn]

yarn add @kvraamkey/react-multiselect-dropdown -s
```

### Include the Component

To start using MultiSelectDropDown you just need to import the component from the @kvraamkey/react-multiselect-dropdown package.

### Usage

```jsx
import React, { Component } from 'react';
import MultiSelectDropDown from '@kvraamkey/react-multiselect-dropdown'

class Example extends Component {
    state = {
    itemList: [
      { "id": 1, "itemName": "India" },
      { "id": 2, "itemName": "Singapore" },
      { "id": 3, "itemName": "Australia" },
      { "id": 4, "itemName": "Canada" },
      { "id": 5, "itemName": "South Korea" },
      { "id": 6, "itemName": "Brazil" }
    ]
  }
  render () {
    return (
      <MultiSelectDropDown
        itemList={this.state.itemList}
        selectedItems={selectedItems => console.log(selectedItems)}
      />
    )
  }
}
```

### PropTypes

| Prop | Type | Default |
| ---- | ---- | ------- |
| badgeShowLimit | Integer | undefined |
| primaryKey | String | value |
| labelKey | String | label |
| enableCheckAll | Boolean | true |
| enableSearchFilter | Boolean | true |
| placeHolderText | String | Select |
| selectAllText | String | Select All |
| unSelectAllText | String | UnSelect All |
| enableCheckAll | Boolean | true |


### Licensing

The code in this project is licensed under MIT license.

MIT © [kvraamkey](https://github.com/kvraamkey)
npm package: @kvraamkey/react-table-global-search
Description: React table global search with any table
Author: Ramki A
Latest version: 1.1.0

# react-table-global-search

[![NPM](https://img.shields.io/npm/v/table-global-search.svg)](https://www.npmjs.com/package/@kvraamkey/react-table-global-search) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @kvraamkey/react-table-global-search
```

## Usage

```jsx
import React, { Component } from 'react';
import { useTableSearch } from '@kvraamkey/react-table-global-search';

class Example extends Component {
  const { filteredData, loading } = useTableSearch({
    searchVal,
    retrieve: () => { `function be here to pass data `}
  });
  ...............
  ...............
}
```

## Example

[Check out with sample code](https://github.com/kvraamkey/react-table-global-search/tree/master/example)

## License

MIT © [](https://github.com/)
npm package: @kvraamkey/react-ui
Description: ui component for react
Author: Ramki A
Latest version: 0.0.2

# react-ui

> Made with create-react-library

[![NPM](https://img.shields.io/npm/v/react-ui.svg)](https://www.npmjs.com/package/react-ui) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install @kvraamkey/react-ui
```

```bash
yarn add @kvraamkey/react-ui
```

## Usage

```jsx
import React, { Component } from 'react'

import { Button } from '@kvraamkey/react-ui'
import '@kvraamkey/react-ui/dist/index.css'

class Example extends Component {
  render() {
    return <Button name="sample button" />
  }
}
```

## License

MIT © [](https://github.com/)
npm package: @kvraamkey/svelte-ui
Description: Simple Svelte 3 UI components
Author: Ramki A
Latest version: 1.2.0

# svelte-ui

Set of the UI components for [Svelte](https://svelte.dev), inspired by W3Schools [W3Css](https://www.w3schools.com/w3css/)

[View the demo](https://kvraamkey.github.io/svelte-ui/)

## Installation

_Note that you will need to have [Node.js](https://nodejs.org) installed_

```bash
npm install --save-dev @kvraamkey/svelte-ui
```

## Quick start with new project

Create a new project based on [sveltejs/template](https://github.com/sveltejs/template)

```bash
npx degit sveltejs/template svelte-app
cd svelte-app
npm install
```