import type { PreviewGroupPreview } from '../vc-image/src/PreviewGroup'; import PreviewGroup from '../vc-image/src/PreviewGroup'; import type { ExtractPropTypes } from 'vue'; import { computed, defineComponent } from 'vue'; import useConfigInject from '../config-provider/hooks/useConfigInject'; import RotateLeftOutlined from '@ant-design/icons-vue/RotateLeftOutlined'; import RotateRightOutlined from '@ant-design/icons-vue/RotateRightOutlined'; import ZoomInOutlined from '@ant-design/icons-vue/ZoomInOutlined'; import ZoomOutOutlined from '@ant-design/icons-vue/ZoomOutOutlined'; import CloseOutlined from '@ant-design/icons-vue/CloseOutlined'; import LeftOutlined from '@ant-design/icons-vue/LeftOutlined'; import RightOutlined from '@ant-design/icons-vue/RightOutlined'; import SwapOutlined from '@ant-design/icons-vue/SwapOutlined'; import { getTransitionName } from '../_util/transition'; import useStyle from './style'; import { anyType } from '../_util/type'; export const icons = { rotateLeft: , rotateRight: , zoomIn: , zoomOut: , close: , left: , right: , flipX: , flipY: , }; const previewGroupProps = () => ({ previewPrefixCls: String, preview: anyType(), }); export type ImageGroupProps = Partial>>; const InternalPreviewGroup = defineComponent({ compatConfig: { MODE: 3 }, name: 'AImagePreviewGroup', inheritAttrs: false, props: previewGroupProps(), setup(props, { attrs, slots }) { const { prefixCls, rootPrefixCls } = useConfigInject('image', props); const previewPrefixCls = computed(() => `${prefixCls.value}-preview`); const [wrapSSR, hashId] = useStyle(prefixCls); const mergedPreview = computed(() => { const { preview } = props; if (preview === false) { return preview; } const _preview = typeof preview === 'object' ? preview : {}; return { ..._preview, rootClassName: hashId.value, transitionName: getTransitionName(rootPrefixCls.value, 'zoom', _preview.transitionName), maskTransitionName: getTransitionName( rootPrefixCls.value, 'fade', _preview.maskTransitionName, ), }; }); return () => { return wrapSSR( , ); }; }, }); export default InternalPreviewGroup;