UNPKG

tdesign-vue-next

Version:
164 lines (160 loc) 5.65 kB
/** * tdesign v1.11.5 * (c) 2025 tdesign * @license MIT */ import { defineComponent, computed, createVNode } from 'vue'; import { MirrorIcon, RotationIcon, ZoomOutIcon, ZoomInIcon, ImageIcon, DownloadIcon } from 'tdesign-icons-vue-next'; import TImageViewerIcon from './ImageModalIcon.js'; import { Tooltip } from '../../tooltip/index.js'; import { usePrefixClass } from '../../hooks/useConfig.js'; import 'lodash-es'; import '@babel/runtime/helpers/typeof'; import '../../hooks/useKeepAnimation.js'; import '@babel/runtime/helpers/defineProperty'; import { useImagePreviewUrl } from '../../hooks/useImagePreviewUrl.js'; import { l as largeNumberToFixed } from '../../_chunks/dep-8b9d07bf.js'; import { useConfig } from '../../config-provider/hooks/useConfig.js'; import '../../_chunks/dep-7c56a7f5.js'; import '../../utils/render-tnode.js'; import '../../config-provider/utils/context.js'; import '../../_chunks/dep-c75b9b8e.js'; import '../../_chunks/dep-caecb55d.js'; import 'dayjs'; import '../../tooltip/tooltip.js'; import '@babel/runtime/helpers/slicedToArray'; import '../../tooltip/props.js'; import '../../popup/props.js'; import '../../popup/index.js'; import '../../popup/popup.js'; import '@popperjs/core'; import '../../_chunks/dep-d60f6309.js'; import '../../hooks/useVModel.js'; import '../../utils/dom.js'; import '../../popup/container.js'; import '@babel/runtime/helpers/toConsumableArray'; import '../../hooks/useResizeObserver.js'; import '../../utils/withInstall.js'; import '../../tooltip/utils/index.js'; import '../../_chunks/dep-b6747d4a.js'; import '../../_chunks/dep-92106726.js'; var TImageViewerUtils = defineComponent({ name: "TImageViewerUtils", props: { scale: Number, onRotate: Function, onZoomIn: Function, onZoomOut: Function, onMirror: Function, onReset: Function, onDownload: Function, currentImage: { type: Object, "default": function _default() { return {}; } } }, setup: function setup(props) { var classPrefix = usePrefixClass(); var imageUrl = computed(function () { return props.currentImage.mainImage; }); var _useImagePreviewUrl = useImagePreviewUrl(imageUrl), previewUrl = _useImagePreviewUrl.previewUrl; var _useConfig = useConfig("imageViewer"), globalConfig = _useConfig.globalConfig; return function () { return createVNode("div", { "class": "".concat(classPrefix.value, "-image-viewer__utils") }, [createVNode("div", { "class": "".concat(classPrefix.value, "-image-viewer__utils-content") }, [createVNode(Tooltip, { "overlayClassName": "".concat(classPrefix.value, "-image-viewer__utils--tip"), "content": globalConfig.value.mirrorTipText, "destroyOnClose": true, "placement": "top", "showArrow": true, "theme": "default" }, { "default": function _default() { return [createVNode(TImageViewerIcon, { "onClick": props.onMirror, "icon": function icon() { return createVNode(MirrorIcon, { "size": "medium" }, null); } }, null)]; } }), createVNode(Tooltip, { "overlayClassName": "".concat(classPrefix.value, "-image-viewer__utils--tip"), "content": globalConfig.value.rotateTipText, "destroyOnClose": true, "placement": "top", "showArrow": true, "theme": "default" }, { "default": function _default() { return [createVNode(TImageViewerIcon, { "onClick": props.onRotate, "icon": function icon() { return createVNode(RotationIcon, { "size": "medium" }, null); } }, null)]; } }), createVNode(TImageViewerIcon, { "icon": function icon() { return createVNode(ZoomOutIcon, { "size": "medium" }, null); }, "onClick": props.onZoomOut }, null), createVNode(TImageViewerIcon, { "class": "".concat(classPrefix.value, "-image-viewer__utils-scale"), "size": "medium", "label": "".concat(largeNumberToFixed(String(props.scale * 100)), "%") }, null), createVNode(TImageViewerIcon, { "icon": function icon() { return createVNode(ZoomInIcon, { "size": "medium" }, null); }, "onClick": props.onZoomIn }, null), createVNode(Tooltip, { "overlayClassName": "".concat(classPrefix.value, "-image-viewer__utils--tip"), "content": globalConfig.value.originalSizeTipText, "destroyOnClose": true, "placement": "top", "showArrow": true, "theme": "default" }, { "default": function _default() { return [createVNode("div", { "class": "".concat(classPrefix.value, "-image-viewer__modal-icon") }, [createVNode(TImageViewerIcon, { "icon": function icon() { return createVNode(ImageIcon, { "size": "medium" }, null); }, "onClick": props.onReset }, null)])]; } }), props.currentImage.download && createVNode(TImageViewerIcon, { "icon": function icon() { return createVNode(DownloadIcon, { "size": "medium" }, null); }, "onClick": function onClick() { props.onDownload(previewUrl.value); } }, null)])]); }; } }); export { TImageViewerUtils as default }; //# sourceMappingURL=ImageViewerUtils.js.map