{"version":3,"file":"VAvatar.mjs","names":["VIcon","VImg","genOverlays","makeVariantProps","useVariant","IconValue","makeDensityProps","useDensity","makeRoundedProps","useRounded","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genericComponent","propsFactory","useRender","makeVAvatarProps","start","Boolean","end","icon","image","String","variant","VAvatar","name","props","setup","slots","themeClasses","colorClasses","colorStyles","variantClasses","densityClasses","roundedClasses","sizeClasses","sizeStyles","value","default"],"sources":["../../../src/components/VAvatar/VAvatar.tsx"],"sourcesContent":["// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVAvatarProps = propsFactory({\n  start: Boolean,\n  end: Boolean,\n  icon: IconValue,\n  image: String,\n\n  ...makeDensityProps(),\n  ...makeRoundedProps(),\n  ...makeSizeProps(),\n  ...makeTagProps(),\n  ...makeThemeProps(),\n  ...makeVariantProps({ variant: 'flat' } as const),\n}, 'v-avatar')\n\nexport const VAvatar = genericComponent()({\n  name: 'VAvatar',\n\n  props: makeVAvatarProps(),\n\n  setup (props, { slots }) {\n    const { themeClasses } = provideTheme(props)\n    const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n    const { densityClasses } = useDensity(props)\n    const { roundedClasses } = useRounded(props)\n    const { sizeClasses, sizeStyles } = useSize(props)\n\n    useRender(() => (\n      <props.tag\n        class={[\n          'v-avatar',\n          {\n            'v-avatar--start': props.start,\n            'v-avatar--end': props.end,\n          },\n          themeClasses.value,\n          colorClasses.value,\n          densityClasses.value,\n          roundedClasses.value,\n          sizeClasses.value,\n          variantClasses.value,\n        ]}\n        style={[\n          colorStyles.value,\n          sizeStyles.value,\n        ]}\n      >\n        { props.image\n          ? (<VImg key=\"image\" src={ props.image } alt=\"\" cover />)\n          : props.icon\n            ? (<VIcon key=\"icon\" icon={ props.icon } />)\n            : slots.default?.()\n        }\n\n        { genOverlays(false, 'v-avatar') }\n      </props.tag>\n    ))\n\n    return {}\n  },\n})\n\nexport type VAvatar = InstanceType<typeof VAvatar>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,KAAK;AAAA,SACLC,IAAI,6BAEb;AAAA,SACSC,WAAW,EAAEC,gBAAgB,EAAEC,UAAU;AAAA,SACzCC,SAAS;AAAA,SACTC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,aAAa,EAAEC,OAAO;AAAA,SACtBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,uCAErC;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,gBAAgB,GAAGF,YAAY,CAAC;EAC3CG,KAAK,EAAEC,OAAO;EACdC,GAAG,EAAED,OAAO;EACZE,IAAI,EAAEjB,SAAS;EACfkB,KAAK,EAAEC,MAAM;EAEb,GAAGlB,gBAAgB,EAAE;EACrB,GAAGE,gBAAgB,EAAE;EACrB,GAAGE,aAAa,EAAE;EAClB,GAAGE,YAAY,EAAE;EACjB,GAAGC,cAAc,EAAE;EACnB,GAAGV,gBAAgB,CAAC;IAAEsB,OAAO,EAAE;EAAO,CAAC;AACzC,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,MAAMC,OAAO,GAAGX,gBAAgB,EAAE,CAAC;EACxCY,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEV,gBAAgB,EAAE;EAEzBW,KAAK,CAAED,KAAK,QAAa;IAAA,IAAX;MAAEE;IAAM,CAAC;IACrB,MAAM;MAAEC;IAAa,CAAC,GAAGjB,YAAY,CAACc,KAAK,CAAC;IAC5C,MAAM;MAAEI,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAG9B,UAAU,CAACwB,KAAK,CAAC;IACvE,MAAM;MAAEO;IAAe,CAAC,GAAG5B,UAAU,CAACqB,KAAK,CAAC;IAC5C,MAAM;MAAEQ;IAAe,CAAC,GAAG3B,UAAU,CAACmB,KAAK,CAAC;IAC5C,MAAM;MAAES,WAAW;MAAEC;IAAW,CAAC,GAAG3B,OAAO,CAACiB,KAAK,CAAC;IAElDX,SAAS,CAAC;MAAA,SAEC,CACL,UAAU,EACV;QACE,iBAAiB,EAAEW,KAAK,CAACT,KAAK;QAC9B,eAAe,EAAES,KAAK,CAACP;MACzB,CAAC,EACDU,YAAY,CAACQ,KAAK,EAClBP,YAAY,CAACO,KAAK,EAClBJ,cAAc,CAACI,KAAK,EACpBH,cAAc,CAACG,KAAK,EACpBF,WAAW,CAACE,KAAK,EACjBL,cAAc,CAACK,KAAK,CACrB;MAAA,SACM,CACLN,WAAW,CAACM,KAAK,EACjBD,UAAU,CAACC,KAAK;IACjB;MAAA,gBAECX,KAAK,CAACL,KAAK;QAAA,OACE,OAAO;QAAA,OAAOK,KAAK,CAACL,KAAK;QAAA,OAAO,EAAE;QAAA;MAAA,WAC7CK,KAAK,CAACN,IAAI;QAAA,OACI,MAAM;QAAA,QAAQM,KAAK,CAACN;MAAI,WACpCQ,KAAK,CAACU,OAAO,IAAI,EAGrBtC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC;IAAA,EAEnC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}