diff --git a/packages/avatar-group/src/styles/vaadin-avatar-group-base-styles.js b/packages/avatar-group/src/styles/vaadin-avatar-group-base-styles.js
index 3fdce6f0b0c..0e948506790 100644
--- a/packages/avatar-group/src/styles/vaadin-avatar-group-base-styles.js
+++ b/packages/avatar-group/src/styles/vaadin-avatar-group-base-styles.js
@@ -33,10 +33,11 @@ export const avatarGroupStyles = css`
::slotted(vaadin-avatar) {
--_overlap: max(0px, var(--vaadin-avatar-group-overlap, 8px));
--_gap: max(0px, var(--vaadin-avatar-group-gap, 2px));
- mask-image: url('data:image/svg+xml;utf8,');
- mask-size: calc((100% - var(--vaadin-focus-ring-width) * 2) * 3);
- mask-position: calc(50% + (100% - var(--vaadin-focus-ring-width) * 2 - var(--_overlap)) * var(--_d));
+ --_outline-width: var(--vaadin-focus-ring-width);
--_d: var(--_dir);
+ mask-image: url('data:image/svg+xml;utf8,');
+ mask-size: calc((100% - var(--_outline-width) * 2) * 3);
+ mask-position: calc(50% + (100% - var(--_outline-width) * 2 - var(--_overlap)) * var(--_d));
}
:host(:dir(rtl)) ::slotted(vaadin-avatar) {
@@ -44,7 +45,7 @@ export const avatarGroupStyles = css`
}
::slotted(vaadin-avatar:not(:first-of-type)) {
- margin-inline-start: calc((var(--vaadin-focus-ring-width) + var(--_overlap) - var(--_gap)) * -1);
+ margin-inline-start: calc((var(--_outline-width) + var(--_overlap) - var(--_gap)) * -1);
}
:host(:not([theme~='reverse'])) ::slotted(vaadin-avatar:last-child),
diff --git a/packages/avatar-group/src/vaadin-avatar-group.js b/packages/avatar-group/src/vaadin-avatar-group.js
index 61b5164838e..5e2c6f1668e 100644
--- a/packages/avatar-group/src/vaadin-avatar-group.js
+++ b/packages/avatar-group/src/vaadin-avatar-group.js
@@ -73,6 +73,10 @@ class AvatarGroup extends AvatarGroupMixin(ElementMixin(ThemableMixin(PolylitMix
return avatarGroupStyles;
}
+ static get lumoInjector() {
+ return { ...super.lumoInjector, includeBaseStyles: true };
+ }
+
/** @protected */
render() {
return html`
diff --git a/packages/avatar-group/test/visual/base/avatar-group.test.js b/packages/avatar-group/test/visual/base/avatar-group.test.js
index 8572fcdc011..90b34982b3f 100644
--- a/packages/avatar-group/test/visual/base/avatar-group.test.js
+++ b/packages/avatar-group/test/visual/base/avatar-group.test.js
@@ -17,6 +17,12 @@ describe('avatar-group', () => {
await visualDiff(div, 'basic');
});
+ it('reverse', async () => {
+ element.items = [{ name: 'Abc Def' }, { name: 'Ghi Jkl' }, { name: 'Mno Pqr' }, { name: 'Stu Vwx' }];
+ element.setAttribute('theme', 'reverse');
+ await visualDiff(div, 'reverse');
+ });
+
it('max-items-visible', async () => {
element.maxItemsVisible = 3;
element.items = [{ name: 'Abc Def' }, { name: 'Ghi Jkl' }, { name: 'Mno Pqr' }, { name: 'Stu Vwx' }];
diff --git a/packages/avatar-group/test/visual/base/screenshots/avatar-group/baseline/reverse.png b/packages/avatar-group/test/visual/base/screenshots/avatar-group/baseline/reverse.png
new file mode 100644
index 00000000000..f51ab616bcf
Binary files /dev/null and b/packages/avatar-group/test/visual/base/screenshots/avatar-group/baseline/reverse.png differ
diff --git a/packages/avatar-group/test/visual/lumo/avatar-group.test.js b/packages/avatar-group/test/visual/lumo/avatar-group.test.js
index 33a53d7d56d..7c5c8737e3e 100644
--- a/packages/avatar-group/test/visual/lumo/avatar-group.test.js
+++ b/packages/avatar-group/test/visual/lumo/avatar-group.test.js
@@ -20,6 +20,12 @@ describe('avatar-group', () => {
await visualDiff(div, 'basic');
});
+ it('reverse', async () => {
+ element.items = [{ name: 'Abc Def' }, { name: 'Ghi Jkl' }, { name: 'Mno Pqr' }, { name: 'Stu Vwx' }];
+ element.setAttribute('theme', 'reverse');
+ await visualDiff(div, 'reverse');
+ });
+
it('max-items-visible', async () => {
element.maxItemsVisible = 3;
element.items = [{ name: 'Abc Def' }, { name: 'Ghi Jkl' }, { name: 'Mno Pqr' }, { name: 'Stu Vwx' }];
diff --git a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/avatar-size.png b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/avatar-size.png
index bcdaa8dec17..5f6a3d5fbdc 100644
Binary files a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/avatar-size.png and b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/avatar-size.png differ
diff --git a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/basic.png b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/basic.png
index ccde37c85fc..621e00018a3 100644
Binary files a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/basic.png and b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/basic.png differ
diff --git a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/color-index.png b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/color-index.png
index b88e7d4ff3c..c6155815810 100644
Binary files a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/color-index.png and b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/color-index.png differ
diff --git a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/max-items-visible.png b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/max-items-visible.png
index ea2d40cc6ad..d7dd6d91574 100644
Binary files a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/max-items-visible.png and b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/max-items-visible.png differ
diff --git a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/opened.png b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/opened.png
index e41bd6cf20b..6e6f6070de5 100644
Binary files a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/opened.png and b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/opened.png differ
diff --git a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/reverse.png b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/reverse.png
new file mode 100644
index 00000000000..852bbd6ad09
Binary files /dev/null and b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/reverse.png differ
diff --git a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-large.png b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-large.png
index 8e9292a1c8a..aa7bad53b80 100644
Binary files a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-large.png and b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-large.png differ
diff --git a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-small.png b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-small.png
index 9463e7db6ce..e9eef1c433f 100644
Binary files a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-small.png and b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-small.png differ
diff --git a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-xlarge.png b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-xlarge.png
index aa9b2e3aaee..5eaaca6fcb1 100644
Binary files a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-xlarge.png and b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-xlarge.png differ
diff --git a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-xsmall.png b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-xsmall.png
index 4514e034e74..5cb826fd2c4 100644
Binary files a/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-xsmall.png and b/packages/avatar-group/test/visual/lumo/screenshots/avatar-group/baseline/theme-xsmall.png differ
diff --git a/packages/vaadin-lumo-styles/src/components/avatar-group.css b/packages/vaadin-lumo-styles/src/components/avatar-group.css
index 2e283a57118..75d92eb0aeb 100644
--- a/packages/vaadin-lumo-styles/src/components/avatar-group.css
+++ b/packages/vaadin-lumo-styles/src/components/avatar-group.css
@@ -5,40 +5,20 @@
*/
@media lumo_components_avatar-group {
:host {
- display: block;
- width: 100%; /* prevent collapsing inside non-stretching column flex */
--vaadin-avatar-size: var(--lumo-size-m);
--vaadin-avatar-group-overlap: 8px;
/* Deprecated property name (overlap-border), for backwards compatibility */
--vaadin-avatar-group-overlap-border: var(--vaadin-avatar-group-gap, 2px);
}
- :host([hidden]) {
- display: none !important;
- }
-
- [part='container'] {
- display: flex;
- position: relative;
- width: 100%;
- flex-wrap: nowrap;
- }
-
- ::slotted(vaadin-avatar:not(:first-of-type)) {
- mask-image: url('data:image/svg+xml;utf8,');
+ ::slotted(vaadin-avatar) {
+ --_gap: var(--vaadin-avatar-group-overlap-border);
+ --_outline-width: var(--vaadin-avatar-outline-width);
mask-size: calc(300% + var(--vaadin-avatar-group-overlap-border) * 6 - var(--vaadin-avatar-outline-width) * 6);
}
- ::slotted(vaadin-avatar:not([dir='rtl']):not(:first-of-type)) {
- margin-left: calc(var(--vaadin-avatar-group-overlap) * -1 - var(--vaadin-avatar-outline-width));
- mask-position: calc(50% - var(--vaadin-avatar-size) + var(--vaadin-avatar-group-overlap));
- }
-
- ::slotted(vaadin-avatar[dir='rtl']:not(:first-of-type)) {
- margin-right: calc(var(--vaadin-avatar-group-overlap) * -1);
- mask-position: calc(
- 50% + var(--vaadin-avatar-size) - var(--vaadin-avatar-group-overlap) + var(--vaadin-avatar-outline-width)
- );
+ ::slotted(vaadin-avatar:not(:first-of-type)) {
+ margin-inline-start: calc(var(--_overlap) * -1 - var(--vaadin-avatar-outline-width));
}
:host([theme~='xlarge']) {