diff --git a/src/components/FwbAvatar/FwbAvatar.vue b/src/components/FwbAvatar/FwbAvatar.vue
index 0cc521e..6014076 100644
--- a/src/components/FwbAvatar/FwbAvatar.vue
+++ b/src/components/FwbAvatar/FwbAvatar.vue
@@ -1,18 +1,23 @@
-
+
![]()
+
+
+
-
-
-
{{ initials }}
-
+
diff --git a/src/components/FwbAvatar/composables/useAvatarClasses.ts b/src/components/FwbAvatar/composables/useAvatarClasses.ts
index 4c22d1f..c86626b 100644
--- a/src/components/FwbAvatar/composables/useAvatarClasses.ts
+++ b/src/components/FwbAvatar/composables/useAvatarClasses.ts
@@ -6,7 +6,7 @@ import type {
AvatarStatusPosition,
AvatarType,
} from '@/components/FwbAvatar/types'
-import classNames from 'classnames'
+import { useMergeClasses } from '@/composables/useMergeClasses'
const avatarSizeClasses: Record = {
xs: 'w-6 h-6',
@@ -39,7 +39,8 @@ const avatarStatusDotPositionClasses: Record
avatarPlaceholderInitialsClasses: Ref
} {
- const avatarClasses = computed(() => {
- return classNames(
+ const avatarClasses = computed(() =>
+ useMergeClasses([
avatarSizeClasses[props.size.value],
avatarTypeClasses[props.rounded.value ? 'rounded' : 'default'],
props.bordered.value ? avatarBorderedClasses : '',
props.stacked.value ? 'border-2 border-white dark:border-gray-800' : '',
- )
- })
+ ]),
+ )
const avatarDotClasses = computed(() => {
const avatarType = `${props.statusPosition.value}-${props.rounded.value ? 'rounded' : 'default'}`
- return classNames(
+ return useMergeClasses([
avatarStatusDotDefaultClasses,
avatarStatusDotClasses[props.status.value],
avatarStatusDotPositionClasses[avatarType as avatarDotIndicatorPositionClasses],
- )
+ ])
})
- const avatarPlaceholderClasses = computed(() => {
- return classNames(
+ const avatarPlaceholderClasses = computed(() =>
+ useMergeClasses([
avatarPlaceholderDefaultClasses,
avatarPlaceholderSizes[props.size.value],
- )
- })
- const avatarPlaceholderWrapperClasses = computed(() => {
- return classNames(
+ ]),
+ )
+ const avatarPlaceholderWrapperClasses = computed(() =>
+ useMergeClasses([
avatarPlaceholderWrapperDefaultClasses,
avatarSizeClasses[props.size.value],
avatarTypeClasses[props.rounded.value ? 'rounded' : 'default'],
- )
- })
- const avatarPlaceholderInitialsClasses = computed(() => {
- return classNames(
+ (props.img.value && props.bordered.value) ? '' : avatarPlaceholderWrapperBackgroundClasses,
+ props.bordered.value ? ' overflow-visible' : '',
+ ]),
+ )
+ const avatarPlaceholderInitialsClasses = computed(() =>
+ useMergeClasses([
avatarPlaceholderInitialsDefaultClasses,
- )
- })
- // TODO: Avatar Initials
+ ]),
+ )
return {
avatarClasses,
diff --git a/src/composables/useMergeClasses.ts b/src/composables/useMergeClasses.ts
index cbfd2b4..8ca2466 100644
--- a/src/composables/useMergeClasses.ts
+++ b/src/composables/useMergeClasses.ts
@@ -1,4 +1,4 @@
import { twMerge } from 'tailwind-merge'
-export const useMergeClasses = (componentClasses: string): string =>
+export const useMergeClasses = (componentClasses: string | string[]): string =>
twMerge(componentClasses)