linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
51 lines β’ 2.44 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import _typeof from "@babel/runtime/helpers/esm/typeof";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["prefixCls", "preview"],
_excluded2 = ["getContainer"];
import EyeOutlined from '@ant-design/icons/EyeOutlined';
import RcImage from 'rc-image';
import * as React from 'react';
import { useContext } from 'react';
import { ConfigContext } from "../config-provider";
import defaultLocale from "../locale/en_US";
import { getTransitionName } from "../_util/motion";
import PreviewGroup, { icons } from "./PreviewGroup";
var Image = function Image(_ref) {
var customizePrefixCls = _ref.prefixCls,
preview = _ref.preview,
otherProps = _objectWithoutProperties(_ref, _excluded);
var _useContext = useContext(ConfigContext),
getPrefixCls = _useContext.getPrefixCls,
_useContext$locale = _useContext.locale,
contextLocale = _useContext$locale === void 0 ? defaultLocale : _useContext$locale,
getContextPopupContainer = _useContext.getPopupContainer;
var prefixCls = getPrefixCls('image', customizePrefixCls);
var rootPrefixCls = getPrefixCls();
var imageLocale = contextLocale.Image || defaultLocale.Image;
var mergedPreview = React.useMemo(function () {
if (preview === false) {
return preview;
}
var _preview = _typeof(preview) === 'object' ? preview : {};
var getContainer = _preview.getContainer,
restPreviewProps = _objectWithoutProperties(_preview, _excluded2);
return _objectSpread(_objectSpread({
mask: /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-mask-info")
}, /*#__PURE__*/React.createElement(EyeOutlined, null), imageLocale === null || imageLocale === void 0 ? void 0 : imageLocale.preview),
icons: icons
}, restPreviewProps), {}, {
getContainer: getContainer || getContextPopupContainer,
transitionName: getTransitionName(rootPrefixCls, 'zoom', _preview.transitionName),
maskTransitionName: getTransitionName(rootPrefixCls, 'fade', _preview.maskTransitionName)
});
}, [preview, imageLocale]);
return /*#__PURE__*/React.createElement(RcImage, _extends({
prefixCls: prefixCls,
preview: mergedPreview
}, otherProps));
};
Image.PreviewGroup = PreviewGroup;
export default Image;