{"version":3,"file":"VAvatar.mjs","names":["VIcon","VImg","makeComponentProps","makeDensityProps","useDensity","IconValue","makeRoundedProps","useRounded","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","genericComponent","propsFactory","useRender","makeVAvatarProps","start","Boolean","end","icon","image","String","text","variant","VAvatar","name","props","setup","_ref","slots","themeClasses","colorClasses","colorStyles","variantClasses","densityClasses","roundedClasses","sizeClasses","sizeStyles","_createVNode","tag","value","class","style","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 { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\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  text: String,\n\n  ...makeComponentProps(),\n  ...makeDensityProps(),\n  ...makeRoundedProps(),\n  ...makeSizeProps(),\n  ...makeTagProps(),\n  ...makeThemeProps(),\n  ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAvatar')\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          props.class,\n        ]}\n        style={[\n          colorStyles.value,\n          sizeStyles.value,\n          props.style,\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?.() ?? props.text\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,kBAAkB;AAAA,SAClBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,SAAS;AAAA,SACTC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,aAAa,EAAEC,OAAO;AAAA,SACtBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,WAAW,EAAEC,gBAAgB,EAAEC,UAAU,yCAElD;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,gBAAgB,GAAGF,YAAY,CAAC;EAC3CG,KAAK,EAAEC,OAAO;EACdC,GAAG,EAAED,OAAO;EACZE,IAAI,EAAElB,SAAS;EACfmB,KAAK,EAAEC,MAAM;EACbC,IAAI,EAAED,MAAM;EAEZ,GAAGvB,kBAAkB,CAAC,CAAC;EACvB,GAAGC,gBAAgB,CAAC,CAAC;EACrB,GAAGG,gBAAgB,CAAC,CAAC;EACrB,GAAGE,aAAa,CAAC,CAAC;EAClB,GAAGE,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC,CAAC;EACnB,GAAGG,gBAAgB,CAAC;IAAEa,OAAO,EAAE;EAAO,CAAU;AAClD,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAMC,OAAO,GAAGZ,gBAAgB,CAAC,CAAC,CAAC;EACxCa,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEX,gBAAgB,CAAC,CAAC;EAEzBY,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAGtB,YAAY,CAACkB,KAAK,CAAC;IAC5C,MAAM;MAAEK,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAGtB,UAAU,CAACe,KAAK,CAAC;IACvE,MAAM;MAAEQ;IAAe,CAAC,GAAGlC,UAAU,CAAC0B,KAAK,CAAC;IAC5C,MAAM;MAAES;IAAe,CAAC,GAAGhC,UAAU,CAACuB,KAAK,CAAC;IAC5C,MAAM;MAAEU,WAAW;MAAEC;IAAW,CAAC,GAAGhC,OAAO,CAACqB,KAAK,CAAC;IAElDZ,SAAS,CAAC,MAAAwB,YAAA,CAAAZ,KAAA,CAAAa,GAAA;MAAA,SAEC,CACL,UAAU,EACV;QACE,iBAAiB,EAAEb,KAAK,CAACV,KAAK;QAC9B,eAAe,EAAEU,KAAK,CAACR;MACzB,CAAC,EACDY,YAAY,CAACU,KAAK,EAClBT,YAAY,CAACS,KAAK,EAClBN,cAAc,CAACM,KAAK,EACpBL,cAAc,CAACK,KAAK,EACpBJ,WAAW,CAACI,KAAK,EACjBP,cAAc,CAACO,KAAK,EACpBd,KAAK,CAACe,KAAK,CACZ;MAAA,SACM,CACLT,WAAW,CAACQ,KAAK,EACjBH,UAAU,CAACG,KAAK,EAChBd,KAAK,CAACgB,KAAK;IACZ;MAAAC,OAAA,EAAAA,CAAA,MAECjB,KAAK,CAACN,KAAK,GAAAkB,YAAA,CAAAzC,IAAA;QAAA;QAAA,OACgB6B,KAAK,CAACN,KAAK;QAAA;QAAA;MAAA,WACpCM,KAAK,CAACP,IAAI,GAAAmB,YAAA,CAAA1C,KAAA;QAAA;QAAA,QACkB8B,KAAK,CAACP;MAAI,WACpCU,KAAK,CAACc,OAAO,GAAG,CAAC,IAAIjB,KAAK,CAACJ,IAAI,EAGnCb,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC;IAAA,EAEnC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}