open-index/open-npm huggingface dataset:
npm package: @form-renderer/preset-element-plus
Description: ElementPlus preset for form-renderer
Author: form-renderer team
Latest version: 1.0.0-alpha.12

# @form-renderer/preset-element-plus

ElementPlus 预设包，为 form-renderer 提供完整的 ElementPlus 组件支持。

## 🚀 特性

- 🎯 **专注 ElementPlus**：专为 ElementPlus 组件库优化
- 📦 **按需加载**：支持按需引入，减少包体积
- 🔧 **类型安全**：完整的 TypeScript 类型定义
- 🎨 **主题支持**：支持 ElementPlus 主题定制
- 📱 **响应式**：支持多种尺寸和响应式布局

## 📦 安装

```bash
npm install @form-renderer/preset-element-plus
# 或
pnpm add @form-renderer/preset-element-plus
```

## 🔧 快速开始

### 基础使用

```vue
<template>
  <FormAdapter
    :schema="schema"
    v-model:model="formData"
    :components="elementPlusPreset"
    @change="handleChange"
  />
</template>

<script setup lang="ts">
import { ref, reactive } from 'vue'
import { FormAdapter } from '@form-renderer/adapter-vue3-vue'
import { createElementPlusPreset } from '@form-renderer/preset-element-plus'

// 创建预设
const elementPlusPreset = createElementPlusPreset({
  theme: {
    size: 'default',
    classPrefix: 'el-'
  }
})

// 表单数据
const formData = reactive({
  name: '',
  age: undefined,
  email: ''
})

// 表单 Schema
const schema = {
  type: 'form',
  component: 'form',
  componentProps: {
    labelWidth: '120px'
  },
  properties: {
    name: {
      type: 'field',
      component: 'input',
      formItemProps: {
        label: '姓名'
      },
      componentProps: {
        placeholder: '请输入姓名'
      },
      required: true
    },
    age: {
      type: 'field',
      component: 'number',
      formItemProps: {
        label: '年龄'
      },
      componentProps: {
        placeholder: '请输入年龄',
        min: 1,
        max: 120
      }
    },
    email: {
      type: 'field',
      component: 'input',
      formItemProps: {
        label: '邮箱'
      },
      componentProps: {
        placeholder: '请输入邮箱'
      },
      required: true
    }
  }
}

const handleChange = (data: any) => {
  console.log('表单数据变更:', data)
}
</script>
```

### 使用默认预设

```vue
<script setup lang="ts">
import { ElementPlusPreset } from '@form-renderer/preset-element-plus'

// 直接使用默认预设
const elementPlusPreset = ElementPlusPreset
</script>
```

## 📚 组件支持

### 字段组件

#### 基础输入
- ✅ **Input** - 单行文本输入框
- ✅ **Textarea** - 多行文本输入框
- ✅ **InputNumber** - 数字输入框

#### 选择器
- ✅ **Switch** - 开关
- ✅ **CheckboxGroup** - 多选框组
- ✅ **RadioGroup** - 单选框组
- ✅ **Select** - 下拉选择器
- ✅ **Cascader** - 级联选择器

#### 日期时间
- ✅ **DatePicker** - 日期选择器
- ✅ **TimePicker** - 时间选择器

#### 特殊输入
- ✅ **Slider** - 滑块
- ✅ **Rate** - 评分
- ✅ **ColorPicker** - 颜色选择器
- ✅ **Upload** - 文件上传

### 容器组件

- ✅ **Form** - 表单容器
- ✅ **Layout** - 布局容器（支持 Grid、Tabs、Collapse、Card）
- ✅ **List** - 列表容器（支持动态增删、排序）

### 包装器

- ✅ **FieldWrapper** - 字段包装器（统一错误展示和样式）

## 📖 更多示例

查看 `packages/PresetElementPlus/src/examples/` 目录下的示例文件：

- `all-widgets.vue` - 完整组件展示（推荐查看）
- `widgets.vue` - 基础字段组件示例
- `form-container-example.vue` - 基础表单示例
- `layout-container-example.vue` - 布局容器示例
- `list-container-example.vue` - 列表容器示例
- `nested-container-example.vue` - 复杂嵌套示例

## 🛠️ 开发

```bash
# 安装依赖
pnpm install

# 开发模式
pnpm dev

# 构建库
pnpm build:lib

# 运行测试
pnpm test
```

## 📄 许可证

MIT License

## 🤝 贡献

欢迎提交 Issue 和 Pull Request！
npm package: @form-wizard-framework/dynamic-content-key
Description: In many cases, fields have a fixed content key, meaning they always display the same label. For example, a field labeled "Full name" will consistently display as "Full name". However, depending on previous questions asked in a sequence, the perspective ma
Author: Pandu Supriyono
Latest version: 2.0.0

# Dynamic Content Key

## Use case

In many cases, fields have a fixed content key, meaning they always display the same label. For example, a field labeled "Full name" will consistently display as "Full name". However, depending on previous questions asked in a sequence, the perspective may change. If you previously indicated that you are submitting an application on behalf of someone else (for instance, using power of attorney), the field label might adjust to "The principal's full name".

