| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
- import _extends from "@babel/runtime/helpers/esm/extends";
- import { resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
- import { defineComponent, computed } from 'vue';
- import ImageInternal from '../vc-image';
- import { imageProps } from '../vc-image/src/Image';
- import defaultLocale from '../locale/en_US';
- import useConfigInject from '../config-provider/hooks/useConfigInject';
- import PreviewGroup, { icons } from './PreviewGroup';
- import EyeOutlined from "@ant-design/icons-vue/es/icons/EyeOutlined";
- import { getTransitionName } from '../_util/transition';
- import useStyle from './style';
- import classNames from '../_util/classNames';
- const Image = defineComponent({
- name: 'AImage',
- inheritAttrs: false,
- props: imageProps(),
- setup(props, _ref) {
- let {
- slots,
- attrs
- } = _ref;
- const {
- prefixCls,
- rootPrefixCls,
- configProvider
- } = useConfigInject('image', props);
- // Style
- const [wrapSSR, hashId] = useStyle(prefixCls);
- const mergedPreview = computed(() => {
- const {
- preview
- } = props;
- if (preview === false) {
- return preview;
- }
- const _preview = typeof preview === 'object' ? preview : {};
- return _extends(_extends({
- icons
- }, _preview), {
- transitionName: getTransitionName(rootPrefixCls.value, 'zoom', _preview.transitionName),
- maskTransitionName: getTransitionName(rootPrefixCls.value, 'fade', _preview.maskTransitionName)
- });
- });
- return () => {
- var _a, _b;
- const imageLocale = ((_b = (_a = configProvider.locale) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.Image) || defaultLocale.Image;
- const defaultPreviewMask = () => _createVNode("div", {
- "class": `${prefixCls.value}-mask-info`
- }, [_createVNode(EyeOutlined, null, null), imageLocale === null || imageLocale === void 0 ? void 0 : imageLocale.preview]);
- const {
- previewMask = slots.previewMask || defaultPreviewMask
- } = props;
- return wrapSSR(_createVNode(ImageInternal, _objectSpread(_objectSpread({}, _extends(_extends(_extends({}, attrs), props), {
- prefixCls: prefixCls.value
- })), {}, {
- "preview": mergedPreview.value,
- "rootClassName": classNames(props.rootClassName, hashId.value)
- }), _extends(_extends({}, slots), {
- previewMask: typeof previewMask === 'function' ? previewMask : null
- })));
- };
- }
- });
- export { imageProps };
- Image.PreviewGroup = PreviewGroup;
- Image.install = function (app) {
- app.component(Image.name, Image);
- app.component(Image.PreviewGroup.name, Image.PreviewGroup);
- return app;
- };
- export { PreviewGroup as ImagePreviewGroup };
- export default Image;
|