zhangyong
2023-08-22 1353e87cb21a4032d585d7404bae9042f2ebcf08
1
{"version":3,"file":"avatar2.mjs","sources":["../../../../../../packages/components/avatar/src/avatar.vue"],"sourcesContent":["<template>\n  <span :class=\"avatarClass\" :style=\"sizeStyle\">\n    <img\n      v-if=\"(src || srcSet) && !hasLoadError\"\n      :src=\"src\"\n      :alt=\"alt\"\n      :srcset=\"srcSet\"\n      :style=\"fitStyle\"\n      @error=\"handleError\"\n    />\n    <el-icon v-else-if=\"icon\">\n      <component :is=\"icon\" />\n    </el-icon>\n    <slot v-else />\n  </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { addUnit, isNumber, isString } from '@element-plus/utils'\nimport { avatarEmits, avatarProps } from './avatar'\n\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n  name: 'ElAvatar',\n})\n\nconst props = defineProps(avatarProps)\nconst emit = defineEmits(avatarEmits)\n\nconst ns = useNamespace('avatar')\n\nconst hasLoadError = ref(false)\n\nconst avatarClass = computed(() => {\n  const { size, icon, shape } = props\n  const classList = [ns.b()]\n  if (isString(size)) classList.push(ns.m(size))\n  if (icon) classList.push(ns.m('icon'))\n  if (shape) classList.push(ns.m(shape))\n  return classList\n})\n\nconst sizeStyle = computed(() => {\n  const { size } = props\n  return isNumber(size)\n    ? (ns.cssVarBlock({\n        size: addUnit(size) || '',\n      }) as CSSProperties)\n    : undefined\n})\n\nconst fitStyle = computed<CSSProperties>(() => ({\n  objectFit: props.fit,\n}))\n\n// need reset hasLoadError to false if src changed\nwatch(\n  () => props.src,\n  () => (hasLoadError.value = false)\n)\n\nfunction handleError(e: Event) {\n  hasLoadError.value = true\n  emit('error', e)\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;mCA0Bc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAEhC,IAAM,MAAA,YAAA,GAAe,IAAI,KAAK,CAAA,CAAA;AAE9B,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;AACjC,MAAM,MAAA,EAAE,IAAM,EAAA,IAAA,EAAM,KAAU,EAAA,GAAA,KAAA,CAAA;AAC9B,MAAA,MAAM,SAAY,GAAA,CAAC,EAAG,CAAA,CAAA,EAAG,CAAA,CAAA;AACzB,MAAA,IAAI,SAAS,IAAI,CAAA;AAAG,QAAA,SAAA,CAAU,IAAK,CAAA,EAAA,CAAG,CAAE,CAAA,IAAI,CAAC,CAAA,CAAA;AAC7C,MAAI,IAAA,IAAA;AAAM,QAAA,SAAA,CAAU,IAAK,CAAA,EAAA,CAAG,CAAE,CAAA,MAAM,CAAC,CAAA,CAAA;AACrC,MAAI,IAAA,KAAA;AAAO,QAAA,SAAA,CAAU,IAAK,CAAA,EAAA,CAAG,CAAE,CAAA,KAAK,CAAC,CAAA,CAAA;AACrC,MAAO,OAAA,SAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAC/B,MAAA,MAAM,EAAE,IAAS,EAAA,GAAA,KAAA,CAAA;AACjB,MAAA,OAAO,QAAS,CAAA,IAAI,CACf,GAAA,EAAA,CAAG,WAAY,CAAA;AAAA,QACd,IAAA,EAAM,OAAQ,CAAA,IAAI,CAAK,IAAA,EAAA;AAAA,OACxB,CACD,GAAA,KAAA,CAAA,CAAA;AAAA,KACL,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAW,SAAwB,OAAO;AAAA,MAC9C,WAAW,KAAM,CAAA,GAAA;AAAA,KACjB,CAAA,CAAA,CAAA;AAGF,IAAA,KAAA,CACE,MAAM,KAAM,CAAA,GAAA,EACZ,MAAO,YAAA,CAAa,QAAQ,KAC9B,CAAA,CAAA;AAEA,IAAA,SAAA,WAAA,CAAqB,CAAU,EAAA;AAC7B,MAAA,YAAA,CAAa,KAAQ,GAAA,IAAA,CAAA;AACrB,MAAA,IAAA,CAAK,SAAS,CAAC,CAAA,CAAA;AAAA,KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;"}