## Usage

## As a static content key

```
  {
    field: {
      contentKey: 'foo'
    }
  }
```

## As a functional content key

```
  {
    field: {
      contentKey: (req, res) => req.foo
    }
  }
```

## As conditionals

```
  {
    field: {
      contentKey: [
        {
          field: 'foo',
          value: 'bar',
          key: 'baz',
        },
        {
          field: 'foo',
          op: '!='
          value: 'baz',
          key: 'bar',
        },
        'fallback'
      ]
    }
  }
```
npm package: @form2js/core
Description: Core path parsing and object transformation logic for form2js.
Latest version: 3.4.0

# @form2js/core

Core path parsing and object transformation logic for form-shaped data.

## Install

```bash
npm install @form2js/core
```

## Minimal usage

```ts
import { entriesToObject } from "@form2js/core";

const data = entriesToObject([
  { key: "person.name.first", value: "Vimes" },
  { key: "person.tags[]", value: "watch" },
]);
```

For guides, playground examples, and API details, see the docs site:
https://maxatwork.github.io/form2js/?variant=core

License: MIT
npm package: @form2js/dom
Description: DOM extraction adapters for form2js.
Latest version: 3.4.0

# @form2js/dom

Parse browser form controls into structured objects.

## Install

```bash
npm install @form2js/dom
```

## Minimal usage

```ts
import { formToObject } from "@form2js/dom";

const result = formToObject(document.getElementById("profileForm"));
```

For guides, playground examples, and API details, see the docs site:
https://maxatwork.github.io/form2js/?variant=form

License: MIT
npm package: @form2js/form-data
Description: FormData adapters for form2js.
Latest version: 3.4.0

# @form2js/form-data

Convert `FormData` and entry lists into structured objects.

## Install

```bash
npm install @form2js/form-data
```

## Minimal usage

```ts
import { formDataToObject } from "@form2js/form-data";

const result = formDataToObject([
  ["person.name.first", "Sam"],
  ["person.roles[]", "captain"],
]);
```

For guides, playground examples, and API details, see the docs site:
https://maxatwork.github.io/form2js/?variant=form-data

License: MIT
npm package: @form2js/jquery
Description: jQuery plugin adapter for form2js.
Latest version: 3.4.0

# @form2js/jquery

Use form2js through a jQuery plugin adapter.

## Install

```bash
npm install @form2js/jquery jquery
```

## Minimal usage

```ts
import $ from "jquery";
import { installToObjectPlugin } from "@form2js/jquery";

installToObjectPlugin($);
const data = $("#profileForm").toObject({ mode: "first" });
```

For guides, playground examples, and API details, see the docs site:
https://maxatwork.github.io/form2js/?variant=jquery

License: MIT
npm package: @form2js/js2form
Description: Populate DOM forms from plain objects.
Latest version: 3.4.0

# @form2js/js2form

Populate form controls from plain object data.

## Install

```bash
npm install @form2js/js2form
```

## Minimal usage

```ts
import { objectToForm } from "@form2js/js2form";

objectToForm(document.getElementById("profileForm"), {
  person: { name: { first: "Tiffany", last: "Aching" } },
});
```

For guides, playground examples, and API details, see the docs site:
https://maxatwork.github.io/form2js/?variant=js2form

License: MIT
npm package: @form2js/react
Description: React hook adapter for form2js.
Latest version: 3.4.0

# @form2js/react

Handle form submission with a small React hook built on form2js parsing.

## Install

```bash
npm install @form2js/react react
```

## Minimal usage

```tsx
import { useForm2js } from "@form2js/react";

export function ProfileForm(): React.JSX.Element {
  const { onSubmit, isSubmitting } = useForm2js(async (data) => {
    await saveProfile(data);
  });

  return (
    <form
      onSubmit={(event) => {
        void onSubmit(event);
      }}
    >
      <input name="person.name.first" defaultValue="Sam" />
      <button disabled={isSubmitting}>Save</button>
    </form>
  );
}
```

For guides, playground examples, and API details, see the docs site:
https://maxatwork.github.io/form2js/?variant=react

License: MIT
npm package: @form8ion/cucumber-scaffolder
Description: opinionated scaffolder for Cucumber.js
Author: Matt Travi
Latest version: 5.6.0

# cucumber-scaffolder

