{"version":3,"file":"props.mjs","sources":["../../../components/transfer/props.ts"],"sourcesContent":["import {\r\n  booleanProp,\r\n  buildProps,\r\n  eventProp,\r\n  iconProp,\r\n  localeProp,\r\n  stateProp,\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 } from '@vexip-ui/config'\r\nimport type { TransferFilter, TransferKeyConfig, TransferSlots } from './symbol'\r\n\r\nexport type RawOption = string | Record<string, any>\r\nexport type Values = (string | number)[]\r\n\r\nexport type SelectHandler = (\r\n  type: 'source' | 'target',\r\n  selected: { source: Values, target: Values },\r\n  data: { source: RawOption[], target: RawOption[] }\r\n) => void\r\n\r\nexport const transferProps = buildProps({\r\n  state: stateProp,\r\n  locale: localeProp('transfer'),\r\n  options: Array as PropType<RawOption[]>,\r\n  value: Array as PropType<Values>,\r\n  disabled: booleanProp,\r\n  paged: booleanProp,\r\n  filter: {\r\n    type: [Boolean, Function] as PropType<boolean | TransferFilter>,\r\n    default: null,\r\n  },\r\n  emptyText: String,\r\n  keyConfig: Object as PropType<TransferKeyConfig>,\r\n  optionHeight: Number,\r\n  ignoreCase: booleanProp,\r\n  sourceTitle: String,\r\n  targetTitle: String,\r\n  deepState: booleanProp,\r\n  loading: booleanProp,\r\n  loadingIcon: iconProp,\r\n  loadingLock: booleanProp,\r\n  loadingEffect: String as PropType<IconEffect>,\r\n  slots: Object as PropType<TransferSlots>,\r\n  onChange: eventProp<(values: Values) => void>(),\r\n  onSelect: eventProp<SelectHandler>(),\r\n})\r\n\r\nexport type TransferProps = ExtractPropTypes<typeof transferProps>\r\nexport type TransferCProps = ConfigurableProps<TransferProps>\r\n"],"names":["transferProps","buildProps","stateProp","localeProp","booleanProp","iconProp","eventProp"],"mappings":";AAuBO,MAAMA,IAAgBC,EAAW;AAAA,EACtC,OAAOC;AAAA,EACP,QAAQC,EAAW,UAAU;AAAA,EAC7B,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAUC;AAAA,EACV,OAAOA;AAAA,EACP,QAAQ;AAAA,IACN,MAAM,CAAC,SAAS,QAAQ;AAAA,IACxB,SAAS;AAAA,EACX;AAAA,EACA,WAAW;AAAA,EACX,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAYA;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA,EACb,WAAWA;AAAA,EACX,SAASA;AAAA,EACT,aAAaC;AAAA,EACb,aAAaD;AAAA,EACb,eAAe;AAAA,EACf,OAAO;AAAA,EACP,UAAUE,EAAoC;AAAA,EAC9C,UAAUA,EAAyB;AACrC,CAAC;"}