import { createVNode, defineComponent, computed } from 'vue';
import { RotateLeftOutlined, RotateRightOutlined, ZoomInOutlined, ZoomOutOutlined, CloseOutlined, LeftOutlined, RightOutlined, SwapOutlined } from '@ant-design/icons-vue';
import '../../../vue-components/index.mjs';
import useConfigInject from '../../config-provider/src/hooks/useConfigInject.mjs';
import useStyle from '../style/index.mjs';
import { previewGroupProps } from './props.mjs';
import { getTransitionName } from '../../../vue-components/transition/src/transition.mjs';
import Group from '../../../vue-components/vc-image/src/PreviewGroup.mjs';

const icons = {
  rotateLeft: createVNode(RotateLeftOutlined, null, null),
  rotateRight: createVNode(RotateRightOutlined, null, null),
  zoomIn: createVNode(ZoomInOutlined, null, null),
  zoomOut: createVNode(ZoomOutOutlined, null, null),
  close: createVNode(CloseOutlined, null, null),
  left: createVNode(LeftOutlined, null, null),
  right: createVNode(RightOutlined, null, null),
  flipX: createVNode(SwapOutlined, null, null),
  flipY: createVNode(SwapOutlined, {
    "rotate": 90
  }, null)
};
var AImagePreviewGroup = /* @__PURE__ */ 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(createVNode(Group, {
        ...attrs,
        ...props,
        "preview": mergedPreview.value,
        "icons": icons,
        "previewPrefixCls": previewPrefixCls.value
      }, slots));
    };
  }
});

export { AImagePreviewGroup as default, icons };
//# sourceMappingURL=PreviewGroup.mjs.map
