open-index/open-npm huggingface dataset:
npm package: @silky/group
Description: Silky Group
Author: Juan D. Gomez
Latest version: 0.2.0

# @silky/group

The `<Group />` component is a React implementation of the `<g>` SVG element which is a container used to group other SVG elements.

`<Group />` allows you to pass a className, an Emotion template, and `transform` properties for `translate` and `rotate` in order to improve performance inlining this attribute instead of creating style rules for each individual element.

## Install

### Yarn

```bash
yarn add @silky/group
```

### NPM

```bash
npm install --save @silky/group
```

## Import

### ES5 Modules

```javascript
import { Group } from '@silky/group';
```

### CommonJS <Node>

```javascript
const Group = require('@silky/group');
```

### Browser

```html
<script src="https://unpkg.com/@silky/group@:version/umd/silky-group.js"></script>
```

## Usage

In this example you can see how to pass translate and rotate values for the transform attribute.

```javascript
const App = () => (
  <svg>
    <Group transform={{ rotate: '10 20, 30', translate: [10, 20] }}>
      // ... SVG elements
    </Group>
  </svg>
);

render(<App />, document.getElementById('root'));
```

## Props

### `className`

```
  className?: string
```

- **Defaults:** `'silky-group'`
- **Description:** any additional class name will be appended to the default one.
- **Documentation:** [https://reactjs.org/docs/faq-styling.html](https://reactjs.org/docs/faq-styling.html)

---

### `css`

```
  css?: Object
```

- **Defaults:** `null`
- **Description:** accepts an [Emotion](https://emotion.sh) CSS declaration using the `css` prop.
- **Documentation:** [https://emotion.sh/docs/css-prop](https://emotion.sh/docs/css-prop)

---

### `transform`

```
  transform?: {
    matrix?: [number]
    rotate?: number | string
    scale?: number | [number]
    skew?: string | [string]
    translate?: [number | string]
  }
```

- **Defaults:** `null`
- **Description:** will generate the correct `transform` attribute value based on the properties passed in the object.
- **Documentation:** [https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform)
npm package: @silkysquad/silk
Description: Agent banking and payments on Solana — cancellable escrow stablecoin transfers and policy-controlled accounts
Latest version: 1.0.9

# SilkyWay SDK

Agent payments on Solana. Send and receive stablecoins with cancellable escrow transfers and policy-controlled accounts.

## Installation

```bash
npm install -g @silkysquad/silk
```

Requires Node.js 18+.

## Quick Start

```bash
# Initialize wallet
silk init

# Check balance
silk balance

# Send payment
silk pay <recipient> <amount>
```

## Documentation

- **[Full skill documentation](./SKILL.md)** - Complete CLI reference and API docs
- **[Website](https://silkyway.ai)** - Homepage and web app
- **[GitHub](https://github.com/silkysquad/silk)** - Source code and issues

## Features

- **Escrow Transfers** - Send USDC with claim/cancel options
- **On-Chain Accounts** - Policy-enforced spending limits for agent operators
- **Multi-Wallet** - Manage multiple Solana wallets
- **Address Book** - Save contacts for easy payments
- **Claim Links** - Share browser-based claim URLs
- **Drift Integration** - Optional yield on account balances
- **Multi-Cluster** - Support for mainnet and devnet

## Examples

### Send a Payment

```bash
# Send 10 USDC to an address
silk pay 7xKXz9BpR3mFVDg2Thh3AG6sFRPqNrDJ4bHUkR8Y7vNx 10 --memo "Payment for code review"

# Send to a contact
silk contacts add alice 7xKXz9BpR3mFVDg2Thh3AG6sFRPqNrDJ4bHUkR8Y7vNx
silk pay alice 10
```

### Claim a Payment

```bash
# List incoming payments
silk payments list

# Claim a transfer
silk claim <transfer-pda>
```

### Use an Account

```bash
# Sync your operator account (set up by human via web UI)
silk account sync

# Check account status and spending limit
silk account status

# Send from account (subject to per-tx limit)
silk account send <recipient> <amount>
```

## Security

SilkyWay is non-custodial. Your private keys:
- Are generated locally on your machine
- Are stored at `~/.config/silkyway/config.json`
- Never leave your machine
- Are never transmitted to any server

All transactions are signed locally. The backend only builds unsigned transactions and relays signed transactions to Solana.

## Contributing

Issues and pull requests are welcome at https://github.com/silkysquad/silk

## License

MIT
npm package: @silkytone/danmu
Description: 弹幕的简单实现，实现普通弹幕或高级弹幕。
Author: Funny002
Latest version: 1.0.2

# Danmu

> 弹幕的简单实现，实现普通弹幕或高级弹幕。


## 弹幕实现：

- [x] TextBarrage 文本弹幕（可以通过 css3 修改样式）


### 引入 umd.js
```javascript
const { Barrage, TextBarrage } = window.Danmu
```

## 使用示例
```typescript
import { Barrage, TextBarrage } from 'danmu';

const barrage = new Barrage('#barrage', {
  trackSize: 10,
});

const input = document.querySelector<HTMLInputElement>('#input')!;
const submit = document.querySelector<HTMLButtonElement>('#submit')!;

submit.addEventListener('click', onSubmit);

function onSubmit() {
  const val = (input['value'] || '').trim();
  if (!val) return alert('请输入内容');
  barrage.push(new TextBarrage(val, 3 * 1000));
}
```
npm package: @silkytone/sequence-frame
Description: 简单序列帧实现
Author: Funny002
Latest version: 1.0.3

# Sequence Frame

> 简单序列帧动画的实现

### 引入 umd.js
```javascript
const { Barrage, TextBarrage } = window.SequenceFrame
```

## 渲染器
- [x] canvas2D

## 帧实现
- [x] MultipleFrames 多图片路径实现

## 使用示例
``` typescript
import { Sequence, MultipleFrames } from '../lib';

const frame = new MultipleFrames(Array.from(new Array(514)).map((_, index) => {
  return `/image/sequence_${index + 1}.jpg`;
}), { framesRate: 60 });

const sequence = new Sequence('#loop .canvas', frame, { loop: true, limit: 10 });

const button = document.querySelector('#sequence button')!;

sequence.on('progress', progress => {
  console.log('[loop]: progress -> %s', JSON.stringify(progress));
});

sequence.on('complete', () => {
  button.removeAttribute('disabled');
});

sequence.load();

button.addEventListener('click', () => {
  if (sequence.isPlay) {
    sequence.pause();
  } else {
    sequence.play();
  }
});
```
npm package: @sill/state
Description: Library agnostic state management.
Author: sill
Latest version: 0.0.3

# @loll/state
Library agnostic state management.

## Install
```bash
npm i @loll/state --save
```

## Creating a Store
Create new stores by passing an initial state object to `createStore`:
```javascript
import createStore from '@loll/state'

const store = createStore({
  count: 0
})
```

## Actions
Create actions that mutate state using `store.setState`:
```javascript
function inc () {
  store.setState(state => ({ count: state.count + 1 }))
}
```

## Components
Attach state to components using the `connect` export from `./store.js`. Import actions to mutate state:
```javascript
/** @jsx h */
import h from '@loll/h'

const MyComponent = store.connect(state => ({
  count: state.count
}))((props) => {
  return (
    <div>
      <h1>The count is {props.count}</h1>

      <button onclick={inc}>Up</button>
    </div>
  )
})
```

## Rendering
The store returns emitter methods. When `setState` is called, a shallow-compare checks the state object for differences. If one is found, an `update` event is emitted.
```javascript
store.on('update', () => {
  // re-render application here
})
```

## API
### `setState`
Accepts an object or a function that returns an object.
```javascript
setState({
  count: 12
})

// or

setState(state => ({
  count: state.count + 1
}))
```

### `getState`
Returns the full state object.
```javascript
getState() // { count: 12 }
```

### `connect`
Accepts an function that returns a slice of state and returns a function that in turn accepts a component.
```javascript
const Component = connect(state => ({
  number: state.count
}))((props) => {
  return <h1>The count is {props.count}</h1>
})
```

### `on` & `off`
The store uses [mitt](https://github.com/developit/mitt) interally to emit a single `update` event when the state is updated. It also exposes mitt's `off` handler, should you need it.
```javascript
function render () {}

on('update', render)

off('update', render)
```

MIT
npm package: @sillsdev/lynx
Description: Lynx Core defines the foundational interfaces, data types, and classes for integrating Lynx providers into a translation app.
Author: SIL Global
Latest version: 0.3.5

# Lynx Core

Lynx Core defines the foundational interfaces, data types, and classes for integrating Lynx providers into a translation app.

## Installation

```sh
npm install @sillsdev/lynx
```
npm package: @sillsdev/lynx-delta
Description: Lynx Delta provides support for using Quill's [Delta](https://github.com/slab/delta) document format in Lynx providers. It also includes support for Scripture Forge's flavor of the Delta format that supports Scripture.
Author: SIL Global
Latest version: 0.2.4

# Lynx Delta

Lynx Delta provides support for using Quill's [Delta](https://github.com/slab/delta) document format in Lynx providers. It also includes support for Scripture Forge's flavor of the Delta format that supports Scripture.

## Installation

```sh
npm install @sillsdev/lynx-delta
```
npm package: @sillsdev/lynx-punctuation-checker
Description: Lynx Punctuation Checker provides basic punctuation, quotation, and character checking for a document.
Author: SIL Global
Latest version: 0.2.0

# Lynx Punctuation Checker

Lynx Punctuation Checker provides basic punctuation, quotation, and character checking for a document.

## Installation

```sh
npm install @sillsdev/lynx-punctuation-checker
```
npm package: @sillsdev/lynx-usfm
Description: Lynx USFM includes support for serializing/deserializing USFM documents for use in Lynx providers.
Author: SIL Global
Latest version: 0.3.1

# Lynx USFM

Lynx USFM includes support for serializing/deserializing USFM documents for use in Lynx providers.

## Installation

```sh
npm install @sillsdev/lynx-usfm
```
npm package: @sillsdev/machine
Description: A natural language processing library that is focused on providing tools for processing resource-poor languages.
Author: SIL Global
Latest version: 3.0.3

# Machine for TypeScript/JavaScript

Machine is a natural language processing library. It is specifically focused on providing tools and techniques that are useful for processing languages that are very resource-poor. The library is also useful as a foundation for building more advanced language processing techniques. The library currently only provides a basic set of algorithms, but the goal is to include many more in the future.

## Features

### Tokenization

Machine provides a set of word and segment tokenizers.

### Translation

Machine provides interfaces and classes for supporting interactive machine translation in a browser. The calling application must provide an implementation of the interactive translation engine. The translation engine returns all possible translations for a source segment in a word graph. The application can efficiently search the graph for best translation suffix based on a provided prefix using the interactive translator class.

## Installation

```sh
npm install @sillsdev/machine
```
npm package: @sillsdev/react-localize-crowdin
Description: CLI tools to support localizing react apps with Crowdin
Author: Jason Naylor
Latest version: 1.0.0

# react-localize-crowdin

[![Node Actions Status][github-actions-node-badge]][github-actions]
[![Coverage][codecov-badge]][codecov]
[![Language grade: JavaScript][lgtm-js-badge]][lgtm-js]
[![Total alerts][lgtm-alerts-badge]][lgtm-alerts]
[![GitHub contributors][github-contribs-badge]][github-contribs]
[![GitHub][github-license-badge]][github-license]

[github-actions-node-badge]: https://github.com/sillsdev/react-localize-crowdin/workflows/Node.js%20CI/badge.svg
[github-actions]: https://github.com/sillsdev/react-localize-crowdin/actions
[codecov-badge]: https://codecov.io/gh/sillsdev/react-localize-crowdin/branch/master/graph/badge.svg
[codecov]: https://codecov.io/gh/sillsdev/react-localize-crowdin
[lgtm-js-badge]: https://img.shields.io/lgtm/grade/javascript/g/sillsdev/react-localize-crowdin.svg?logo=lgtm&logoWidth=18
[lgtm-js]: https://lgtm.com/projects/g/sillsdev/react-localize-crowdin/context:javascript
[lgtm-alerts-badge]: https://img.shields.io/lgtm/alerts/g/sillsdev/react-localize-crowdin.svg?logo=lgtm&logoWidth=18
[lgtm-alerts]: https://lgtm.com/projects/g/sillsdev/react-localize-crowdin/alerts
[github-contribs-badge]: https://img.shields.io/github/contributors/sillsdev/react-localize-crowdin?cacheSeconds=10000
[github-contribs]: https://github.com/sillsdev/react-localize-crowdin/graphs/contributors
[github-license-badge]: https://img.shields.io/github/license/sillsdev/react-localize-crowdin
[github-license]: https://github.com/sillsdev/react-localize-crowdin/blob/master/LICENSE

A node module to support localizing react-localize-redux apps with Crowdin

# Developer Guide

Run linting on project:

```bash
$ npm run lint
```

Automatically format the repository using Prettier:

```bash
$ npm run prettier
```
npm package: @silly_yi/easyprint-designer
Description: A lightweight report designer (jQuery + Canvas) that exports JSON configs.
Author: yijia
Latest version: 0.1.1

# EasyPrint Designer

EasyPrint Designer 是一个轻量级、高性能的 Web 端报表设计器与打印生成器。它基于 HTML5 Canvas 和 jQuery 构建，不依赖任何重型框架，可以轻松集成到任何 Web 项目中（如 React, Vue, Angular 或原生 JS）。

![License](https://img.shields.io/npm/l/@silly_yi/easyprint-designer)
![Version](https://img.shields.io/npm/v/@silly_yi/easyprint-designer)

## 功能特性

- 🎨 **可视化设计器**：直观的拖拽式界面，所见即所得的设计体验。
- 📄 **丰富组件**：支持文本、矩形、直线、图片、条形码、二维码等基础组件。
- 📊 **高级表格**：
  - 支持动态数据行绑定。
  - **自动分页**：表格内容超出页面高度时，自动切割并延伸至下一页。
  - **自动合计**：可配置指定列自动计算总和，并在底部追加合计行。
  - 跨页表头自动重复。
- 🔢 **页面管理**：支持自定义纸张尺寸（A4, A3 等）、页边距设置以及自动页码生成。
- 🔌 **数据绑定**：强大的 JavaScript 动态渲染函数支持（类似 `{{ data.field }}` 的逻辑，但更灵活）。
- 🖨️ **高质量导出**：
  - **PDF**：原生支持生成多页 PDF 文档。
  - **图片**：支持导出高清（Retina 适配）JPG/PNG 图片（多页报表自动打包为 ZIP）。
- 📦 **零重依赖**：体积小巧，无框架运行时依赖。

## 安装

### 使用 NPM

```bash
npm install @silly_yi/easyprint-designer
```


## 使用指南

### 1. 引入设计器 (Designer)

集成设计器，允许用户进行模板编辑。

```html
<div id="designer-container" style="height: 100vh;"></div>

<script type="module">
  import { create } from 'easyprint-designer';
  // 样式会自动注入，无需手动引入 CSS！

  const designer = create(document.getElementById('designer-container'), {
    // 可选的初始化参数
  });

  // 加载已有配置
  designer.setConfig({
    page: { widthMm: 210, heightMm: 297, paper: "A4" },
    elements: []
  });

  // 获取当前配置用于保存
  const config = designer.getConfig();
  console.log(config);
</script>
```

如果使用全局脚本（script 标签）：

```html
<script>
  const designer = EasyPrintDesigner.create(document.getElementById('designer-container'));
</script>
```

### 2. 引入预览器 (Previewer)

使用真实数据渲染报表。

```html
<div id="preview-container"></div>

<script type="module">
  import { preview } from 'easyprint-designer';

  const templateConfig = { ... }; // 从数据库加载的模板配置
  const reportData = {
    orderNo: "ORD-123",
    items: [{ name: "商品 A", price: 100 }, { name: "商品 B", price: 200 }]
  };

  const previewer = preview(document.getElementById('preview-container'), templateConfig, {
    data: reportData
  });

  // 导出操作
  // previewer.exportPDF("report.pdf");
  // previewer.exportJPG("report.jpg"); // 如果有多页，会自动下载 ZIP 包
</script>
```

## 数据绑定说明

所有组件都支持通过 `renderFn` 属性进行动态渲染。这是一个字符串形式的 JavaScript 函数体。

**可用变量:**
- `data`: 传递给预览器的完整数据对象。
- `rowIndex`: (仅表格) 当前行的索引。
- `rowItem`: (仅表格) 当前行的数据对象。

**示例:**

*   **文本组件**:
    ```javascript
    return "订单号: " + data.orderNo;
    ```

*   **表格单元格**:
    ```javascript
    return rowItem.price.toFixed(2);
    ```

*   **条形码/二维码**:
    ```javascript
    return data.trackingCode;
    ```

## 开发

```bash
# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 构建生产版本
npm run build
```

## 开源协议

MIT
npm package: @sillyal/dominion
Description: Representation of Dominion, a deck-building card game created by Donald X. Vaccarino and published by Rio Grande Games.
Author: Sillyal
Latest version: 0.0.17

[![CircleCI](https://circleci.com/gh/sillyal/dominion/tree/master.svg?style=svg)](https://circleci.com/gh/sillyal/dominion/tree/master)
# dominion
Representation of Dominion, a deck-building card game created by Donald X. Vaccarino and published by Rio Grande Games.
npm package: @sillyangel/awsomesause
Description: amand?
Latest version: 2.0.0

<p align="center"><img src="https://raw.githubusercontent.com/titaniumnetwork-dev/Ultraviolet-Static/main/public/uv.png" height="250"></p>

<h1 align="center">Ultraviolet</h1>

<a href="https://www.npmjs.com/package/@titaniumnetwork-dev/ultraviolet"><img src="https://img.shields.io/npm/v/@titaniumnetwork-dev/ultraviolet.svg?maxAge=3600" alt="npm version" /></a>

Ultraviolet is a highly advanced web proxy used for evading internet censorship or accessing websites in a controlled sandbox. It is designed with security and performance in mind. Ultraviolet intercepts HTTP requests with a service worker, while adhering to the [TompHTTP specifications](https://github.com/tomphttp) and is a leader in innovative web proxy technologies.

## Features

Ultraviolet offers several features that set it apart from its predecessors, including CAPTCHA and hCAPTCHA support, URL encoding settings for added security, client-side configuration via service-workers, high speed compared to other web proxies, blacklist settings and more for easy hosting, leak prevention, regular updates, and improved resource usage and speed for better setups with a dedicated server instance.

## Supported Sites

Some of the popular websites that Ultraviolet supports include:

-   [Google](https://google.com)
-   [Youtube](https://www.youtube.com)
-   [Spotify](https://spotify.com)
-   [Discord](https://discord.com)
-   [Reddit](https://reddit.com)
-   [GeForce NOW](https://play.geforcenow.com/)
-   [now.gg](https://now.gg)

## Used by

-   [Holy Unblocker](https://github.com/holy-unblocker/website)
-   [Hypertabs](https://hypertabs.cc/)
-   [Terbium](https://github.com/TerbiumOS/webOS)
-   [Incognito](https://github.com/caracal-js/Incognito)
-   [Nebula](https://github.com/NebulaServices/Nebula)
-   [Metallic](https://github.com/Metallic-Web/Metallic)

## Upgrading

A guide for updating from v1 to v2 can be found [here](./docs/V2-UPGRADE-GUIDE.md).

## Older Bare servers

Starting from v2, Ultraviolet only supports Bare servers v3+.

If you operate an outdated Bare server, we encourage you to update. If you're using an outdated Bare server, we encourage you to find an updated Bare server or host your own.

If you're too lazy to do either of the above, you can install an outdated and unsupported version of Ultraviolet.

```sh
npm install @titaniumnetwork-dev/ultraviolet@1
```

## Changelog

Changes are documented in the [changelog](./CHANGELOG.md).

## Deployment

This repository can be built, but it can't be deployed to any services. See [Ultraviolet-App](https://github.com/titaniumnetwork-dev/Ultraviolet-App) for a complete and customizable Ultraviolet setup that you can deploy.

## Documentation

Documentation can be found in the [wiki](https://github.com/titaniumnetwork-dev/Ultraviolet/wiki).
npm package: @sillyangel/bananajs
Description: Banana js
Author: sillyangel
Latest version: 0.1.1

<div align="center">
<p>
  <img width="300" src="src/image.png" alt="Logo">
</p>
  </div>
  <div align="left">
 <h1 align="center"> Banana.js </h1> 
 <img src="https://img.shields.io/github/license/sillyangel/banana.js?color=yellow&logo=github&style=for-the-badge" />
 <img src="https://img.shields.io/github/stars/sillyangel/banana.js?color=yellow&logo=github&style=for-the-badge" />
 <img src="https://img.shields.io/github/forks/sillyangel/Banana.js?color=yellow&logo=github&style=for-the-badge" />
 <img src="https://img.shields.io/npm/v/@sillyangel/bananajs?color=yellow&label=Verison&logo=npm&style=for-the-badge" />
  <img alt="Lines of code" src="https://img.shields.io/tokei/lines/github/sillyangel/banana.js?color=yellow&label=TOTAL%20LINES%20OF%20JS&logo=JavaScript&logoColor=%23F7DF1E&style=for-the-badge">
  <img alt="Discord" src="https://img.shields.io/discord/937449156044267520?color=yellow&label=Discord&logo=Discord&style=for-the-badge">
  </div>
Welcome Banana.js a NPM Package

### How to Install Banana.js
Step 1 : install [Node.js](https://nodejs.org/en/download/)

Step 2 : create a file named index.js with this
```js
const bananajs = require('@sillyangel/bananajs')
const Banana = new Banana()

Banana.Help();

```

Step 3 : on ur Terminal run node index.js

you will see this as ur output anything else will out put `false`

``` Bash
W.I.P
```
npm package: @sillyangel/blookletjs
Description: bookletjs, credit to redYetired
Author: sillyangel
Latest version: 0.1.1

<div align="center">
<p>
  <img width="300" src="src/image.png" alt="Logo">
</p>
  </div>
  <div align="left">
 <h1 align="center"> Blookletjs </h1> 
 <img src="https://img.shields.io/github/license/sillyangel/banana.js?color=yellow&logo=github&style=for-the-badge" />
 <img src="https://img.shields.io/github/stars/sillyangel/banana.js?color=yellow&logo=github&style=for-the-badge" />
 <img src="https://img.shields.io/github/forks/sillyangel/Banana.js?color=yellow&logo=github&style=for-the-badge" />
 <img src="https://img.shields.io/npm/v/@sillyangel/bananajs?color=yellow&label=Verison&logo=npm&style=for-the-badge" />
  <img alt="Lines of code" src="https://img.shields.io/tokei/lines/github/sillyangel/banana.js?color=yellow&label=TOTAL%20LINES%20OF%20JS&logo=JavaScript&logoColor=%23F7DF1E&style=for-the-badge">
  <img alt="Discord" src="https://img.shields.io/discord/937449156044267520?color=yellow&label=Discord&logo=Discord&style=for-the-badge">
  </div>

# Credits
Redyetidev old blooklet npm package
### How to Install Banana.js
Step 1 : install [Node.js](https://nodejs.org/en/download/)

Step 2 : create a file named index.js with this
```js
const bananajs = require('@sillyangel/blookletjs')
const Banana = new Banana()

Banana.Help();

```

Step 3 : on ur Terminal run node index.js

you will see this as ur output anything else will out put `false`

``` Bash
W.I.P
```

### Documention
The Documention is a W.I.P But you can see them in [https://bananajs-docs.vercel.app](https://bananajs-docs.vercel.app)
npm package: @sillyangel/math
Description: does simple math like adding and substracting
Author: sillyangel
Latest version: 1.0.0

# Basic math methods

![travis test](https://travis-ci.com/sillyangel/math.svg?branch=main) [![GitHub issues](https://img.shields.io/github/issues/sillyangel/math)](https://github.com/sillyangel/math/issues) ![GitHub last commit](https://img.shields.io/github/last-commit/sillyangel/math) ![npm](https://img.shields.io/npm/v/@sillyangel/math) ![NPM](https://img.shields.io/npm/l/@sillyangel/math)

## How to install

```bash
npm install @sillyangel/math
```

## How to use

```js
// require
const basicMaths = require("@sillyangel/math");
```

Or you can add to your `package.json` the property `"type": "module",` and use instead

```js
// import
import basicMaths from '@sillyangel/math';
```

```js
// methods
const add = basicMaths.add(1, 3); // return 4

const substract = basicMaths.substract(1, 2); // return -1

const multiply = basicMaths.multiply(1, 2); // return 2

const divideGood = basicMaths.divide(1, 2); // Good - return 0.5

const divideBad = basicMaths.divide(1, 0); // Bad - No number is divisible by zero

const powOperation = basicMaths.powOperation(2, 2); // return 8
```

![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/sillyangel/math) ![npm](https://img.shields.io/npm/dt/@sillyangel/math) [![GitHub forks](https://img.shields.io/github/forks/sillyangel/math)](https://github.com/sillyangel/math/network) [![GitHub stars](https://img.shields.io/github/stars/sillyangel/math)](https://github.com/sillyangel/math/stargazers) [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@sillyangel/math/badge?style=rounded)](https://www.jsdelivr.com/package/npm/@sillyangel/math) ![GitHub contributors](https://img.shields.io/github/contributors/sillyangel/math?color=success) ![npm collaborators](https://img.shields.io/npm/collaborators/@sillyangel/math?color=success)

## CNDs

If your application is not from Node and you still want to use it on the frontend, you can import the CDN that is hosted on [jsDelivr](https://www.jsdelivr.com/package/npm/@sillyangel/math)

### How to import

Just copy and paste in your html this script

```html
<script src="https://cdn.jsdelivr.net/npm/@sillyangel/math@1.0.0/index.min.js"></script>
```
npm package: @sillyangel/sillyapi
Description: my personal api
Author: sillyangel
Latest version: 0.0.1

# sillyapi
My api


## Status
[![Npm Github Package](https://github.com/sillyangel/sillyapi/actions/workflows/npm-publish-github-packages.yml/badge.svg)](https://github.com/sillyangel/sillyapi/actions/workflows/npm-publish-github-packages.yml)
npm package: @sillybit/colorhacks
Description: A collection of color utility functions
Author: Sillybit.io
Latest version: 1.4.1

# Colorhacks

[![npm package][npm-img]][npm-url] [![Build Status][build-img]][build-url] [![Downloads][downloads-img]][downloads-url] [![Issues][issues-img]][issues-url] [![Commitizen Friendly][commitizen-img]][commitizen-url] [![Semantic Release][semantic-release-img]][semantic-release-url]

> Colorhacks is a collection of color conversion and manipulation utilities for TypeScript.

- [Colorhacks](#colorhacks)
  - [Install](#install)
    - [npm](#npm)
    - [yarn](#yarn)
    - [pnpm](#pnpm)
    - [bun](#bun)
  - [Usage](#usage)
  - [API](#api)
  - [License](#license)
  - [Contributing](#contributing)

## Install

### npm

```bash
npm install @sillybit/colorhacks
```

### yarn

```bash
yarn add @sillybit/colorhacks
```

### pnpm

```bash
pnpm add @sillybit/colorhacks
```

### bun

```bash
bun add @sillybit/colorhacks
```

## Usage

```ts
import { getColorNameFromHex } from '@sillybit/colorhacks';

getColorNameFromHex('#FF0000');
// returns { hexcode: '#ff0000', colorName: 'Red', isExactMatch: true, shadeHex: '#ff0000', shadeName: 'Red', distance: 0 }
```

```ts
import { generateTheme } from '@sillybit/colorhacks';

generateTheme({
  baseColor: '#FF0000',
  expandPalette: true,
  colorScheme: 'complementary',
  infoHue: 200,
  successHue: 120,
  warningHue: 40,
  errorHue: 0,
});
// returns { brand: { ... }, primary: { ... }, secondary: { ... }, accent: { ... }, neutral: { ... }, info: { ... }, success: { ... }, warning: { ... }, error: { ... }, schemeColors: [ ... ] }
```

## API

For more examples and API details, see the [docs](https://sillybit-io.github.io/colorhacks/).

## License

You can use this under the MIT license. See the [LICENSE](./LICENSE) file for more details.

## Contributing

We welcome contributions to this project. Please read our [CONTRIBUTING.md](./CONTRIBUTING.md) file for more details.

[build-img]: https://github.com/sillybit-io/colorhacks/actions/workflows/release.yml/badge.svg
[build-url]: https://github.com/sillybit-io/colorhacks/actions/workflows/release.yml
[downloads-img]: https://img.shields.io/npm/dt/@sillybit/colorhacks
[downloads-url]: https://www.npmtrends.com/@sillybit/colorhacks
[npm-img]: https://img.shields.io/npm/v/@sillybit/colorhacks
[npm-url]: https://www.npmjs.com/package/@sillybit/colorhacks
[issues-img]: https://img.shields.io/github/issues/sillybit-io/colorhacks
[issues-url]: https://github.com/sillybit-io/colorhacks/issues
[semantic-release-img]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
[semantic-release-url]: https://github.com/semantic-release/semantic-release
[commitizen-img]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg
[commitizen-url]: http://commitizen.github.io/cz-cli/
npm package: @silmar/ng-carousel
Description: [![npm (scoped)](https://img.shields.io/npm/v/@silmar/ng-carousel.svg)](https://www.npmjs.com/package/@silmar/ng-carousel) [![pipeline status](https://gitlab.com/etg-public/silmar-ng-carousel/badges/master/pipeline.svg)](https://gitlab.com/etg-public/silm
Author: @ETG Authors
Latest version: 6.1.1

# @silmar/ng-carousel

[![npm (scoped)](https://img.shields.io/npm/v/@silmar/ng-carousel.svg)](https://www.npmjs.com/package/@silmar/ng-carousel)
[![pipeline status](https://gitlab.com/etg-public/silmar-ng-carousel/badges/master/pipeline.svg)](https://gitlab.com/etg-public/silmar-ng-carousel/commits/master)
[![NPM](https://img.shields.io/npm/l/@silmar/ng-carousel.svg?style=flat-square)](https://www.npmjs.com/package/@silmar/ng-carousel)

Really simple carousel

### Install
```
npm i @silmar/ng-carousel hammerjs
// or
yarn add @silmar/ng-carousel hammerjs
```

### Usage
The very basic usage is as follows:

`main.ts`
```typescript
// ....
import 'hammerjs';
// ....
```

`app.module.ts`
```typescript
import {BrowserModule} from '@angular/platform-browser';
import {NgModule, HammerModule} from '@angular/core';

import {AppComponent} from './app.component';
import {NgCarouselModule} from '@silmar/ng-carousel';

@NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        BrowserModule,
        HammerModule, // <-- For Angular 9
        NgCarouselModule // <-- import the carousel module
    ],
    providers: [],
    bootstrap: [AppComponent]
})
export class AppModule {
}
```
`app.component.html`
```angular2html
<!-- this will create a carousel with 2 visible items per slide -->
<si-ng-carousel [visible]="2">
  <div *ngFor="let img of gallery" siCarouselItem>
    <img [src]="domS.bypassSecurityTrustResourceUrl(img)" style="height: 400px"/>
  </div>
</si-ng-carousel>
```

### Demo
Visit the [demo](https://etg-public.gitlab.io/silmar-ng-carousel/)
npm package: @silmar/ng-lightbox
Description: [![npm (scoped)](https://img.shields.io/npm/v/@silmar/ng-lightbox.svg)](https://www.npmjs.com/package/@silmar/ng-lightbox) [![pipeline status](https://gitlab.com/etg-public/silmar-ng-lightbox/badges/master/pipeline.svg)](https://gitlab.com/etg-public/silm
Author: @ETG Authors
Latest version: 5.0.6

# @silmar/ng-lightbox

[![npm (scoped)](https://img.shields.io/npm/v/@silmar/ng-lightbox.svg)](https://www.npmjs.com/package/@silmar/ng-lightbox)
[![pipeline status](https://gitlab.com/etg-public/silmar-ng-lightbox/badges/master/pipeline.svg)](https://gitlab.com/etg-public/silmar-ng-lightbox/commits/master)
[![NPM](https://img.shields.io/npm/l/@silmar/ng-lightbox.svg?style=flat-square)](https://www.npmjs.com/package/@silmar/ng-lightbox)

Really simple lightbox

### Install
```
npm i @silmar/ng-lightbox
// or
yarn add @silmar/ng-lightbox
```

### Usage
The very basic usage is as follows:

`main.ts`
```typescript
// ....
import 'hammerjs';
// ....
```

`app.module.ts`
```typescript
import {BrowserModule, HammerModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';

import {AppComponent} from './app.component';
import {NgLightboxModule} from '@silmar/ng-lightbox';

@NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        BrowserModule,
        HammerModule, // <-- For Angular 9
        NgLightboxModule // <-- import the carousel module
    ],
    providers: [],
    bootstrap: [AppComponent]
})
export class AppModule {
}
```
`app.component.html`
```angular2html
<si-ng-lightbox>
  <img *ngFor="let img of gallery" src="{{img}}" height="200" [siLightboxItem]="img" class="item"/>
</si-ng-lightbox>
```

### Demo
Visit the [demo](https://etg-public.gitlab.io/silmar-ng-lightbox/)
npm package: @silmar/ng-sockets
Description: [![npm (scoped)](https://img.shields.io/npm/v/@silmar/ng-sockets.svg)](https://www.npmjs.com/package/@silmar/ng-sockets) [![pipeline status](https://gitlab.com/etg-public/silmar-ng-sockets/badges/master/pipeline.svg)](https://gitlab.com/etg-public/silmar-
Author: @ETG Authors
Latest version: 4.0.0

# @silmar/ng-sockets

[![npm (scoped)](https://img.shields.io/npm/v/@silmar/ng-sockets.svg)](https://www.npmjs.com/package/@silmar/ng-sockets)
[![pipeline status](https://gitlab.com/etg-public/silmar-ng-sockets/badges/master/pipeline.svg)](https://gitlab.com/etg-public/silmar-ng-sockets/commits/master)
[![NPM](https://img.shields.io/npm/l/@silmar/ng-sockets.svg?style=flat-square)](https://www.npmjs.com/package/@silmar/ng-sockets)

Socket.io Angular wrapper

### Install
#### NPM
```
npm i @silmar/ng-sockets socket.io socket.io-client
```

#### Yarn
```
yarn add @silmar/ng-sockets socket.io socket.io-client
```

### Polyfills
You should add the following into your `polyfills.ts` file

```typescript
(window as any).global = window;
```

### Original project
https://github.com/bougarfaoui/ng-socket-io
npm package: @silmar/ng-tooltip
Description: [![npm (scoped)](https://img.shields.io/npm/v/@silmar/ng-tooltip.svg)](https://www.npmjs.com/package/@silmar/ng-tooltip) [![pipeline status](https://gitlab.com/etg-public/silmar-ng-tooltip/badges/master/pipeline.svg)](https://gitlab.com/etg-public/silmar-
Author: @ETG Authors
Latest version: 4.1.0

# NG Tooltip

[![npm (scoped)](https://img.shields.io/npm/v/@silmar/ng-tooltip.svg)](https://www.npmjs.com/package/@silmar/ng-tooltip)
[![pipeline status](https://gitlab.com/etg-public/silmar-ng-tooltip/badges/master/pipeline.svg)](https://gitlab.com/etg-public/silmar-ng-tooltip/commits/master)
[![NPM](https://img.shields.io/npm/l/@silmar/ng-tooltip.svg?style=flat-square)](https://www.npmjs.com/package/@silmar/ng-tooltip)

### Install
```
npm i @silmar/ng-tooltip
// or
yarn add @silmar/ng-tooltip
```

### Demo
[Checkout the demo page](https://etg-public.gitlab.io/silmar-ng-tooltip) or run the demo app, check out the project then run the following in th root directory

```
npm i
ng serve
```

More info in the library [README.md](projects/silmar/ng-tooltip/README.md)
npm package: @silogy/viv
Description: Viv is the world's first AI verification engineer. By reading log files, code, waveforms, and other test output, Viv debugs failing test regressions in minutes.
Latest version: 0.0.25

# Viv CLI

Viv is the world's first AI verification engineer. By reading log files, code,
waveforms, and other test output, Viv debugs failing test regressions in
minutes.

The easiest way to install Node, Viv, and a sandbox repo to test Viv in the
cloud is by running:

```
curl -fsSL https://install.silogy.io | bash
```

For more information, see https://silogy.io/.
npm package: @silogy/vivcli
Description: Building the self-contained binary depends on bun; you can install it with
Latest version: 0.0.1

# vivcli

Building the self-contained binary depends on bun; you can install it with

```bash
curl -fsSL https://bun.sh/install | bash
```

To build the app, you may execute

`yarn run build:binary` -- this will build a self-contained binary
`./vivcli` will then invoke the selfcontained binary