open-index/open-npm huggingface dataset:
npm package: @kdujs/reactivity
Description: @kdujs/reactivity
Author: NKDuy
Latest version: 3.4.27

# @kdujs/reactivity

## Usage Note

This package is inlined into Global & Browser ESM builds of user-facing renderers (e.g. `@kdujs/runtime-dom`), but also published as a package that can be used standalone. The standalone build should not be used alongside a pre-bundled build of a user-facing renderer, as they will have different internal storage for reactivity connections. A user-facing renderer should re-export all APIs from this package.

For full exposed APIs, see `src/index.ts`.

## Credits

The implementation of this module is inspired by the following prior art in the JavaScript ecosystem:

- [Meteor Tracker](https://docs.meteor.com/api/tracker.html)
- [nx-js/observer-util](https://github.com/nx-js/observer-util)
- [salesforce/observable-membrane](https://github.com/salesforce/observable-membrane)

## Caveats

- Built-in objects are not observed except for `Array`, `Map`, `WeakMap`, `Set` and `WeakSet`.
npm package: @kdujs/reactivity-canary
Description: @kdujs/reactivity
Author: NKDuy
Latest version: 3.20251208.0

# @kdujs/reactivity

## Usage Note

This package is inlined into Global & Browser ESM builds of user-facing renderers (e.g. `@kdujs/runtime-dom`), but also published as a package that can be used standalone. The standalone build should not be used alongside a pre-bundled build of a user-facing renderer, as they will have different internal storage for reactivity connections. A user-facing renderer should re-export all APIs from this package.

For full exposed APIs, see `src/index.ts`.

## Credits

The implementation of this module is inspired by the following prior art in the JavaScript ecosystem:

- [Meteor Tracker](https://docs.meteor.com/api/tracker.html)
- [nx-js/observer-util](https://github.com/nx-js/observer-util)
- [salesforce/observable-membrane](https://github.com/salesforce/observable-membrane)

## Caveats

- Built-in objects are not observed except for `Array`, `Map`, `WeakMap`, `Set` and `WeakSet`.
npm package: @kdujs/reactivity-transform
Description: @kdujs/reactivity-transform
Author: NKDuy
Latest version: 3.3.13

# @kdujs/reactivity-transform

> ⚠️ This is experimental and the proposal has been dropped.
> The feature is now marked as deprecated and will be removed from Kdu core
> in 3.4.

## Basic Rules

- Ref-creating APIs have `$`-prefixed versions that create reactive variables instead. They also do not need to be explicitly imported. These include:
  - `ref`
  - `computed`
  - `shallowRef`
  - `customRef`
  - `toRef`
- `$()` can be used to destructure an object into reactive variables, or turn existing refs into reactive variables
- `$$()` to "escape" the transform, which allows access to underlying refs

```js
import { watchEffect } from 'kdu'

// bind ref as a variable
let count = $ref(0)

watchEffect(() => {
  // no need for .value
  console.log(count)
})

// assignments are reactive
count++

// get the actual ref
console.log($$(count)) // { value: 1 }
```

Macros can be optionally imported to make it more explicit:

```js
// not necessary, but also works
import { $, $ref } from 'kdu/macros'

let count = $ref(0)
const { x, y } = $(useMouse())
```

### Global Types

To enable types for the macros globally, include the following in a `.d.ts` file:

```ts
/// <reference types="kdu/macros-global" />
```

## API

This package is the lower-level transform that can be used standalone. Higher-level tooling (e.g. `@lahmjs/plugin-kdu` and `kdu-loader`) will provide integration via options.

### `shouldTransform`

Can be used to do a cheap check to determine whether full transform should be performed.

```js
import { shouldTransform } from '@kdujs/reactivity-transform'

shouldTransform(`let a = ref(0)`) // false
shouldTransform(`let a = $ref(0)`) // true
```

### `transform`

```js
import { transform } from '@kdujs/reactivity-transform'

const src = `let a = $ref(0); a++`
const {
  code, // import { ref as _ref } from 'kdu'; let a = (ref(0)); a.value++"
  map
} = transform(src, {
  filename: 'foo.ts',
  sourceMap: true,

  // @babel/parser plugins to enable.
  // 'typescript' and 'jsx' will be auto-inferred from filename if provided,
  // so in most cases explicit parserPlugins are not necessary
  parserPlugins: [
    /* ... */
  ]
})
```

**Options**

```ts
interface RefTransformOptions {
  filename?: string
  sourceMap?: boolean // default: false
  parserPlugins?: ParserPlugin[]
  importHelpersFrom?: string // default: "kdu"
}
```

### `transformAST`

Transform with an existing Babel AST + MagicString instance. This is used internally by `@kdujs/compiler-sfc` to avoid double parse/transform cost.

```js
import { transformAST } from '@kdujs/reactivity-transform'
import { parse } from '@babel/parser'
import MagicString from 'magic-string'

const src = `let a = $ref(0); a++`
const ast = parse(src, { sourceType: 'module' })
const s = new MagicString(src)

const {
  rootRefs, // ['a']
  importedHelpers // ['ref']
} = transformAST(ast, s)

console.log(s.toString()) // let a = _ref(0); a.value++
```
npm package: @kdujs/ref-transform
Description: @kdujs/ref-transform
Author: NKDuy
Latest version: 3.2.6

# @kdujs/ref-transform

> ⚠️ This is experimental and currently only provided for testing and feedback. It may break during patches or even be removed. Use at your own risk!

## Basic Rules

- `$()` to turn refs into reative variables
- `$$()` to access the original refs from reative variables

```js
import { ref, watch } from 'kdu'

// bind ref as a variable
let count = $(ref(0))

// no need for .value
console.log(count)

// get the actual ref
watch($$(count), c => console.log(`count changed to ${c}`))

// assignments are reactive
count++
```

### Shorthands

A few commonly used APIs have shorthands (which also removes the need to import them):

- `$(ref(0))` -> `$ref(0)`
- `$(computed(() => 123))` -> `$computed(() => 123)`
- `$(shallowRef({}))` -> `$shallowRef({})`

## API

This package is the lower-level transform that can be used standalone. Higher-level tooling (e.g. `@witejs/plugin-kdu` and `kdu-loader`) will provide integration via options.

### `shouldTransform`

Can be used to do a cheap check to determine whether full transform should be performed.

```js
import { shouldTransform } from '@kdujs/ref-transform'
shouldTransform(`let a = ref(0)`) // false
shouldTransform(`let a = $ref(0)`) // true
```

### `transform`

```js
import { transform } from '@kdujs/ref-transform'

const src = `let a = $ref(0); a++`
const {
  code, // import { ref as _ref } from 'kdu'; let a = (ref(0)); a.value++"
  map
} = transform(src, {
  filename: 'foo.ts',
  sourceMap: true,
    
  // @babel/parser plugins to enable.
  // 'typescript' and 'jsx' will be auto-inferred from filename if provided,
  // so in most cases explicit parserPlugins are not necessary
  parserPlugins: [/* ... */]
})
```

**Options**

```ts
interface RefTransformOptions {
  filename?: string
  sourceMap?: boolean // default: false
  parserPlugins?: ParserPlugin[]
  importHelpersFrom?: string // default: "kdu"
}
```

### `transformAST`

Transform with an existing Babel AST + MagicString instance. This is used internally by `@kdujs/compiler-sfc` to avoid double parse/transform cost.

```js
import { transformAST } from '@kdujs/ref-transform'
import { parse } from '@babel/parser'
import MagicString from 'magic-string'

const src = `let a = $ref(0); a++`
const ast = parse(src, { sourceType: 'module' })
const s = new MagicString(src)

const {
  rootVars, // ['a']
  importedHelpers // ['ref']
} = transformAST(ast, s)

console.log(s.toString()) // let a = _ref(0); a.value++
```
npm package: @kdujs/repl
Description: Kdu component for editing Kdu components
Author: NKDuy
Latest version: 1.2.4-alpha.0

# @kdujs/repl

Kdu SFC REPL as a Kdu 3 component.

## Simple Usage

```kdu
<script setup>
import { Repl } from '@kdujs/repl'
import '@kdujs/repl/style.css'
</script>

<template>
  <Repl />
</template>
```

## Advanced Usage

```kdu
<script setup>
import { watchEffect } from 'kdu'
import { Repl, ReplStore } from '@kdujs/repl'

// retrieve some configuration options from the URL
const query = new URLSearchParams(location.search)

const store = new ReplStore({
  // initialize repl with previously serialized state
  serializedState: location.hash.slice(1),

  // starts on the output pane (mobile only) if the URL has a showOutput query
  showOutput: query.has('showOutput'),
  // starts on a different tab on the output pane if the URL has a outputMode query
  // and default to the "preview" tab
  outputMode: (query.get('outputMode') || 'preview'),

  // specify the default URL to import Kdu runtime from in the sandbox
  // default is the CDN link from unpkg.com with version matching Kdu's version
  // from peerDependency
  defaultKduRuntimeURL: 'cdn link to kdu.runtime.esm-browser.js'
})

// persist state to URL hash
watchEffect(() => history.replaceState({}, '', store.serialize()))

// pre-set import map
store.setImportMap({
  imports: {
    myLib: 'cdn link to esm build of myLib'
  }
})

// use a specific version of Kdu
store.setKduVersion('3.2.8')
</script>

<template>
  <Repl :store="store" :showCompileOutput="true" />
</template>
```
npm package: @kdujs/runtime-core
Description: @kdujs/runtime-core
Author: NKDuy
Latest version: 3.4.27

# @kdujs/runtime-core

> This package is published only for typing and building custom renderers. It is NOT meant to be used in applications.

## Building a Custom Renderer

```ts
import { createRenderer } from '@kdujs/runtime-core'

const { render, createApp } = createRenderer({
  patchProp,
  insert,
  remove,
  createElement
  // ...
})

// `render` is the low-level API
// `createApp` returns an app instance with configurable context shared
// by the entire app tree.
export { render, createApp }

export * from '@kdujs/runtime-core'
```

See `@kdujs/runtime-dom` for how a DOM-targeting renderer is implemented.
npm package: @kdujs/runtime-core-canary
Description: @kdujs/runtime-core
Author: NKDuy
Latest version: 3.20251208.0

# @kdujs/runtime-core

> This package is published only for typing and building custom renderers. It is NOT meant to be used in applications.

## Building a Custom Renderer

```ts
import { createRenderer } from '@kdujs/runtime-core'

const { render, createApp } = createRenderer({
  patchProp,
  insert,
  remove,
  createElement
  // ...
})

// `render` is the low-level API
// `createApp` returns an app instance with configurable context shared
// by the entire app tree.
export { render, createApp }

export * from '@kdujs/runtime-core'
```

See `@kdujs/runtime-dom` for how a DOM-targeting renderer is implemented.
npm package: @kdujs/runtime-dom
Description: @kdujs/runtime-dom
Author: NKDuy
Latest version: 3.4.27

# @kdujs/runtime-dom

``` js
import { h, createApp } from '@kdujs/runtime-dom'

const RootComponent = {
  render() {
    return h('div', 'hello world')
  }
}

createApp(RootComponent).mount('#app')
```
npm package: @kdujs/runtime-dom-canary
Description: @kdujs/runtime-dom
Author: NKDuy
Latest version: 3.20251208.0

# @kdujs/runtime-dom

``` js
import { h, createApp } from '@kdujs/runtime-dom'

const RootComponent = {
  render() {
    return h('div', 'hello world')
  }
}

createApp(RootComponent).mount('#app')
```
npm package: @kdujs/server-test-utils
Description: Utilities for testing Kdu components.
Author: kdujs
Latest version: 1.0.0

# Kdu Server Test Utils

## Currently in beta

To use Kdu Server Test Utils beta:

```
// npm
npm install --save-dev @kdujs/server-test-utils

// yarn
yarn add --dev @kdujs/server-test-utils
```

## Intro

Kdu Server Test Utils is the official test library for [Kdu.js](http://kdu-js.web.app). It provides methods for unit testing Kdu components.

## License

[MIT](http://opensource.org/licenses/MIT)
npm package: @kdujs/test-utils
Description: Utilities for testing Kdu components.
Author: kdujs
Latest version: 1.0.0

# Kdu Test Utils

## Currently in beta

To use Kdu Test Utils beta:

```
// npm
npm install --save-dev @kdujs/test-utils

// yarn
yarn add --dev @kdujs/test-utils
```

## Intro

Kdu Test Utils is the official test library for [Kdu.js](http://kdu-js.web.app). It provides methods for unit testing Kdu components.

## License

[MIT](http://opensource.org/licenses/MIT)
npm package: @kdujs/theme
Description: The design system for Kdu.js.
Author: NKDuy
Latest version: 1.0.4-alpha.4

# Kdu Theme

This is the [WitePress](https://witepress.web.app/) theme for the official Kdu documentation at `kdu-js.web.app`.

## Development Setup

This repo can be developed on its own since it is a self-contained WitePress theme. Make sure to use [pnpm](https://pnpm.io/) as the package manager when installing deps. A demo app is available in `/demo` and can be run with `npm run dev`:

```bash
$ pnpm install
$ npm run dev
```

### Available Scripts

Here is the list of available scripts that can be used during the development.

```bash
# Boot local dev server.
$ npm run dev

# Build demo, then serve locally. This is for testing
# production build in the local environment.
$ npm run serve

# Run lint via Prettier.
$ npm run lint

# Run type check via tsc.
$ npm run type
```

## License

[MIT](http://opensource.org/licenses/MIT)

Copyright (c) 2021-present NKDuy
npm package: @kdujs/tsconfig
Description: A base TSConfig for working with Kdu.js
Author: NKDuy
Latest version: 0.1.3

# `@kdujs/tsconfig`

TSConfigs for Kdu projects to extend.

Requires TypeScript >= 4.5.

Install:

```sh
npm add -D @kdujs/tsconfig
```

Add one of the available configurations to your `tsconfig.json`:

The base configuration (runtime-agnostic):

```json
"extends": "@kdujs/tsconfig/tsconfig.json"
```

Configuration for Browser environment:

```json
"extends": "@kdujs/tsconfig/tsconfig.web.json"
```

Configuration for Node environment:

```json
"extends": "@kdujs/tsconfig/tsconfig.node.json"
```
npm package: @kdujs/ui
Description: UI components used in the kdujs organization apps
Author: NKDuy
Latest version: 0.12.5

# Kdu UI Framework

This is a collection of components and styles meant to be used across all official Kdu.js apps.

## Installation

Install the `@kdujs/ui` package:

```
npm i -S @kdujs/ui
```

Install the Kdu plugin:

```js
import Kdu from 'kdu'
import KduUi from '@kdujs/ui'

Kdu.use(KduUi)
```

Import the CSS:

```js
import '@kdujs/ui/dist/kdu-ui.css'
```

**Documentation is Work In Progress**
npm package: @kduma-autoid/capacitor-bluetooth-printer
Description: Allows printing on SPP BT printers
Author: Krystian Duma
Latest version: 0.2.1

# @kduma-autoid/capacitor-bluetooth-printer

Allows printing on SPP BT printers

## Install

```bash
npm install @kduma-autoid/capacitor-bluetooth-printer
npx cap sync
```

## API

<docgen-index>

* [`list()`](#list)
* [`connect(...)`](#connect)
* [`print(...)`](#print)
* [`disconnect()`](#disconnect)
* [`connectAndPrint(...)`](#connectandprint)
* [Type Aliases](#type-aliases)
* [Enums](#enums)

</docgen-index>

<docgen-api>
<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->

### list()

```typescript
list() => Promise<{ devices: BluetoothDevice[]; }>
```

**Returns:** <code>Promise&lt;{ devices: BluetoothDevice[]; }&gt;</code>

--------------------


### connect(...)

```typescript
connect(options: { address: string; }) => Promise<void>
```

| Param         | Type                              |
| ------------- | --------------------------------- |
| **`options`** | <code>{ address: string; }</code> |

--------------------


### print(...)

```typescript
print(options: { data: string; }) => Promise<void>
```

| Param         | Type                           |
| ------------- | ------------------------------ |
| **`options`** | <code>{ data: string; }</code> |

--------------------


### disconnect()

```typescript
disconnect() => Promise<void>
```

--------------------


### connectAndPrint(...)

```typescript
connectAndPrint(options: { address: string; data: string; }) => Promise<void>
```

| Param         | Type                                            |
| ------------- | ----------------------------------------------- |
| **`options`** | <code>{ address: string; data: string; }</code> |

--------------------


### Type Aliases


#### BluetoothDevice

<code>{ name: string, address: string, type: <a href="#bluetoothdevicetype">BluetoothDeviceType</a> }</code>


### Enums


#### BluetoothDeviceType

| Members       | Value                  |
| ------------- | ---------------------- |
| **`Unknown`** | <code>"unknown"</code> |
| **`Classic`** | <code>"classic"</code> |
| **`Le`**      | <code>"le"</code>      |
| **`Dual`**    | <code>"dual"</code>    |

</docgen-api>
npm package: @kduma-autoid/capacitor-webview-watchdog
Description: Handles situation when there is no WebView installed on user device or app crashes before loading
Author: Krystian Duma
Latest version: 0.2.0

# @kduma-autoid/capacitor-webview-watchdog

Handles situation when there is no WebView installed on user device or app crashes before loading

## Install

```bash
npm install @kduma-autoid/capacitor-webview-watchdog
npx cap sync
```

## API

<docgen-index>

* [`ping()`](#ping)
* [`start()`](#start)
* [`stop()`](#stop)

</docgen-index>

<docgen-api>
<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->

### ping()

```typescript
ping() => Promise<void>
```

Ping the watchdog.

**Since:** 0.0.1

--------------------


### start()

```typescript
start() => Promise<void>
```

Start the watchdog.

**Since:** 0.0.1

--------------------


### stop()

```typescript
stop() => Promise<void>
```

Stops the watchdog.

**Since:** 0.0.1

--------------------

</docgen-api>
npm package: @kdupress/markdown
Description: markdown for kdupress
Author: NKDuy
Latest version: 1.8.2

# @kdupress/markdown

> markdown library for KduPress

## Public API

### PLUGINS

A map [constant](./lib/constant.js) containing the names of all built-in markdown-it plugins.

### isRequiredPlugin(pluginName: string)

- **Usage**:

```js
const { isRequiredPlugin } = require('@kdupress/markdown')
console.log(isRequiredPlugin(PLUGINS.COMPONENT)) // true
console.log(isRequiredPlugin(PLUGINS.HIGHLIGHT_LINES)) // false
```

### removePlugin(config: chainMarkdown, pluginName: string)

Remove the specified built-in markdown-it plugin in KduPress.

It's needed to use with KduPress's [Plugin API > chainMarkdown](https://kdupress.web.app/plugin/option-api.html#chainmarkdown).

- **Usage**:

```js
// Your KduPress Plugin or site config.
const { removePlugin } = require('@kdupress/markdown')
module.exports = {
  chainMarkdown (config) {
    removePlugin(config, PLUGINS.HIGHLIGHT_LINES)
  }
}
```

> Note that `PLUGINS.COMPONENT` and `PLUGINS.ANCHOR` are required in KduPress, It is forbidden to delete them!

### removeAllBuiltInPlugins(config: chainMarkdown)

Remove all built-in but not 100% necessary markdown-it plugins in KduPress.

- **Usage**:

```js
// Your KduPress Plugin or site config.
module.exports = {
  chainMarkdown (config) {
    require('@kdupress/markdown').removeAllBuiltInPlugins(config)
  }
}
```
npm package: @kdupress/markdown-loader
Description: markdown-loader for kdupress
Author: NKDuy
Latest version: 1.8.2

# @kdupress/markdown-loader

> markdown-loader for KduPress

## Usage

```js
const rule = config.module
    .rule('markdown')
      .test(/\.md$/)

rule
  .use('kdu-loader')
    .loader('kdu-loader')
    .options({ /* ... */ })

rule
  .use('markdown-loader')
    .loader(require.resolve('@kdupress/markdown-loader'))
    .options({
       markdown: /* instance created by @kdupress/markdown */,
       sourceDir: /* root source directory of your docs */,
    })
```
npm package: @kdupress/theme-default
Description: Default theme for KduPress
Author: NKDuy
Latest version: 1.8.2

# @kdupress/theme-default

> theme-default for KduPress

## Plugins

The default theme has the following plugin built in:

- [@kdupress/plugin-active-header-links](https://github.com/kdujs/kdupress/tree/main/packages/@kdupress/plugin-active-header-links)
- [@kdupress/plugin-google-analytics](https://github.com/kdujs/kdupress/tree/main/packages/%40kdupress/plugin-google-analytics)
- [@kdupress/plugin-search](https://github.com/kdujs/kdupress/tree/main/packages/%40kdupress/plugin-search)
npm package: @kduse/core
Description: Collection of essential Kdu Composition Utilities
Author: NKDuy
Latest version: 9.13.2

# KdUse

Collection of essential Kdu Composition Utilities

## 🚀 Features

- 🎪 [**Interactive docs & demos**](https://kdusejs.web.app)
- 🕶 **Seamless migration**: Works for **both** Kdu 3 and 2
- ⚡ **Fully tree shakeable**: Only take what you want, [bundle size](https://kdusejs.web.app/export-size)
- 🦾 **Type Strong**: Written in [TypeScript](https://www.typescriptlang.org/), with [TS Docs](https://github.com/microsoft/tsdoc)
- 🔋 **SSR Friendly**
- 🌎 **No bundler required**: Usable via CDN
- 🔩 **Flexible**: Configurable event filters and targets
- 🔌 **Optional [Add-ons](https://kdusejs.web.app/add-ons)**: Router, Firebase, RxJS, etc.

## 🦄 Usage

```ts
import { useLocalStorage, useMouse, usePreferredDark } from '@kduse/core'

export default {
  setup() {
    // tracks mouse position
    const { x, y } = useMouse()

    // is user prefers dark theme
    const isDark = usePreferredDark()

    // persist state in localStorage
    const store = useLocalStorage(
      'my-storage',
      {
        name: 'Apple',
        color: 'red',
      },
    )

    return { x, y, isDark, store }
  },
}
```

## 📦 Install

> 🎩 From v4.0, it works for Kdu 2 & 3 **within a single package** by the power of [kdu-demi](https://github.com/kduse/kdu-demi)!

```bash
npm i @kduse/core
```

### CDN

```html
<script src="https://unpkg.com/@kduse/shared"></script>
<script src="https://unpkg.com/@kduse/core"></script>
```

It will be exposed to global as `window.KdUse`

## 📄 License

MIT License
npm package: @kduse/head
Description: Document head manager for Kdu 3. SSR ready.
Author: NKDuy
Latest version: 1.0.25

<h1 align='center'>@kduse/head</h1>


<p align="center">
Super-charged document head management for Kdu.
</p>

## Features

- 💎 Fully typed augmentable Schema
- 🧑‍🤝‍🧑 Side-effect based DOM patching, plays nicely your existing other tags and attributes
- 🍣 Intuitive deduping, sorting, title templates, class merging and more
- 🪝 Extensible hook / plugin based API

## Installation

```bash
npm i @kduse/head
# Or Yarn
yarn add @kduse/head
```

> Requires kdu >= v3 or >=2.7

## Usage

### Kdu 3

Register the Kdu plugin:

```ts
import { createApp } from "kdu"
import { createHead } from "@kduse/head"

const app = createApp()
const head = createHead()

app.use(head)

app.mount("#app")
```

### Kdu 2

Register the Kdu plugin:

```ts
import Kdu from 'kdu'
import { createHead, HeadKduPlugin } from "@kduse/head"

const head = createHead()
// needed for Kdu 2
Kdu.use(HeadKduPlugin, head)
Kdu.use(head)

new Kdu({
  render: h => h(App),
}).$mount('#app')
```

### SSR Rendering

```ts
import { renderToString } from "@kdujs/server-renderer"
import { renderHeadToString } from "@kduse/head"

const appHTML = await renderToString(yourKduApp)

// `head` is created from `createHead()`
const { headTags, htmlAttrs, bodyAttrs, bodyTags } = await renderHeadToString(head)

const finalHTML = `
<html${htmlAttrs}>

  <head>
    ${headTags}
  </head>

  <body${bodyAttrs}>
    <div id="app">${appHTML}</div>
    ${bodyTags}
  </body>

</html>`
```

## License

MIT License
npm package: @kduse/integrations
Description: Integration wrappers for utility libraries
Author: NKDuy
Latest version: 9.13.2

# @kduse/integrations

> This is an add-on of KdUse, providing integration wrappers for utility libraries.

## Install

<pre class='language-bash'>
npm i <b>@kduse/integrations</b>
</pre>

## License

MIT License
npm package: @kduse/math
Description: Math functions for KdUse
Author: NKDuy
Latest version: 9.13.2

# @kduse/math

> This is an extension of KdUse, enables math usage for composable functions.

## Install

<pre class='language-bash'>
npm i <b>@kduse/math</b> @kduse/core
</pre>

## License

MIT License
npm package: @kdutify/cli-plugin-utils
Description: Utility files
Author: NKDuy
Latest version: 0.0.8

# `@kdutify/cli-plugin-utils`

> This package provides shared utility helper functions for all plugin packages

For more information on how to use these utilities, checkout the preset [Plugin development guide](hhttps://kdutifyjs.web.app/en/customization/presets/#plugin-development-guide).
npm package: @kdy1029/client
Description: client for waline comment system
Author: Mr.Hope
Latest version: 2.14.26

<img src="https://waline.js.org/logo.png" width="200" align="right" />

# Waline

A simple comment system with backend support.

![Author](https://img.shields.io/badge/author-lizheming,%20Mr.Hope-blue?style=for-the-badge) [![qq](https://img.shields.io/badge/qq-waline交流群-f75137?logo=TencentQQ&style=for-the-badge)](https://jq.qq.com/?_wv=1027&k=bKoVBppG) [![telegram](https://img.shields.io/badge/telegram-walinejs-2ca5e0?logo=telegram&style=for-the-badge)](https://t.me/walinejs)

This package is the official client for Waline.

For related docs, see [waline.js.org](https://waline.js.org).
npm package: @kdy1029/vercel
Description: vercel server for waline comment system
Author: Daeyoung Kim
Latest version: 1.28.3

# @waline/vercel

![Version](https://img.shields.io/npm/v/@waline/vercel?color=blue&logo=npm&style=flat-square)

This is the backend for Waline comment system.

## Installation

```
npm install @waline/vercel --save
```

## Configuration

You should set `LEAN_ID` and `LEAN_KEY` in environment variable which can get from <https://leancloud.app>.

The detail how to get `LEAN_ID` and `LEAN_KEY`: <https://waline.js.org/get-started.html>

We support [Akismet](https://akismet.com/) spam protection service default. If you want close it, please set `AKISMET_KEY` environment variable as `false`。

## Deploy

[![Deploy button](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/walinejs/waline/tree/main/example)

Click it to deploy quickly!
npm package: @kdzs/print-device
Description: 打印控件相关的 API [npm-@kdzs/print-device](http://npmjs.kuaidizs.cn/-/web/detail/@kdzs/print-device) 开发文档[《打印控件聚合包print-device开发文档》](https://gykj.yuque.com/gi3r42/lkws3e/hkllniseukokta9e?singleDoc# )
Author: chuisi-wangjie
Latest version: 2.7.0
Deprecated: false

ERROR: No README data found!
npm package: @kea-wallet/browser-sdk
Description: Browser SDK for KEA Wallet — wraps embedded provider with RPC client
Latest version: 0.2.3

# @kea-wallet/browser-sdk

Browser SDK for KEA Wallet — wraps embedded provider with RPC client, automatic dApp metadata resolution, and an ergonomic event-driven API.

## Install

```bash
npm install @kea-wallet/browser-sdk
```

## Quick Start

```typescript
import { BrowserSDK } from '@kea-wallet/browser-sdk';

const sdk = new BrowserSDK({
  rpcUrl: 'https://grpc-web.alphanet.thruput.org',
});
await sdk.initialize();

const { accounts } = await sdk.connect();
console.log('Connected:', accounts[0].address);
```

## Documentation

All documentation is available at [docs.keawallet.com](https://docs.keawallet.com).
npm package: @kea-wallet/embedded-provider
Description: Embedded wallet provider for KEA Wallet — iframe lifecycle and postMessage protocol
Latest version: 0.2.4

# @kea-wallet/embedded-provider

Embedded wallet provider for KEA Wallet — manages iframe lifecycle, postMessage protocol, connection state, and chain adapters.

## Install

```bash
npm install @kea-wallet/embedded-provider
```

## Quick Start

```typescript
import { EmbeddedProvider } from '@kea-wallet/embedded-provider';

const provider = new EmbeddedProvider();
await provider.initialize();
const { accounts } = await provider.connect();
```

## Documentation

All documentation is available at [docs.keawallet.com](https://docs.keawallet.com).
npm package: @kea-wallet/react-sdk
Description: React SDK for KEA Wallet — provider, hooks, and context
Latest version: 0.2.2

# @kea-wallet/react-sdk

React SDK for KEA Wallet — provider, hooks, and context for integrating KEA Wallet into React applications.

## Install

```bash
npm install @kea-wallet/react-sdk
```

## Quick Start

```tsx
import { KeaProvider, useWallet } from '@kea-wallet/react-sdk';

function App() {
  return (
    <KeaProvider config={{ rpcUrl: 'https://grpc-web.alphanet.thruput.org' }}>
      <WalletButton />
    </KeaProvider>
  );
}

function WalletButton() {
  const { connect, isConnected, selectedAccount } = useWallet();
  return (
    <button onClick={() => connect()}>
      {isConnected ? selectedAccount?.address : 'Connect'}
    </button>
  );
}
```

## Documentation

All documentation is available at [docs.keawallet.com](https://docs.keawallet.com).
npm package: @kea-wallet/react-ui
Description: Pre-built React UI components for KEA Wallet integration
Latest version: 0.2.0

# @kea-wallet/react-ui

Pre-built React UI components for KEA Wallet integration — connect button, account switcher, and branding.

## Install

```bash
npm install @kea-wallet/react-ui
```

## Quick Start

```tsx
import { KeaProvider } from '@kea-wallet/react-sdk';
import { KeaConnectButton } from '@kea-wallet/react-ui';

function App() {
  return (
    <KeaProvider config={{ rpcUrl: 'https://grpc-web.alphanet.thruput.org' }}>
      <KeaConnectButton />
    </KeaProvider>
  );
}
```

## Documentation

All documentation is available at [docs.keawallet.com](https://docs.keawallet.com).
npm package: @keabank/websdk
Description: KeaBank WebSdk React
Latest version: 0.0.7

## Set up frontend integration

Install the NPM package.

```bash
npm i @keabank/websdk
```

Import the WidgetSDK module.

```js
import { WidgetSDK } from '@keabank/websdk';
```

Initialize the integration

```js
const sdk = new WidgetSDK({
  integrationId: 'your_integration_id',
  merchantId: 'your_merchant_id',
});
```

Open a modal with payment instructions

```js
// Payment parameters
const paymentConfig = {
  amount: 100,
  orderId: 'order_123456',
  paymentPurpose: 'Purchase of digital goods',
  currency: 'USDT_TRC20',
  defaultTheme: 'LIGHT', // LIGHT or DARK default theme is LIGHT
};

// Initialize the payment
const paymentStatus = sdk.init(paymentConfig);

// retrieve transaction status
paymentStatus.then(status => {
  // status can be 'paid', 'cancel', or an Error instance
  if (status === 'paid') {
    console.log('Payment success');
    return;
  }

  if (status === 'cancel') {
    console.log('Payment cancelled by shopper');
    return;
  }

  if (status instanceof Error) {
    console.error('Payment failed', status);
  }
});
```

Close the modal dialog

```js
sdk.destroy();
```
npm package: @keadex/docusaurus-plugin-mina
Description: Docusaurus plugin to render C4 Model diagrams created with Keadex Mina.
Author: Keadex
Latest version: 3.0.1

<p align="center">
  <img src="https://raw.githubusercontent.com/keadex/keadex/main/libs/docusaurus-plugin-mina/static/mina-docusaurus-logo.svg" width="400" alt="Keadex Mina React Logo" />
</p>

<div align="center">

![GitHub](https://img.shields.io/github/license/keadex/keadex)
![GitHub package.json version (subfolder of monorepo)](https://img.shields.io/github/package-json/v/keadex/keadex?filename=libs%2Fdocusaurus-plugin-mina%2Fpackage.json)
[![NPM Version](https://img.shields.io/npm/v/%40keadex%2Fdocusaurus-plugin-mina)](https://www.npmjs.com/package/@keadex/docusaurus-plugin-mina)

</div>

## Quick Overview

This Docusaurus plugin injects Webpack configurations to include into Docusaurus pages interactive C4 Model diagrams created with [Keadex Mina](https://keadex.dev/en/projects/keadex-mina) through the [Mina React](https://github.com/keadex/keadex/tree/main/libs/mina-react) component.

<div align="center" style="margin-top: 20px">
  <img src="https://raw.githubusercontent.com/keadex/keadex/main/libs/docusaurus-plugin-mina/static/mina-docusaurus.gif" alt="Keadex Mina Docusaurus plugin demo" width="70%" />
</div>

## Usage

### Install

```shell
yarn add @keadex/docusaurus-plugin-mina # or npm install @keadex/docusaurus-plugin-mina
yarn add @keadex/mina-react # or npm install @keadex/mina-react
```

### Add the plugin

`docusaurus.config.js`

```JS
const config = {
  // your Docusaurus config
  plugins: ['@keadex/docusaurus-plugin-mina']
}

export default config
```

### Import the Mina React CSS

`src\css\custom.css`

```CSS
/* Other CSS rules */
@import "@keadex/mina-react/main.css" layer(docusaurus.infima);
```

#### Docusaurus v4 CSS Cascade Layers

Due to the introduction of CSS cascade layers in v4, you may need to override some Mina React styles:

`src\css\custom.css`

```CSS
#menu-baseComponentContextMenu {
  padding-left: inherit;
}

div button .svg-inline--fa {
  width: inherit;
}

.tags {
  margin: inherit;
  padding-left: inherit;
}
```

### Include the diagram into MDX files

> [!WARNING]  
> The `MinaReact` component does not support SSR. Therefore, ensure that it is rendered only on the client side.

`my-mina-diagram.mdx`

```md
---
sidebar_position: 1
---

# My Mina Diagram

import BrowserOnly from '@docusaurus/BrowserOnly';

<div style={{height: '50rem'}}>
  <BrowserOnly fallback={<div>Loading...</div>}>
    {() => {
      const MinaReact = require('@keadex/mina-react').default;
      return <MinaReact
          projectRootUrl="https://raw.githubusercontent.com/keadex/keadex/main/examples/mina-react-example/demo_mina_project/mina-demo"
          diagramUrl="https://raw.githubusercontent.com/keadex/keadex/main/examples/mina-react-example/demo_mina_project/mina-demo/diagrams/system-context/demo-diagram"
        />;
    }}
  </BrowserOnly>
</div>
```
npm package: @keadex/mina-react
Description: React library to render C4 Model diagrams created with Keadex Mina.
Author: Keadex
Latest version: 3.0.1

<p align="center">
  <img src="https://raw.githubusercontent.com/keadex/keadex/main/libs/mina-react/static/mina-react-logo.svg" width="400" alt="Keadex Mina React Logo" />
</p>

<div align="center">

![GitHub](https://img.shields.io/github/license/keadex/keadex)
![GitHub package.json version (subfolder of monorepo)](https://img.shields.io/github/package-json/v/keadex/keadex?filename=libs%2Fmina-react%2Fpackage.json)
[![NPM Version](https://img.shields.io/npm/v/%40keadex%2Fmina-react)](https://www.npmjs.com/package/@keadex/mina-react)

</div>

## Quick Overview

**Keadex Mina React** is a library that provides React components to render interactive C4 Model diagrams created with [Keadex Mina](https://keadex.dev/en/projects/keadex-mina).

<div align="center" style="margin-top: 20px">
  <img src="https://raw.githubusercontent.com/keadex/keadex/main/libs/mina-react/static/mina-react.gif" alt="Keadex Mina React component demo" width="70%" />
</div>

## Usage

### Install

```shell
yarn add @keadex/mina-react # or npm install @keadex/mina-react
```

### Import

> [!WARNING]  
> Make sure to include also the css file from `@keadex/mina-react/main.css`

`App.jsx`

```JSX
import '@keadex/mina-react/main.css'
import MinaReact from '@keadex/mina-react'

export function App() {
  return (
    <div className="w-full h-screen">
      <MinaReact
        projectRootUrl="https://raw.githubusercontent.com/keadex/keadex/main/examples/mina-react-example/demo_mina_project/mina-demo"
        diagramUrl="https://raw.githubusercontent.com/keadex/keadex/main/examples/mina-react-example/demo_mina_project/mina-demo/diagrams/system-context/demo-diagram"
      />
    </div>
  )
}

export default App
```

#### Props

| Name             | Description                               | Required | Default |
| ---------------- | ----------------------------------------- | -------- | ------- |
| `projectRootUrl` | URL of the Mina project's root            | true     |         |
| `diagramUrl`     | URL of folder containing the Mina diagram | true     |         |

### Configure the bundler to include WASM

The core of the Mina React component is built with [WASM](https://webassembly.org/).

Some bundlers do not automatically include WASM files of the dependencies.

To include WASM files of the dependencies, you have to configure your bundler. In Webpack you can do the following:

`webpack.config.js`

```JS
const CopyPlugin = require('copy-webpack-plugin')

const config = {
  // your Webpack config
}

config.plugins.push(
    new CopyPlugin({
      patterns: [
        {
          from: 'node_modules/@keadex/mina-react/*.wasm',
          to({ context, absoluteFilename }) {
            return '[name][ext]'
          },
        },
      ],
    }),
  )

module.exports = config

```
npm package: @keaikeqing/blog-static
Description: Static resources for keaikeqing blog
Author: keaikeqing
Latest version: 0.3.5

# keaikeqing blog npm

存放静态资源，用以部署到npm，供github pages使用

## 状态

[![NPM Version](https://img.shields.io/npm/v/@keaikeqing/blog-static)](https://www.npmjs.com/package/@keaikeqing/blog-static)
[![NPM Downloads](https://img.shields.io/npm/dm/@keaikeqing/blog-static)](https://www.npmjs.com/package/@keaikeqing/blog-static)

## 资源目录

本项目的静态资源目录结构如下：

```bash
assets/
├── about/
├── config_anzhiyu/
├── creativity/
├── envelope/
├── fonts/
│   └── MapleMonoNormalNL-CN-Regular.woff2
├── js/
│   ├── lib/
│   │   └── MathJax/tex-chtml.js
│   └── mathjax_config.js
├── live2d-widget/
│   └── autoload.js
├── live2d_api/
│   └── model/
│       ├── HyperdimensionNeptunia/
│       └── Potion-Maker/
│           ├── Pio/
│           └── Tia/
├── music/
├── twikoo/
└── avatar.ico
```

## 使用

1. 不要手动修改package.json中的版本号，github-action会自动更新版本号
npm package: @kealabs/redux-audio
Description: Redux bindings for HTML5 audio elements
Author: Alex Grasley
Latest version: 1.0.2

# redux-audio
Redux bindings for HTML5 audio elements

## Installation

`npm install redux-audio`

## Usage

In your root reducer:

```js
import { audioReducer as audio } from 'redux-audio'
import { combineReducers } from 'redux'

export default combineReducers({ audio })
```

In your view component:

```js
import React from 'react'
import { Audio } from 'redux-audio'

export default () => (
  <div>
    <Audio src='example.mp3' autoPlay uniqueId='example' controls loop />
    <p>Hello world.</p>
  </div>
)
```

## `Audio` Container Component

The `Audio` container component wraps an HTML5 `audio` element, exposing it to Redux actions and bindings. It has the following props:

### autoPlay

Boolean. When `true`, the audio track will play when the component mounts. Defaults to `false`.

### controls

Boolean. When `true`, the `audio` element will expose its controls for playing. Defaults to `false`.

### loop

Boolean. When `true`, the track will loop playback. Defaults to `false`.

### preload

String. Possible values are `['none', 'metadata', 'auto']`. Defaults to `'metadata'`.

### src

String. The source of the audio track. Defaults to `''`.

### uniqueId

String. Required. A unique identifier for the component. Must be unique with respect to other currently mounted `Audio` components.

## Redux Store

The reducer provided attaches a single object to the main store object via the `audio` property. This object is an instance of [immutable's](https://facebook.github.io/immutable-js/) `Map` class. Each `Audio` component's state is accessible by calling `state.audio.get('uniqueId')` where `uniqueId` corresponds to the `uniqueId` prop passed to the `Audio` component. `Audio` components' state objects are added when the component is mounted and removed when the component unmounts.  Each `Audio` component's state is represented further by another `Map` object. This `Map` has the following keys:

### command

Corresponds to strings representing the method last called for the audio element. When `command` is updated, the corresponding method is called. Possible values are `['play', 'pause', 'none']`.

### state

Corresponds to the current state of the audio element. Possible values are `['playing', 'paused', 'ended', 'none']`.

### src

Corresponds to the current value for `src` passed to the `Audio` element. When the value is updated, the `src` prop for the `Audio` component is updated.

## Action Creators

All actions can be imported by `import { actionName } from 'redux-audio/actions'`, where `actionName` is the action you wish to import.

### audioPlay

Takes the `uniqueId` value of the component you want to play as an argument. Plays the audio track.

### audioPause

Takes the `uniqueId` value of the component you want to pause as an argument. Pauses the audio track.

### audioSrc

Takes two arguments. The first is the `uniqueId` value of the component you want to update. The second is the value you want the `src` prop to be updated to. Updates the `src` for the corresponding `Audio` component.
npm package: @keanucode/initrepo
Description: A personal CLI to initiate Git repositories.
Author: Keanu
Latest version: 1.0.1

# `initrepo`
A personal CLI to initiate Git repositories.

## Requirements

* [Node.js](http://nodejs.org/)
* [Git](https://git-scm.com/)
* [GitHub account](https://github.com/)

## Installation Steps

1. Run `npm i -g @keanucode/initrepo`
2. Run `initrepo`
npm package: @kearash/safe
Description: Safe async/await promise error handler.
Author: kearash
Latest version: 0.1.0

![safe() banner](./safe.png)

Handle your await/async promises safely without try/catch blocks.

## Installation
<details open>
  <summary>npm</summary>

  ```bash
  npm i @kearash/safe
  ```
</details>

<details>
  <summary>pnpm</summary>

  ```bash
  pnpm add @kearash/safe
  ```
</details>

<details>
  <summary>bun</summary>

  ```bash
  bun i @kearash/safe
  ```
</details>

<details>
  <summary>yarn</summary>

  ```bash
  yarn add @kearash/safe
  ```
</details>

## Usage

```ts
import { safe } from '@kearash/safe';

const fetchData = async () => {
  const [error, data] = await safeAwait(fetch('https://jsonplaceholder.typicode.com/'));
  if (error) {
    console.error('Error fetching data:', error);
    return;
  }
  console.log('Fetched data:', data);
};

fetchData();
```

## License

This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details.