{"version":3,"file":"props.mjs","sources":["../../../components/upload/props.ts"],"sourcesContent":["import {\r\n  booleanProp,\r\n  buildProps,\r\n  eventProp,\r\n  iconProp,\r\n  localeProp,\r\n  stateProp,\r\n  styleProp,\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 {\r\n  BeforeSelect,\r\n  BeforeUpload,\r\n  RenderFn,\r\n  UploadFetchMethod,\r\n  UploadFileOptions,\r\n  UploadFileSlots,\r\n  UploadFileState,\r\n  UploadHttpError,\r\n  UploadListSlots,\r\n  UploadListType,\r\n  UploadSlots,\r\n} from './symbol'\r\n\r\nexport const uploadProps = buildProps({\r\n  state: stateProp,\r\n  locale: localeProp('upload'),\r\n  url: String,\r\n  fileList: Array as PropType<UploadFileOptions[]>,\r\n  multiple: booleanProp,\r\n  tip: String,\r\n  accept: [String, Array] as PropType<string | string[]>,\r\n  filter: [String, Array] as PropType<string | string[]>,\r\n  maxSize: Number,\r\n  field: String,\r\n  data: Object as PropType<Record<string, string | Blob>>,\r\n  headers: Object as PropType<Record<string, string>>,\r\n  withCredentials: booleanProp,\r\n  manual: booleanProp,\r\n  hiddenFiles: booleanProp,\r\n  countLimit: Number,\r\n  allowDrag: booleanProp,\r\n  onBeforeUpload: Function as PropType<BeforeUpload>,\r\n  onBeforeSelect: Function as PropType<BeforeSelect>,\r\n  iconRenderer: Function as PropType<RenderFn>,\r\n  selectToAdd: booleanProp,\r\n  listType: String as PropType<UploadListType>,\r\n  block: booleanProp,\r\n  loadingText: String,\r\n  directory: booleanProp,\r\n  pathField: String,\r\n  disabledClick: booleanProp,\r\n  buttonLabel: String,\r\n  disabled: booleanProp,\r\n  loading: booleanProp,\r\n  loadingIcon: iconProp,\r\n  loadingLock: booleanProp,\r\n  loadingEffect: String as PropType<IconEffect>,\r\n  image: booleanProp,\r\n  defaultFiles: Array as PropType<UploadFileOptions[]>,\r\n  canPreview: Function as PropType<(file: UploadFileState) => boolean>,\r\n  listStyle: styleProp,\r\n  name: String,\r\n  customFetch: Function as PropType<UploadFetchMethod>,\r\n  slots: Object as PropType<UploadSlots>,\r\n  onExceed: eventProp<(files: UploadFileState[]) => void>(),\r\n  onChange: eventProp<(files: UploadFileState[]) => void>(),\r\n  onFilterError: eventProp<(files: UploadFileState) => void>(),\r\n  onSizeError: eventProp<(files: UploadFileState) => void>(),\r\n  onDelete: eventProp<(file: UploadFileState) => void>(),\r\n  onPreview: eventProp<(file: UploadFileState) => void>(),\r\n  onProgress: eventProp<(file: UploadFileState, percent: number) => void>(),\r\n  onSuccess: eventProp<(file: UploadFileState, response: any) => void>(),\r\n  onError: eventProp<(file: UploadFileState, error: UploadHttpError) => void>(),\r\n})\r\n\r\nexport type UploadProps = ExtractPropTypes<typeof uploadProps>\r\nexport type UploadCProps = ConfigurableProps<\r\n  UploadProps,\r\n  'url' | 'fileList',\r\n  'onBeforeUpload' | 'onBeforeSelect'\r\n>\r\n\r\nexport const uploadListProps = buildProps({\r\n  files: Array as PropType<UploadFileState[]>,\r\n  selectToAdd: booleanProp,\r\n  iconRenderer: Function as PropType<RenderFn>,\r\n  type: String as PropType<UploadListType>,\r\n  loadingText: String,\r\n  style: styleProp,\r\n  precision: Number,\r\n  canPreview: Function as PropType<(file: UploadFileState) => boolean>,\r\n  slots: Object as PropType<UploadListSlots>,\r\n  onDelete: eventProp<(file: UploadFileState) => void>(),\r\n  onPreview: eventProp<(file: UploadFileState) => void>(),\r\n})\r\n\r\nexport type UploadListProps = ExtractPropTypes<typeof uploadListProps>\r\nexport type UploadListCProps = ConfigurableProps<UploadListProps, 'files'>\r\n\r\nexport const uploadFileProps = buildProps({\r\n  locale: localeProp('upload'),\r\n  file: Object as PropType<UploadFileState>,\r\n  iconRenderer: Function as PropType<RenderFn>,\r\n  listType: String as PropType<UploadListType>,\r\n  loadingText: String,\r\n  selectToAdd: booleanProp,\r\n  precision: Number,\r\n  canPreview: Function as PropType<(file: UploadFileState) => boolean>,\r\n  slots: Object as PropType<UploadFileSlots>,\r\n  onDelete: eventProp<(file: UploadFileState) => void>(),\r\n  onPreview: eventProp<(file: UploadFileState) => void>(),\r\n})\r\n\r\nexport type UploadFileProps = ExtractPropTypes<typeof uploadFileProps>\r\nexport type UploadFileCProps = ConfigurableProps<UploadFileProps, 'file'>\r\n"],"names":["uploadProps","buildProps","stateProp","localeProp","booleanProp","iconProp","styleProp","eventProp","uploadListProps","uploadFileProps"],"mappings":";AA2BO,MAAMA,IAAcC,EAAW;AAAA,EACpC,OAAOC;AAAA,EACP,QAAQC,EAAW,QAAQ;AAAA,EAC3B,KAAK;AAAA,EACL,UAAU;AAAA,EACV,UAAUC;AAAA,EACV,KAAK;AAAA,EACL,QAAQ,CAAC,QAAQ,KAAK;AAAA,EACtB,QAAQ,CAAC,QAAQ,KAAK;AAAA,EACtB,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AAAA,EACT,iBAAiBA;AAAA,EACjB,QAAQA;AAAA,EACR,aAAaA;AAAA,EACb,YAAY;AAAA,EACZ,WAAWA;AAAA,EACX,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,aAAaA;AAAA,EACb,UAAU;AAAA,EACV,OAAOA;AAAA,EACP,aAAa;AAAA,EACb,WAAWA;AAAA,EACX,WAAW;AAAA,EACX,eAAeA;AAAA,EACf,aAAa;AAAA,EACb,UAAUA;AAAA,EACV,SAASA;AAAA,EACT,aAAaC;AAAA,EACb,aAAaD;AAAA,EACb,eAAe;AAAA,EACf,OAAOA;AAAA,EACP,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,WAAWE;AAAA,EACX,MAAM;AAAA,EACN,aAAa;AAAA,EACb,OAAO;AAAA,EACP,UAAUC,EAA8C;AAAA,EACxD,UAAUA,EAA8C;AAAA,EACxD,eAAeA,EAA4C;AAAA,EAC3D,aAAaA,EAA4C;AAAA,EACzD,UAAUA,EAA2C;AAAA,EACrD,WAAWA,EAA2C;AAAA,EACtD,YAAYA,EAA4D;AAAA,EACxE,WAAWA,EAA0D;AAAA,EACrE,SAASA,EAAmE;AAC9E,CAAC,GASYC,IAAkBP,EAAW;AAAA,EACxC,OAAO;AAAA,EACP,aAAaG;AAAA,EACb,cAAc;AAAA,EACd,MAAM;AAAA,EACN,aAAa;AAAA,EACb,OAAOE;AAAA,EACP,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,UAAUC,EAA2C;AAAA,EACrD,WAAWA,EAA2C;AACxD,CAAC,GAKYE,IAAkBR,EAAW;AAAA,EACxC,QAAQE,EAAW,QAAQ;AAAA,EAC3B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAaC;AAAA,EACb,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,UAAUG,EAA2C;AAAA,EACrD,WAAWA,EAA2C;AACxD,CAAC;"}