{"_id":"@carbide/c5-form-engine","name":"@carbide/c5-form-engine","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@carbide/c5-form-engine","version":"1.0.0","description":"表单引擎组件，支持动态表单、验证、联动 - Day 1 核心组件 C5","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"build":"rollup -c","test":"jest","prepublishOnly":"npm run build"},"keywords":["form","validation","dynamic","engine","agent"],"license":"MIT","devDependencies":{"@rollup/plugin-typescript":"^11.1.6","@types/jest":"^30.0.0","jest":"^29.7.0","jest-environment-jsdom":"^30.3.0","rollup":"^4.13.0","ts-jest":"^29.4.9","tslib":"^2.6.2","typescript":"^5.4.3"},"_id":"@carbide/c5-form-engine@1.0.0","gitHead":"8fcec274b8440276b389983dbb41d0d710e52962","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-QYePWtah71bCiylbitrnrKky+aUIu2UvIdN7dh5N8E7EERzdxNdq4WMX77B8mAYhZmjmkFat1cx82J5iTSkidQ==","shasum":"ca90ffe050f389010cd055a78eab2bf878ebfd1b","tarball":"https://registry.npmjs.org/@carbide/c5-form-engine/-/c5-form-engine-1.0.0.tgz","fileCount":6,"unpackedSize":10668,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFkKh/ntMi4RPeYKyTnaTzD20x9sLcPydHM05uKaEp71AiB2DVWC0z0DKtN5D1WJi8olugSvEqb88fpVG/C3Rap8yg=="}]},"_npmUser":{"name":"carbide","email":"15867139271@163.com"},"directories":{},"maintainers":[{"name":"carbide","email":"15867139271@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/c5-form-engine_1.0.0_1776410247423_0.9289271600846958"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-17T07:17:27.352Z","1.0.0":"2026-04-17T07:17:27.567Z","modified":"2026-04-17T07:17:27.817Z"},"maintainers":[{"name":"carbide","email":"15867139271@163.com"}],"description":"表单引擎组件，支持动态表单、验证、联动 - Day 1 核心组件 C5","keywords":["form","validation","dynamic","engine","agent"],"license":"MIT","readme":"# C5 FormEngine - 表单引擎\n\nDay 1 核心组件 C5，支持动态表单、验证、字段联动。\n\n## 安装\n\n```bash\nnpm install @carbide/c5-form-engine\n```\n\n## 使用\n\n```typescript\nimport { FormEngine, validators } from '@carbide/c5-form-engine';\n\nconst form = new FormEngine({\n  fields: [\n    {\n      name: 'email',\n      type: 'email',\n      label: '邮箱',\n      validators: [validators.required(), validators.email()]\n    },\n    {\n      name: 'password',\n      type: 'text',\n      label: '密码',\n      validators: [validators.required(), validators.minLength(6)]\n    },\n    {\n      name: 'bio',\n      type: 'textarea',\n      label: '简介',\n      visible: (values) => values.password?.length > 0\n    }\n  ],\n  onChange: (values) => console.log(values)\n});\n\n// 设置值\nform.setValue('email', 'test@example.com');\n\n// 获取值\nconst values = form.getValues();\n\n// 验证\nconst isValid = form.validate();\nconst errors = form.getErrors();\n\n// 监听变化\nform.onChange((values, errors) => {\n  console.log(values, errors);\n});\n\n// 获取可见字段（支持联动）\nconst visibleFields = form.getVisibleFields();\n\n// 重置\nform.reset();\n```\n\n## 验证器\n\n| 验证器 | 说明 |\n|--------|------|\n| `validators.required(msg?)` | 必填 |\n| `validators.email(msg?)` | 邮箱格式 |\n| `validators.minLength(n, msg?)` | 最小长度 |\n| `validators.maxLength(n, msg?)` | 最大长度 |\n\n## 在项目中使用\n\n详见 `day-01/07-email-writer` 等项目。\n","readmeFilename":"README.md","_rev":"1-392504462605fe5daa3a10853fbe4ef1"}