{"version":3,"file":"ImageViewerModal.mjs","sources":["../../../../components/image-viewer/base/ImageViewerModal.tsx"],"sourcesContent":["import { computed, defineComponent, PropType } from 'vue';\nimport TDialog from '../../dialog';\nimport { useTNodeJSX, 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 renderJSX = useTNodeJSX();\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={renderJSX('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","renderJSX","useTNodeJSX","style","computed","minWidth","minHeight","_createVNode","TDialog","concat","value","footer","TImageViewerUtils","_default","TImageItem","mainImage","thumbnail","isSvg"],"mappings":"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"}