open-index/open-npm huggingface dataset:
npm package: @levimc-lse/interface-api
Description: API for the logic tree development framework that supports cross-plugin UI queues at runtime in Minecraft Legacy Script Engine.
Author: leoweyr
Latest version: 0.1.1

# LeviInterface API

API for the logic tree development framework that supports cross-plugin UI queues at runtime in Minecraft Legacy Script Engine.

## ❗ Important

All Legacy Script Engine plugins developed using this package <font color="red">must add LeviInterface master plugin as a dependency to their `manifest.json`:</font>

```json
{
    "dependencies": [
        {
          "name": "LeviInterfaceMaster"
        }
	]
}
```

Install the LeviInterface master plugin via lip in the LeviLamina server working directory:

```bash
lip install github.com/leoweyr/LeviInterface
```
npm package: @levinelito/base-component
Description: ```javascript class MyInfo extends BaseComponent {     static observedAttributes = ['name', 'height'];     Attributes = {         name : {             required    : true,             type        : 'string'         },         height : { type : 'int
Author: LevineLito
Latest version: 0.0.3

# Simple Base Class for Web Component

## Usage

```javascript
class MyInfo extends BaseComponent {
    static observedAttributes = ['name', 'height'];
    Attributes = {
        name : {
            required    : true,
            type        : 'string'
        },
        height : { type : 'integer' }
    }
    
    _render() {
        this.innerHTML = '<div>';
        this.innerHTML += `My name is ${this.getValue('name')}.`;
        this.innerHTML += `I'm ${this.getValue('height')} cm tall.`;
        this.innerHTML += '</div>';
    }
}
customElements.define('my-info', MyInfo);
```

```html
<my-info name="Levine" height="170"></my-info>
```
npm package: @levinelito/bootstrap-option-menu
Description: Create interactable lists to select options.   Press the plus (+) button in the options on the left to select it, and press the minus (-) button in the options on the right to deselect it. ![Sample List from Kazhier.com](https://github.com/LevineLighto
Author: Levine Lito
Latest version: 0.1.3

# Bootstrap Option List
Create interactable lists to select options.  
Press the plus (+) button in the options on the left to select it, and press the minus (-) button
in the options on the right to deselect it.
![Sample List from Kazhier.com](https://github.com/LevineLighto/bootstrap-option-menu/blob/0808ca9e8c2c5589e53fdfaa6ed84c6240f45991/demo/screenshot/Kz-sample.png)

## Usage
* Make sure to include Bootstrap's CSS and Font Awesome to make sure it works properly
``` HTML
...
<head>
    ...
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
    ...
</head>
<body>
    ...
    <!-- Font Awesome Kit -->
    <script src="https://kit.fontawesome.com/Your-Kit-Name.js" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/@levinelito/bootstrap-option-menu"></script>
    ...
</body>
...
```

### Using input to contain the data
``` javascript
const OptionMenu = new OptionMenu.List({
    target: 'input',
    data: {added: ['Option A', 'Option B', 'Option C'], available: ['Option D', 'Option E', 'Option F', 'Option G']},
});
```
npm package: @levinelito/bulma-option-list
Description: List of selectable options styled with Bulma CSS
Author: Levine Lito
Latest version: 0.0.5

# Bulma Option Menu
Create interactable lists to select options.  
Press the plus (+) button in the options on the left to select it, and press the minus (-) button in the options on the right to deselect it.

## Usage
_Make sure to include Bulma's CSS and Font Awesome to make sure it works properly_
``` HTML
...
<head>
    ...
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.3/css/bulma.min.css">
    ...
</head>
<body>
    ...
    <!-- Font Awesome Kit -->
    <script src="https://kit.fontawesome.com/Your-Kit-Name.js" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/@levinelito/bulma-option-list"></script>
    ...
</body>
...
```

### Using input to contain the data
``` javascript
const OptionMenu = new OptionMenu.List({
    target: 'input',
    data: {added: ['Option A', 'Option B', 'Option C'], available: ['Option D', 'Option E', 'Option F', 'Option G']},
});
```
npm package: @levinelito/create-html-element
Description: A simple javascript function to create a new HTML element
Author: Levine Lito
Latest version: 1.1.0

# HTML Element Creator
A simple javascript function to create a new HTML element

## Installation
```html
<script src="https://cdn.jsdelivr.net/npm/@levinelito/create-html-element/dist/CreateElement.js"></script>
```

## Usage

#### First Example
```javascript
CreateElement({tagname: 'a', classnames: 'display-1 fw-light', content: 'I am a link'});
```
#### Output
```html
<a class="display-1 fw-light">I am a link</a>

```


#### Second Example
```javascript
CreateElement({classnames: 'display-1', content: 'I am a display'});
```
#### Output
```html
<div class="display-1">I am a display</div>

