UNPKG

tdesign-vue-next

Version:
207 lines (201 loc) 7.89 kB
/** * tdesign v1.11.5 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var Vue = require('vue'); var tdesignIconsVueNext = require('tdesign-icons-vue-next'); var imageViewer_base_ImageModalIcon = require('./ImageModalIcon.js'); var tooltip_index = require('../../tooltip/index.js'); var hooks_useConfig = require('../../hooks/useConfig.js'); require('@babel/runtime/helpers/typeof'); require('../../hooks/useKeepAnimation.js'); require('@babel/runtime/helpers/defineProperty'); var hooks_useImagePreviewUrl = require('../../hooks/useImagePreviewUrl.js'); var largeNumber = require('../../_chunks/dep-de8595be.js'); var configProvider_hooks_useConfig = require('../../config-provider/hooks/useConfig.js'); require('../../_chunks/dep-a69ce597.js'); require('../../utils/render-tnode.js'); require('../../_chunks/dep-0a510359.js'); require('../../_chunks/dep-b8b9c2a3.js'); require('../../_chunks/dep-bbe343d7.js'); require('../../_chunks/dep-5ad8a2ab.js'); require('../../_chunks/dep-0c2ad01b.js'); require('../../_chunks/dep-db023c41.js'); require('../../_chunks/dep-e495f218.js'); require('../../_chunks/dep-bafc1f63.js'); require('../../_chunks/dep-c07d6878.js'); require('../../_chunks/dep-a957c564.js'); require('../../_chunks/dep-acb090bf.js'); require('../../_chunks/dep-76218bd8.js'); require('../../_chunks/dep-047617bf.js'); require('../../_chunks/dep-9a321a91.js'); require('../../_chunks/dep-ecbaedee.js'); require('../../_chunks/dep-8b98fa07.js'); require('../../_chunks/dep-b0b4fff1.js'); require('../../_chunks/dep-7a21da5b.js'); require('../../_chunks/dep-ed572eb3.js'); require('../../_chunks/dep-9de7d250.js'); require('../../_chunks/dep-be3c3d53.js'); require('../../_chunks/dep-b4c4a54b.js'); require('../../_chunks/dep-f8ff548f.js'); require('../../_chunks/dep-30fb1b25.js'); require('dayjs'); require('../../_chunks/dep-b6c192db.js'); require('../../_chunks/dep-ba2090c8.js'); require('../../_chunks/dep-b27d3215.js'); require('../../_chunks/dep-50a41d31.js'); require('../../_chunks/dep-49fa220e.js'); require('../../_chunks/dep-02ebb419.js'); require('../../_chunks/dep-feae46a3.js'); require('../../_chunks/dep-abf21389.js'); require('../../_chunks/dep-7f32423d.js'); require('../../_chunks/dep-7c9e3d93.js'); require('../../_chunks/dep-61a7e281.js'); require('../../_chunks/dep-6f8a66a3.js'); require('../../tooltip/tooltip.js'); require('@babel/runtime/helpers/slicedToArray'); require('../../tooltip/props.js'); require('../../popup/props.js'); require('../../popup/index.js'); require('../../popup/popup.js'); require('@popperjs/core'); require('../../_chunks/dep-b1b8272b.js'); require('../../hooks/useVModel.js'); require('../../utils/dom.js'); require('../../popup/container.js'); require('@babel/runtime/helpers/toConsumableArray'); require('../../hooks/useResizeObserver.js'); require('../../_chunks/dep-31140ae7.js'); require('../../_chunks/dep-533159e9.js'); require('../../utils/withInstall.js'); require('../../tooltip/utils/index.js'); require('../../_chunks/dep-d67d6b6f.js'); require('../../_chunks/dep-55d8c3ed.js'); require('../../_chunks/dep-beb9de0a.js'); require('../../_chunks/dep-43bc982b.js'); require('../../_chunks/dep-f025d925.js'); require('../../_chunks/dep-cef23b69.js'); require('../../_chunks/dep-cea0dc9b.js'); var TImageViewerUtils = Vue.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 = hooks_useConfig.usePrefixClass(); var imageUrl = Vue.computed(function () { return props.currentImage.mainImage; }); var _useImagePreviewUrl = hooks_useImagePreviewUrl.useImagePreviewUrl(imageUrl), previewUrl = _useImagePreviewUrl.previewUrl; var _useConfig = configProvider_hooks_useConfig.useConfig("imageViewer"), globalConfig = _useConfig.globalConfig; return function () { return Vue.createVNode("div", { "class": "".concat(classPrefix.value, "-image-viewer__utils") }, [Vue.createVNode("div", { "class": "".concat(classPrefix.value, "-image-viewer__utils-content") }, [Vue.createVNode(tooltip_index.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 [Vue.createVNode(imageViewer_base_ImageModalIcon["default"], { "onClick": props.onMirror, "icon": function icon() { return Vue.createVNode(tdesignIconsVueNext.MirrorIcon, { "size": "medium" }, null); } }, null)]; } }), Vue.createVNode(tooltip_index.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 [Vue.createVNode(imageViewer_base_ImageModalIcon["default"], { "onClick": props.onRotate, "icon": function icon() { return Vue.createVNode(tdesignIconsVueNext.RotationIcon, { "size": "medium" }, null); } }, null)]; } }), Vue.createVNode(imageViewer_base_ImageModalIcon["default"], { "icon": function icon() { return Vue.createVNode(tdesignIconsVueNext.ZoomOutIcon, { "size": "medium" }, null); }, "onClick": props.onZoomOut }, null), Vue.createVNode(imageViewer_base_ImageModalIcon["default"], { "class": "".concat(classPrefix.value, "-image-viewer__utils-scale"), "size": "medium", "label": "".concat(largeNumber.largeNumberToFixed(String(props.scale * 100)), "%") }, null), Vue.createVNode(imageViewer_base_ImageModalIcon["default"], { "icon": function icon() { return Vue.createVNode(tdesignIconsVueNext.ZoomInIcon, { "size": "medium" }, null); }, "onClick": props.onZoomIn }, null), Vue.createVNode(tooltip_index.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 [Vue.createVNode("div", { "class": "".concat(classPrefix.value, "-image-viewer__modal-icon") }, [Vue.createVNode(imageViewer_base_ImageModalIcon["default"], { "icon": function icon() { return Vue.createVNode(tdesignIconsVueNext.ImageIcon, { "size": "medium" }, null); }, "onClick": props.onReset }, null)])]; } }), props.currentImage.download && Vue.createVNode(imageViewer_base_ImageModalIcon["default"], { "icon": function icon() { return Vue.createVNode(tdesignIconsVueNext.DownloadIcon, { "size": "medium" }, null); }, "onClick": function onClick() { props.onDownload(previewUrl.value); } }, null)])]); }; } }); exports["default"] = TImageViewerUtils; //# sourceMappingURL=ImageViewerUtils.js.map