import { ComponentDescription } from '@vtj/engine';
const SelectV2: ComponentDescription = {
  name: 'ElSelectv2',
  title: '虚拟列表选择器',
  groupId: 'el',
  categoryId: 'form',
  package: 'element-plus',
  props: [
    {
      name: 'modelValue',
      defaultValue: '',
      setters: ['NumberSetter', 'InputerSetter', 'JSONSetter', 'BooleanSetter']
    },
    {
      name: 'multiple',
      defaultValue: false,
      setters: 'BooleanSetter'
    },
    {
      name: 'disabled',
      defaultValue: false,
      setters: 'BooleanSetter'
    },
    {
      name: 'valueKey',
      defaultValue: 'value',
      setters: 'InputerSetter'
    },
    {
      name: 'size',
      defaultValue: 'default',
      options: ['large', 'default', 'small'],
      setters: 'SelectSetter'
    },
    {
      name: 'clearable',
      defaultValue: false,
      setters: 'BooleanSetter'
    },
    {
      name: 'collapseTags',
      defaultValue: false,
      setters: 'BooleanSetter'
    },
    {
      name: 'collapseTagsTooltip',
      defaultValue: false,
      label: '显示标签',
      options: ['true', 'false'],
      setters: 'SelectSetter'
    },
    {
      name: 'multipleLimit',
      defaultValue: 0,
      setters: 'NumberSetter'
    },
    {
      name: 'name',
      defaultValue: '',
      setters: 'InputerSetter'
    },
    {
      name: 'effect',
      defaultValue: 'light',
      options: ['dark', 'light'],
      setters: 'SelectSetter'
    },
    {
      name: 'autocomplete',
      defaultValue: 'off',
      options: ['dark', 'light'],
      setters: 'SelectSetter'
    },
    {
      name: 'placeholder',
      defaultValue: 'Select',
      setters: 'InputerSetter'
    },
    {
      name: 'filterable',
      defaultValue: false,
      setters: 'BooleanSetter'
    },
    {
      name: 'allowCreate',
      defaultValue: false,
      setters: 'BooleanSetter'
    },
    {
      name: 'remote',
      defaultValue: false,
      setters: 'BooleanSetter'
    },
    {
      name: 'remoteMethod',
      defaultValue: '',
      setters: 'ExpressionSetter'
    },
    {
      name: 'noDataText',
      defaultValue: 'No data',
      setters: 'InputSetter'
    },
    {
      name: 'popperClass',
      defaultValue: '',
      setters: 'InputSetter'
    },
    {
      name: 'reserveKeyword',
      defaultValue: true,
      setters: 'BooleanSetter'
    },
    {
      name: 'defaultFirstOption',
      defaultValue: false,
      setters: 'BooleanSetter'
    },
    {
      name: 'popperAppendToBody',
      defaultValue: true,
      setters: 'BooleanSetter'
    },
    {
      name: 'teleported',
      defaultValue: true,
      options: ['true', 'false'],
      setters: 'SelectSetter'
    },
    {
      name: 'persistent',
      defaultValue: true,
      options: ['true', 'false'],
      setters: 'SelectSetter'
    },
    {
      name: 'automaticDropdown',
      defaultValue: false,
      setters: 'BooleanSetter'
    },
    {
      name: 'clearIcon',
      defaultValue: 'CircleClose',
      setters: 'InputSetter'
    },
    {
      name: 'fitInputWidth',
      defaultValue: false,
      setters: 'BooleanSetter'
    },
    {
      name: 'height',
      defaultValue: 170,
      setters: 'NumberSetter'
    },
    {
      name: 'suffixIcon',
      defaultValue: 'ArrowUp',
      setters: 'InputSetter'
    },
    {
      name: 'scrollbarAlwaysOn',
      defaultValue: false,
      setters: 'BooleanSetter'
    },
    {
      name: 'validateEvent',
      defaultValue: true,
      setters: 'BooleanSetter'
    }
  ],
  events: ['change', 'visible-change', 'remove-tag', 'clear', 'blur', 'focus'],
  slots: [
    {
      name: 'default'
    },
    {
      name: 'prefix'
    },
    {
      name: 'empty'
    }
  ]
};

export default SelectV2;
