diff --git a/core/src/components/avatar/avatar.common.scss b/core/src/components/avatar/avatar.common.scss index 2f4d5f07213..16c9db390cc 100644 --- a/core/src/components/avatar/avatar.common.scss +++ b/core/src/components/avatar/avatar.common.scss @@ -10,6 +10,8 @@ @include border-radius(var(--border-radius)); display: block; + + position: relative; } ::slotted(ion-img), diff --git a/core/src/components/avatar/avatar.ionic.scss b/core/src/components/avatar/avatar.ionic.scss index 4ed8f8762e5..efd5b7bb82f 100644 --- a/core/src/components/avatar/avatar.ionic.scss +++ b/core/src/components/avatar/avatar.ionic.scss @@ -152,3 +152,22 @@ width: globals.$ion-scale-1000; height: globals.$ion-scale-1000; } + +// Avatar Empty Badge (hint) +// -------------------------------------------------- + +:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-top:empty) { + transform: translate(globals.$ion-scale-100, calc(globals.$ion-scale-100 * -1)); +} + +:host(:not(.avatar-xxsmall)) ::slotted(ion-badge.badge-vertical-top:empty) { + transform: translate(globals.$ion-scale-050, calc(globals.$ion-scale-050 * -1)); +} + +:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-bottom:empty) { + transform: translate(globals.$ion-scale-100, calc(globals.$ion-scale-100)); +} + +:host(:not(.avatar-xxsmall)) ::slotted(ion-badge.badge-vertical-bottom:empty) { + transform: translate(0, globals.$ion-scale-100); +} diff --git a/core/src/components/avatar/avatar.md.scss b/core/src/components/avatar/avatar.md.scss index 200f570704e..91d365c7a58 100644 --- a/core/src/components/avatar/avatar.md.scss +++ b/core/src/components/avatar/avatar.md.scss @@ -10,3 +10,14 @@ width: $avatar-md-width; height: $avatar-md-height; } + +// Avatar Empty Badge (hint) +// -------------------------------------------------- + +::slotted(ion-badge.badge-vertical-top:empty) { + transform: translate(-50%, 50%); +} + +::slotted(ion-badge.badge-vertical-bottom:empty) { + transform: translateX(-100%); +} diff --git a/core/src/components/badge/badge.common.scss b/core/src/components/badge/badge.common.scss index 9a03c11714c..b394d98934b 100644 --- a/core/src/components/badge/badge.common.scss +++ b/core/src/components/badge/badge.common.scss @@ -51,7 +51,7 @@ // Badge Empty (hint) // -------------------------------------------------- -:host(:empty[vertical]) { +:host([vertical]) { @include position(null, 0, null, null); position: absolute; } diff --git a/core/src/components/badge/badge.ionic.scss b/core/src/components/badge/badge.ionic.scss index ca1bd8194d4..8e6eb2ff9da 100644 --- a/core/src/components/badge/badge.ionic.scss +++ b/core/src/components/badge/badge.ionic.scss @@ -154,10 +154,6 @@ --padding-end: 0; } -:host(:empty[vertical]) { - border: globals.$ion-border-size-025 globals.$ion-border-style-solid globals.$ion-bg-surface-inverse; -} - // Badge Sizes Empty // -------------------------------------------------- diff --git a/core/src/components/badge/test/hint/badge.e2e.ts b/core/src/components/badge/test/hint/badge.e2e.ts index d7a92357375..1446f106e0c 100644 --- a/core/src/components/badge/test/hint/badge.e2e.ts +++ b/core/src/components/badge/test/hint/badge.e2e.ts @@ -2,13 +2,23 @@ import { expect } from '@playwright/test'; import { configs, test } from '@utils/test/playwright'; configs({ directions: ['ltr'], modes: ['md', 'ios', 'ionic-md'] }).forEach(({ config, screenshot, title }) => { - test.describe(title('badge: hint'), () => { + test.describe(title('badge: hint empty'), () => { test('should not have visual regressions', async ({ page }) => { await page.goto('/src/components/badge/test/hint', config); - const container = page.locator('ion-list'); + const container = page.locator('#empty'); - await expect(container).toHaveScreenshot(screenshot(`badge-hint`)); + await expect(container).toHaveScreenshot(screenshot(`badge-hint-empty`)); + }); + }); + + test.describe(title('badge: hint inside avatar'), () => { + test('should not have visual regressions', async ({ page }) => { + await page.goto('/src/components/badge/test/hint', config); + + const container = page.locator('#avatar'); + + await expect(container).toHaveScreenshot(screenshot(`badge-hint-avatar`)); }); }); }); diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ionic-md-ltr-light-Mobile-Chrome-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ionic-md-ltr-light-Mobile-Chrome-linux.png new file mode 100644 index 00000000000..7949181a234 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ionic-md-ltr-light-Mobile-Chrome-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ionic-md-ltr-light-Mobile-Firefox-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ionic-md-ltr-light-Mobile-Firefox-linux.png new file mode 100644 index 00000000000..aaafbd16897 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ionic-md-ltr-light-Mobile-Firefox-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ionic-md-ltr-light-Mobile-Safari-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ionic-md-ltr-light-Mobile-Safari-linux.png new file mode 100644 index 00000000000..80aa49bc54b Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ionic-md-ltr-light-Mobile-Safari-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 00000000000..0d6359b3eb9 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 00000000000..20bad41c2a5 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ios-ltr-Mobile-Safari-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 00000000000..ff002c850ff Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-md-ltr-Mobile-Chrome-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 00000000000..97a2d440cc5 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-md-ltr-Mobile-Firefox-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 00000000000..177ed499938 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-md-ltr-Mobile-Safari-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 00000000000..c69099ddfc9 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-avatar-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ionic-md-ltr-light-Mobile-Chrome-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ionic-md-ltr-light-Mobile-Chrome-linux.png new file mode 100644 index 00000000000..e14a8f91100 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ionic-md-ltr-light-Mobile-Chrome-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ionic-md-ltr-light-Mobile-Firefox-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ionic-md-ltr-light-Mobile-Firefox-linux.png new file mode 100644 index 00000000000..18c64d56fc9 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ionic-md-ltr-light-Mobile-Firefox-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ionic-md-ltr-light-Mobile-Safari-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ionic-md-ltr-light-Mobile-Safari-linux.png new file mode 100644 index 00000000000..0735b108c99 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ionic-md-ltr-light-Mobile-Safari-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 00000000000..da289063e71 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 00000000000..a0b72987482 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ios-ltr-Mobile-Safari-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 00000000000..2e5bc7ca262 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-md-ltr-Mobile-Chrome-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 00000000000..cff64310196 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-md-ltr-Mobile-Firefox-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 00000000000..13ae67e41e2 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-md-ltr-Mobile-Safari-linux.png b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 00000000000..c0cc41f4971 Binary files /dev/null and b/core/src/components/badge/test/hint/badge.e2e.ts-snapshots/badge-hint-empty-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/badge/test/hint/index.html b/core/src/components/badge/test/hint/index.html index aab6c5d7cc0..1219fdac763 100644 --- a/core/src/components/badge/test/hint/index.html +++ b/core/src/components/badge/test/hint/index.html @@ -23,7 +23,7 @@ - + Badge Empty @@ -40,6 +40,64 @@ + + + + Inside Avatar + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+