{"version":3,"file":"props.mjs","sources":["../../../components/select/props.ts"],"sourcesContent":["import {\r\n  booleanNumberProp,\r\n  booleanProp,\r\n  booleanStringProp,\r\n  buildProps,\r\n  classProp,\r\n  eventProp,\r\n  iconProp,\r\n  localeProp,\r\n  sizeProp,\r\n  stateProp,\r\n  valuesProp,\r\n} from '@vexip-ui/config'\r\n\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\nimport type { IconEffect } from '@/components/icon'\r\nimport type { ConfigurableProps, EventListener } from '@vexip-ui/config'\r\nimport type { Placement } from '@vexip-ui/hooks'\r\nimport type { TagType } from '@/components/tag'\r\nimport type {\r\n  ChangeEvent,\r\n  SelectBaseValue,\r\n  SelectEvent,\r\n  SelectFilter,\r\n  SelectFilterPosition,\r\n  SelectKeyConfig,\r\n  SelectRawOption,\r\n  SelectSlots,\r\n} from './symbol'\r\n\r\ntype CustomChangeEvent =\r\n  | ChangeEvent\r\n  | ((value: SelectBaseValue, data: any) => void)\r\n  | ((value: string, data: any) => void)\r\n  | ((value: number, data: any) => void)\r\n  | ((value: boolean, data: any) => void)\r\n  | ((values: SelectBaseValue[], data: any[]) => void)\r\n  | ((values: string[], data: any[]) => void)\r\n  | ((values: number[], data: any[]) => void)\r\n  | ((value: boolean[], data: any) => void)\r\n\r\nexport const selectProps = buildProps({\r\n  size: sizeProp,\r\n  state: stateProp,\r\n  locale: localeProp('select'),\r\n  visible: booleanProp,\r\n  options: Array as PropType<SelectRawOption[]>,\r\n  disabled: booleanProp,\r\n  transitionName: String,\r\n  outsideClose: booleanProp,\r\n  placeholder: String,\r\n  prefix: iconProp,\r\n  prefixColor: String,\r\n  suffix: iconProp,\r\n  suffixColor: String,\r\n  noSuffix: booleanProp,\r\n  value: valuesProp,\r\n  multiple: booleanProp,\r\n  clearable: booleanProp,\r\n  maxListHeight: Number,\r\n  listClass: classProp,\r\n  placement: String as PropType<Placement>,\r\n  transfer: booleanStringProp,\r\n  optionCheck: booleanProp,\r\n  emptyText: String,\r\n  staticSuffix: booleanProp,\r\n  loading: booleanProp,\r\n  loadingIcon: iconProp,\r\n  loadingLock: booleanProp,\r\n  loadingEffect: String as PropType<IconEffect>,\r\n  keyConfig: Object as PropType<SelectKeyConfig>,\r\n  filter: {\r\n    type: [Boolean, Function] as PropType<boolean | SelectFilter>,\r\n    default: null,\r\n  },\r\n  ignoreCase: booleanProp,\r\n  creatable: booleanProp,\r\n  transparent: booleanProp,\r\n  maxTagCount: Number,\r\n  noRestTip: booleanProp,\r\n  tagType: String as PropType<TagType>,\r\n  noPreview: booleanProp,\r\n  remote: booleanProp,\r\n  fitPopper: booleanNumberProp,\r\n  name: String,\r\n  popperAlive: booleanProp,\r\n  countLimit: Number,\r\n  filterPosition: String as PropType<SelectFilterPosition>,\r\n  slots: Object as PropType<SelectSlots>,\r\n  shift: booleanProp,\r\n  onFocus: eventProp<(event: FocusEvent) => void>(),\r\n  onBlur: eventProp<(event: FocusEvent) => void>(),\r\n  onToggle: eventProp<(visible: boolean) => void>(),\r\n  onSelect: eventProp<EventListener<SelectEvent>>(),\r\n  onCancel: eventProp<EventListener<SelectEvent>>(),\r\n  onChange: eventProp<CustomChangeEvent>(),\r\n  onClickOutside: eventProp(),\r\n  onOutsideClose: eventProp(),\r\n  onClear: eventProp(),\r\n  onFilterInput: eventProp<(value: string) => void>(),\r\n})\r\n\r\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\r\nexport type SelectCProps = ConfigurableProps<SelectProps>\r\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,OAAOA;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;"}