{"version":3,"file":"UAvatarGroup.mjs","names":["makeComponentProps","makeTagProps","genericComponent","propsFactory","computed","Sizes","AvatarVariant","UAvatarSupportingText","UAvatarText","UAvatar","makeUAvatarGroupProps","_objectSpread","size","type","String","sm","required","variant","imagePath","avatarIcon","avatarNote","profileName","profileText","UAvatarGroup","name","props","emits","click","e","setup","_ref","emit","slots","imageSpacing","spacingMapping","xl","classes","_defineProperty","value","_createVNode","onClick","_default"],"sources":["../../../src/components/UAvatar/UAvatarGroup.tsx"],"sourcesContent":["import { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\nimport { genericComponent, propsFactory } from '@/utils'\nimport { ExtractPropTypes, computed } from 'vue'\nimport Sizes from '@/types/sizes'\nimport AvatarVariant from '@/types/avatarVariants'\nimport { UAvatarSupportingText } from './UAvatarSupportingText'\nimport { UAvatarText } from './UAvatarText'\nimport { UAvatar } from './UAvatar'\n\nexport const makeUAvatarGroupProps = propsFactory(\n  {\n    size: {\n      type: String,\n      default: Sizes.sm,\n      required: false,\n    },\n    variant: {\n      type: String,\n      default: AvatarVariant.default,\n      required: false,\n    },\n    imagePath: {\n      type: String,\n      required: false,\n    },\n    avatarIcon: {\n      type: String,\n      default: 'imageUser',\n      required: false,\n    },\n    avatarNote: String,\n    profileName: String,\n    profileText: String,\n\n    ...makeComponentProps(),\n    ...makeTagProps(),\n  },\n  'UAvatarGroup'\n)\n\nexport type UAvatarGroupProps = ExtractPropTypes<typeof makeUAvatarGroupProps>\n\nexport type UAvatarGroupSlots = {\n  default: never\n}\n\nexport const UAvatarGroup = genericComponent<UAvatarGroupSlots>()({\n  name: 'UAvatarGroup',\n\n  props: makeUAvatarGroupProps(),\n\n  emits: {\n    click: (e: MouseEvent) => true,\n  },\n\n  setup(props, { emit, slots }) {\n    const avatarIcon = computed(() => {\n      return props.avatarIcon ? props.avatarIcon : ''\n    })\n\n    const imageSpacing = computed(() => {\n      const spacingMapping: Record<string, string> = {\n        sm: 'gap-[10px]',\n        xl: 'gap-[16px]',\n      }\n\n      return spacingMapping[props.size] || 'gap-[12px]'\n    })\n\n    const classes = computed(() => ({\n      'box-border flex items-center justify-center w-fit': true,\n      [imageSpacing.value]: true,\n    }))\n\n    return () => (\n      <div class={classes.value} onClick={(e) => emit('click', e)}>\n        <UAvatar\n          avatar-icon={avatarIcon.value}\n          size={props.size}\n          image-path={props.imagePath}\n        >\n          {props.avatarNote}\n        </UAvatar>\n        <div>\n          <UAvatarText size={props.size} color=\"gray-700\">\n            {props.profileName}\n          </UAvatarText>\n          <UAvatarSupportingText size={props.size} color=\"gray-600\">\n            {props.profileText}\n          </UAvatarSupportingText>\n        </div>\n      </div>\n    )\n  },\n})\n"],"mappings":";;;;;;;SAASA,kBAAkB;AAAA,SAClBC,YAAY;AAAA,SACZC,gBAAgB,EAAEC,YAAY;AACvC,SAA2BC,QAAQ,QAAQ,KAAK;AAAA,OACzCC,KAAK;AAAA,OACLC,aAAa;AAAA,SACXC,qBAAqB;AAAA,SACrBC,WAAW;AAAA,SACXC,OAAO;AAEhB,OAAO,IAAMC,qBAAqB,GAAGP,YAAY,CAAAQ,aAAA,CAAAA,aAAA;EAE7CC,IAAI,EAAE;IACJC,IAAI,EAAEC,MAAM;IACZ,WAAST,KAAK,CAACU,EAAE;IACjBC,QAAQ,EAAE;EACZ,CAAC;EACDC,OAAO,EAAE;IACPJ,IAAI,EAAEC,MAAM;IACZ,WAASR,aAAa,WAAQ;IAC9BU,QAAQ,EAAE;EACZ,CAAC;EACDE,SAAS,EAAE;IACTL,IAAI,EAAEC,MAAM;IACZE,QAAQ,EAAE;EACZ,CAAC;EACDG,UAAU,EAAE;IACVN,IAAI,EAAEC,MAAM;IACZ,WAAS,WAAW;IACpBE,QAAQ,EAAE;EACZ,CAAC;EACDI,UAAU,EAAEN,MAAM;EAClBO,WAAW,EAAEP,MAAM;EACnBQ,WAAW,EAAER;AAAM,GAEhBd,kBAAkB,CAAC,CAAC,GACpBC,YAAY,CAAC,CAAC,GAEnB,cACF,CAAC;AAQD,OAAO,IAAMsB,YAAY,GAAGrB,gBAAgB,CAAoB,CAAC,CAAC;EAChEsB,IAAI,EAAE,cAAc;EAEpBC,KAAK,EAAEf,qBAAqB,CAAC,CAAC;EAE9BgB,KAAK,EAAE;IACLC,KAAK,EAAE,SAAAA,MAACC,CAAa;MAAA,OAAK,IAAI;IAAA;EAChC,CAAC;EAEDC,KAAK,WAAAA,MAACJ,KAAK,EAAAK,IAAA,EAAmB;IAAA,IAAfC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACxB,IAAMb,UAAU,GAAGf,QAAQ,CAAC,YAAM;MAChC,OAAOqB,KAAK,CAACN,UAAU,GAAGM,KAAK,CAACN,UAAU,GAAG,EAAE;IACjD,CAAC,CAAC;IAEF,IAAMc,YAAY,GAAG7B,QAAQ,CAAC,YAAM;MAClC,IAAM8B,cAAsC,GAAG;QAC7CnB,EAAE,EAAE,YAAY;QAChBoB,EAAE,EAAE;MACN,CAAC;MAED,OAAOD,cAAc,CAACT,KAAK,CAACb,IAAI,CAAC,IAAI,YAAY;IACnD,CAAC,CAAC;IAEF,IAAMwB,OAAO,GAAGhC,QAAQ,CAAC;MAAA,OAAAiC,eAAA;QACvB,mDAAmD,EAAE;MAAI,GACxDJ,YAAY,CAACK,KAAK,EAAG,IAAI;IAAA,CAC1B,CAAC;IAEH,OAAO;MAAA,OAAAC,YAAA;QAAA,SACOH,OAAO,CAACE,KAAK;QAAA,WAAW,SAAAE,QAACZ,CAAC;UAAA,OAAKG,IAAI,CAAC,OAAO,EAAEH,CAAC,CAAC;QAAA;MAAA,IAAAW,YAAA,CAAA9B,OAAA;QAAA,eAE1CU,UAAU,CAACmB,KAAK;QAAA,QACvBb,KAAK,CAACb,IAAI;QAAA,cACJa,KAAK,CAACP;MAAS;QAAA,oBAAAuB,SAAA;UAAA,QAE1BhB,KAAK,CAACL,UAAU;QAAA;MAAA,IAAAmB,YAAA,eAAAA,YAAA,CAAA/B,WAAA;QAAA,QAGEiB,KAAK,CAACb,IAAI;QAAA;MAAA;QAAA,oBAAA6B,SAAA;UAAA,QAC1BhB,KAAK,CAACJ,WAAW;QAAA;MAAA,IAAAkB,YAAA,CAAAhC,qBAAA;QAAA,QAESkB,KAAK,CAACb,IAAI;QAAA;MAAA;QAAA,oBAAA6B,SAAA;UAAA,QACpChB,KAAK,CAACH,WAAW;QAAA;MAAA;IAAA,CAIzB;EACH;AACF,CAAC,CAAC"}