{"version":3,"file":"props.mjs","sources":["../../../components/select/props.ts"],"sourcesContent":["import {\n  booleanNumberProp,\n  booleanProp,\n  booleanStringProp,\n  buildProps,\n  classProp,\n  eventProp,\n  iconProp,\n  localeProp,\n  sizeProp,\n  stateProp,\n  valuesProp\n} from '@vexip-ui/config'\n\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { IconEffect } from '@/components/icon'\nimport type { ConfigurableProps, EventListener } from '@vexip-ui/config'\nimport type { Placement } from '@vexip-ui/hooks'\nimport type { TagType } from '@/components/tag'\nimport type {\n  ChangeEvent,\n  SelectBaseValue,\n  SelectEvent,\n  SelectFilter,\n  SelectFilterPosition,\n  SelectKeyConfig,\n  SelectRawOption,\n  SelectSlots\n} from './symbol'\n\ntype CustomChangeEvent =\n  | ChangeEvent\n  | ((value: SelectBaseValue, data: any) => void)\n  | ((value: string, data: any) => void)\n  | ((value: number, data: any) => void)\n  | ((value: boolean, data: any) => void)\n  | ((values: SelectBaseValue[], data: any[]) => void)\n  | ((values: string[], data: any[]) => void)\n  | ((values: number[], data: any[]) => void)\n  | ((value: boolean[], data: any) => void)\n\nexport const selectProps = buildProps({\n  size: sizeProp,\n  state: stateProp,\n  locale: localeProp('select'),\n  visible: booleanProp,\n  options: Array as PropType<SelectRawOption[]>,\n  disabled: booleanProp,\n  transitionName: String,\n  outsideClose: booleanProp,\n  placeholder: String,\n  prefix: iconProp,\n  prefixColor: String,\n  suffix: iconProp,\n  suffixColor: String,\n  noSuffix: booleanProp,\n  value: valuesProp,\n  multiple: booleanProp,\n  clearable: booleanProp,\n  maxListHeight: Number,\n  listClass: classProp,\n  placement: String as PropType<Placement>,\n  transfer: booleanStringProp,\n  optionCheck: booleanProp,\n  emptyText: String,\n  staticSuffix: booleanProp,\n  loading: booleanProp,\n  loadingIcon: iconProp,\n  loadingLock: booleanProp,\n  loadingEffect: String as PropType<IconEffect>,\n  keyConfig: Object as PropType<SelectKeyConfig>,\n  filter: {\n    type: [Boolean, Function] as PropType<boolean | SelectFilter>,\n    default: null\n  },\n  ignoreCase: booleanProp,\n  creatable: booleanProp,\n  transparent: booleanProp,\n  maxTagCount: Number,\n  noRestTip: booleanProp,\n  tagType: String as PropType<TagType>,\n  noPreview: booleanProp,\n  remote: booleanProp,\n  fitPopper: booleanNumberProp,\n  name: String,\n  popperAlive: booleanProp,\n  countLimit: Number,\n  filterPosition: String as PropType<SelectFilterPosition>,\n  slots: Object as PropType<SelectSlots>,\n  onFocus: eventProp<(event: FocusEvent) => void>(),\n  onBlur: eventProp<(event: FocusEvent) => void>(),\n  onToggle: eventProp<(visible: boolean) => void>(),\n  onSelect: eventProp<EventListener<SelectEvent>>(),\n  onCancel: eventProp<EventListener<SelectEvent>>(),\n  onChange: eventProp<CustomChangeEvent>(),\n  onClickOutside: eventProp(),\n  onOutsideClose: eventProp(),\n  onClear: eventProp(),\n  onFilterInput: eventProp<(value: string) => void>()\n})\n\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\nexport type SelectCProps = ConfigurableProps<SelectProps>\n"],"names":["selectProps","buildProps","sizeProp","stateProp","localeProp","booleanProp","iconProp","valuesProp","classProp","booleanStringProp","booleanNumberProp","eventProp"],"mappings":";AAyCO,MAAMA,IAAcC,EAAW;AAAA,EACpC,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,QAAQC,EAAW,QAAQ;AAAA,EAC3B,SAASC;AAAA,EACT,SAAS;AAAA,EACT,UAAUA;AAAA,EACV,gBAAgB;AAAA,EAChB,cAAcA;AAAA,EACd,aAAa;AAAA,EACb,QAAQC;AAAA,EACR,aAAa;AAAA,EACb,QAAQA;AAAA,EACR,aAAa;AAAA,EACb,UAAUD;AAAA,EACV,OAAOE;AAAA,EACP,UAAUF;AAAA,EACV,WAAWA;AAAA,EACX,eAAe;AAAA,EACf,WAAWG;AAAA,EACX,WAAW;AAAA,EACX,UAAUC;AAAA,EACV,aAAaJ;AAAA,EACb,WAAW;AAAA,EACX,cAAcA;AAAA,EACd,SAASA;AAAA,EACT,aAAaC;AAAA,EACb,aAAaD;AAAA,EACb,eAAe;AAAA,EACf,WAAW;AAAA,EACX,QAAQ;AAAA,IACN,MAAM,CAAC,SAAS,QAAQ;AAAA,IACxB,SAAS;AAAA,EACX;AAAA,EACA,YAAYA;AAAA,EACZ,WAAWA;AAAA,EACX,aAAaA;AAAA,EACb,aAAa;AAAA,EACb,WAAWA;AAAA,EACX,SAAS;AAAA,EACT,WAAWA;AAAA,EACX,QAAQA;AAAA,EACR,WAAWK;AAAA,EACX,MAAM;AAAA,EACN,aAAaL;AAAA,EACb,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,OAAO;AAAA,EACP,SAASM,EAAuC;AAAA,EAChD,QAAQA,EAAuC;AAAA,EAC/C,UAAUA,EAAsC;AAAA,EAChD,UAAUA,EAAsC;AAAA,EAChD,UAAUA,EAAsC;AAAA,EAChD,UAAUA,EAA6B;AAAA,EACvC,gBAAgBA,EAAU;AAAA,EAC1B,gBAAgBA,EAAU;AAAA,EAC1B,SAASA,EAAU;AAAA,EACnB,eAAeA,EAAmC;AACpD,CAAC;"}