opinionated scaffolder for [Cucumber.js](https://github.com/cucumber/cucumber-js)

<!--status-badges start -->

[![Node CI Workflow Status][github-actions-ci-badge]][github-actions-ci-link]
![SLSA Level 2][slsa-badge]
[![Codecov][coverage-badge]][coverage-link]

<!--status-badges end -->

## Usage

<!--consumer-badges start -->

[![npm][npm-badge]][npm-link]
[![Try @form8ion/cucumber-scaffolder on RunKit][runkit-badge]][runkit-link]
[![MIT license][license-badge]][license-link]
![node][node-badge]

<!--consumer-badges end -->

### Installation

```sh
$ npm install @form8ion/cucumber-scaffolder --save-prod
```

## Contributing

<!--contribution-badges start -->

[![Conventional Commits][commit-convention-badge]][commit-convention-link]
[![Commitizen friendly][commitizen-badge]][commitizen-link]
[![semantic-release][semantic-release-badge]][semantic-release-link]
[![PRs Welcome][PRs-badge]][PRs-link]
[![Renovate][renovate-badge]][renovate-link]

<!--contribution-badges end -->

### Dependencies

```sh
$ nvm install
$ npm install
```

### Verification

```sh
$ npm test
```

[npm-link]: https://www.npmjs.com/package/@form8ion/cucumber-scaffolder

[npm-badge]: https://img.shields.io/npm/v/@form8ion/cucumber-scaffolder?logo=npm

[runkit-link]: https://npm.runkit.com/@form8ion/cucumber-scaffolder

[runkit-badge]: https://badge.runkitcdn.com/@form8ion/cucumber-scaffolder.svg

[license-link]: LICENSE

[license-badge]: https://img.shields.io/github/license/form8ion/cucumber-scaffolder.svg?logo=opensourceinitiative

[commit-convention-link]: https://conventionalcommits.org

[commit-convention-badge]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg

[commitizen-link]: http://commitizen.github.io/cz-cli/

[commitizen-badge]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg

[semantic-release-link]: https://github.com/semantic-release/semantic-release

[semantic-release-badge]: https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release

[PRs-link]: http://makeapullrequest.com

[PRs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg

[renovate-link]: https://renovatebot.com

[renovate-badge]: https://img.shields.io/badge/renovate-enabled-brightgreen.svg?logo=renovatebot

[github-actions-ci-link]: https://github.com/form8ion/cucumber-scaffolder/actions?query=workflow%3A%22Node.js+CI%22+branch%3Amaster

[github-actions-ci-badge]: https://img.shields.io/github/actions/workflow/status/form8ion/cucumber-scaffolder/node-ci.yml.svg?branch=master&logo=github

[node-badge]: https://img.shields.io/node/v/@form8ion/cucumber-scaffolder?logo=node.js

[slsa-badge]: https://slsa.dev/images/gh-badge-level2.svg

[coverage-link]: https://codecov.io/github/form8ion/cucumber-scaffolder

[coverage-badge]: https://img.shields.io/codecov/c/github/form8ion/cucumber-scaffolder/master?logo=codecov
npm package: @form8ion/eslint-config-hal
Description: Shareable config for producers and consumers of HAL APIs
Author: Matt Travi
Latest version: 1.0.0

# eslint-config-hal

Shareable config for [ESLint](https://eslint.org/) for producers and consumers
of [HAL](http://stateless.co/hal_specification.html) APIs

<!-- status badges -->
[![Build Status][ci-badge]][ci-link]

## Usage

<!-- consumer badges -->
[![npm][npm-badge]][npm-link]
[![MIT license][license-badge]][license-link]

### Installation

```sh
$ npm install @form8ion/eslint-config-hal
```

## Contributing

<!-- contribution badges -->
[![Conventional Commits][commit-convention-badge]][commit-convention-link]
[![Commitizen friendly][commitizen-badge]][commitizen-link]
[![semantic-release][semantic-release-badge]][semantic-release-link]
[![PRs Welcome][PRs-badge]][PRs-link]
[![Greenkeeper badge](https://badges.greenkeeper.io/form8ion/eslint-config-hal.svg)](https://greenkeeper.io/)

### Dependencies

```sh
$ nvm install
$ npm install
```

### Verification

```sh
$ npm test
```

[npm-link]: https://www.npmjs.com/package/@form8ion/eslint-config-hal
[npm-badge]: https://img.shields.io/npm/v/@form8ion/eslint-config-hal.svg
[license-link]: LICENSE
[license-badge]: https://img.shields.io/github/license/form8ion/eslint-config-hal.svg
[ci-link]: https://travis-ci.com/form8ion/eslint-config-hal
[ci-badge]: https://img.shields.io/travis/com/form8ion/eslint-config-hal/master.svg
[commit-convention-link]: https://conventionalcommits.org
[commit-convention-badge]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg
[commitizen-link]: http://commitizen.github.io/cz-cli/
[commitizen-badge]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg
[semantic-release-link]: https://github.com/semantic-release/semantic-release
[semantic-release-badge]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
[PRs-link]: http://makeapullrequest.com
[PRs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg
npm package: @form8ion/eslint-config-template
Description: Shareable config for ESLint
Author: Matt Travi
Latest version: 1.0.0

# eslint-config

[Shareable config](https://eslint.org/docs/developer-guide/shareable-configs)
for [ESLint](https://eslint.org),
which extends [@form8ion/eslint-config](https://github.com/form8ion/eslint-config)

<!-- status badges -->
[![Build Status][ci-badge]][ci-link]

## Usage

<!-- consumer badges -->
[![npm][npm-badge]][npm-link]
[![MIT license][license-badge]][license-link]

### Installation

```sh
$ npm install @form8ion/eslint-config --save-dev
```

## Contributing

<!-- contribution badges -->
[![Conventional Commits][commit-convention-badge]][commit-convention-link]
[![Commitizen friendly][commitizen-badge]][commitizen-link]
[![semantic-release][semantic-release-badge]][semantic-release-link]
[![PRs Welcome][PRs-badge]][PRs-link]
[![Greenkeeper badge][greenkeeper-badge]][greenkeeper-link]

### Dependencies

```sh
$ nvm install
$ npm install
```

### Verification

```sh
$ npm test
```

[npm-link]: https://www.npmjs.com/package/@form8ion/eslint-config-template
[npm-badge]: https://img.shields.io/npm/v/@form8ion/eslint-config-template.svg
[license-link]: LICENSE
[license-badge]: https://img.shields.io/github/license/form8ion/eslint-config-template.svg
[ci-link]: https://travis-ci.com/form8ion/eslint-config-template
[ci-badge]: https://img.shields.io/travis/com/form8ion/eslint-config-template/master.svg
[commit-convention-link]: https://conventionalcommits.org
[commit-convention-badge]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg
[commitizen-link]: http://commitizen.github.io/cz-cli/
[commitizen-badge]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg
[semantic-release-link]: https://github.com/semantic-release/semantic-release
[semantic-release-badge]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
[PRs-link]: http://makeapullrequest.com
[PRs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg
[greenkeeper-badge]: https://badges.greenkeeper.io/form8ion/eslint-config-template.svg
[greenkeeper-link]: https://greenkeeper.io/
npm package: @form8ion/eslint-config-typescript
Description: shareable ESLint config for TypeScript projects
Author: Matt Travi
Latest version: 1.0.5

# eslint-config-typescript

[shareable](https://eslint.org/docs/developer-guide/shareable-configs#shareable-configs)
[ESLint](https://eslint.org) config for
[TypeScript](https://www.typescriptlang.org/) projects

<!--status-badges start -->

[![Node CI Workflow Status][github-actions-ci-badge]][github-actions-ci-link]

<!--status-badges end -->

## Table of Contents

* [Usage](#usage)
  * [Installation](#installation)
  * [Add to the project config](#add-to-the-project-config)
* [Contributing](#contributing)
  * [Dependencies](#dependencies)
  * [Verification](#verification)

## Usage

<!--consumer-badges start -->

[![MIT license][license-badge]][license-link]
[![npm][npm-badge]][npm-link]

<!--consumer-badges end -->

### Installation

```sh
$ npm install @form8ion/eslint-config-typescript --save-dev
```

### Add to the project config

Such as in an `.eslintrc.js`

```js
module.exports = {
  extends: ['@form8ion', '@form8ion/typescript']
};
```

## Contributing

<!--contribution-badges start -->

[![PRs Welcome][PRs-badge]][PRs-link]
[![Commitizen friendly][commitizen-badge]][commitizen-link]
[![Conventional Commits][commit-convention-badge]][commit-convention-link]
[![semantic-release][semantic-release-badge]][semantic-release-link]
[![Renovate][renovate-badge]][renovate-link]

<!--contribution-badges end -->

### Dependencies

```sh
$ nvm install
$ npm install
```

### Verification

```sh
$ npm test
```

[PRs-link]: http://makeapullrequest.com

[PRs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg

[commitizen-link]: http://commitizen.github.io/cz-cli/

[commitizen-badge]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg

[commit-convention-link]: https://conventionalcommits.org

[commit-convention-badge]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg

[semantic-release-link]: https://github.com/semantic-release/semantic-release

[semantic-release-badge]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg

[renovate-link]: https://renovatebot.com

[renovate-badge]: https://img.shields.io/badge/renovate-enabled-brightgreen.svg?logo=renovatebot

[github-actions-ci-link]: https://github.com/form8ion/eslint-config-typescript/actions?query=workflow%3A%22Node.js+CI%22+branch%3Amaster

[github-actions-ci-badge]: https://github.com/form8ion/eslint-config-typescript/workflows/Node.js%20CI/badge.svg

[license-link]: LICENSE

[license-badge]: https://img.shields.io/github/license/form8ion/eslint-config-typescript.svg

[npm-link]: https://www.npmjs.com/package/@form8ion/eslint-config-typescript

[npm-badge]: https://img.shields.io/npm/v/@form8ion/eslint-config-typescript.svg
npm package: @form8ion/eslint-config-vitest
Description: shareable config for ESLint for Vitest test files
Author: Matt Travi
Latest version: 1.1.0

# eslint-config-vitest

shareable config for ESLint for Vitest test files

<!--status-badges start -->

[![Node CI Workflow Status][github-actions-ci-badge]][github-actions-ci-link]
![SLSA Level 2][slsa-badge]

<!--status-badges end -->

## Table of Contents

* [Usage](#usage)
  * [Installation](#installation)
  * [Example](#example)
* [Contributing](#contributing)
  * [Dependencies](#dependencies)
  * [Verification](#verification)

## Usage

<!--consumer-badges start -->

[![npm][npm-badge]][npm-link]
[![Try @form8ion/eslint-config-vitest on RunKit][runkit-badge]][runkit-link]
[![license][license-badge]][license-link]
![node][node-badge]

<!--consumer-badges end -->

### Installation

```sh
$ npm install @form8ion/eslint-config-vitest --save-dev
```

### Example

```javascript
module.exports = {
  extends: [
    '@form8ion',
    '@form8ion/vitest'
  ]
}
```

## Contributing

<!--contribution-badges start -->

[![Commitizen friendly][commitizen-badge]][commitizen-link]
[![Conventional Commits][commit-convention-badge]][commit-convention-link]
[![Renovate][renovate-badge]][renovate-link]
[![PRs Welcome][PRs-badge]][PRs-link]
[![semantic-release: angular][semantic-release-badge]][semantic-release-link]

<!--contribution-badges end -->

### Dependencies

```sh
$ nvm install
$ npm install
```

### Verification

```sh
$ npm test
```

[github-actions-ci-link]: https://github.com/form8ion/eslint-config-vitest/actions?query=workflow%3A%22Node.js+CI%22+branch%3Amaster

[github-actions-ci-badge]: https://img.shields.io/github/actions/workflow/status/form8ion/eslint-config-vitest/node-ci.yml.svg?branch=master&logo=github

[slsa-badge]: https://slsa.dev/images/gh-badge-level2.svg

[commitizen-link]: http://commitizen.github.io/cz-cli/

[commitizen-badge]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg

[commit-convention-link]: https://conventionalcommits.org

[commit-convention-badge]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg

[renovate-link]: https://renovatebot.com

[renovate-badge]: https://img.shields.io/badge/renovate-enabled-brightgreen.svg?logo=renovatebot

[PRs-link]: https://makeapullrequest.com

[PRs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg

[semantic-release-link]: https://github.com/semantic-release/semantic-release

[semantic-release-badge]: https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release

[npm-link]: https://www.npmjs.com/package/@form8ion/eslint-config-vitest

[npm-badge]: https://img.shields.io/npm/v/@form8ion/eslint-config-vitest?logo=npm

[runkit-link]: https://npm.runkit.com/@form8ion/eslint-config-vitest

[runkit-badge]: https://badge.runkitcdn.com/@form8ion/eslint-config-vitest.svg

[license-link]: LICENSE

[license-badge]: https://img.shields.io/github/license/form8ion/eslint-config-vitest.svg?logo=opensourceinitiative

[node-badge]: https://img.shields.io/node/v/@form8ion/eslint-config-vitest?logo=node.js
npm package: @form8ion/execa-wrapper
Description: wrapper to expose execa as a dual-mode package
Author: Matt Travi
Latest version: 1.0.0

# execa-wrapper

wrapper to expose execa as a dual-mode package

<!--status-badges start -->

[![Node CI Workflow Status][github-actions-ci-badge]][github-actions-ci-link]

<!--status-badges end -->

## Table of Contents

* [Usage](#usage)
  * [Installation](#installation)
* [Contributing](#contributing)
  * [Dependencies](#dependencies)
  * [Verification](#verification)

## Usage

<!--consumer-badges start -->

[![MIT license][license-badge]][license-link]
[![npm][npm-badge]][npm-link]

<!--consumer-badges end -->

### Installation

```sh
$ npm install @form8ion/execa-wrapper --save-prod
```

## Contributing

<!--contribution-badges start -->

[![PRs Welcome][PRs-badge]][PRs-link]
[![Commitizen friendly][commitizen-badge]][commitizen-link]
[![Conventional Commits][commit-convention-badge]][commit-convention-link]
[![semantic-release: angular][semantic-release-badge]][semantic-release-link]
[![Renovate][renovate-badge]][renovate-link]

<!--contribution-badges end -->

### Dependencies

```sh
$ nvm install
$ npm install
```

### Verification

```sh
$ npm test
```

[PRs-link]: http://makeapullrequest.com

[PRs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg

[commitizen-link]: http://commitizen.github.io/cz-cli/

[commitizen-badge]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg

[commit-convention-link]: https://conventionalcommits.org

[commit-convention-badge]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg

[semantic-release-link]: https://github.com/semantic-release/semantic-release

[semantic-release-badge]: https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release

[renovate-link]: https://renovatebot.com

[renovate-badge]: https://img.shields.io/badge/renovate-enabled-brightgreen.svg?logo=renovatebot

[github-actions-ci-link]: https://github.com/form8ion/execa-wrapper/actions?query=workflow%3A%22Node.js+CI%22+branch%3Amaster

[github-actions-ci-badge]: https://github.com/form8ion/execa-wrapper/workflows/Node.js%20CI/badge.svg

[license-link]: LICENSE

[license-badge]: https://img.shields.io/github/license/form8ion/execa-wrapper.svg

[npm-link]: https://www.npmjs.com/package/@form8ion/execa-wrapper

[npm-badge]: https://img.shields.io/npm/v/@form8ion/execa-wrapper?logo=npm
npm package: @form8ion/prettier-config
Description: shareable config for prettier
Author: Matt Travi
Latest version: 1.0.1

# prettier-config

shareable config for [prettier](https://prettier.io/)

<!--status-badges start -->

[![Node CI Workflow Status][github-actions-ci-badge]][github-actions-ci-link]

<!--status-badges end -->

## Table of Contents

* [Usage](#usage)
  * [Installation](#installation)
  * [Example](#example)
* [Contributing](#contributing)
  * [Dependencies](#dependencies)
  * [Verification](#verification)

## Usage

<!--consumer-badges start -->

[![MIT license][license-badge]][license-link]
[![npm][npm-badge]][npm-link]

<!--consumer-badges end -->

### Installation

```sh
$ npm install @form8ion/prettier-config
```

### Example

`.prettierrc.json`

```json
"@form8ion/prettier-config"
```

## Contributing

<!--contribution-badges start -->

[![PRs Welcome][PRs-badge]][PRs-link]
[![Commitizen friendly][commitizen-badge]][commitizen-link]
[![Conventional Commits][commit-convention-badge]][commit-convention-link]
[![semantic-release: angular][semantic-release-badge]][semantic-release-link]
[![Renovate][renovate-badge]][renovate-link]

<!--contribution-badges end -->

### Dependencies

```sh
$ nvm install
$ npm install
```

### Verification

```sh
$ npm test
```

[PRs-link]: http://makeapullrequest.com

[PRs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg

[commitizen-link]: http://commitizen.github.io/cz-cli/

[commitizen-badge]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg

[commit-convention-link]: https://conventionalcommits.org

[commit-convention-badge]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg

[semantic-release-link]: https://github.com/semantic-release/semantic-release

[semantic-release-badge]: https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release

[renovate-link]: https://renovatebot.com

[renovate-badge]: https://img.shields.io/badge/renovate-enabled-brightgreen.svg?logo=renovatebot

[github-actions-ci-link]: https://github.com/form8ion/prettier-config/actions?query=workflow%3A%22Node.js+CI%22+branch%3Amaster

[github-actions-ci-badge]: https://github.com/form8ion/prettier-config/workflows/Node.js%20CI/badge.svg

[license-link]: LICENSE

[license-badge]: https://img.shields.io/github/license/form8ion/prettier-config.svg

[npm-link]: https://www.npmjs.com/package/@form8ion/prettier-config

[npm-badge]: https://img.shields.io/npm/v/@form8ion/prettier-config?logo=npm
npm package: @form8ion/react-components-scaffolder
Description: opinionated scaffolder for React component-library projects
Author: Matt Travi
Latest version: 4.0.0

# react-components-scaffolder

opinionated scaffolder for [React](https://reactjs.org/) component-library
projects

<!--status-badges start -->

[![Node CI Workflow Status][github-actions-ci-badge]][github-actions-ci-link]
[![Codecov][coverage-badge]][coverage-link]
![SLSA Level 2][slsa-badge]

<!--status-badges end -->

## Usage

<!--consumer-badges start -->

[![npm][npm-badge]][npm-link]
[![MIT license][license-badge]][license-link]

<!--consumer-badges end -->

### Installation

```sh
$ npm install @form8ion/react-components-scaffolder --save-prod
```

## Contributing

<!--contribution-badges start -->

[![Conventional Commits][commit-convention-badge]][commit-convention-link]
[![Commitizen friendly][commitizen-badge]][commitizen-link]
[![semantic-release][semantic-release-badge]][semantic-release-link]
[![PRs Welcome][PRs-badge]][PRs-link]
[![Renovate][renovate-badge]][renovate-link]

<!--contribution-badges end -->

### Dependencies

```sh
$ nvm install
$ npm install
```

### Verification

```sh
$ npm test
```

[npm-link]: https://www.npmjs.com/package/@form8ion/react-components-scaffolder

[npm-badge]: https://img.shields.io/npm/v/@form8ion/react-components-scaffolder?logo=npm

[license-link]: LICENSE

[license-badge]: https://img.shields.io/github/license/form8ion/react-components-scaffolder.svg?logo=opensourceinitiative

[commit-convention-link]: https://conventionalcommits.org

[commit-convention-badge]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg

[commitizen-link]: http://commitizen.github.io/cz-cli/

[commitizen-badge]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg

[semantic-release-link]: https://github.com/semantic-release/semantic-release

[semantic-release-badge]: https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release

[PRs-link]: http://makeapullrequest.com

[PRs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg

[renovate-link]: https://renovatebot.com

[renovate-badge]: https://img.shields.io/badge/renovate-enabled-brightgreen.svg?logo=renovatebot

[github-actions-ci-link]: https://github.com/form8ion/react-components-scaffolder/actions?query=workflow%3A%22Node.js+CI%22+branch%3Amaster

[github-actions-ci-badge]: https://img.shields.io/github/actions/workflow/status/form8ion/react-components-scaffolder/node-ci.yml.svg?branch=master&logo=github

[coverage-link]: https://codecov.io/github/form8ion/react-components-scaffolder

[coverage-badge]: https://img.shields.io/codecov/c/github/form8ion/react-components-scaffolder?logo=codecov

[slsa-badge]: https://slsa.dev/images/gh-badge-level2.svg
npm package: @form8ion/remark-preset
Description: remark preset to configure markdown style conventions for use with remark-lint and other remark AST manipulation tools
Author: Matt Travi
Latest version: 1.0.5

# remark-preset

remark preset to configure markdown style conventions for use with remark-lint
and other remark AST manipulation tools

<!--status-badges start -->

[![Node CI Workflow Status][github-actions-ci-badge]][github-actions-ci-link]
![SLSA Level 2][slsa-badge]

<!--status-badges end -->

## Table of Contents

* [Usage](#usage)
  * [Installation](#installation)
* [Contributing](#contributing)
  * [Dependencies](#dependencies)
  * [Verification](#verification)

## Usage

<!--consumer-badges start -->

[![MIT license][license-badge]][license-link]
[![npm][npm-badge]][npm-link]
![node][node-badge]

<!--consumer-badges end -->

### Installation

```sh
$ npm install @form8ion/remark-preset
```

## Contributing

<!--contribution-badges start -->

[![PRs Welcome][PRs-badge]][PRs-link]
[![Commitizen friendly][commitizen-badge]][commitizen-link]
[![Conventional Commits][commit-convention-badge]][commit-convention-link]
[![semantic-release][semantic-release-badge]][semantic-release-link]
[![Renovate][renovate-badge]][renovate-link]

<!--contribution-badges end -->

### Dependencies

```sh
$ nvm install
$ npm install
```

### Verification

```sh
$ npm test
```

[PRs-link]: http://makeapullrequest.com

[PRs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg

[commitizen-link]: http://commitizen.github.io/cz-cli/

[commitizen-badge]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg

[commit-convention-link]: https://conventionalcommits.org

[commit-convention-badge]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg

[semantic-release-link]: https://github.com/semantic-release/semantic-release

[semantic-release-badge]: https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release

[renovate-link]: https://renovatebot.com

[renovate-badge]: https://img.shields.io/badge/renovate-enabled-brightgreen.svg?logo=renovatebot

[github-actions-ci-link]: https://github.com/form8ion/remark-preset/actions?query=workflow%3A%22Node.js+CI%22+branch%3Amaster

[github-actions-ci-badge]: https://img.shields.io/github/actions/workflow/status/form8ion/remark-preset/node-ci.yml.svg?branch=master&logo=github

[license-link]: LICENSE

[license-badge]: https://img.shields.io/github/license/form8ion/remark-preset.svg

[npm-link]: https://www.npmjs.com/package/@form8ion/remark-preset

[npm-badge]: https://img.shields.io/npm/v/@form8ion/remark-preset?logo=npm

[slsa-badge]: https://slsa.dev/images/gh-badge-level2.svg

[node-badge]: https://img.shields.io/node/v/@form8ion/remark-preset?logo=node.js
npm package: @form8ion/tsconfig
Description: shareable TypeScript config
Author: Matt Travi
Latest version: 1.0.9

# tsconfig

shareable [TypeScript config](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)

<!--status-badges start -->

[![Node CI Workflow Status][github-actions-ci-badge]][github-actions-ci-link]

<!--status-badges end -->

## Table of Contents

* [Usage](#usage)
  * [Installation](#installation)
  * [Extend from your local `tsconfig.json`](#extend-from-your-local-tsconfigjson)
* [Contributing](#contributing)
  * [Dependencies](#dependencies)
  * [Verification](#verification)

## Usage

<!--consumer-badges start -->

[![MIT license][license-badge]][license-link]
[![npm][npm-badge]][npm-link]

<!--consumer-badges end -->

### Installation

```sh
$ npm install @form8ion/tsconfig --save-dev
```

### Extend from your local `tsconfig.json`

```json
{"extends": "@form8ion/tsconfig"}
```

## Contributing

<!--contribution-badges start -->

[![PRs Welcome][PRs-badge]][PRs-link]
[![Commitizen friendly][commitizen-badge]][commitizen-link]
[![Conventional Commits][commit-convention-badge]][commit-convention-link]
[![semantic-release][semantic-release-badge]][semantic-release-link]
[![Renovate][renovate-badge]][renovate-link]

<!--contribution-badges end -->

### Dependencies

```sh
$ nvm install
$ npm install
```

### Verification

```sh
$ npm test
```

[PRs-link]: http://makeapullrequest.com

[PRs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg

[commitizen-link]: http://commitizen.github.io/cz-cli/

[commitizen-badge]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg

[commit-convention-link]: https://conventionalcommits.org

[commit-convention-badge]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg

[semantic-release-link]: https://github.com/semantic-release/semantic-release

[semantic-release-badge]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg

[renovate-link]: https://renovatebot.com

[renovate-badge]: https://img.shields.io/badge/renovate-enabled-brightgreen.svg?logo=renovatebot

[github-actions-ci-link]: https://github.com/form8ion/tsconfig/actions?query=workflow%3A%22Node.js+CI%22+branch%3Amaster

[github-actions-ci-badge]: https://github.com/form8ion/tsconfig/workflows/Node.js%20CI/badge.svg

[license-link]: LICENSE

[license-badge]: https://img.shields.io/github/license/form8ion/tsconfig.svg

[npm-link]: https://www.npmjs.com/package/@form8ion/tsconfig

[npm-badge]: https://img.shields.io/npm/v/@form8ion/tsconfig.svg
npm package: @formactor/react
Description: Formactor SPA Form Component Builder auto-generates your project's similar components like forms and tables just using UI with drag and drop feature. SPAForm saves a lot of time!
Author: Fatih Kacar
Latest version: 0.5.0

# Formact-SPA-Form-component-builder
Formact SPA Form Component Builder auto-generates your project's similar components like forms and tables just using UI with drag and drop feature. SPAForm saves a lot of time!
npm package: @formai/angular
Description: Angular bindings for formai
Author: beladevo
Latest version: 0.1.0

﻿# @formai/angular

Angular adapter for `@formai/core`.

## Install

```bash
npm i @formai/angular @formai/core
```

## Exports

- `SmartFormService`
- `SmartFormDirective` (`smartForm`)
- `SmartFormModule.forRoot(...)`

See the root README for full examples.
npm package: @formai/core
Description: Framework-agnostic core runtime for client-side AI form suggestions
Author: beladevo
Latest version: 0.1.0

﻿# @formai/core

Framework-agnostic engine for client-side AI form suggestions.

## Install

```bash
npm i @formai/core
```

## API

- `init(config: SmartFormConfig): Promise<void>`
- `generate(text: string): Promise<SmartSuggestion>`
- `dispose(): void`

See the root README for full configuration and compatibility notes.
npm package: @formai/react
Description: React bindings for formai
Author: beladevo
Latest version: 0.1.0

﻿# @formai/react

React adapter for `@formai/core`.

## Install

```bash
npm i @formai/react @formai/core
```

## Exports

- `useSmartField(config?)`
- `SmartInput`

See the root README for full examples.
npm package: @formaloo/api-client
Description: JS Client SDK for Formaloo API
Author: Formaloo
Latest version: 1.7.0

# Formaloo JS API Client

![npm (scoped)](https://img.shields.io/npm/v/@formaloo/api-client)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)

## Installation

`npm install --save @formaloo/api-client`

## Usage

1. import library
```
  // using ES Modules
  import { Formaloo } from '@formaloo/api-client'
  // using CommonJS syntax
  const { Formaloo } = require('@formaloo/api-client')
```

2. create instance with your credentials
```
  const formaloo = Formaloo.APIClient.create({
    apiKey,
    apiSecret,
    writeKey,
  })
```

3. use available methods on client based on your needs

  * Please note that either `useWriteKey` or `token` should be present on all method calls.
    You can also create formaloo instance with only `writeKey` to create a write-only client.

```
  const response = await formaloo.customers.create({
    email: 'customer@email.com',
    phone_number: '+123456789',
    useWriteKey: true, // for create/update operations you might want to use your write-only key instead of access token
    token, // your access token obtained using your `KEY` and `SECRET`
  })
```

**NOTES:**
1. DO NOT USE your secret on client side (apps running in browser)
2. You might want to use your write-only in browser or less secure environments
   which has limited access to create or update (patch) your data.

## Examples
npm package: @formance/formance-sdk-oauth
Description: A helper library for using the Formance SDK with OAuth2.0
Author: Formance
Latest version: 1.1.1

# @formance/formance-sdk-oauth

This package provides a simple way to authenticate with the [Formance](https://formance.com) API.

## Installation

```bash
npm install @formance/formance-sdk-oauth
```

## Usage

```typescript
import { SDK as Formance } from '@formance/formance-sdk';
import { createAuthorizationProvider } from '@formance/formance-sdk-oauth';

const ENDPOINT = "https://xxxxxxxxxx-xxxx.sandbox.formance.cloud";

const formance = new Formance({
    serverURL: ENDPOINT,
    authorization: createAuthorizationProvider({
        endpointUrl: ENDPOINT,
        // These are sensitive credentials that should not be exposed to the public.
        clientId: "<OAuth client id>",
        clientSecret: "<OAuth client id>",
    }),
});

async function main() {
    const ledgerInfo = await formance.ledger.getInfo();
    console.log(ledgerInfo.configInfoResponse!.data);
}

main();
```

## API Reference

### `createAuthorizationProvider`

Return a function that can be used to return an authorization header for authenticating with the Formance API. Internally, it uses the [OAuth 2.0 Client Credentials Grant](https://tools.ietf.org/html/rfc6749#section-4.4) with no scope to obtain an access token.

#### Parameters

| Name | Type | Description |
| --- | --- | --- |
| `options` | `OAuthOptions` | Options for the OAuth provider. |

`OAuthOptions` reference

| Name | Type | Description |
| --- | --- | --- |
| `endpointUrl` | `string` | The URL of the Formance API for your stack. |
| `clientId` | `string` | The OAuth client id. |
| `clientSecret` | `string` | The OAuth client secret. |
| `tolerance?` | `number` | The number of milliseconds to allow for clock skew. Defaults to 5 minutes. |

#### Returns

A function that can be used to return an authorization header for authenticating with the Formance API.