From 0d5e3699b5915b8c1032834d5bc4f05be71388fe Mon Sep 17 00:00:00 2001 From: Liu Liu Date: Thu, 15 Oct 2026 15:16:36 -0700 Subject: [PATCH 1/3] test(Avatar): cover CSS size override regression Add browser coverage that verifies consumer sizing overrides remain square, guarding against the regression exposed by #8550. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- e2e/components/Avatar.test.ts | 11 +++++++++++ packages/react/src/Avatar/Avatar.dev.stories.tsx | 10 ++++++++++ 2 files changed, 21 insertions(+) create mode 100644 packages/react/src/Avatar/Avatar.dev.stories.tsx diff --git a/e2e/components/Avatar.test.ts b/e2e/components/Avatar.test.ts index 00d706cc0e1..ac1e07f985e 100644 --- a/e2e/components/Avatar.test.ts +++ b/e2e/components/Avatar.test.ts @@ -11,6 +11,11 @@ const stories = [ title: 'Size', id: 'components-avatar-features--size', }, + { + title: 'CSS Size Override Regression', + id: 'components-avatar-dev--css-size-override-regression', + expectedSize: 16, + }, { title: 'Size Responsive', id: 'components-avatar-features--size-responsive', @@ -34,6 +39,12 @@ test.describe('Avatar', () => { }, }) + if ('expectedSize' in story) { + const avatar = page.getByRole('img') + await expect(avatar).toHaveCSS('width', `${story.expectedSize}px`) + await expect(avatar).toHaveCSS('height', `${story.expectedSize}px`) + } + // Default state await expect(page).toHaveScreenshot(`Avatar.${story.title}.${theme}.png`) }) diff --git a/packages/react/src/Avatar/Avatar.dev.stories.tsx b/packages/react/src/Avatar/Avatar.dev.stories.tsx new file mode 100644 index 00000000000..5d9b9d5dec7 --- /dev/null +++ b/packages/react/src/Avatar/Avatar.dev.stories.tsx @@ -0,0 +1,10 @@ +import Avatar from './Avatar' + +export default { + title: 'Components/Avatar/Dev', +} + +// Regression fixture for consumer style overrides. Use the size prop for supported sizing. +export const CSSSizeOverrideRegression = () => ( + +) From 7dec1ff671ad84b843bb4ad158f6ab18cade18be Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 15 Oct 2026 22:46:28 +0000 Subject: [PATCH 2/3] test(vrt): add Avatar CSS size override baselines Co-authored-by: liuliu-dev <6688812+liuliu-dev@users.noreply.github.com> --- ...Override-Regression-dark-colorblind-linux.png | Bin 0 -> 4960 bytes ...ize-Override-Regression-dark-dimmed-linux.png | Bin 0 -> 4980 bytes ...rride-Regression-dark-high-contrast-linux.png | Bin 0 -> 5017 bytes ...r-CSS-Size-Override-Regression-dark-linux.png | Bin 0 -> 4960 bytes ...Override-Regression-dark-tritanopia-linux.png | Bin 0 -> 4960 bytes ...verride-Regression-light-colorblind-linux.png | Bin 0 -> 4916 bytes ...ride-Regression-light-high-contrast-linux.png | Bin 0 -> 5013 bytes ...-CSS-Size-Override-Regression-light-linux.png | Bin 0 -> 4916 bytes ...verride-Regression-light-tritanopia-linux.png | Bin 0 -> 4916 bytes 9 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-colorblind-linux.png create mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-dimmed-linux.png create mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-high-contrast-linux.png create mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-linux.png create mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-tritanopia-linux.png create mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-light-colorblind-linux.png create mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-light-high-contrast-linux.png create mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-light-linux.png create mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-light-tritanopia-linux.png diff --git a/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-colorblind-linux.png b/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-colorblind-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..24277ba6a1f833df03ab34dc85553920e524278f GIT binary patch literal 4960 zcmeI0drVVT9LEnMijN_pi)^&mZ6tQfq--FOF*Tqzyvp*)l@(p>X;yd zabs$E2&E!1)#(@=AeBNvil&HnR0=l)u6a{oCw=l8nb z&$;LPioc2qaa`xR4gla778<-40Q&{_f;Df!kyXJGe*iXuu;5+aX4TB7`w#}luIm|< z?@}J3{62iuevjro@A!Nizqb3}r-l5lOWQK+F=xt-yQ|i_w|QM-Jh{ayzVfBZN3@Hl zE`-K3p4{YI*L+E_#ZEY1t9RQSdMJ+A8!=mr>S|Ok?ig#D@GEB))N%yi9!z&m^^*%xG+^Yrn_an*A;n!%_TPthcU!)vjAFr1Skbll>}{ z>g6&*{)Js$Vg5u;PH6%t!j>rA>b29 z1Oj3E9agTTyNOJf?x21GKixq^>UM*0o6u}{;Qj6f0kx^Q`47wW4rNadlND3V+L}fn zlp>hjwT6M2Q6KogJa=k(9_Gi#=c2XhWSRD|F?zT#T}l0Uh+7^ zSHpE%Fm{~w(k0&Q)=AQdnX{+{>R@5vVzk=+pK6tqgf}(m3JbKOqodQ))B3(7LH1K^ z5Q-gEKC;MKs6C4$wdt|`cku+`6u3~}ApPuoRqc6KzSqkPMtBnQiZO&95usYBBXr{9 zh}=_YdU2H=XqtZ3Ik18a+V?ncQDWz8KbjOW;YMxn&roARdQHr}eeXdF)hP+A%WjND z63_A^QxjqiU}HjbU`3ni5U?ckK7kJeg%s4cj$u<01J;*-#MTH%)>Y{V>>#hs#tcj~ zB`VO-5uD@q9BGZCS-P%N2-^KziP$}iDm~IC3tBSuC85>|dWf`QQk8&}_4vW?q>HX0 zz)ys={ObF{toLlsKeA%BxC@loOVVeX<#hh>seV`r=xAgUL88ODs!%+718qpgmw|KGN$$EF^edj6wBu?;R8TsF9D zaJ_QRzE#~H3L67!t-S!7Kx_heMIiq#QQ)w%fa5J_X)wIKuC_t}duHdVOphwRONApK NY)@2h!|sDW{taz7@1Xzy literal 0 HcmV?d00001 diff --git a/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-dimmed-linux.png b/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-dimmed-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..8205735c9b8bba98f1e4d82c077f71461e532ca9 GIT binary patch literal 4980 zcmeHL{ZrC+0REU;?@GJfbZN?3?doRYDl1a&B)@ zg5Tnx#Q*@m#INJO1Hg9zE@0t2xaPxnQ49dfKw|v%?@O;*G}8LKBA>RgqF$9LL+Tiv zYrbNW?5wkVx$B#6_eXZGy>i<82kqMS5B!35MgFq)>9(M#Me`P2QM9dVT)JxCvam-9 zt#2kMSGcsCqcd<6-Lpr<9{Dr9p*IY7giVZLkg*oPKQwly4b9r|tx&5%S zErA$S`ub5{m{dPj3J<@h>eso{wXq!0+^@63*?Lr(8agRJ=kvJhZ*e%?du4u0 zcr;L5g{Bl&?XnRBdteb@8u|9DpFXvs^JQH}V@4d^T@xYN-k)h($)qEVUx~Ac%_TCX zJh#AuOxqvuEQuWq<7_5xh=l}_qsQ$0eVC@{R#hk5epr0F6S`$VAfq=knzYYL$A9n9 za`yC}Z*W30kFkW2`ur-)7#l;iG9$uKsI)yxV6G%ESIaLbFN9#$hujDb4zBKg^=xJo zhoiiZubS?OAfg&Hyd$&W6melsZ?fyU>#^NQ_qU%^nZgN>x=xC%v$hh}PerQ@=K&#$XM zBt_5+*M$k}_QB%zXi_c-`9vBQJ5b>2;)zQqXD-(9qFwMxQDMdg;h6CyTE!d>IF6i*V$TT(0`U7F4I>jG}E*j>0`d1E7)Ck5V@ttf*bR`yxt;F)A{4vW$ zMn5i(y0*cE+jPZEgp2oYR3j$HV2?=cMCeY|*Qd^a)e<RHJ8_1{|j?z{P0ZpV<5!y7w|9N-QLvjrpA9UHJrWxxZRDP iV9&sh_xT>9_=3x;Z|eyiX+dxeNZgqe->_r*`BUwNaGRlUeA@8z-ALT+4hkv-nD4#&o3O_!Q;cUiuYCTXXdD2JAagei zVO~i-043ABFpRnOap3b+{o}zmh2lxzNJI_-fKLr50KT|O03hidUW~)BB3c;woE}_t z+ny)=_O`Zrrhw1qhlIX2QRmP%ogpB9w$v5Vnvb2W5^VQYw6?o)g@?5@XuM>n-|ZfF zX(*GBNJvz(^DfeM*z#gg{kB{aQ)zU<&^IrT!%OLyY+J@KPa?X@rc+sN3f&{Jke>$o zMhtYnp)MMcwuI|fcbnA&FaOx2rf7KBo*z4NWE_9&iZ_)SqN%|w5alZ4Xt-|U0^!qE z({;=*{bCD+9=NY4M+HytxCgSbvfxn-(kSMY!$W=gHhUQ_Axq_vp|_;P<5-4@N*eV- zHJ@54CsmMYptMfB-z`7~2A~=Cc2_dvs#dqqyE z@`+}u*Sb0Haq^V%CiIy#$YA$R1uo-KhPK7^H$}sjjlK#|bbsRvuaMI<#BB3XY4WQK zo`ArSJ3448)v?;zT7sq*I@+G0NkJ6LJMKKsmmRRsElw#V%XpZIpfL`mXZP9A!NClS z7go@b$E_kUku@-yXczAn?UmgcyB)VhMvqyfV-G&Gkpg1z4TsQ4!QOOO%>>I0K|K{U z>+Q5cQ_Qlx135fAXZcJl7Ry^xBjM=^Y}<(vYlV>7rE6{T6k0IWXCsO^N`e=O+~%!#kpG}){A2!NB^ZEq|2aRo2Soxa-wQ!a%6oEqk6Q9p-*IKq`R`kgR1zk zKyf@ZMa}lO^e!F33Yn*gVzMobD<;M=@)Eymqhl&Yd!s4D#O_xZ2l3U}$I;-GlY& zVVS3j9(OF*Tqzyvp*)l@(p>X;yd zabs$E2&E!1)#(@=AeBNvil&HnR0=l)u6a{oCw=l8nb z&$;LPioc2qaa`xR4gla778<-40Q&{_f;Df!kyXJGe*iXuu;5+aX4TB7`w#}luIm|< z?@}J3{62iuevjro@A!Nizqb3}r-l5lOWQK+F=xt-yQ|i_w|QM-Jh{ayzVfBZN3@Hl zE`-K3p4{YI*L+E_#ZEY1t9RQSdMJ+A8!=mr>S|Ok?ig#D@GEB))N%yi9!z&m^^*%xG+^Yrn_an*A;n!%_TPthcU!)vjAFr1Skbll>}{ z>g6&*{)Js$Vg5u;PH6%t!j>rA>b29 z1Oj3E9agTTyNOJf?x21GKixq^>UM*0o6u}{;Qj6f0kx^Q`47wW4rNadlND3V+L}fn zlp>hjwT6M2Q6KogJa=k(9_Gi#=c2XhWSRD|F?zT#T}l0Uh+7^ zSHpE%Fm{~w(k0&Q)=AQdnX{+{>R@5vVzk=+pK6tqgf}(m3JbKOqodQ))B3(7LH1K^ z5Q-gEKC;MKs6C4$wdt|`cku+`6u3~}ApPuoRqc6KzSqkPMtBnQiZO&95usYBBXr{9 zh}=_YdU2H=XqtZ3Ik18a+V?ncQDWz8KbjOW;YMxn&roARdQHr}eeXdF)hP+A%WjND z63_A^QxjqiU}HjbU`3ni5U?ckK7kJeg%s4cj$u<01J;*-#MTH%)>Y{V>>#hs#tcj~ zB`VO-5uD@q9BGZCS-P%N2-^KziP$}iDm~IC3tBSuC85>|dWf`QQk8&}_4vW?q>HX0 zz)ys={ObF{toLlsKeA%BxC@loOVVeX<#hh>seV`r=xAgUL88ODs!%+718qpgmw|KGN$$EF^edj6wBu?;R8TsF9D zaJ_QRzE#~H3L67!t-S!7Kx_heMIiq#QQ)w%fa5J_X)wIKuC_t}duHdVOphwRONApK NY)@2h!|sDW{taz7@1Xzy literal 0 HcmV?d00001 diff --git a/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-tritanopia-linux.png b/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-tritanopia-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..24277ba6a1f833df03ab34dc85553920e524278f GIT binary patch literal 4960 zcmeI0drVVT9LEnMijN_pi)^&mZ6tQfq--FOF*Tqzyvp*)l@(p>X;yd zabs$E2&E!1)#(@=AeBNvil&HnR0=l)u6a{oCw=l8nb z&$;LPioc2qaa`xR4gla778<-40Q&{_f;Df!kyXJGe*iXuu;5+aX4TB7`w#}luIm|< z?@}J3{62iuevjro@A!Nizqb3}r-l5lOWQK+F=xt-yQ|i_w|QM-Jh{ayzVfBZN3@Hl zE`-K3p4{YI*L+E_#ZEY1t9RQSdMJ+A8!=mr>S|Ok?ig#D@GEB))N%yi9!z&m^^*%xG+^Yrn_an*A;n!%_TPthcU!)vjAFr1Skbll>}{ z>g6&*{)Js$Vg5u;PH6%t!j>rA>b29 z1Oj3E9agTTyNOJf?x21GKixq^>UM*0o6u}{;Qj6f0kx^Q`47wW4rNadlND3V+L}fn zlp>hjwT6M2Q6KogJa=k(9_Gi#=c2XhWSRD|F?zT#T}l0Uh+7^ zSHpE%Fm{~w(k0&Q)=AQdnX{+{>R@5vVzk=+pK6tqgf}(m3JbKOqodQ))B3(7LH1K^ z5Q-gEKC;MKs6C4$wdt|`cku+`6u3~}ApPuoRqc6KzSqkPMtBnQiZO&95usYBBXr{9 zh}=_YdU2H=XqtZ3Ik18a+V?ncQDWz8KbjOW;YMxn&roARdQHr}eeXdF)hP+A%WjND z63_A^QxjqiU}HjbU`3ni5U?ckK7kJeg%s4cj$u<01J;*-#MTH%)>Y{V>>#hs#tcj~ zB`VO-5uD@q9BGZCS-P%N2-^KziP$}iDm~IC3tBSuC85>|dWf`QQk8&}_4vW?q>HX0 zz)ys={ObF{toLlsKeA%BxC@loOVVeX<#hh>seV`r=xAgUL88ODs!%+718qpgmw|KGN$$EF^edj6wBu?;R8TsF9D zaJ_QRzE#~H3L67!t-S!7Kx_heMIiq#QQ)w%fa5J_X)wIKuC_t}duHdVOphwRONApK NY)@2h!|sDW{taz7@1Xzy literal 0 HcmV?d00001 diff --git a/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-light-colorblind-linux.png b/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-light-colorblind-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..f7f01b5d8c6115e9cd645fb54ffc662a2a412146 GIT binary patch literal 4916 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 Date: Thu, 15 Oct 2026 16:42:19 -0700 Subject: [PATCH 3/3] test(Avatar): make CSS override check assertion-only Avoid screenshot baselines for the development-only regression fixture so the test fails only when computed dimensions change. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- ...Override-Regression-dark-colorblind-linux.png | Bin 4960 -> 0 bytes ...ize-Override-Regression-dark-dimmed-linux.png | Bin 4980 -> 0 bytes ...rride-Regression-dark-high-contrast-linux.png | Bin 5017 -> 0 bytes ...r-CSS-Size-Override-Regression-dark-linux.png | Bin 4960 -> 0 bytes ...Override-Regression-dark-tritanopia-linux.png | Bin 4960 -> 0 bytes ...verride-Regression-light-colorblind-linux.png | Bin 4916 -> 0 bytes ...ride-Regression-light-high-contrast-linux.png | Bin 5013 -> 0 bytes ...-CSS-Size-Override-Regression-light-linux.png | Bin 4916 -> 0 bytes ...verride-Regression-light-tritanopia-linux.png | Bin 4916 -> 0 bytes e2e/components/Avatar.test.ts | 6 +++--- 10 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-colorblind-linux.png delete mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-dimmed-linux.png delete mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-high-contrast-linux.png delete mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-linux.png delete mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-tritanopia-linux.png delete mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-light-colorblind-linux.png delete mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-light-high-contrast-linux.png delete mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-light-linux.png delete mode 100644 .playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-light-tritanopia-linux.png diff --git a/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-colorblind-linux.png b/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-colorblind-linux.png deleted file mode 100644 index 24277ba6a1f833df03ab34dc85553920e524278f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4960 zcmeI0drVVT9LEnMijN_pi)^&mZ6tQfq--FOF*Tqzyvp*)l@(p>X;yd zabs$E2&E!1)#(@=AeBNvil&HnR0=l)u6a{oCw=l8nb z&$;LPioc2qaa`xR4gla778<-40Q&{_f;Df!kyXJGe*iXuu;5+aX4TB7`w#}luIm|< z?@}J3{62iuevjro@A!Nizqb3}r-l5lOWQK+F=xt-yQ|i_w|QM-Jh{ayzVfBZN3@Hl zE`-K3p4{YI*L+E_#ZEY1t9RQSdMJ+A8!=mr>S|Ok?ig#D@GEB))N%yi9!z&m^^*%xG+^Yrn_an*A;n!%_TPthcU!)vjAFr1Skbll>}{ z>g6&*{)Js$Vg5u;PH6%t!j>rA>b29 z1Oj3E9agTTyNOJf?x21GKixq^>UM*0o6u}{;Qj6f0kx^Q`47wW4rNadlND3V+L}fn zlp>hjwT6M2Q6KogJa=k(9_Gi#=c2XhWSRD|F?zT#T}l0Uh+7^ zSHpE%Fm{~w(k0&Q)=AQdnX{+{>R@5vVzk=+pK6tqgf}(m3JbKOqodQ))B3(7LH1K^ z5Q-gEKC;MKs6C4$wdt|`cku+`6u3~}ApPuoRqc6KzSqkPMtBnQiZO&95usYBBXr{9 zh}=_YdU2H=XqtZ3Ik18a+V?ncQDWz8KbjOW;YMxn&roARdQHr}eeXdF)hP+A%WjND z63_A^QxjqiU}HjbU`3ni5U?ckK7kJeg%s4cj$u<01J;*-#MTH%)>Y{V>>#hs#tcj~ zB`VO-5uD@q9BGZCS-P%N2-^KziP$}iDm~IC3tBSuC85>|dWf`QQk8&}_4vW?q>HX0 zz)ys={ObF{toLlsKeA%BxC@loOVVeX<#hh>seV`r=xAgUL88ODs!%+718qpgmw|KGN$$EF^edj6wBu?;R8TsF9D zaJ_QRzE#~H3L67!t-S!7Kx_heMIiq#QQ)w%fa5J_X)wIKuC_t}duHdVOphwRONApK NY)@2h!|sDW{taz7@1Xzy diff --git a/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-dimmed-linux.png b/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-dimmed-linux.png deleted file mode 100644 index 8205735c9b8bba98f1e4d82c077f71461e532ca9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4980 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 NY)@2h!|sDW{taz7@1Xzy diff --git a/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-tritanopia-linux.png b/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-dark-tritanopia-linux.png deleted file mode 100644 index 24277ba6a1f833df03ab34dc85553920e524278f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4960 zcmeI0drVVT9LEnMijN_pi)^&mZ6tQfq--FOF*Tqzyvp*)l@(p>X;yd zabs$E2&E!1)#(@=AeBNvil&HnR0=l)u6a{oCw=l8nb z&$;LPioc2qaa`xR4gla778<-40Q&{_f;Df!kyXJGe*iXuu;5+aX4TB7`w#}luIm|< z?@}J3{62iuevjro@A!Nizqb3}r-l5lOWQK+F=xt-yQ|i_w|QM-Jh{ayzVfBZN3@Hl zE`-K3p4{YI*L+E_#ZEY1t9RQSdMJ+A8!=mr>S|Ok?ig#D@GEB))N%yi9!z&m^^*%xG+^Yrn_an*A;n!%_TPthcU!)vjAFr1Skbll>}{ z>g6&*{)Js$Vg5u;PH6%t!j>rA>b29 z1Oj3E9agTTyNOJf?x21GKixq^>UM*0o6u}{;Qj6f0kx^Q`47wW4rNadlND3V+L}fn zlp>hjwT6M2Q6KogJa=k(9_Gi#=c2XhWSRD|F?zT#T}l0Uh+7^ zSHpE%Fm{~w(k0&Q)=AQdnX{+{>R@5vVzk=+pK6tqgf}(m3JbKOqodQ))B3(7LH1K^ z5Q-gEKC;MKs6C4$wdt|`cku+`6u3~}ApPuoRqc6KzSqkPMtBnQiZO&95usYBBXr{9 zh}=_YdU2H=XqtZ3Ik18a+V?ncQDWz8KbjOW;YMxn&roARdQHr}eeXdF)hP+A%WjND z63_A^QxjqiU}HjbU`3ni5U?ckK7kJeg%s4cj$u<01J;*-#MTH%)>Y{V>>#hs#tcj~ zB`VO-5uD@q9BGZCS-P%N2-^KziP$}iDm~IC3tBSuC85>|dWf`QQk8&}_4vW?q>HX0 zz)ys={ObF{toLlsKeA%BxC@loOVVeX<#hh>seV`r=xAgUL88ODs!%+718qpgmw|KGN$$EF^edj6wBu?;R8TsF9D zaJ_QRzE#~H3L67!t-S!7Kx_heMIiq#QQ)w%fa5J_X)wIKuC_t}duHdVOphwRONApK NY)@2h!|sDW{taz7@1Xzy diff --git a/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-light-colorblind-linux.png b/.playwright/snapshots/components/Avatar.test.ts-snapshots/Avatar-CSS-Size-Override-Regression-light-colorblind-linux.png deleted file mode 100644 index f7f01b5d8c6115e9cd645fb54ffc662a2a412146..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4916 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 { const avatar = page.getByRole('img') await expect(avatar).toHaveCSS('width', `${story.expectedSize}px`) await expect(avatar).toHaveCSS('height', `${story.expectedSize}px`) + } else { + // Default state + await expect(page).toHaveScreenshot(`Avatar.${story.title}.${theme}.png`) } - - // Default state - await expect(page).toHaveScreenshot(`Avatar.${story.title}.${theme}.png`) }) }) }