From 777521f218f687a51a567428fc63e255e9800e06 Mon Sep 17 00:00:00 2001 From: Maria Hutt Date: Fri, 31 May 2024 11:47:13 -0700 Subject: [PATCH] feat(badge): add soft to the ionic theme (#29573) Co-authored-by: Brandy Carney --- core/api.txt | 1 + core/src/components.d.ts | 8 ++ core/src/components/badge/badge.ionic.scss | 14 ++++ core/src/components/badge/badge.tsx | 25 ++++++ .../components/badge/test/shape/badge.e2e.ts | 77 ++++++++++++++++++ ...ionic-md-ltr-light-Mobile-Chrome-linux.png | Bin 0 -> 1343 bytes ...onic-md-ltr-light-Mobile-Firefox-linux.png | Bin 0 -> 2107 bytes ...ionic-md-ltr-light-Mobile-Safari-linux.png | Bin 0 -> 1265 bytes ...ionic-md-ltr-light-Mobile-Chrome-linux.png | Bin 0 -> 2709 bytes ...onic-md-ltr-light-Mobile-Firefox-linux.png | Bin 0 -> 4388 bytes ...ionic-md-ltr-light-Mobile-Safari-linux.png | Bin 0 -> 2500 bytes ...ionic-md-ltr-light-Mobile-Chrome-linux.png | Bin 0 -> 809 bytes ...onic-md-ltr-light-Mobile-Firefox-linux.png | Bin 0 -> 1159 bytes ...ionic-md-ltr-light-Mobile-Safari-linux.png | Bin 0 -> 794 bytes ...ionic-md-ltr-light-Mobile-Chrome-linux.png | Bin 0 -> 1781 bytes ...onic-md-ltr-light-Mobile-Firefox-linux.png | Bin 0 -> 2403 bytes ...ionic-md-ltr-light-Mobile-Safari-linux.png | Bin 0 -> 1677 bytes .../components/badge/test/shape/index.html | 41 ++++++++++ packages/angular/src/directives/proxies.ts | 4 +- .../standalone/src/directives/proxies.ts | 4 +- packages/vue/src/proxies.ts | 1 + 21 files changed, 171 insertions(+), 4 deletions(-) create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-larger-sizes-ionic-md-ltr-light-Mobile-Chrome-linux.png create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-larger-sizes-ionic-md-ltr-light-Mobile-Firefox-linux.png create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-larger-sizes-ionic-md-ltr-light-Mobile-Safari-linux.png create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-larger-sizes-long-text-ionic-md-ltr-light-Mobile-Chrome-linux.png create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-larger-sizes-long-text-ionic-md-ltr-light-Mobile-Firefox-linux.png create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-larger-sizes-long-text-ionic-md-ltr-light-Mobile-Safari-linux.png create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-smaller-sizes-ionic-md-ltr-light-Mobile-Chrome-linux.png create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-smaller-sizes-ionic-md-ltr-light-Mobile-Firefox-linux.png create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-smaller-sizes-ionic-md-ltr-light-Mobile-Safari-linux.png create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-smaller-sizes-long-text-ionic-md-ltr-light-Mobile-Chrome-linux.png create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-smaller-sizes-long-text-ionic-md-ltr-light-Mobile-Firefox-linux.png create mode 100644 core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-smaller-sizes-long-text-ionic-md-ltr-light-Mobile-Safari-linux.png create mode 100644 core/src/components/badge/test/shape/index.html diff --git a/core/api.txt b/core/api.txt index d84b70bc3b..549f3fbbac 100644 --- a/core/api.txt +++ b/core/api.txt @@ -312,6 +312,7 @@ ion-backdrop,event,ionBackdropTap,void,true ion-badge,shadow ion-badge,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true ion-badge,prop,mode,"ios" | "md",undefined,false,false +ion-badge,prop,shape,"soft" | undefined,undefined,false,false ion-badge,prop,size,"large" | "medium" | "small" | "xlarge" | "xsmall" | "xxsmall" | undefined,undefined,false,false ion-badge,prop,theme,"ios" | "md" | "ionic",undefined,false,false ion-badge,css-prop,--background,ionic diff --git a/core/src/components.d.ts b/core/src/components.d.ts index aa541317ec..e06f4f2962 100644 --- a/core/src/components.d.ts +++ b/core/src/components.d.ts @@ -417,6 +417,10 @@ export namespace Components { * The mode determines the platform behaviors of the component. */ "mode"?: "ios" | "md"; + /** + * Set to `"soft"` for slightly rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes. + */ + "shape"?: 'soft'; /** * Set to `"xxsmall"` for the smallest badge. Set to "xsmall" for a very small badge. Set to `"small"` for a small badge. Set to "medium" for a medium badge. Set to "large" for a large badge. Set to `"xlarge"` for the largest badge. Defaults to `"small"` for the `ionic` theme, undefined for all other themes. */ @@ -5661,6 +5665,10 @@ declare namespace LocalJSX { * The mode determines the platform behaviors of the component. */ "mode"?: "ios" | "md"; + /** + * Set to `"soft"` for slightly rounded corners. Defaults to `"round"` for the `ionic` theme, undefined for all other themes. + */ + "shape"?: 'soft'; /** * Set to `"xxsmall"` for the smallest badge. Set to "xsmall" for a very small badge. Set to `"small"` for a small badge. Set to "medium" for a medium badge. Set to "large" for a large badge. Set to `"xlarge"` for the largest badge. Defaults to `"small"` for the `ionic` theme, undefined for all other themes. */ diff --git a/core/src/components/badge/badge.ionic.scss b/core/src/components/badge/badge.ionic.scss index d0e4ac5a7e..b171a7b3c2 100644 --- a/core/src/components/badge/badge.ionic.scss +++ b/core/src/components/badge/badge.ionic.scss @@ -18,6 +18,20 @@ font-weight: globals.$ionic-font-weight-medium; } +// Badge Shapes +// -------------------------------------------------- + +/* Soft Badge */ +:host(.badge-soft) { + @include border-radius(globals.$ionic-border-radius-200); +} + +:host(.badge-xxsmall.badge-soft), +:host(.badge-xsmall.badge-soft), +:host(.badge-small.badge-soft) { + @include border-radius(globals.$ionic-border-radius-100); +} + // Badge Sizes // -------------------------------------------------- diff --git a/core/src/components/badge/badge.tsx b/core/src/components/badge/badge.tsx index 97f743d5ff..eb6a4ee191 100644 --- a/core/src/components/badge/badge.tsx +++ b/core/src/components/badge/badge.tsx @@ -26,6 +26,13 @@ export class Badge implements ComponentInterface { */ @Prop({ reflect: true }) color?: Color; + /** + * Set to `"soft"` for slightly rounded corners. + * + * Defaults to `"round"` for the `ionic` theme, undefined for all other themes. + */ + @Prop() shape?: 'soft'; + /** * Set to `"xxsmall"` for the smallest badge. * Set to "xsmall" for a very small badge. @@ -38,6 +45,22 @@ export class Badge implements ComponentInterface { */ @Prop() size?: 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'; + private getShape(): string | undefined { + const theme = getIonTheme(this); + const { shape } = this; + + // TODO(ROU-10777): Remove theme check when shapes are defined for all themes. + if (theme !== 'ionic') { + return undefined; + } + + if (shape === undefined) { + return 'round'; + } + + return shape; + } + private getSize(): string | undefined { const theme = getIonTheme(this); const { size } = this; @@ -55,12 +78,14 @@ export class Badge implements ComponentInterface { } render() { + const shape = this.getShape(); const size = this.getSize(); const theme = getIonTheme(this); return ( diff --git a/core/src/components/badge/test/shape/badge.e2e.ts b/core/src/components/badge/test/shape/badge.e2e.ts new file mode 100644 index 0000000000..32bfa16bf5 --- /dev/null +++ b/core/src/components/badge/test/shape/badge.e2e.ts @@ -0,0 +1,77 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +/** + * This behavior does not vary across directions. + */ +configs({ directions: ['ltr'], modes: ['ionic-md'] }).forEach(({ config, screenshot, title }) => { + test.describe(title('badge: shape'), () => { + test('should render soft badges for smaller sizes', async ({ page }) => { + await page.setContent( + ` +
+ 1 + 1 + 1 +
+ `, + config + ); + + const container = page.locator('#container'); + + await expect(container).toHaveScreenshot(screenshot(`badge-shape-soft-smaller-sizes`)); + }); + + test('should render soft badges with long text for smaller sizes', async ({ page }) => { + await page.setContent( + ` +
+ 99+ + 99+ + 99+ +
+ `, + config + ); + + const container = page.locator('#container'); + + await expect(container).toHaveScreenshot(screenshot(`badge-shape-soft-smaller-sizes-long-text`)); + }); + + test('should render soft badges for larger sizes', async ({ page }) => { + await page.setContent( + ` +
+ 1 + 1 + 1 +
+ `, + config + ); + + const container = page.locator('#container'); + + await expect(container).toHaveScreenshot(screenshot(`badge-shape-soft-larger-sizes`)); + }); + + test('should render soft badges with long text for larger sizes', async ({ page }) => { + await page.setContent( + ` +
+ 99+ + 99+ + 99+ +
+ `, + config + ); + + const container = page.locator('#container'); + + await expect(container).toHaveScreenshot(screenshot(`badge-shape-soft-larger-sizes-long-text`)); + }); + }); +}); diff --git a/core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-larger-sizes-ionic-md-ltr-light-Mobile-Chrome-linux.png b/core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-larger-sizes-ionic-md-ltr-light-Mobile-Chrome-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..9443d536c2e62baee1468eec4a682ff1270e32bb GIT binary patch literal 1343 zcmV-F1;F}=P)Px(`AI}URCt{2-Ct;xbsWd>&-0vT?RY#YZutjVY_gE@A}tg~I4IJaKr}29*+rHq z1VtB>Q9+0-&{0?YyBJt0UKj-$6hWiWzCO#|jHPg|Y0_^aj^5=3aE-GE z*DlNz+{)a5_xOd`jy0>IPZpbw0H6#`Za4J}hFbN~u=XFdw?Rl!X+qj}bWCerxum{9 z_U8e($H^w)+FSv10{~p*T$AV>D5~SwnCTeP)^Ti%)dT?NIM*axohx8&0Dy~}YZ5Nc z6)-mdz%|Y_376*zm>U4#nkg4EXM66Tn&t|a8vx*%YfZw`+`;f@q@Mnwdism%?7GbJ z2mrt$zATzMV6FfF?BdJ9xdY}3X2zQ4K>OPA`uUxDt-YJai~>j&*gAL6acoT6TC+Tl zpbVa*mgO~itff|)Te50g*;YimoKqGzZ$XKBwE~d)l;rq>^tvV~+G*(UIOOregqrmC9}s^Rk|{wPv+z z{T$u5?BBQR`jP#707!$fo5b!-IlZ=duELUZ_CiU^7PFxb0BKS7nZ%j%CB1OqFWs^8 zqTc-M@5-bC09c{ymBhhs`ERWNkXBWHy9odguj=O{s>z|Af)4SV4gk}@N&)~7izWd8 zh((hC0L0=<;s#C6{%$$~09b>S1OOlwO#%QAtD@UYom~ZWc5%fL0Mde$1OOlwO#%QA zizWd8h((hC0K}q6003h7OBUGMCvKL_=DbPLR!@>N*9KGze^rycL)SOUW^>*oX{#qm znrj291x;cWrLCSMX|4^Z7XFTPb99@9-{pMP(=+SlOnKebyh+klPm;KL0l3A#YiUM% zw&YFcm}2kNxoTdTnew`=d6T5Ao+NSg0&t5LMNu>{A+6qhNvD1ZP3Ms&w<%8UtCJsd z?rB@zBx$QBNm9K4+~G@-?@Pzq>$H1gP8ow=?2IqHyfLTV_W%9`V@uv7X{#s6t=0>` z9bObg(e*E!7%1w)?t)JL8tU}9P{X59{7+XvecscGhCuf;1ls;kRxQhGruFl)oi|C^ z>Pb>=y#VYsrAYt)a21;Z0DxFD2>?JWngjqK);~nQj` literal 0 HcmV?d00001 diff --git a/core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-larger-sizes-ionic-md-ltr-light-Mobile-Firefox-linux.png b/core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-larger-sizes-ionic-md-ltr-light-Mobile-Firefox-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..512f45837335fa7792373a616feaf1dc0c944d80 GIT binary patch literal 2107 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 b00{CgPxRQ3CV6Yn|akHB& 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 P00000NkvXXu0mjfsAvwt literal 0 HcmV?d00001 diff --git a/core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-larger-sizes-long-text-ionic-md-ltr-light-Mobile-Firefox-linux.png b/core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-larger-sizes-long-text-ionic-md-ltr-light-Mobile-Firefox-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..df43559f406462f7005fbf6e93c7b312d4a06859 GIT binary patch literal 4388 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 literal 0 HcmV?d00001 diff --git a/core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-smaller-sizes-ionic-md-ltr-light-Mobile-Firefox-linux.png b/core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-smaller-sizes-ionic-md-ltr-light-Mobile-Firefox-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..ead53a8ce9cbc94e0de3a1b09b06951736e2494e GIT binary patch literal 1159 zcmV;21bF+2P)~_000C|NklKRRF50+gl?3%4 z)GDGNA&LmXaZ~t)iZ2zTPIpEOs~L}T&wcfNXM5+|bMEIH{ds46?lIElO9K8%jx5TR zzG)dqrX)GK=;+lXHWx`lA|m(NVv>j#IocN|M*sl?ycRHm9uk>=*x5BMlXLE7T~(PO z?|W(q3a?i%{Ud;YqXK~siIaDylSj=C0GrK$Oe%UyGo?}U{qdzNy)8e zvz8``kDDy9(Fg$q0wQ30NH|%ykgG1C(2%G!E2XcWDwmf1r4p}PdaTCH{#ogMN=O7` z%`!{`5O7hz_K+y_mv*7o`tM)vh4$BwC^jFbQ6ulZ&dc|Sh3wq~AyMco@O}gk2#Y}I zLZZ6dkS*pN#OH4da{f@MJnpC-ehFy8@ngui~ zkh%st>K5MIu8|Kz^O9OfXYV8k37@VGhJ^qEp%*X)hZoXT_G8egTPQaFsc7EZ8>r)O zRC+JO2#L@yLjVv!z^?*E)1Aq*)%_TB>lO$Jzb*^Lg#ZEwED0D@EhA~GySnMtEf5kc zLj({&z~2IfoF2}(@8{OKB56Aim9vdesqY-idlfqWZA3`;dvP#21Q0+VXGnA&jmm>_ zF`4<9mI|{%d9{KyLV`_)_%T8Nf%PkpGbHwIkI3|owCvjvk%#TEbsG|POe@cBvO|$` zAb@~h1@eB}lo{~FV^KmvF>{23UzaxHLI43f1PBRDMM6Rokmd*=;A;U-L&A!T&UYYI z`ct(bBve8iM*x8!3lI{Tvqwm10@54-1bi((NN7$EA)yIKa|96ZwSZA+7Sm15HG0R#{Tl0fzWe+^yZ1^@M**#>l=r&bd2r7b|0UzsP$S~;Hz&F%iIjz`sw;|L&t zK#&CfJSzNh-?R)2retW$d_3zaugpg*4fPSZ-xm8XAXWy&TFWE(m zC-VbPi=$nVD;XktS)u7kW9*Rc`KR()k^l99-r=YvxsoBWmlb;WrZ||&r=G4CE3_n_ zcQ`%X?w0RAYu#P~0QX4@0T_O9_2jOH_ip4A)#rS;0PLk zHD1j^w#Y_?=-P;EzrR|m(~khON4K6W zYU{qCn*IDEfW1rKo-Oj|+WE1-``O67i=mdExNiu6RNj{JBVA~@`FJEK0zQ%b)%r&} z_YDD%YKIWOomYkZsr*_|%5Af*8@`?w$v@p*1ps%nh5$BA?d6wpSC#?*+?NDEA+#g_ z3X%Jb+kB=ppD9V50zfZemjpl|v?Kru@rDhtnt^JCo5w+S+m`_0H{WoCZDYVPzAdN01BZc0Z<4n34lWW Y0gk2mz5SI_%>V!Z07*qoM6N<$g2c*h+W-In literal 0 HcmV?d00001 diff --git a/core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-smaller-sizes-long-text-ionic-md-ltr-light-Mobile-Chrome-linux.png b/core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-smaller-sizes-long-text-ionic-md-ltr-light-Mobile-Chrome-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..8050298f22d2eeddd01a3e07e4e1cac4a1f21f47 GIT binary patch literal 1781 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 Vl+o}E$}Io@002ovPDHLkV1nf;aHjwO literal 0 HcmV?d00001 diff --git a/core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-smaller-sizes-long-text-ionic-md-ltr-light-Mobile-Safari-linux.png b/core/src/components/badge/test/shape/badge.e2e.ts-snapshots/badge-shape-soft-smaller-sizes-long-text-ionic-md-ltr-light-Mobile-Safari-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..20d70ff0bb8618882312a4a23a1127254f5c1469 GIT binary patch literal 1677 zcmV;826Fj{P)eX_Pr!;_d{R*`S05$JkLYNQd#55-)25q<}g`BJ~g$Rj2*xh<*0hc)8c+I zLdb)3u$EL=;~KQMuGZ`hU5O|qDJ#||MPpY&NPJYJ4?tx3+sq;DM*vV~;S08#Ls|l% zPOGD}q@!hyFjV>OVmPWG)CqO8mL&TAQHvVFQU#$-sH3$cgwX#Qwj_j5JAy3rwz9@0@G?T6AVX39VYF>`?1eS@ ziG$ccQV5|)2}er`-KUc1Y{;E(nqPL{g6hbIc!qJjKIx8eF zA|z+YlBo(~Bmc-Nb<@`xr>rtEG%TO46izjHYN+(He9g!{*ryN*pK!FKkj@GTj0p9A zfKkcF50@O(CN}^aGdOPEaXpsGvJ4SOHNCxG5;J{-EV&ErRUs5U9si1(+pA^$S?iY2 z5T~VDO(BFLA_9MbU9{Bx#ah#j*xQ?83Nsb0#@p=1ZH{w6dVh&VP5>Z2it3X<0{}w{ zr4T|96s92nZwFu24(Y+Xci5VmNUzLMRaCoopR@_Y+pONgZz-|P9Vb6mq%XPRm^7G; z)ldM?VC4l;g_(+#IjW`)*^#H&k*5KG>|*1-v-bNsbA(W97!Yr0D3Dp9fyqo-FUg7n zmZf_vgn(hKe#unD?vplu@uoL^ny2~o4{qg`jX@pKqHSh|BGb~OGai*~`q7#*N~T~* zjma&Lx?^;g-QoZsPDgdsQ5Ds$Ix`Od^^JI68$uz+i1>gZ&#cgKgG1nPLMdHo04Ocz z0D$M=xWPGRoSdQk#<_o|jwTOgJzuhdVzKkN8ya#q005+PqnAuk94fU7r?!^ZwwBlc z;Pou!+cT6)_gHqGxUa<;LMU*Q=tD!ovqH6I9^l?Cvem)U6m->5{^DXCReTh+eW3;b zJ~(0xJcSSnGsb6V=*c0{;^$RyTI%ax?DIZ0nQgqkpa6kcp`Xj0^%lM$Ls44pjMY$c z#>oMIbNP)wJxn_JVHN;XGBPNc*}Omv0Ba9h4V7GgXE=X?{MnJRAw3v{loTCo{OO7# zkQ72FA}H_uqXa$m`6A7^8_wAuHH_)cu6|DCFX%D;A@xntzHW8_i^=^jgaeol%GV)Zn%r=(vJed?MsbG7l+ zUFHB&0PxO!3(2m+Z*2&LQ?n~>69%#}33+L=slm#pbfe$QR=&8&)MC){`ZygmI#oh~ z+~L`K+V=e=N1p`RP|1C}RA;E<931a2UbxF#xXTOx)mvgtUUg=!HU@i!FRX89Lkb}j z5zUqxEJNHpG&*;33@s)nvzO_=uEX{_vvfSQGMCr zy(Het5PxxmP$$uBm3025lcr$dM8)3Iw%O@203f90U{Q{0-gvp^UANXp13>z+`eTMb z_hJe%6vI*^S;M90Z*uFtv9=mV2z3$!rrq)WeO<14;Y2yl!^K-%-$Yt9^RCO?LNGOv z=^jfz-cM4Hp_sbL=;qHx30zm-SdBR4r ztAbr3A%u`Wj9N~-N0ZK8cdBOI^?6Z?K>=Dtv#W1DCBzlZTKgBDGpAiVzYD;dy)v5JITE!2k9Lp>_mY5<;jQ!Ip#&YDfM7 Xg1cQ2v^K9$00000NkvXXu0mjfjNu%B literal 0 HcmV?d00001 diff --git a/core/src/components/badge/test/shape/index.html b/core/src/components/badge/test/shape/index.html new file mode 100644 index 0000000000..58ba6d17fd --- /dev/null +++ b/core/src/components/badge/test/shape/index.html @@ -0,0 +1,41 @@ + + + + + Badge - Shape + + + + + + + + + + + + + Button - Shape + + + + + + + Default + 00 + 99+ + + + Soft + 1 + 99+ + + + + + + diff --git a/packages/angular/src/directives/proxies.ts b/packages/angular/src/directives/proxies.ts index dc31523cea..db6c7f8902 100644 --- a/packages/angular/src/directives/proxies.ts +++ b/packages/angular/src/directives/proxies.ts @@ -260,14 +260,14 @@ export declare interface IonBackdrop extends Components.IonBackdrop { @ProxyCmp({ - inputs: ['color', 'mode', 'size', 'theme'] + inputs: ['color', 'mode', 'shape', 'size', 'theme'] }) @Component({ selector: 'ion-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: '', // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: ['color', 'mode', 'size', 'theme'], + inputs: ['color', 'mode', 'shape', 'size', 'theme'], }) export class IonBadge { protected el: HTMLElement; diff --git a/packages/angular/standalone/src/directives/proxies.ts b/packages/angular/standalone/src/directives/proxies.ts index 2c40bd0556..ee91d8f165 100644 --- a/packages/angular/standalone/src/directives/proxies.ts +++ b/packages/angular/standalone/src/directives/proxies.ts @@ -344,14 +344,14 @@ export declare interface IonBackdrop extends Components.IonBackdrop { @ProxyCmp({ defineCustomElementFn: defineIonBadge, - inputs: ['color', 'mode', 'size', 'theme'] + inputs: ['color', 'mode', 'shape', 'size', 'theme'] }) @Component({ selector: 'ion-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: '', // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: ['color', 'mode', 'size', 'theme'], + inputs: ['color', 'mode', 'shape', 'size', 'theme'], standalone: true }) export class IonBadge { diff --git a/packages/vue/src/proxies.ts b/packages/vue/src/proxies.ts index 958a52c82a..835ca9bbdc 100644 --- a/packages/vue/src/proxies.ts +++ b/packages/vue/src/proxies.ts @@ -118,6 +118,7 @@ export const IonBackdrop = /*@__PURE__*/ defineContainer('ion-b export const IonBadge = /*@__PURE__*/ defineContainer('ion-badge', defineIonBadge, [ 'color', + 'shape', 'size' ]);