open-index/open-npm huggingface dataset:
npm package: @funren/border-1px
Description: 1像素边框
Author: Funren
Latest version: 1.0.3

# border-1px

解决移动端 1像素边框问题；

### 一、安装方式

```
// 下载 npm 包
npm install @funren/border-1px -S
```


### 二、引入方式

> border-1px 支持 scss 或 css 两种使用方式；

#### 1、**scss 方式引入**

> 引入 .scss文件，支持 scss 混入（可自定义边框色、透明度、圆角）和  class 类名，两种使用方式；

* **局部引入**

```js
// home.vue
// Vue 项目中局部引入 
<template>
  <div id="app">
      <div class="box">scss 方式添加边框</div>
  </div>
</template>

<style lang="scss">
@import "~@funren/border-1px";

.box {
  @include border-1px(red , 0.1 , 3px) 
</style>
```

* **全局引入**

```js
// vue.config.js
// Vue 项目中全局引入

module.exports = {
  css: {
    loaderOptions: {
      sass: {
        // 全局引入scss文件
        prependData: `@import "@funren/border-1px";`
      }
    }
  }
};
```

####  2、css 方式引入

> 引入 .css 文件，仅支持 class 类名方式使用；

```js
// main.js
// Vue 项目全局引入
import '@funren/border-1px/css/border-1px.min.css';
// 或
<link type="text/css" href="border-1px/css/border-1px.min.css"></link>


<div id="app">
    <div class="border-top-1px">css 方式添加边框</div>
</div>
```

### 三、使用方式

####  scss 混入

* **适用范围**：不支持表单元素 input、select、textarea
* scss @minxi 方式引入接收 2~3 个可选参数；可自定义边框颜色、边框透明度、圆角（全边框可设置）

| SCSS @minxi 方法使用 （接收三个可选参数） |  边框色设置  | 透明度设置 | 圆角设置  | 作用 |
| - |:-:|:-:|:-:|:-:|
| @include border-top-1px(color,alpha)    | true |true （范围：0~1）|false| 上边框 |
| @include border-bottom-1px(color,alpha) | true |true （范围：0~1）|false| 下边框 |
| @include border-left-1px(color,alpha)   | true |true （范围：0~1）|false| 左边框 |
| @include border-right-1px(color,alpha)  | true |true （范围：0~1）|false| 右边框 |
| @include border-1px(color,alpha,radius) | true |true （范围：0~1）|true| 全边框 |


* 实例

```js
// mian.js 全局引入 scss 文件
import 'border-1px/scss/border-1px.scss'
```

```css
/* scss 混入方式使用 */
<style lang="scss">
  .box {
      @include border-1px(red,0.1,3px)
  }
</style>
```



#### class 类名

* **适用范围**：不支持表单元素 input、select、textarea

| CSS 样式          | 作用    | 是否支持 input、select、textarea |
| ----------------- | ---------------------------|-------------- |
| border-top-1px    | 上边框 | false |
| border-bottom-1px | 下边框 | false |
| border-left-1px   | 左边框 | false |
| border-right-1px  | 右边框 | false |
| border-1px        | 全边框 | false |
| from-border-1px   | 全边框 | true |


* 实例

```html
<div class="border-top-1px"></div>
```
npm package: @funren/reset.css
Description: css基础样式
Author: Funren
Latest version: 1.0.1


## 一、reset
* 移动端基础样式重置
（建议配合 normalize.css 使用）

### 1、安装插件

```js
// 安装 normalize 包
cnpm i normalize.css -S

// 安装 reset 包
npm install @funren/reset.css -S
```

### 2、引入插件

```js
// main.js 中引入 normalize 与 reset
import 'normalize.css/normalize.css';
import "@funren/reset.css";
npm package: @funrozen/luxon-adapter
Description: Angular Material LUXON Adapter
Author: HO Hong Quan/AWM
Latest version: 17.0.1

# NgxMatLuxonAdapter

## Description 
Luxon Adapter for [@funrozen/datetime-picker](https://www.npmjs.com/package/@funrozen/datetime-picker)

## Getting started
```
npm install --save  @funrozen/luxon-adapter
```

## Setup

```
import { NgxMatMomentModule } from '@funrozen/luxon-adapter';
@NgModule({
   ...
   imports: [
      NgxMatLuxonModule,
      NgxMatDatetimePickerModule,
   ],
   ...
})
export class AppModule { }
```

## License
MIT
npm package: @funrozen/moment-adapter
Description: Angular Material Moment Adapter
Author: HO Hong Quan
Latest version: 17.0.1

# NgxMatMomentAdapter

## Description 
Moment Adapter for [@funrozen/datetime-picker](https://www.npmjs.com/package/@funrozen/datetime-picker)

## Getting started
```
npm install --save  @funrozen/moment-adapter
```

## Setup

```
import { NgxMatMomentModule } from '@funrozen/moment-adapter';
@NgModule({
   ...
   imports: [
      NgxMatMomentModule,
      NgxMatDatetimePickerModule,
   ],
   ...
})
export class AppModule { }
```

## License
MIT
npm package: @funstack/skill-installer
Description: CLI tool and library to install Agent Skills
Author: uhyo
Latest version: 1.0.0

# @funstack/skill-installer

A CLI tool and library to install AI Agent skills by copying skill files to the appropriate location.

## Installation

```bash
npm install -g @funstack/skill-installer
```

## Usage

### Interactive Mode

Run the tool with the path to your skill directory:

```bash
skill-installer ./path/to/my-skill
```

You'll see an interactive menu to select your AI agent:

```
Select AI Agent (↑↓ to move, Enter to confirm)
❯ 1. Claude Code (./.claude/skills)
  2. Codex (./.codex/skills)
  3. GitHub Copilot (./.github/skills)
  4. Cursor (./.cursor/skills)
  5. Gemini CLI (./.gemini/skills)
  6. Windsurf (./.windsurf/skills)
  7. OpenCode (./.opencode/skills)
  8. Other (custom path)

