{"version":3,"file":"Avatar.cjs","sources":["../../common/Avatar/Avatar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { AvatarClassesKey, AvatarProps } from \"./types\";\n\nconst {\n  size = \"md\",\n  rounded = true,\n  border = false,\n  id = \"\",\n  classes = {} as Partial<Record<AvatarClassesKey, string>>,\n} = defineProps<AvatarProps>();\n\nconst getAvatarSize = computed(() => {\n  if (size === \"xs\") {\n    return \"w-6 h-6\";\n  }\n  if (size === \"sm\") {\n    return \"w-8 h-8\";\n  }\n  if (size === \"md\") {\n    return \"w-10 h-10\";\n  }\n  if (size === \"lg\") {\n    return \"w-14 h-14\";\n  }\n  return \"w-20 h-20\";\n});\n\nconst emits = defineEmits<{\n  (e: \"onClick\"): void;\n}>();\n</script>\n\n<template>\n  <div\n    :id=\"id\"\n    role=\"button\"\n    :class=\"['avatar-container', getAvatarSize, { 'rounded-full': rounded, 'rounded-lg': !rounded, 'avatar-border': border }, classes?.container]\"\n    aria-hidden\n    @click=\"emits('onClick')\"\n  >\n    <slot />\n  </div>\n</template>\n\n<style scoped>\n@reference \"../../styles/main.css\";\n\n.avatar-container {\n  @apply relative inline-flex items-center justify-center overflow-hidden bg-app-gray-100 dark:bg-app-gray-600;\n}\n.avatar-border {\n  @apply p-1 ring-2 ring-app-gray-300 dark:ring-app-gray-500;\n}\n</style>\n"],"names":["getAvatarSize","computed","__props","emits","__emit","_createElementBlock","_normalizeClass","_renderSlot","_ctx"],"mappings":"uTAaA,MAAMA,EAAgBC,EAAAA,SAAS,IACzBC,SAAS,KACJ,UAELA,SAAS,KACJ,UAELA,SAAS,KACJ,YAELA,SAAS,KACJ,YAEF,WACR,EAEKC,EAAQC,8BAMZC,EAAAA,mBAQM,MAAA,CAPH,GAAIH,EAAA,GACL,KAAK,SACJ,MAAKI,EAAAA,eAAA,CAAA,mBAAuBN,EAAA,MAAa,CAAA,eAAoBE,EAAA,QAAO,aAAA,CAAiBA,EAAA,QAAO,gBAAmBA,EAAA,QAAUA,EAAA,SAAS,SAAS,CAAA,EAC5I,cAAA,GACC,uBAAOC,EAAK,SAAA,EAAA,GAEbI,EAAAA,WAAQC,EAAA,OAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA"}