{"version":3,"file":"ImageViewerModal.mjs","sources":["../../../../components/image-viewer/base/ImageViewerModal.tsx"],"sourcesContent":["import { computed, defineComponent, PropType } from 'vue';\nimport TDialog from '../../dialog';\nimport { usePrefixClass } from '@tdesign/shared-hooks';\n\nimport props from '../props';\nimport { ImageInfo, TdImageViewerProps } from '../type';\nimport TImageItem from './ImageItem';\nimport TImageViewerUtils from './ImageViewerUtils';\n\nexport default defineComponent({\n  name: 'TImageViewerModal',\n  props: {\n    zIndex: Number,\n    visible: Boolean,\n    index: Number,\n    images: props.images,\n    scale: Number,\n    rotate: Number,\n    mirror: Number,\n    title: props.title,\n    currentImage: {\n      type: Object as PropType<ImageInfo>,\n      default() {\n        return {};\n      },\n    },\n    onRotate: Function as PropType<() => void>,\n    onZoomIn: Function as PropType<() => void>,\n    onZoomOut: Function as PropType<() => void>,\n    onMirror: Function as PropType<() => void>,\n    onReset: Function as PropType<() => void>,\n    onClose: props.onClose,\n    onDownload: props.onDownload,\n    draggable: {\n      type: Boolean,\n      default: true,\n    },\n    viewerScale: {\n      type: Object as PropType<TdImageViewerProps['viewerScale']>,\n      default() {\n        return {};\n      },\n    },\n    showOverlay: Boolean,\n    closeBtn: props.closeBtn,\n    imageReferrerpolicy: props.imageReferrerpolicy,\n  },\n  setup(props) {\n    const classPrefix = usePrefixClass();\n    const style = computed(() => ({\n      minWidth: props.viewerScale.minWidth,\n      minHeight: props.viewerScale.minHeight,\n    }));\n\n    return () => (\n      <TDialog\n        destroyOnClose\n        attach=\"body\"\n        onClose={props.onClose}\n        visible={props.visible}\n        placement=\"center\"\n        mode=\"modeless\"\n        width={1000}\n        cancelBtn={null}\n        confirmBtn={null}\n        draggable={props.draggable}\n        zIndex={props.zIndex}\n        showOverlay={props.showOverlay}\n        class={`${classPrefix.value}-image-viewer__dialog`}\n        header={props.title}\n        footer={() => (\n          <div class={`${classPrefix.value}-image-viewer-mini__footer`}>\n            <TImageViewerUtils\n              zIndex={props.zIndex}\n              onZoomIn={props.onZoomIn}\n              onZoomOut={props.onZoomOut}\n              scale={props.scale}\n              currentImage={props.currentImage}\n              onRotate={props.onRotate}\n              onMirror={props.onMirror}\n              onReset={props.onReset}\n              onDownload={props.onDownload}\n            />\n          </div>\n        )}\n      >\n        <div class={`${classPrefix.value}-image-viewer-mini__content`} style={style.value}>\n          <TImageItem\n            rotate={props.rotate}\n            scale={props.scale}\n            mirror={props.mirror}\n            src={props.currentImage.mainImage}\n            placementSrc={props.currentImage.thumbnail}\n            isSvg={props.currentImage.isSvg}\n            imageReferrerpolicy={props.imageReferrerpolicy}\n          />\n        </div>\n      </TDialog>\n    );\n  },\n});\n"],"names":["defineComponent","name","props","zIndex","Number","visible","Boolean","index","images","scale","rotate","mirror","title","currentImage","type","Object","default","onRotate","Function","onZoomIn","onZoomOut","onMirror","onReset","onClose","onDownload","draggable","viewerScale","showOverlay","closeBtn","imageReferrerpolicy","setup","classPrefix","usePrefixClass","style","computed","minWidth","minHeight","_createVNode","TDialog","concat","value","footer","TImageViewerUtils","_default","TImageItem","mainImage","thumbnail","isSvg"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,wBAAeA,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,mBAAA;AACNC,EAAAA,KAAO,EAAA;AACLC,IAAAA,MAAQ,EAAAC,MAAA;AACRC,IAAAA,OAAS,EAAAC,OAAA;AACTC,IAAAA,KAAO,EAAAH,MAAA;IACPI,QAAQN,KAAM,CAAAM,MAAA;AACdC,IAAAA,KAAO,EAAAL,MAAA;AACPM,IAAAA,MAAQ,EAAAN,MAAA;AACRO,IAAAA,MAAQ,EAAAP,MAAA;IACRQ,OAAOV,KAAM,CAAAU,KAAA;AACbC,IAAAA,YAAc,EAAA;AACZC,MAAAA,IAAM,EAAAC,MAAA;MAAA,SACNC,EAAAA,SAAAA,QAAUA,GAAA;AACR,QAAA,OAAO,EAAC,CAAA;AACV,OAAA;KACF;AACAC,IAAAA,QAAU,EAAAC,QAAA;AACVC,IAAAA,QAAU,EAAAD,QAAA;AACVE,IAAAA,SAAW,EAAAF,QAAA;AACXG,IAAAA,QAAU,EAAAH,QAAA;AACVI,IAAAA,OAAS,EAAAJ,QAAA;IACTK,SAASrB,KAAM,CAAAqB,OAAA;IACfC,YAAYtB,KAAM,CAAAsB,UAAA;AAClBC,IAAAA,SAAW,EAAA;AACTX,MAAAA,IAAM,EAAAR,OAAA;MACN,SAAS,EAAA,IAAA;KACX;AACAoB,IAAAA,WAAa,EAAA;AACXZ,MAAAA,IAAM,EAAAC,MAAA;MAAA,SACNC,EAAAA,SAAAA,QAAUA,GAAA;AACR,QAAA,OAAO,EAAC,CAAA;AACV,OAAA;KACF;AACAW,IAAAA,WAAa,EAAArB,OAAA;IACbsB,UAAU1B,KAAM,CAAA0B,QAAA;IAChBC,qBAAqB3B,KAAM,CAAA2B,mBAAAA;GAC7B;AACAC,EAAAA,OAAAA,SAAAA,MAAM5B,MAAO,EAAA;AACX,IAAA,IAAM6B,cAAcC,cAAe,EAAA,CAAA;IAC7B,IAAAC,KAAA,GAAQC,SAAS,YAAA;MAAA,OAAO;AAC5BC,QAAAA,QAAA,EAAUjC,OAAMwB,WAAY,CAAAS,QAAA;AAC5BC,QAAAA,SAAA,EAAWlC,OAAMwB,WAAY,CAAAU,SAAAA;OAC7B,CAAA;AAAA,KAAA,CAAA,CAAA;IAEK,OAAA,YAAA;MAAA,OAAAC,WAAA,CAAAC,MAAA,EAAA;AAAA,QAAA,gBAAA,EAAA,IAAA;AAAA,QAAA,QAAA,EAAA,MAAA;QAAA,SAIMpC,EAAAA,MAAM,CAAAqB,OAAA;QAAA,SACNrB,EAAAA,MAAAA,CAAMG,OACf;AAAA,QAAA,WAAA,EAAA,QAAA;AAAA,QAAA,MAAA,EAAA,UAAA;AAAA,QAAA,OAAA,EAEO,GAAA;AAAA,QAAA,WAAA,EACI,IAAA;AAAA,QAAA,YAAA,EACC,IAAA;QAAA,WACDH,EAAAA,MAAAA,CAAMuB,SACjB;QAAA,QAAQvB,EAAAA,MAAM,CAAAC,MAAA;QAAA,aACDD,EAAAA,MAAM,CAAAyB,WAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAAY,MAAA,CACTR,WAAY,CAAAS,KAAA,EAAA,uBAAA,CAAA;QAAA,QACdtC,EAAAA,MAAAA,CAAMU,KACd;AAAA,QAAA,QAAA,EAAQ,SAAA6B,MAAA,GAAA;AAAA,UAAA,OAAAJ,WAAA,CAAA,KAAA,EAAA;AAAA,YAAA,OAAA,EAAA,EAAA,CAAAE,MAAA,CACSR,WAAY,CAAAS,KAAA,EAAA,4BAAA,CAAA;WAAAH,EAAAA,CAAAA,WAAA,CAAAK,iBAAA,EAAA;YAAA,QAEfxC,EAAAA,MAAAA,CAAMC,MACd;YAAA,UAAUD,EAAAA,MAAM,CAAAiB,QAAA;YAAA,WACLjB,EAAAA,MAAAA,CAAMkB,SACjB;YAAA,OAAOlB,EAAAA,OAAMO,KACb;YAAA,cAAcP,EAAAA,MAAM,CAAAW,YAAA;YAAA,UACVX,EAAAA,MAAAA,CAAMe,QAChB;YAAA,UAAUf,EAAAA,MAAM,CAAAmB,QAAA;YAAA,SACPnB,EAAAA,MAAAA,CAAMoB,OACf;AAAA,YAAA,YAAA,EAAYpB,OAAMsB,UAAAA;AACpB,WAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SAAA;AAXD,OAAA,EAAA;AAAA,QAAA,SAAA,EAAA,SAAAmB,QAAA,GAAA;AAAA,UAAA,OAAA,CAAAN,WAAA,CAAA,KAAA,EAAA;AAAA,YAAA,OAAA,EAAA,EAAA,CAAAE,MAAA,CAeYR,WAAY,CAAAS,KAAA,EAAA,6BAAA,CAAA;AAAA,YAAA,OAAA,EAA2CP,KAAA,CAAMO,KAAAA;WAC1EH,EAAAA,CAAAA,WAAA,CAAAO,UAAA,EAAA;YAAA,QACU1C,EAAAA,MAAAA,CAAMQ,MACd;YAAA,OAAOR,EAAAA,MAAM,CAAAO,KAAA;YAAA,QACLP,EAAAA,MAAAA,CAAMS,MACd;AAAA,YAAA,KAAA,EAAKT,MAAM,CAAAW,YAAA,CAAagC,SACxB;AAAA,YAAA,cAAA,EAAc3C,OAAMW,YAAa,CAAAiC,SAAA;AAAA,YAAA,OAAA,EAC1B5C,MAAAA,CAAMW,YAAa,CAAAkC,KAAA;AAAA,YAAA,qBAAA,EACL7C,MAAAA,CAAM2B,mBAAAA;AAC7B,WAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA,CAAA,CAAA;KAxCH,CAAA;AA4CL,GAAA;AACF,CAAC,CAAA;;;;"}