```
npm package: @levinhs/nft-hooks
Description: Generic Rendering Component for zNFTs
Author: Harris
Latest version: 1.0.2

## @zoralabs/nft-hooks

Simple React hooks to load Zora NFT data. Includes on-chain data, NFT metadata, and tools for fetching NFT content if needed.

Put together, these power implementations of the zNFT protocol on any website.

This library consists of a data fetch class and associated React hooks to load NFT data is an easy, efficient manner. The API both batches and caches requests, meaning you can use the hooks across a page without needing to worry about significant performance penalties.


Install:
```bash
yarn add @zoralabs/nft-hooks
```

Then you can import and use the hooks in your react application:

```ts
import {useZNFT, useNFTMetadata} from "@zoralabs/nft-hooks";

function MyNFT() {
  const {data} = useZNFT("20");
  const {metadata} = useNFTMetadata(data && data.metadataURI);
  
  return (
    <div>
      <h3>{metadata.title}</h3>
      <p>{metadata.description}</p>
      <p>Owned by: {data.owner.id}</p>
    </div>
  );
}
```

### All hooks:

| Hook | Usage |
| -- | -- |
| [useZNFT](docs/useZNFT.md) | Fetches on-chain zNFT data |
| *useNFT* | Fetches on-chain NFT data for any ERC721 (coming soon) |
| [useNFTMetadata](docs/useNFTMetadata.md) | Fetches NFT metadata from a URL |
| [useNFTContent](docs/useNFTContent.md) | Fetches text content from server for rendering from content URL |

### Configuration:

To set the network configuration, wrap the hooks used with the `NFTFetchConfiguration` component.

```ts
import {Networks, NFTFetchConfiguration} from '@zoralabs/nft-hooks';

function NFTGallery() {
  return (
    <NFTFetchConfiguration network={Networks.MAINNET}>
      <NFTList>
    </NFTFetchConfiguration>
  );
}
```

### Development:

1. `git clone https://github.com/ourzora/nft-hooks`
2. `cd nft-hooks`
3. `npm i -g yarn` if you don't have yarn installed
4. `yarn`
5. `yarn run test` test your code

Pull requests and tickets are accepted for issues and improvements
to this library.
npm package: @levino/shipyard-base
Description: Core layouts, components, and configuration for shipyard - a composable page builder for Astro
Author: Levin Keller
Latest version: 0.8.0

# @levino/shipyard-base

