Skip to content

Commit d990a55

Browse files
committed
💄 Add option to target Avatar groups with CSS classes
1 parent a3cc89e commit d990a55

File tree

5 files changed

+25
-5
lines changed

5 files changed

+25
-5
lines changed

src/components/Avatar/Avatar.astro

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,25 @@ const {
1313
borderColor,
1414
borderless,
1515
reverse,
16-
className
16+
className,
17+
groupClassName
1718
} = Astro.props
1819
1920
const classes = [
2021
styles.avatar,
2122
borderless && styles.borderless,
2223
className
2324
]
25+
26+
const groupClasses = [
27+
styles.group,
28+
reverse && styles.reverse,
29+
groupClassName
30+
]
2431
---
2532

2633
{Array.isArray(img) ? (
27-
<div class:list={[styles.group, reverse && styles.reverse]}
34+
<div class:list={groupClasses}
2835
style={borderColor ? `--w-avatar-border: ${borderColor};` : null}
2936
>
3037
{img.map((img, index) => (

src/components/Avatar/Avatar.svelte

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
export let borderless: AvatarProps['borderless'] = false
1414
export let reverse: AvatarProps['reverse'] = false
1515
export let className: AvatarProps['className'] = ''
16+
export let groupClassName: AvatarProps['groupClassName'] = ''
1617
1718
const classes = classNames([
1819
styles.avatar,
@@ -22,7 +23,8 @@
2223
2324
const groupStyles = classNames([
2425
styles.group,
25-
reverse && styles.reverse
26+
reverse && styles.reverse,
27+
groupClassName
2628
])
2729
</script>
2830

src/components/Avatar/Avatar.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ const Avatar = ({
1313
borderColor,
1414
borderless,
1515
reverse,
16-
className
16+
className,
17+
groupClassName
1718
}: AvatarProps) => {
1819
const classes = classNames([
1920
styles.avatar,
@@ -23,7 +24,8 @@ const Avatar = ({
2324

2425
const groupStyles = classNames([
2526
styles.group,
26-
reverse && styles.reverse
27+
reverse && styles.reverse,
28+
groupClassName
2729
])
2830

2931
const borderColorStyle = borderColor

src/components/Avatar/avatar.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ export type AvatarProps = {
77
borderless?: boolean
88
reverse?: boolean
99
className?: string
10+
groupClassName?: string
1011
}

src/pages/avatar.astro

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,16 @@ const sections = getSections({
9595
<section.component
9696
size={[30, 40, 50, 40, 30]}
9797
img={avatarGroup}
98+
groupClassName="group"
9899
/>
99100
</ComponentWrapper>
100101
</div>
101102
))}
102103
</Layout>
104+
105+
<style is:global>
106+
.group {
107+
width: 100%;
108+
justify-content: center;
109+
}
110+
</style>

0 commit comments

Comments
 (0)