{"version":3,"file":"image.vue2.mjs","sources":["../../../../../../packages/components/image/src/image.vue"],"sourcesContent":["<template>\r\n  <div :style=\"{ display: 'inline-flex' }\" v-bind=\"containerAttrs\">\r\n    <!-- 支持水印 -->\r\n    <ll-watermark\r\n      v-if=\"Array.isArray(content) ? content.length > 0 : content\"\r\n      :class=\"`${bem.b('watermark')}`\"\r\n      v-bind=\"componentAttrs\"\r\n      :style=\"getImageStyle\"\r\n      :content=\"props.content\"\r\n      :width=\"props.watermarkWidth\"\r\n      :height=\"props.watermarkHeight\"\r\n      :z-index=\"100\"\r\n    >\r\n      <div\r\n        :class=\"[\r\n          bem.b('container'),\r\n          $slots.previewMask ? '' : bem.is('no-preview-mask'),\r\n          getImageClass,\r\n        ]\"\r\n        :style=\"getImageStyle\"\r\n      >\r\n        <a-image\r\n          :class=\"`${bem.b()}`\"\r\n          :style=\"{ 'object-fit': props.objectFit }\"\r\n          v-bind=\"props\"\r\n          :src=\"getSrc\"\r\n          :fallback=\"computedFallback\"\r\n        >\r\n          <!-- 占位插槽 -->\r\n          <template #placeholder>\r\n            <slot name=\"placeholder\" />\r\n          </template>\r\n          <!-- 自定义mask插槽 -->\r\n          <template #previewMask>\r\n            <slot name=\"previewMask\">\r\n              <div\r\n                :class=\"bem.e('preview-mask')\"\r\n                :style=\"{ background: props.maskColor }\"\r\n              >\r\n                <slot name=\"previewMaskContent\">\r\n                  <ll-icon\r\n                    :class=\"bem.e('preview-icon')\"\r\n                    :icon-name=\"props.previewIcon\"\r\n                    :size=\"props.iconSize\"\r\n                  />\r\n                </slot>\r\n              </div>\r\n            </slot>\r\n          </template>\r\n        </a-image>\r\n      </div>\r\n    </ll-watermark>\r\n\r\n    <!-- 默认的图片展示 -->\r\n    <template v-else>\r\n      <div\r\n        :class=\"[\r\n          bem.b('container'),\r\n          $slots.previewMask ? '' : bem.is('no-preview-mask'),\r\n          getImageClass,\r\n        ]\"\r\n        :style=\"getImageStyle\"\r\n      >\r\n        <a-image\r\n          :class=\"`${bem.b()}`\"\r\n          :style=\"{ 'object-fit': props.objectFit }\"\r\n          v-bind=\"props\"\r\n          :src=\"getSrc\"\r\n          :fallback=\"computedFallback\"\r\n        >\r\n          <!-- 占位插槽 -->\r\n          <template #placeholder>\r\n            <slot name=\"placeholder\" />\r\n          </template>\r\n          <!-- 自定义mask插槽 -->\r\n          <template #previewMask>\r\n            <slot name=\"previewMask\">\r\n              <div\r\n                :class=\"bem.e('preview-mask')\"\r\n                :style=\"{ background: props.maskColor }\"\r\n              >\r\n                <slot name=\"previewMaskContent\">\r\n                  <ll-icon\r\n                    :class=\"bem.e('preview-icon')\"\r\n                    :icon-name=\"props.previewIcon\"\r\n                    :size=\"props.iconSize\"\r\n                  />\r\n                </slot>\r\n              </div>\r\n            </slot>\r\n          </template>\r\n        </a-image>\r\n      </div>\r\n    </template>\r\n  </div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { createNamespace } from '@ll-plus/utils'\r\nimport { computed, useAttrs } from 'vue'\r\nimport { imageProps } from './image'\r\n\r\nimport { omit } from 'lodash-es'\r\nimport { FALL_BACK_IMG } from './image'\r\n\r\ndefineOptions({\r\n  name: 'LlImage',\r\n  inheritAttrs: false,\r\n})\r\nconst attrs = useAttrs()\r\n\r\nconst props = defineProps(imageProps)\r\n\r\nconst bem = createNamespace('image')\r\n\r\n// 容器样式\r\nconst containerAttrs = computed(() => ({\r\n  class: attrs.class as any,\r\n  style: attrs.style as any,\r\n}))\r\n\r\n// 组件功能相关的属性\r\nconst componentAttrs = computed(() => {\r\n  return omit(attrs, ['class', 'style'])\r\n})\r\n\r\n// 加载失败容错地址\r\nconst computedFallback = computed(() =>\r\n  props.fallback ? props.fallback : FALL_BACK_IMG\r\n)\r\n// 根据isShowBorder/borderRadius设置类名\r\nconst getImageClass = computed(() => {\r\n  const borderClass = props.isShowBorder ? bem.m('border') : ''\r\n  return `${borderClass}`\r\n})\r\nconst getImageStyle = computed(() => {\r\n  return { borderRadius: props.borderRadius, overflow: 'hidden' }\r\n})\r\nconst getSrc = computed(() => {\r\n  return props.src ? props.src : FALL_BACK_IMG\r\n})\r\n</script>\r\n"],"names":["_openBlock","_createElementBlock","_mergeProps","_createCommentVNode","content","_createBlock","_unref","_createElementVNode","_normalizeClass","$slots","_createVNode","_renderSlot","_normalizeStyle","_Fragment"],"mappings":"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"}