- name: u-input
  icon: input
  title: 单行输入
  labels:
    - Form
  description: 基本的表单输入组件
  attrs:
    - name: minlength
      title: 最小长度
      type: number
      description: ""
      advanced: true
    - name: spellcheck
      title: 拼写检查
      type: boolean
      description: 原生属性
      advanced: true
    - name: maxlengthMessage
      title: 长度上限提示
      type: string
      description: 输入内容达到上限时的错误提示，且被 [FormItem](#/components/u-form) 包裹时生效
      advanced: true
    - name: type
      title: 类型
      type: string
      options:
        - value: text
          title: 文本
        - value: password
          title: 密码
      default: text
      description: 文本框或者密码框
      group: 数据属性
      brifeDoc: ""
      docDescription: 文本框或者密码框。文本：文本类型。密码：密码类型。
      tooltipLink: ""
    - name: value
      title: 值
      type: string
      sync: true
      model: true
      description: 输入的值
      group: 数据属性
      brifeDoc: ""
      docDescription: 输入框的值。
      tooltipLink: ""
    - name: placeholder
      title: 占位符
      type: string
      description: 为空时显示的占位符文本
      group: 主要属性
      brifeDoc: ""
      docDescription: 内容为空时的提示文本。
      tooltipLink: ""
    - name: maxlength
      title: 最大字符数
      type: number
      description: ""
      group: 主要属性
      brifeDoc: ""
      docDescription: 限定输入文本最大长度。
      tooltipLink: ""
    - name: autofocus
      title: 自动获取焦点
      type: boolean
      default: false
      description: 设置是否自动获取焦点
      designer-value: false
      group: 主要属性
      brifeDoc: ""
      docDescription: 是否自动获取输入框焦点。
      tooltipLink: ""
    - name: prefix
      title: 前缀图标
      type: icon
      description: ""
      default: ""
      clearable: true
      group: 主要属性
      brifeDoc: ""
      docDescription: 设置输入框的前缀图标。
      tooltipLink: ""
    - name: suffix
      title: 后缀图标
      type: icon
      description: ""
      default: ""
      clearable: true
      group: 主要属性
      brifeDoc: ""
      docDescription: 设置输入框的后缀图标。
      tooltipLink: ""
    - name: clearable
      title: 可清除
      type: boolean
      description: 可点击清除按钮一键清除内容
      group: 交互属性
      brifeDoc: ""
      docDescription: 是否在输入框有内容时会显示清除内容的按钮。
      tooltipLink: ""
    - name: password
      title: 显示状态
      type: boolean
      default: false
      description: 显示状态分为“True(显示)/False(隐藏)”，默认为“显示”
      group: 状态属性
      brifeDoc: ""
      docDescription: 切换密码的显示/隐藏。
      tooltipLink: ""
    - name: readonly
      title: 只读
      type: boolean
      default: false
      description: 正常显示，但禁止选择/输入
      group: 状态属性
      brifeDoc: ""
      docDescription: 正常显示，但禁止选择或输入。
      tooltipLink: ""
    - name: disabled
      title: 禁用
      type: boolean
      default: false
      description: 置灰显示，且禁止任何交互（焦点、点击、选择、输入等）
      group: 状态属性
      brifeDoc: ""
      docDescription: 置灰显示，且禁止任何交互（焦点、点击、选择、输入等）。
      tooltipLink: ""
    - name: width
      title: 宽度
      type: string
      options:
        - value: full
          title: 占满
        - value: huge
          title: 巨大
        - value: large
          title: 大
        - value: medium
          title: 中型
        - value: normal
          title: 正常
        - value: small
          title: 小
        - value: mini
          title: 迷你
      default: normal
      description: 设置单行输入框宽度大小
      group: 样式属性
      brifeDoc: ""
      docDescription: 设置单行输入框宽度大小，可选占满、巨大、大、中型、正常、小、迷你
      tooltipLink: ""
    - name: height
      title: 高度
      type: string
      options:
        - value: full
          title: 占满
        - value: huge
          title: 巨大
        - value: large
          title: 大
        - value: medium
          title: 中型
        - value: normal
          title: 正常
        - value: small
          title: 小
        - value: mini
          title: 迷你
      default: normal
      description: 设置单行输入框高度大小
      group: 样式属性
      brifeDoc: ""
      docDescription: 设置单行输入框高度大小，可选占满、巨大、大、中型、正常、小、迷你。
      tooltipLink: ""
  slots:
    - concept: Slot
      name: default
      advanced: true
      title: 默认
      description: 插入 HTML 或 `Component`, 可展示额外内容。
      quick-add: never
  events:
    - name: before-input
      title: 输入前
      advanced: true
      description: 输入前触发。可以在这个阶段阻止输入，或者修改输入的值 $event.value
      params:
        - name: $event
          type: object
          description: 自定义事件对象
          schema:
            $ref: "#/systemTypes/ChangeEvent"
        - name: $event.oldValue
          type: string
          description: 旧的值
        - name: $event.value
          type: string
          description: 输入框的值
        - name: $event.preventDefault
          type: Function
          description: 阻止输入流程
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: input
      title: 输入时
      description: 输入时触发。
      params:
        - name: $event
          type: string
          description: 输入框的值
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: change
      title: 改变后
      description: 值变化时触发。（注意：与原生事件不同）
      params:
        - name: $event
          type: object
          description: 自定义事件对象
          schema:
            $ref: "#/systemTypes/ChangeEvent"
        - name: $event.value
          type: string
          description: 改变后的值
        - name: $event.oldValue
          type: string
          description: 旧的值
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: focus
      title: 获得焦点
      description: 获得焦点时触发。
      params:
        - name: $event
          type: FocusEvent
          description: 原生事件对象
          schema:
            $ref: "#/systemTypes/FocusEvent"
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: blur
      title: 失去焦点
      description: 失去焦点时触发。
      params:
        - name: $event
          type: FocusEvent
          description: 原生事件对象
          schema:
            $ref: "#/systemTypes/FocusEvent"
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: before-clear
      title: 清空前
      description: 清空前触发。
      advanced: true
      params:
        - name: $event
          type: object
          description: 自定义事件对象
          schema:
            $ref: "#/systemTypes/ChangeEvent"
        - name: $event.value
          type: string
          description: 清空后的值
        - name: $event.oldValue
          type: string
          description: 待清空的值
        - name: $event.preventDefault
          type: Function
          description: 阻止清空流程
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: clear
      title: 清空后
      description: 清空后触发。
      params:
        - name: $event
          type: object
          description: 自定义事件对象
          schema:
            $ref: "#/systemTypes/ChangeEvent"
        - name: $event.value
          type: string
          description: 清空后的值
        - name: $event.oldValue
          type: string
          description: 旧的值
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: click-prefix
      title: 点击前缀图标
      description: 点击前缀图标后触发
      params:
        - name: $event
          type: object
          description: 鼠标事件对象
          schema:
            $ref: "#/systemTypes/MouseEvent"
    - name: click-suffix
      title: 点击后缀图标
      description: 点击后缀图标后触发
      params:
        - name: $event
          type: object
          description: 鼠标事件对象
          schema:
            $ref: "#/systemTypes/MouseEvent"
    - name: keydown
      title: 键盘按下
      description: 键盘按键按下时触发
      params:
        - name: $event
          type: object
          description: 键盘按键事件对象
          schema:
            $ref: "#/systemTypes/KeyboardEvent"
    - name: keyup
      title: 键盘松开
      description: 键盘按键松开时触发
      params:
        - name: $event
          type: object
          description: 键盘按键事件对象
          schema:
            $ref: "#/systemTypes/KeyboardEvent"
  methods:
    - name: focus
      description: 让输入框获取焦点。
      params: []
    - name: blur
      description: 让输入框失去焦点。
      params: []
    - name: clear
      description: 清空输入框。
      params: []
