{"version":3,"file":"image.mjs","sources":["../../../packages/components/src/image.tsx"],"sourcesContent":["import { ElImage } from 'element-plus'\nimport type { App } from 'vue'\nimport type {\n  PowerfulTableHeaderProps,\n  SFCWithInstall,\n  SetDataType,\n} from '~/index'\nimport {\n  isProperty,\n  powerfulTableComponentProp,\n  useREmit,\n} from '~/powerful-table/src/powerful-table-data'\n\nconst Image = defineComponent({\n  name: 'PTImage',\n  props: {\n    ...powerfulTableComponentProp,\n    prop: {\n      type: Object as PropType<PowerfulTableHeaderProps>,\n      default: () => ({}),\n    },\n  },\n  emits: ['return-emit', 'component-emit'],\n  setup(props, { emit }) {\n    const data = props.prop.data as SetDataType<'image'>\n\n    const { REmit, event } = useREmit<'image'>(\n      emit as (event: 'component-emit', ...args: any[]) => void,\n      'image',\n      {\n        row: props.row,\n        index: props.index!,\n        props: props.prop,\n      }\n    )\n\n    return () => (\n      <>\n        <ElImage\n          src={props.row[props.prop.prop]}\n          preview-src-list={[props.row[props.prop.prop]]}\n          lazy={true}\n          fit={'cover'}\n          preview-teleported={true}\n          style={data?.style}\n          onLoad={(...arg: any) => {\n            REmit('load', ...arg)\n            event('load', ...arg)\n          }}\n          onError={(...arg: any) => {\n            REmit('error', ...arg)\n            event('error', ...arg)\n          }}\n          onSwitch={(...arg: any) => {\n            REmit('switch', ...arg)\n            event('switch', ...arg)\n          }}\n          onClose={(...arg: any) => {\n            REmit('close', ...arg)\n            event('close', ...arg)\n          }}\n          {...isProperty(\n            { row: props.row, index: props.index!, props: props.prop },\n            data?.property\n          )}\n        ></ElImage>\n      </>\n    )\n  },\n})\n\nImage.install = (app: App) => {\n  app.component(Image.name!, Image)\n}\nexport const PTImage = Image as SFCWithInstall<typeof Image>\nexport default Image\n"],"names":["Image","defineComponent","powerfulTableComponentProp","props","emit","data","REmit","event","useREmit","_createVNode","_Fragment","ElImage","_mergeProps","arg","isProperty","app","PTImage"],"mappings":";;;AAGA,MAAAA,IAAA,gBAAAC,EAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,IACA,GAAAC;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,OAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA,eAAA,gBAAA;AAAA,EACA,MAAAC,GAAA;AAAA,IACA,MAAAC;AAAA,EACA,GAAA;AACA,UAAAC,IAAAF,EAAA,KAAA,MACA;AAAA,MACA,OAAAG;AAAA,MACA,OAAAC;AAAA,IACA,IAAAC,EAAAJ,GAAA,SAAA;AAAA,MACA,KAAAD,EAAA;AAAA,MACA,OAAAA,EAAA;AAAA,MACA,OAAAA,EAAA;AAAA,IACA,CAAA;AACA,WAAA,MAAAM,EAAAC,GAAA,MAAA,CAAAD,EAAAE,GAAAC,EAAA;AAAA,MACA,KAAAT,EAAA,IAAAA,EAAA,KAAA,IAAA;AAAA,MACA,oBAAA,CAAAA,EAAA,IAAAA,EAAA,KAAA,IAAA,CAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,sBAAA;AAAA,MACA,OAAAE,KAAA,gBAAAA,EAAA;AAAA,MACA,QAAA,IAAAQ,MAAA;AACA,QAAAP,EAAA,QAAA,GAAAO,CAAA,GACAN,EAAA,QAAA,GAAAM,CAAA;AAAA,MACA;AAAA,MACA,SAAA,IAAAA,MAAA;AACA,QAAAP,EAAA,SAAA,GAAAO,CAAA,GACAN,EAAA,SAAA,GAAAM,CAAA;AAAA,MACA;AAAA,MACA,UAAA,IAAAA,MAAA;AACA,QAAAP,EAAA,UAAA,GAAAO,CAAA,GACAN,EAAA,UAAA,GAAAM,CAAA;AAAA,MACA;AAAA,MACA,SAAA,IAAAA,MAAA;AACA,QAAAP,EAAA,SAAA,GAAAO,CAAA,GACAN,EAAA,SAAA,GAAAM,CAAA;AAAA,MACA;AAAA,IACA,GAAAC,EAAA;AAAA,MACA,KAAAX,EAAA;AAAA,MACA,OAAAA,EAAA;AAAA,MACA,OAAAA,EAAA;AAAA,IACA,GAAAE,KAAA,gBAAAA,EAAA,QAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,EACA;AACA,CAAA;AACAL,EAAA,UAAA,CAAAe,MAAA;AACA,EAAAA,EAAA,UAAAf,EAAA,MAAAA,CAAA;AACA;AACA,MAAAgB,IAAAhB;"}