--- name: input-component overview: 在 fms-vue 组件库中新建 Input(基础框)、InputPassword(密码框)、Textarea(多行)三个组件,沿用 button 的「纯 scoped scss + --fms-* tokens」风格,并在 App.vue 增加演示示例。参考 参考组件库/shadcn 与 antdv-next 的设计。 design: architecture: framework: vue styleKeywords: - Minimalism - Neutral - Compact - Professional fontSystem: fontFamily: PingFang SC heading: size: 20px weight: 600 subheading: size: 14px weight: 500 body: size: 14px weight: 400 colorSystem: primary: - "#0f172b" background: - "#ffffff" - "#f5f6f8" text: - "#1f2329" - "#86909c" functional: - "#ef4444" - "#f59e0b" - "#e5e6eb" todos: - id: create-input content: 创建 input/input.vue 与 input/index.scss(基础框:v-model、size、status、prefix/suffix、allowClear、showCount) status: completed - id: create-password content: 创建 input-password/input-password.vue(复用 Input,Eye/EyeOff 切换) status: completed dependencies: - create-input - id: create-textarea content: 创建 textarea/textarea.vue 与 textarea/index.scss(多行 + showCount) status: completed - id: app-demo content: 在 App.vue 增加 input/password/textarea 演示区块 status: completed dependencies: - create-input - create-password - create-textarea - id: verify content: 运行 lint 校验并自查演示渲染与 dark 适配 status: completed dependencies: - app-demo --- ## 用户需求 在 fms-vue 组件库中新增 Input 相关组件,设计参考本地 `参考组件库/shadcn` 与 `参考组件库/antdv-next`,样式采用纯 scoped scss + `--fms-*` CSS 变量(延续 button 做法,零运行时)。 ## 产品概述 为轻量组件库补充文本输入能力,包含基础输入框、密码框、多行文本域三种独立组件,并在 App.vue 增加演示区块。 ## 核心功能 - **Input 基础框**:v-model 双向绑定、disabled 禁用、size(sm/default/lg)、status(error/warning)、prefix/suffix 插槽、allowClear 一键清除、showCount 字数统计(支持 maxlength)。 - **InputPassword 密码框**:在 Input 基础上增加可见性切换(Eye/EyeOff 图标按钮),支持 disabled/size/status。 - **Textarea 多行文本域**:多行输入,支持 disabled/size/status/showCount/maxlength 与自适应高度(可选)。 - **演示示例**:在 App.vue 新增 input 演示区块,覆盖上述主要用法。 ## 技术栈 - 框架:Vue 3(`