import * as React from 'react'; import RcImage from 'rc-image'; import RotateLeftOutlined from '@ant-design/icons/RotateLeftOutlined'; import RotateRightOutlined from '@ant-design/icons/RotateRightOutlined'; import ZoomInOutlined from '@ant-design/icons/ZoomInOutlined'; import ZoomOutOutlined from '@ant-design/icons/ZoomOutOutlined'; import CloseOutlined from '@ant-design/icons/CloseOutlined'; import LeftOutlined from '@ant-design/icons/LeftOutlined'; import RightOutlined from '@ant-design/icons/RightOutlined'; import type { GroupConsumerProps } from 'rc-image/lib/PreviewGroup'; import { ConfigContext } from '../config-provider'; import { getTransitionName } from '../_util/motion'; // CSSINJS import useStyle from './style'; export const icons = { rotateLeft: , rotateRight: , zoomIn: , zoomOut: , close: , left: , right: , }; const InternalPreviewGroup: React.FC = ({ previewPrefixCls: customizePrefixCls, preview, ...props }) => { const { getPrefixCls } = React.useContext(ConfigContext); const prefixCls = getPrefixCls('image-preview', customizePrefixCls); const rootPrefixCls = getPrefixCls(); const [wrapSSR, hashId] = useStyle(prefixCls); const mergedPreview = React.useMemo(() => { if (preview === false) { return preview; } const _preview = typeof preview === 'object' ? preview : {}; return { ..._preview, transitionName: getTransitionName(rootPrefixCls, 'zoom', _preview.transitionName), maskTransitionName: getTransitionName(rootPrefixCls, 'fade', _preview.maskTransitionName), rootClassName: hashId, }; }, [preview]); return wrapSSR( , ); }; export default InternalPreviewGroup;