import { createVNode, defineComponent, computed, mergeProps } from 'vue';
import CloseOutlined, { RotateRightOutlined, ZoomInOutlined, ZoomOutOutlined, CloseOutlined as CloseOutlined$1, LeftOutlined, RightOutlined } from '@ant-design/icons-vue';
import '../hooks/index.mjs';
import Group, { imageGroupProps } from '../vc-image/src/PreviewGroup.mjs';
import useStyle from './style/index.mjs';
import useConfigInject from '../config-provider/hooks/useConfigInject.mjs';

const icons = {
  rotateLeft: createVNode(CloseOutlined, null, null),
  rotateRight: createVNode(RotateRightOutlined, null, null),
  zoomIn: createVNode(ZoomInOutlined, null, null),
  zoomOut: createVNode(ZoomOutOutlined, null, null),
  close: createVNode(CloseOutlined$1, null, null),
  left: createVNode(LeftOutlined, null, null),
  right: createVNode(RightOutlined, null, null)
};
const InternalPreviewGroup = /* @__PURE__ */ defineComponent({
  compatConfig: {
    MODE: 3
  },
  name: "AImagePreviewGroup",
  inheritAttrs: false,
  props: imageGroupProps(),
  setup(props, {
    attrs,
    slots
  }) {
    const {
      prefixCls
    } = 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
      };
    });
    return () => {
      return wrapSSR(createVNode(Group, mergeProps({
        ...attrs,
        ...props
      }, {
        "preview": mergedPreview.value,
        "icons": icons,
        "previewPrefixCls": previewPrefixCls.value
      }), slots));
    };
  }
});

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