{"version":3,"file":"props.mjs","sources":["../../../components/image/props.ts"],"sourcesContent":["import { booleanProp, booleanStringProp, buildProps, eventProp } from '@vexip-ui/config'\r\n\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\nimport type { ConfigurableProps } from '@vexip-ui/config'\r\nimport type { ViewerProps } from '@/components/viewer'\r\nimport type {\r\n  ImageGroupSlots,\r\n  ImageObjectFit,\r\n  ImageSkeletonProps,\r\n  ImageSlots,\r\n  ImageViewerSlots,\r\n} from './symbol'\r\n\r\nexport const imageProps = buildProps({\r\n  src: String,\r\n  fallbackSrc: String,\r\n  alt: String,\r\n  fit: String as PropType<ImageObjectFit>,\r\n  width: [String, Number],\r\n  height: [String, Number],\r\n  imgAttrs: Object as PropType<Record<string, any>>,\r\n  lazy: booleanProp,\r\n  root: [String, Object, Function] as PropType<unknown>,\r\n  rootMargin: String,\r\n  preview: booleanProp,\r\n  skeleton: {\r\n    type: [Boolean, Object] as PropType<boolean | ImageSkeletonProps>,\r\n    default: null,\r\n  },\r\n  placeholder: String,\r\n  errorTip: String,\r\n  radius: Number,\r\n  border: booleanStringProp,\r\n  previewSrc: String,\r\n  viewerTransfer: booleanStringProp,\r\n  viewerProps: Object as PropType<ViewerProps>,\r\n  slots: Object as PropType<ImageSlots>,\r\n  onLoad: eventProp<(event: Event) => void>(),\r\n  onError: eventProp<(event: Event) => void>(),\r\n  onPreview: eventProp<(src: string) => void>(),\r\n})\r\n\r\nexport type ImageProps = ExtractPropTypes<typeof imageProps>\r\nexport type ImageCProps = ConfigurableProps<ExtractPropTypes<typeof imageProps>, 'src'>\r\n\r\nexport const imageGroupProps = buildProps({\r\n  showAll: booleanProp,\r\n  preview: booleanProp,\r\n  viewerTransfer: booleanStringProp,\r\n  slots: Object as PropType<ImageGroupSlots>,\r\n  onPreview: eventProp<(src: string, srcList: string[]) => void>(),\r\n})\r\n\r\nexport type ImageGroupProps = ExtractPropTypes<typeof imageGroupProps>\r\nexport type ImageGroupCProps = ConfigurableProps<ExtractPropTypes<typeof imageGroupProps>>\r\n\r\nexport const imageViewerProps = buildProps({\r\n  active: booleanProp,\r\n  index: Number,\r\n  srcList: [String, Array] as PropType<string | string[]>,\r\n  transfer: booleanStringProp,\r\n  viewerProps: Object as PropType<ViewerProps>,\r\n  slots: Object as PropType<ImageViewerSlots>,\r\n  onToggle: eventProp<(active: boolean) => void>(),\r\n  onChange: eventProp<(index: number, src: string) => void>(),\r\n  onPrev: eventProp<(index: number, src: string) => void>(),\r\n  onNext: eventProp<(index: number, src: string) => void>(),\r\n  onClose: eventProp(),\r\n  onShow: eventProp(),\r\n  onHide: eventProp(),\r\n})\r\n\r\nexport type ImageViewerProps = ExtractPropTypes<typeof imageViewerProps>\r\nexport type ImageViewerCProps = ConfigurableProps<ExtractPropTypes<typeof imageViewerProps>, 'srcs'>\r\n"],"names":["imageProps","buildProps","booleanProp","booleanStringProp","eventProp","imageGroupProps","imageViewerProps"],"mappings":";AAaO,MAAMA,IAAaC,EAAW;AAAA,EACnC,KAAK;AAAA,EACL,aAAa;AAAA,EACb,KAAK;AAAA,EACL,KAAK;AAAA,EACL,OAAO,CAAC,QAAQ,MAAM;AAAA,EACtB,QAAQ,CAAC,QAAQ,MAAM;AAAA,EACvB,UAAU;AAAA,EACV,MAAMC;AAAA,EACN,MAAM,CAAC,QAAQ,QAAQ,QAAQ;AAAA,EAC/B,YAAY;AAAA,EACZ,SAASA;AAAA,EACT,UAAU;AAAA,IACR,MAAM,CAAC,SAAS,MAAM;AAAA,IACtB,SAAS;AAAA,EACX;AAAA,EACA,aAAa;AAAA,EACb,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQC;AAAA,EACR,YAAY;AAAA,EACZ,gBAAgBA;AAAA,EAChB,aAAa;AAAA,EACb,OAAO;AAAA,EACP,QAAQC,EAAkC;AAAA,EAC1C,SAASA,EAAkC;AAAA,EAC3C,WAAWA,EAAiC;AAC9C,CAAC,GAKYC,IAAkBJ,EAAW;AAAA,EACxC,SAASC;AAAA,EACT,SAASA;AAAA,EACT,gBAAgBC;AAAA,EAChB,OAAO;AAAA,EACP,WAAWC,EAAoD;AACjE,CAAC,GAKYE,IAAmBL,EAAW;AAAA,EACzC,QAAQC;AAAA,EACR,OAAO;AAAA,EACP,SAAS,CAAC,QAAQ,KAAK;AAAA,EACvB,UAAUC;AAAA,EACV,aAAa;AAAA,EACb,OAAO;AAAA,EACP,UAAUC,EAAqC;AAAA,EAC/C,UAAUA,EAAgD;AAAA,EAC1D,QAAQA,EAAgD;AAAA,EACxD,QAAQA,EAAgD;AAAA,EACxD,SAASA,EAAU;AAAA,EACnB,QAAQA,EAAU;AAAA,EAClB,QAAQA,EAAU;AACpB,CAAC;"}