Core package for [shipyard](https://shipyard.levinkeller.de), a general-purpose page builder for Astro.

## Installation

```bash
npm install @levino/shipyard-base
```

## Peer Dependencies

- `astro` ^5.7
- `tailwindcss` ^3
- `daisyui` ^4
- `@tailwindcss/typography` ^0.5.10

## Basic Usage

### Astro Integration

```ts
// astro.config.ts
import shipyard from '@levino/shipyard-base'

export default defineConfig({
  integrations: [
    shipyard({
      title: 'My Site',
      // ... configuration
    }),
  ],
})
```

### Layouts

```astro
---
import { Page } from '@levino/shipyard-base/layouts'
---

<Page title="My Page">
  <p>Page content</p>
</Page>
```

Available layouts: `Page`, `Splash`, `Footer`

### Components

```astro
---
import { SidebarNavigation, Breadcrumbs } from '@levino/shipyard-base/components'
---
```

Available components: `Breadcrumbs`, `Footer`, `GlobalDesktopNavigation`, `LocalNavigation`, `SidebarElement`, `SidebarNavigation`, `TableOfContents`

## Documentation

For complete documentation and examples, visit [shipyard.levinkeller.de](https://shipyard.levinkeller.de).

## License

MIT
npm package: @levino/shipyard-blog
Description: Blog plugin for shipyard with pagination, sidebar, and git metadata
Author: Levin Keller
Latest version: 0.8.0

# @levino/shipyard-blog

Blog plugin for [shipyard](https://shipyard.levinkeller.de), a general-purpose page builder for Astro.

## Installation

```bash
npm install @levino/shipyard-blog
```

## Peer Dependencies

- `astro` ^5.15

## Basic Usage

### Astro Integration

```ts
// astro.config.ts
import shipyardBlog from '@levino/shipyard-blog'

export default defineConfig({
  integrations: [
    shipyardBlog({
      blogSidebarCount: 5,
      blogSidebarTitle: 'Recent posts',
      postsPerPage: 10,
      editUrl: 'https://github.com/user/repo/edit/main/blog',
      showLastUpdateTime: true,
      showLastUpdateAuthor: true,
    }),
  ],
})
```

### Content Collection Schema

```ts
// src/content.config.ts (Astro 5+)
import { defineCollection } from 'astro:content'
import { blogSchema } from '@levino/shipyard-blog'

const blog = defineCollection({
  schema: blogSchema,
})

export const collections = { blog }
```

### Routes

The integration automatically injects these routes:

- `/blog` - Blog index
- `/blog/page/[page]` - Paginated blog index
- `/blog/[...slug]` - Individual blog posts

With i18n enabled, routes are prefixed with `[locale]`.

## Documentation

For complete documentation and examples, visit [shipyard.levinkeller.de](https://shipyard.levinkeller.de).

## License

MIT
npm package: @levino/shipyard-docs
Description: Documentation plugin for shipyard with automatic sidebar, pagination, and git metadata
Author: Levin Keller
Latest version: 0.8.0

# @levino/shipyard-docs

Documentation plugin for [shipyard](https://shipyard.levinkeller.de), a general-purpose page builder for Astro.

## Installation

```bash
npm install @levino/shipyard-docs
```

## Peer Dependencies

- `astro` ^5.15

## Basic Usage

### Astro Integration

```ts
// astro.config.ts
import shipyardDocs from '@levino/shipyard-docs'

export default defineConfig({
  integrations: [
    shipyardDocs({
      routeBasePath: 'docs',
      editUrl: 'https://github.com/user/repo/edit/main/docs',
      showLastUpdateTime: true,
      showLastUpdateAuthor: true,
    }),
  ],
})
```

### Content Collection

```ts
// src/content.config.ts (Astro 5+)
import { defineCollection } from 'astro:content'
import { createDocsCollection } from '@levino/shipyard-docs'

const docs = defineCollection(createDocsCollection('./docs'))

export const collections = { docs }
```

### Multiple Documentation Instances

```ts
// astro.config.ts
export default defineConfig({
  integrations: [
    shipyardDocs({ routeBasePath: 'docs' }),
    shipyardDocs({ routeBasePath: 'guides', collectionName: 'guides' }),
  ],
})
```

### Versioned Documentation

```ts
// astro.config.ts
export default defineConfig({
  integrations: [
    shipyardDocs({
      routeBasePath: 'docs',
      versions: {
        current: 'v2',
        available: [
          { version: 'v2', label: 'Version 2.0 (Latest)' },
          { version: 'v1', label: 'Version 1.0', banner: 'unmaintained' },
        ],
        deprecated: ['v1'],
        stable: 'v2',
      },
    }),
  ],
})
```

With versioned content collection:

```ts
// content.config.ts
import { defineCollection } from 'astro:content'
import { createVersionedDocsCollection } from '@levino/shipyard-docs'

const docs = defineCollection(
  createVersionedDocsCollection('./docs', {
    versions: ['v1', 'v2'],
  })
)

export const collections = { docs }
```

### Routes

The integration automatically injects these routes:

- `/[routeBasePath]/[...slug]` - Documentation pages (without versioning)
- `/[routeBasePath]/[version]/[...slug]` - Versioned documentation pages

With i18n enabled, routes are prefixed with `[locale]`.

## Documentation

For complete documentation and examples, visit [shipyard.levinkeller.de](https://shipyard.levinkeller.de).

## License

MIT
npm package: @levino/trezor-wallet-provider
Description: Trezor-enabled subprovider for Provider Engine
Author: 0v1se
Latest version: 0.1.2

# trezor-wallet-provider

Trezor-enabled Web3 subprovider for [metamask's provider engine](https://github.com/MetaMask/provider-engine). Use it to sign transactions with Trezor hardware wallet.

This is based on https://github.com/daonomic/trezor-wallet-provider

## Install

```
$ npm install @hardfork/trezor-wallet-provider
```

## General Usage

**Please also read the tests files!**

You can use this subprovider to sign transaction using trezor hardware wallet.

```javascript
import { createTrezorProvider } from '@hardfork/trezor-wallet-provider'

var engine = new ProviderEngine()
engine.addProvider(createTrezorProvider("m/44'/1'/0'/0/0"))
engine.addProvider(new FiltersSubprovider())
engine.addProvider(
  new Web3Subprovider(
    new Web3.providers.HttpProvider('http://ropsten.infura.com/{key}')
  )
)
engine.start()
```

TrezorProvider will expose one address for specified path.

Parameters:

- `path`: `string`. derivation path for address

## Truffle Usage

You can easily use this within a Truffle configuration
npm package: @levinswap/sdk
Description: 🛠 An SDK for building applications on top of Levinswap.
Latest version: 5.1.4-canary.87

# Sushiswap SDK

In-depth documentation on this SDK is available at [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

This modifies uniswap-sdk's UniswapV2Factory address. The new address for sushiswap is  `0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac`.

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/sushiswap/sushiswap-sdk.git
```

Move into the sushiswap-sdk working directory

```sh
cd sushiswap-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @levinswap/uniswap-sdk
Description: 🛠 An SDK for building applications on top of Uniswap.
Latest version: 3.0.4

# Uniswap SDK

[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![Actions Status](https://github.com/Uniswap/uniswap-sdk/workflows/CI/badge.svg)](https://github.com/Uniswap/uniswap-sdk)
[![npm version](https://img.shields.io/npm/v/@uniswap/sdk/latest.svg)](https://www.npmjs.com/package/@uniswap/sdk/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@uniswap/sdk/latest.svg)](https://bundlephobia.com/result?p=@uniswap/sdk@latest)

In-depth documentation on this SDK is available at [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/Uniswap/uniswap-sdk.git
```

Move into the uniswap-sdk working directory

```sh
cd uniswap-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @levis312/ui-typography
Description: A simple typography project built with Vue 3 and Vite.
Author: Danil Kozyavin
Latest version: 0.0.2-f

# @levis312/ui-typography

`@levis312/ui-typography` — это npm-пакет для типографики, предназначенный для легкого подключения и использования в ваших проектах на JavaScript или TypeScript.

## Установка

Пакет доступен через [Yarn](https://yarnpkg.com/) и [npm](https://www.npmjs.com/):

```bash
yarn add @levis312/ui-typography
# или
npm install @levis312/ui-typography
```

## Использование

Импортируйте и применяйте типографические функции в вашем проекте:

```vue
<UITypography tag="h2" size="700" weight="bold" color="#42b983">
    Welcome to Your Vue.js + TypeScript + Vite App
  </UITypography>
```

## Возможности

- Простое подключение и интеграция
npm package: @levischuck/tiny-cose
Description: Tiny COSE library for cryptographic operations in CBOR
Latest version: 0.0.13

# Tiny COSE

[![](https://img.shields.io/github/actions/workflow/status/levischuck/tiny-cose/build.yml?branch=main&style=flat-square)](https://github.com/LeviSchuck/tiny-cose/actions)
[![](https://img.shields.io/codecov/c/gh/levischuck/tiny-cose?style=flat-square)](https://codecov.io/gh/levischuck/tiny-cose)
[![](https://img.shields.io/github/v/tag/levischuck/tiny-cose?label=npm&logo=npm&style=flat-square)](https://www.npmjs.com/package/@levischuck/tiny-cose)
[![](https://img.shields.io/jsr/v/%40levischuck/tiny-cose?style=flat-square&logo=jsr&label=JSR)](https://jsr.io/@levischuck/tiny-cose)
[![](https://img.shields.io/github/license/levischuck/tiny-cose?style=flat-square)](https://github.com/LeviSchuck/tiny-cose/blob/main/LICENSE.txt)
![](https://img.shields.io/bundlephobia/min/%40levischuck/tiny-cose?style=flat-square)

A very incomplete COSE library for use with other `tiny-*` libraries.

## What's inside

This implementation provides (incomplete):

- Deserializing public and private key objects into JavaScript `CryptoKey`s
- Serializing JavaScript private and public `CryptoKey`s into public and private
  COSE key objects
- Deserializing and serializing symmetric `CryptoKey`s into COSE key objects

This implementation omits:

- Signing data with private keys
- Verifying data with public keys
- MACing data with symmetric keys
- Verifying MACd data with symmetric keys
- Direct Encryption of data with symmetric keys
- Direct Decryption of data with symmetric keys
- Encrypting data with asymmetric keys with ephemeral-static / static-static key
  agreement
- Decrypting data with asymmetric keys with ephemeral-static / static-static key
  agreement
- Key agreement with key wrapping
- Key transport
- ECDH
- Key Derivation Functions

This implementation does not support:

- RSA keys with multiple primes
- Elliptic Curve keys with compressed points
- `CryptoKey`s for symmetric encryption with AES
- RSAES-OAEP
- Private keys without public components
- ES512 / Curve P-521, see Deno Issue
  [P-521 curves in WebCrypto](https://github.com/denoland/deno/issues/13449)

Over time, this list may change.

## Warning

COSE cryptography is, in general, unsafe for most to dabble with. Please consult
a cryptographer when you are inventing something new with cryptographic
constructs.

## Standards References

- [RFC9052 - CBOR Object Signing and Encryption (COSE): Structures and Process](https://www.rfc-editor.org/rfc/rfc9052.html)
- [RFC9053 - CBOR Object Signing and Encryption (COSE): Initial Algorithms](https://www.rfc-editor.org/rfc/rfc9053.html)
- [RFC9054 - CBOR Object Signing and Encryption (COSE): Hash Algorithms](https://www.rfc-editor.org/rfc/rfc9054.html)
- [RFC8230 - Using RSA Algorithms with CBOR Object Signing and Encryption (COSE) Messages](https://www.rfc-editor.org/rfc/rfc8230.html)
- [RFC8812 - CBOR Object Signing and Encryption (COSE) and JSON Object Signing and Encryption (JOSE) Registrations for Web Authentication (WebAuthn) Algorithms](https://www.rfc-editor.org/rfc/rfc8812.html)
npm package: @levischuck/tiny-encodings
Description: Tiny Encoding library for base64, base16 / hex
Latest version: 0.2.11

# Tiny Encodings

[![](https://img.shields.io/github/actions/workflow/status/levischuck/tiny-encodings/build.yml?branch=main&style=flat-square)](https://github.com/LeviSchuck/tiny-encodings/actions)
[![](https://img.shields.io/codecov/c/gh/levischuck/tiny-encodings?style=flat-square)](https://codecov.io/gh/levischuck/tiny-encodings)
[![](https://img.shields.io/github/v/tag/levischuck/tiny-encodings?label=npm&logo=npm&style=flat-square)](https://www.npmjs.com/package/@levischuck/tiny-encodings)
[![](https://img.shields.io/jsr/v/%40levischuck/tiny-encodings?style=flat-square&logo=jsr&label=JSR)](https://jsr.io/@levischuck/tiny-encodings)
[![](https://img.shields.io/github/license/levischuck/tiny-encodings?style=flat-square)](https://github.com/LeviSchuck/tiny-encodings/blob/main/LICENSE.txt)
![](https://img.shields.io/bundlephobia/min/%40levischuck/tiny-encodings?style=flat-square)

A companion library to join a few other `tiny-*` libraries.

This library provides reasonably fast implementations of:

- Base64 Standard Encoding
- Base64 URL Encoding
- Base64 Standard Decoding
- Base64 URL Decoding
- Hex / Base16 Encoding
- Hex / Base16 Decoding

Where decoding functions take `string`s and output a `Uint8Array`s, and encoding
functions take any buffer type (`ArrayBuffer`, `Uint8Array`, other typed arrays,
and `DataView`s) and output a `string`.

This library follows the byte order of the host, this means that typed arrays
such as `Uint32Array` will be encoded in the byte order in its underlying memory
buffer which is host specific. If platform compatibility is required for
multi-byte buffers, see `arrayToEndian` and `arrayFromEndian`.

_Initially, this library was going to be the reference implementation, as seen
in `encoding_reference.ts`. However, the reference implementation performance is
abysmal._

This library is no longer automatically published to Deno's Third Party Modules.
Newer versions may appear on deno.land/x, but do not work.

Tiny-encodings mitigates [Base64 Malleability](https://eprint.iacr.org/2022/361)
by refusing mangled encoded inputs.

## Example

```ts
// NPM
// import { decodeBase64 } from "@levischuck/tiny-encodings";
// or JSR
// import { decodeBase64 } from "jsr:@levischuck/tiny-encodings";
import { decodeBase64 } from "./index.ts";

decodeBase64("SGVsbG8gd29ybGQ=");
// returns a Uint8Array with the bytes for "Hello world"
```

## Where to get it

This library is available on
[NPM](https://www.npmjs.com/package/@levischuck/tiny-encodings) and
[JSR](https://jsr.io/@levischuck/tiny-encodings).

This library is no longer automatically published to Deno's Third Party Modules.
Newer versions may appear on deno.land/x, but do not work.
npm package: @levischuck/tiny-font-ranges
Description: Unicode range mappings for [Noto font families](https://fonts.google.com/noto/fonts) provided by Google under the [Open Font License](https://openfontlicense.org/).
Latest version: 1.0.1

# tiny-font-ranges

Unicode range mappings for [Noto font families](https://fonts.google.com/noto/fonts) provided by Google under the [Open Font License](https://openfontlicense.org/).

If you find that you need to display internationalized text or even silly text like [Kaomoji](https://en.wikipedia.org/wiki/Kaomoji), while not importing literally every font ever, this library will help you identify which fonts to import.

The ranges in this library are specific to the referenced Noto fonts. They may not translate to similar fonts (sans vs serif in the Noto ecosystem) or across font families.

## Install

```bash
npm install @levischuck/tiny-font-ranges
```

## Usage

Use `scanTextForFontRanges` to detect which fonts are needed for a given string:

```ts
import { scanTextForFontRanges, ALL_FONTS, WITHOUT_LATIN } from "@levischuck/tiny-font-ranges";

// Scan Japanese text
const fonts = scanTextForFontRanges("こんにちは世界", ALL_FONTS);
// => ["Noto Sans JP", "Noto Sans SC"]

// Mixed content: English + Emoji + Japanese
const mixed = scanTextForFontRanges("Hello 🌍 世界", ALL_FONTS);
// => ["Noto Emoji", "Noto Sans JP", "Noto Sans SC"]

// Use WITHOUT_LATIN to skip the base Noto Sans font, in case you have your own and it's on an approximately compatible baseline.
const extra = scanTextForFontRanges("(╯°□°）╯︵ ┻━┻", WITHOUT_LATIN);
// => [ 'Noto Sans JP', 'Noto Sans KR' ] (parenthesis and such covered by Noto like just about every font ever)
```
npm package: @levischuck/tiny-png
Description: A minimal, dependency-free TypeScript PNG encoder for indexed color images.
Latest version: 0.2.0

# tiny-png

A minimal, dependency-free TypeScript PNG encoder for indexed color images.

## Usage

```typescript
import { indexedPng } from '@levischuck/tiny-png';

// Create an indexed PNG from pixel data
// Input is a Uint8Array where each byte is a palette index
const width = 100;
const height = 100;
const pixels = new Uint8Array(width * height);
// ... fill pixels with palette indices (0, 1, 2, etc.)

// Define color palette: [R, G, B] tuples
const colors: [number, number, number][] = [
  [255, 255, 255], // Index 0: white
  [0, 0, 0],       // Index 1: black
  [255, 0, 0],     // Index 2: red
];

const pngBytes = await indexedPng(pixels, width, height, colors);

// Write to file
await Bun.write('output.png', pngBytes);
```

## API

### `indexedPng(input: Uint8Array, width: number, height: number, colors: [number, number, number][]): Promise<Uint8Array>`

Generates an indexed-color PNG image.

**Parameters:**
- `input` - Pixel data as a Uint8Array where each byte is a palette index
- `width` - Image width in pixels
- `height` - Image height in pixels
- `colors` - Color palette as an array of `[R, G, B]` tuples (0-255)

**Returns:** Promise resolving to PNG file bytes as a Uint8Array

**Throws:** Error if the color palette doesn't have enough colors for the highest index in the input data.

## License

MIT Licensed.
npm package: @levischuck/tiny-qr
Description: A minimal, dependency-free TypeScript QR code encoder.
Latest version: 0.0.9

# tiny-qr

A minimal, dependency-free TypeScript QR code encoder.

## Usage

```typescript
import { qrCode, EcLevel } from '@levischuck/tiny-qr';

// Create a QR code with default settings (Medium error correction)
const qr = qrCode({ data: 'HELLO WORLD' });

// With custom error correction level
const qrHighEc = qrCode({ data: 'HELLO WORLD', ec: EcLevel.H });

// Encode binary data
const qrBinary = qrCode({ data: new Uint8Array([0x01, 0x02, 0x03]) });

// Access the result
console.log('Size:', qr.width);
console.log('Version:', qr.version);

// Matrix is a 2D boolean array (true = dark, false = light)
for (let y = 0; y < qr.width; y++) {
  for (let x = 0; x < qr.width; x++) {
    const isDark = qr.matrix[y][x];
  }
}
```

This package is intended to be chained with other tiny-packages for rendering:

- `@levischuck/tiny-qr-svg` - SVG output
- `@levischuck/tiny-qr-png` - PNG output

If you're looking to manually render from the modules,
the result contains a `boolean[][]` matrix.

## API

### `qrCode(options: QrOptions): QrResult`

Generates a QR code from the given data.

**Options:**
- `data: string | Uint8Array` - The data to encode
- `ec?: EcLevel` - Error correction level (default: `EcLevel.M`)

**Result:**
- `matrix: boolean[][]` - 2D array of modules (true = dark, false = light)
- `width: number` - Width/height of the QR code in modules
- `version: Version` - QR code version (1-40)
- `ec: EcLevel` - Error correction level used
  - `EcLevel.L` or `0`
  - `EcLevel.M` or `1`
  - `EcLevel.Q` or `2`
  - `EcLevel.H` or `3`

## Rendering

## License

MIT Licensed.

This code is largely derived from [qrcode-rust](https://github.com/kennytm/qrcode-rust) by kennytm, which provides an MIT and Apache 2 license to its code.

The word "QR Code" is registered trademark of DENSO WAVE INCORPORATED
http://www.denso-wave.com/qrcode/faqpatent-e.html
npm package: @levischuck/tiny-qr-png
Description: A minimal PNG renderer for QR codes generated with `@levischuck/tiny-qr`.
Latest version: 0.0.11

# tiny-qr-png

A minimal PNG renderer for QR codes generated with `@levischuck/tiny-qr`.

## Usage

```typescript
import { qrCode } from '@levischuck/tiny-qr';
import { toPng } from '@levischuck/tiny-qr-png';

// Generate a QR code
const qr = qrCode({ data: 'Hello, world!' });

// Convert to PNG
const { bytes, width, height } = await toPng(qr, {
  margin: 4,
  moduleSize: 4,
  backgroundColor: [255, 255, 255],
  foregroundColor: [0, 0, 0]
});

// Write to file
await Bun.write('qrcode.png', bytes);
```

## API

### `toPng(qr: QrResult, options?: PngOptions): Promise<PngResult>`

Converts a QR code result to a PNG image.

**Options:**
- `margin?: number` - Quiet zone size in modules (default: `4`)
- `moduleSize?: number` - Size of each module in pixels (default: `4`)
- `backgroundColor?: [number, number, number]` - RGB background color (default: `[255, 255, 255]`)
- `foregroundColor?: [number, number, number]` - RGB foreground color (default: `[0, 0, 0]`)

**Returns:** Promise resolving to a `PngResult` object:
- `bytes: Uint8Array` - PNG image data
- `width: number` - Image width in pixels
- `height: number` - Image height in pixels

## License

MIT Licensed.

The word "QR Code" is registered trademark of DENSO WAVE INCORPORATED
http://www.denso-wave.com/qrcode/faqpatent-e.html
npm package: @levischuck/tiny-qr-svg
Description: A minimal SVG renderer for QR codes generated with `@levischuck/tiny-qr`.
Latest version: 0.0.9

# tiny-qr-svg

A minimal SVG renderer for QR codes generated with `@levischuck/tiny-qr`.

## Usage

### String Output

```typescript
import { qrCode } from '@levischuck/tiny-qr';
import { toSvgString } from '@levischuck/tiny-qr-svg';

const qr = qrCode({ data: 'Hello, world!' });

// Generate SVG string
const svg = toSvgString(qr, {
  margin: 4,
  moduleSize: 4,
  background: 'white',
  color: 'black',
  output: 'svg+xml' // or 'svg', 'g', 'path'
});

// Write to file
await Bun.write('qrcode.svg', svg);
```

### JSX Output

```typescript
import { qrCode } from '@levischuck/tiny-qr';
import { toSvgJsx } from '@levischuck/tiny-qr-svg';

const qr = qrCode({ data: 'Hello, world!' });

// Generate JSX element
const jsxElement = toSvgJsx(qr, {
  margin: 4,
  moduleSize: 4,
  background: 'white',
  color: 'black',
  output: 'svg' // or 'g'
});

// The JSX function is designed for Hono, but should work with React and Preact too
```

## API

### `toSvgString(qr: QrResult, options?: SvgOptions): string`

Converts a QR code result to an SVG string.

**Options:**
- `margin?: number` - Quiet zone size in modules (default: `4`)
- `moduleSize?: number` - Size of each module in pixels (default: `4`)
- `background?: string` - Background color (default: `'white'`)
- `color?: string` - Foreground color (default: `'black'`)
- `output?: 'path' | 'g' | 'svg' | 'svg+xml'` - Output format (default: `'svg+xml'`)

**Returns:** SVG string in the requested format

`'transparent'` is also a supported color for background.

### `toSvgJsx(qr: QrResult, options?: JsxOptions): JsxElement`

Converts a QR code result to a JSX element. Designed for Hono, but should work with React and Preact too.

**Options:**
- `margin?: number` - Quiet zone size in modules (default: `4`)
- `moduleSize?: number` - Size of each module in pixels (default: `4`)
- `background?: string` - Background color (default: `'white'`)
- `color?: string` - Foreground color (default: `'black'`)
- `output?: 'g' | 'svg'` - Output format (default: `'svg'`)

**Returns:** JSX element object

`'transparent'` is also a supported color for background.

## License

MIT Licensed.

The word "QR Code" is registered trademark of DENSO WAVE INCORPORATED
http://www.denso-wave.com/qrcode/faqpatent-e.html
npm package: @levischuck/tiny-webauthn
Description: Tiny WebAuthn library to register and authenticate security keys and passkeys
Latest version: 0.0.5

# Tiny WebAuthn

[![](https://img.shields.io/github/actions/workflow/status/levischuck/tiny-webauthn/build.yml?branch=main)](https://github.com/LeviSchuck/tiny-webauthn/actions)
[![](https://img.shields.io/codecov/c/gh/levischuck/tiny-webauthn?style=flat-square)](https://codecov.io/gh/levischuck/tiny-webauthn)
[![](https://img.shields.io/github/v/tag/levischuck/tiny-webauthn?label=npm&logo=npm&style=flat-square)](https://www.npmjs.com/package/@levischuck/tiny-webauthn)
[![](https://img.shields.io/github/v/tag/levischuck/tiny-webauthn?label=deno&logo=deno&style=flat-square)](https://deno.land/x/tiny_webauthn)
[![](https://img.shields.io/github/license/levischuck/tiny-webauthn)](https://github.com/LeviSchuck/tiny-webauthn/blob/main/LICENSE.txt)
![](https://img.shields.io/bundlephobia/min/%40levischuck/tiny-webauthn)

A "server side" implementation of WebAuthn

This is a work in progress
npm package: @levistrauss/braintree-react-native
Description: React native bridge wrapper for Braintree Payments SDK
Author: Karan Kalsi
Latest version: 0.2.14

# braintree-react-native

React native bridge wrapper for Braintree Payments SDK

## Installation

```sh
npm install @levistrauss/braintree-react-native

or

yarn add @levistrauss/braintree-react-native
```
### Manual iOS Installation Steps

- Add Application query scheme in `Info.plist`
```xml
<key>LSApplicationQueriesSchemes</key>
<array>
  <string>com.venmo.touch.v2</string>
</array>
```

- Create Url scheme under Xcode > Targets > Info > Url Types

- Add Url scheme ceated above for Venmo app result in `Info.plist`
```xml
<key>VenmoResultUrlScheme</key>
<string>venmo.example.payment</string>
```

## Usage

```js
import { Venmo } from "@levistrauss/braintree-react-native";

// Initializing Venmo
Venmo.init("<client token or tokenized key>");

// Listening to Venmo events
const subscription = Venmo.addVenmoListener((event) => {
      switch (event.type) {
        case VenmoEventType.VENMO_READY:
          break;
        case VenmoEventType.VENMO_APP_NOT_INSTALLED:
          break;
        case VenmoEventType.VENMO_MERCHANT_DISABLED:
          break;
        case VenmoEventType.PAYMENT_NONCE_CREATED:
          break;
        case VenmoEventType.PAYMENT_ERROR:
          break;
        case VenmoEventType.PAYMENT_CANCELLED:
          break;
      }
    });

// Launching Venmo App for payment
Venmo.launch();

// Collecting device data
Venmo.getDeviceData().then((deviceData) => {
    console.log(deviceData);
});
  
// Clean up
Venmo.removeVenmoListener(subscription);
Venmo.dispose();
```

## Contributings

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT
npm package: @levita-js/angular
Description: Angular wrapper for Levita 3D tilt & parallax
Latest version: 0.3.1

# @levita-js/angular

Angular wrapper for Levita 3D tilt & parallax.

Provides a standalone attribute directive `[levita]` to easily apply 3D tilt effects to any element in your Angular applications.

Refer to the main [Levita README](https://github.com/Jeromearsene/levita#readme) for full documentation and examples.
npm package: @levita-js/react
Description: React wrapper for Levita 3D tilt & parallax
Latest version: 0.3.1

# @levita-js/react

> React wrapper for Levita — Lightweight 3D tilt & parallax with accelerometer support.

## Installation

```bash
npm install @levita-js/react
```

## Quick Start

```tsx
import { Tilt } from "@levita-js/react";
import "@levita-js/react/style.css";

function MyCard() {
  return (
    <Tilt glare shadow max={20}>
      <div className="card-content">
        <h1>Tilt Me!</h1>
      </div>
    </Tilt>
  );
}
```

## Documentation

Full options and advanced usage documentation can be found at the [main Levita repository](https://github.com/jeromearsene/levita#readme).
npm package: @levita-js/svelte
Description: Svelte wrapper for Levita 3D tilt & parallax
Latest version: 0.3.1

# @levita-js/svelte

> Svelte action for Levita — Lightweight 3D tilt & parallax with accelerometer support.

## Installation

```bash
npm install @levita-js/svelte
```

## Quick Start

```svelte
<script>
  import { tilt } from "@levita-js/svelte";
  import "@levita-js/svelte/style.css";
</script>

<div use:tilt={{ glare: true, shadow: true, max: 20 }}>
  <h1>Tilt Me!</h1>
</div>
```

## Documentation

Full options and advanced usage documentation can be found at the [main Levita repository](https://github.com/jeromearsene/levita#readme).
npm package: @levita-js/vue
Description: Vue wrapper for Levita 3D tilt & parallax
Latest version: 0.3.1

# @levita-js/vue

> Vue 3 wrapper for Levita — Lightweight 3D tilt & parallax with accelerometer support.

## Installation

```bash
npm install @levita-js/vue
```

## Quick Start

```vue
<script setup>
import { Tilt } from "@levita-js/vue";
import "@levita-js/vue/style.css";
</script>

<template>
  <Tilt :glare="true" :shadow="true" :max="20">
    <div class="card-content">
      <h1>Tilt Me!</h1>
    </div>
  </Tilt>
</template>
```

## Documentation

Full options and advanced usage documentation can be found at the [main Levita repository](https://github.com/jeromearsene/levita#readme).