Missing your agent? Let us know: https://github.com/uhyo/funstack-skill-installer/issues
```

- Use arrow keys (↑↓) to navigate
- Press a number key (1-9) to jump to an option
- Press Enter to confirm your selection

### Non-Interactive Mode

For CI/CD pipelines or scripted installations, set the `SKILL_INSTALL_PATH` environment variable:

```bash
SKILL_INSTALL_PATH=./.claude/skills skill-installer ./path/to/my-skill
```

### Programmatic Usage

You can also use this package as a library:

```typescript
import { install } from '@funstack/skill-installer';

// Prompts the user to select an agent and installs the skill
const installedPath = await install('./path/to/my-skill');
console.log(`Installed to: ${installedPath}`);
```

The `install` function returns a promise that resolves to the final installation path.

## Supported AI Agents

| Agent | Installation Path |
|-------|------------------|
| Claude Code | `./.claude/skills` |
| Codex | `./.codex/skills` |
| GitHub Copilot | `./.github/skills` |
| Cursor | `./.cursor/skills` |
| Gemini CLI | `./.gemini/skills` |
| Windsurf | `./.windsurf/skills` |
| OpenCode | `./.opencode/skills` |

Don't see your agent? [Open an issue](https://github.com/uhyo/funstack-skill-installer/issues) to request support!

## License

MIT
npm package: @funstack/static
Description: FUNSTACK static library
Author: uhyo
Latest version: 1.2.0

# @funstack/static

A maximally minimal React framework. Vite plugin for static sites with RSC support.

## Features

- :x: **No server runs** - perfect for CSR (Client Side Rendering) app and static deployment.
- :x: **No RCE vulnerabilities** - No server, no risk.
- :white_check_mark: **RSC support** - React Server Components are supported even without a server which helps reduce bundle size and improve performance.
- :white_check_mark: **Server Component Code Splitting** - a brand new `defer()` API allows you to split RSC Payload into multiple chunks and load them on demand.
- :white_check_mark: **Vite-based** - so minimal that this framework is served as a Vite plugin (based on [@vitejs/plugin-rsc](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-rsc#readme))

## Installation

```sh
npm install @funstack/static
```

## Quick Start

```ts
// vite.config.ts
import funstackStatic from "@funstack/static";
import react from "@vitejs/plugin-react";
import { defineConfig } from "vite";

export default defineConfig({
  plugins: [
    funstackStatic({
      root: "./src/root.tsx",
      app: "./src/App.tsx",
    }),
    react(),
  ],
});
```

## Documentation

For detailed API documentation and guides, visit the **[Documentation](https://static.funstack.work/)**.

### :robot: FUNSTACK Static Skill

FUNSTACK Static provides an Agent Skill to feed your AI agents with knowledge about this framework. Run the following command to add the skill to the project:

```sh
npx -p @funstack/static funstack-static-skill-installer
# or
yarn dlx -p @funstack/static funstack-static-skill-installer
# or
pnpm --package @funstack/static dlx funstack-static-skill-installer
# or, if you use skills CLI (https://skills.sh/)
npx skills add uhyo/funstack-static
```

## License

MIT
npm package: @funtech-inc/handshake
Description: 🤝 Shake hands with iframe
Author: HASHIMOTO Takuma
Latest version: 0.0.12

Promise-based postMessage iframe communication library.
0 dependencies, Lightweight.

```bash
$ npm i @funtech-inc/handshake --D
```

```html
// CDN
<script src="https://unpkg.com/@funtech-inc/handshake@latest">
```

## Example

**parent**

```javascript
new Handshake.Parent({
   container: "container",
   url: "http://example.com/child",
}).ready(({ on, emit, container, iframe }) => {
   console.log(container); // HTMLElement
   console.log(iframe); // HTMLIFrameElement
   emit("parentToChild", "hello child");
   on("childToParent", (data) => {
      console.log(data);
   }); // Log... "hello parent"
});
```

**child**

```javascript
new Handshake.Child().ready(({ on, emit }) => {
   emit("childToParent", "hello parent");
   on("parentToChild", (data) => {
      console.log(data);
   }); // Log... "hello child"
});
```

### License

MIT
npm package: @funtech-inc/mekuri
Description: 📕 Page transition animation for React
Author: HASHIMOTO Takuma
Latest version: 3.2.2

# mekuri

`Mekuri` is a React package for page transition animations with `wait` and `sync` modes, supporting `popstate` and `scroll restoration`.

Customize animations per component with the `useMekuri` hook and use with libraries like `GSAP`. It integrates with Next.js and Remix; can also be integrated with Next.js `App Router`, but for stable operation it is recommended to use Pages Router rather than App Router.

```bash
$ npm i @funtech-inc/mekuri
```

[GitHub](https://github.com/FunTechInc/mekuri)