From fec23e80cc7f304db5d9683725a974777e661de1 Mon Sep 17 00:00:00 2001 From: Bernardo Cardoso <32780808+BenOsodrac@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:57:59 +0000 Subject: [PATCH] feat(checkbox): add checkbox missing focus on tab (#30075) Issue number: internal --------- ## What is the new behavior? - Added ion-focusable class to ion-checkbox - Replaced ionic focus styles for focus mixin ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information - [Ionic states sample](https://ionic-framework-my9hzgra2-ionic1.vercel.app/src/components/checkbox/test/states?ionic:theme=ionic) --------- Co-authored-by: ionitron --- .../components/checkbox/checkbox.ionic.scss | 3 +-- core/src/components/checkbox/checkbox.tsx | 1 + ...ionic-md-ltr-light-Mobile-Chrome-linux.png | Bin 1767 -> 1839 bytes ...onic-md-ltr-light-Mobile-Firefox-linux.png | Bin 2502 -> 2567 bytes ...ionic-md-ltr-light-Mobile-Safari-linux.png | Bin 1967 -> 2050 bytes 5 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/components/checkbox/checkbox.ionic.scss b/core/src/components/checkbox/checkbox.ionic.scss index 77e9496035..f7ceb6eea2 100644 --- a/core/src/components/checkbox/checkbox.ionic.scss +++ b/core/src/components/checkbox/checkbox.ionic.scss @@ -380,8 +380,7 @@ input { // -------------------------------------------------- // Only show the focus ring when the checkbox is focused and not disabled :host(.ion-focused:not(.checkbox-disabled)) .native-wrapper { - outline: var(--focus-ring-width) globals.$ion-border-style-solid var(--focus-ring-color); - outline-offset: var(--focus-ring-offset); + @include globals.focused-state(var(--focus-ring-width), globals.$ion-border-style-solid, var(--focus-ring-color)); } // Checkbox: Active diff --git a/core/src/components/checkbox/checkbox.tsx b/core/src/components/checkbox/checkbox.tsx index 6a382fed83..e061887b80 100644 --- a/core/src/components/checkbox/checkbox.tsx +++ b/core/src/components/checkbox/checkbox.tsx @@ -212,6 +212,7 @@ export class Checkbox implements ComponentInterface { 'in-item': hostContext('ion-item', el), 'checkbox-checked': checked, 'checkbox-disabled': disabled, + 'ion-focusable': true, 'checkbox-indeterminate': indeterminate, interactive: true, [`checkbox-justify-${justify}`]: justify !== undefined, diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-invalid-ionic-md-ltr-light-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-invalid-ionic-md-ltr-light-Mobile-Chrome-linux.png index 0165f89292e5320071ddaf7acd0b2752a28a04bb..96e6bdc164a5389c1b15afddb2de4c8a221ee9f6 100644 GIT binary patch literal 1839 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 y7v}SoKg#+Kk!lG4-sCA7KL5u~|L-xVp(yM#< diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-invalid-ionic-md-ltr-light-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-invalid-ionic-md-ltr-light-Mobile-Firefox-linux.png index e876971892b6519750c23c3a8d5937ffd75f34f6..41e75f1f38cd924664e6897fb6ffd2af7b66d61c 100644 GIT binary patch literal 2567 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 delta 2492 zcmYk8c{tQ<7srQ2##Uow=@AB#BqjCQw=uRK8nTDb#*<}`HN=l1`w~xt5*}k6OM}L~ zR3uAeA6rOy82dK1cz*M~|Gf8K=eq9ib zg+H&0IE9;W7GHGo$}R2Ev~$f{q4!nkOz?1tanoxY#2@MFI3yu78?b8zPYt5szHFtR zWPuD%sVY&)A*t(E)UKbLKPH{^QvOD*bXt|$8Kc#sWFC}nleV8^$5fs7kB z2Qva43S%zkE(Em!PkTm;ID7*WZLJN1BJ>)CIUIh0^}iy~Rwc$QdfFk>0d>?f%FF~u zM#aHIxzqFWbD=DuAQSFG^I2O)ju+f$jM%`S`58#FCW8fb74CDuky!LK=5Xx?85uER zkmiU5!FKHA#;BvM8=3@0-7qsVfkZ9MFwvRsahH);SXc)FiF)DeA{7IPcKOkm!_0Rq zPz%VjOgOP?c)Kv(-}rTff=Z>{B+*OCVd zUu?Cq_S<@#&p-T}NG!1;x{hGz*V>eQ^HwI8Im`ZfwQ-S!32uK03wYkc=uS^4Ewsny z+G@U0F_d$a$e&0i&i&N?4$AzTH;flF6bTXN4w2+#f~!Kk>}pHyE-TpCR{^#BR|?l! zpVb&8g8!)pv(~@q?T-{&7=Q=MHJ$8j?JFOGmu`Kd>}RPF<2YFs16H$q7R|pM?bFkW zEjUv-)z~kT|Us}w%Pp|sK$92BTdHHy=jI>TrbWH-vHE`U!L@jovTqd_C8b7qX{k_Iy zulX=H-ytNuν@LR=3+@6I+BS(P`7czkqJzcuNfd_Wv7we5f5iAChaz(ns}4%q*Z z_%e7cyPr0Ue^}2q(OBZG^}H~p{uOb93^vaR-##t8G(^U!aiHepEUiBU;Ydll&?Gcw z_E=C9GpmpXhbNn7-w>4z+KEJxp4pon<$C3(62tm{J zcUqs0tW@eH3TG($7VE|daMNWiMnQ$|v*LIqW1QHEcM>xaunf!NicYy;Y?F4d*!lIV z1g7)R&R?99ST(k2uPS6F8hMH#xb@^PS<F^uE=gSo7Aow#D!kTa=_4*bhqJGxGMgX|7bVqrFmD9G9T{=x&k0ANSOr@7N}0 zEDRJx9{HIWJVv2%8eyK(h)*a_qiwb6$r4w&X<=OV}DQ7dJpB}1!W`+IHD{6?CqTV{8j^O zs`Fbe4)!w{BRj@g8I8WxuSr5QUJ&J`t;Y3oBTBKgxDPDYg!sp$CVxM-TA%qCIqt@( z*2wzBmf}9dBOU$|1PncU>u_(=rqU@sL0E0E^q}RJwoScXDV_TJfWE!8U?%4_dNcC0$Q3!v z#4=G`K4S!o=<7Ofk)>bbfXbm`F!z4HSyy7t;RPN84Tp}hqbDujRHkd%A!^1A+|yM9 z$XwmQ`9HhTN;IFHoZ4ik%UA-OLdxbRPIC5zv+;=WqjJ_T7+et3bPIRXc_aYTi~}oz zR$GZjV2G&ndv zvzWP+6|PNczOJr^u3`=g53m0@*dt-rMYh5VYlIx~CJ0K;XX$spRvHLWp9xg1&B9+; za+D*grFiygv?mCa_|k@{CG5&Uy(+iM3(NyNg)U)|r&5v-%PgTM^w6nTwCIeVvdbVS zS?xNqA|swJz-Ub3sEB>X;(q9xnip?G{Ri*MQ{L4Bd7J&Bc()Ks_o^!}W4H1>(T ztpyC>2riV$_1ye!&V%w$i)m5kx&);r#*beHI~`q)#0+{3fGAv1sP- z@OSEs{>H~gb3AhAluWJVN6hPjJiN{sHsO694+P$ytky@Uj8Z0jXgitxv4X)KYQvCa z2y&XqX35_)Q*Z}*GQQaRCHFU&p9)jBhy~8j_z(9>LaO+Me%jS!L7w3HC8YAdz82~IuG(u zK=8`KsqqgMBjx;d6@(3)%-^!Fw7Pq$BY~Z`3mOh&|CI5(yRA!+rrg*T$lnyXQQ~*J zy{LTw3o}|pUXBZmbWG6KlnRf%m5~^(nl13@KW!Y;zF_K&WSwUFTaZ~_g-rJ97=q8O za)0dHM)G7GhtHSpzs4x^K+|{7gessODw@7YPfl4r^hlFp=kO2e@U@Env&hCm{!7}D zMFg3xHP2;e_F_B%>L3y_^%Joc+>ogkvLR6>u8$UD8K#azW1if3C&i2a(MUO{pvz^W zU`WIy0?q%lw51M=37#u~1++`siewn@p%t367S>h_@dkDfj)*R-R@`Q2ox1x*YlISnxhD_;qNH%y=*}3X!BZbpCM9* uBiKZ4kr=$8jSo$VvWYcwU@%E!%P|bGU!5s==B_XdI{G?B+GV&qPyYq{qMLsJ diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-invalid-ionic-md-ltr-light-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-invalid-ionic-md-ltr-light-Mobile-Safari-linux.png index 70262164b49e207e8d8dbf8ad6adfa39a26c8ba8..41c874a74361cabf125abed8e30f9d9a43df41d0 100644 GIT binary patch literal 2050 zcmbW2dpOf?AIHC@nnPhz$zfqFe&Gt0LsY|WIkzG?h8j5~M78l7>se^agKTp6iIh{U zO<4}BoOzH_WX>kSRHivKL-wq$=enN%o}+)@*otc8X)Kbv;& zi|^`u4-ZX0OU*ulx%}a7f~Bi$Bzd*M{(P^`ErO_X(%=YJEoL+hS)Lz}ccwQdyr-PI zialVdAO%<`yEKLYz$b!&9gwdP5D1e3K z{|uWVP5`87Rb@!x{RD3B&gvX|U4xt}ExX3_Qb?JOZql=Y*mtSyyJHhEQyff8A7#;JYQ2f7M@Z{*a?Z`}`F#@29PrO;jwz^F`eDRR_ zn}=w9dhbXLD~zX_v z?s!H9tF&|}$HcA()BlldyZ%`|S_SO>FoINA%JKP`0>kLcV;8cj+zY?j_-sE4#-D=J z&VT#p?;mvRxRUojua30v#!3j=*`%y>92^R|ECku=s=>)vGo_nxtLF`4YKNvCmZ^IP zkp>vk6cXE)Gr@N~@fRy2)0Iy!2Ps;sQspEN6e3pFq_#EmdD4(D{OY}LhXx|aLgFwQxrbY&N^rCjy6C@5wcX!C)*F z3pFr2jGOCHCeKma5xsIR(?O;V50a8rMEQL|kI~wYS9)F^9$)I?2H5ON7cYJ$IMH2A zjEwdvDRH@6!RqSz`NKXYr%rX<9H;fh6l@7v|8V}T(&BTIMyK-@7ppw!1qB6ORiT>j z)HWveJ7-}blsSSIZU3ZuRrg@^nhl(soE+QZI*yBf_mDhnJNi19I`qvb+wt(>!)CcD zq+MXJww9KPiVDWhkKE3?(~AwYwoV-59fZNwL@JTKK+4RBgg@Mv;+{b-EBm^z@Pfhk zQBO%v-wT6H^!N8qP7=NjlyW#6;eP$#;NV^Nrq-7}Q>j!xKflbQ-q4XQXwq+iMmj}Y z9ksSv&q4$Ok>#kx90@(4a>Ll`&p+>Bw`1|>yi;H9yzT7lR8>`#m62&NVYa}d?*J#` zo8#<|bT2o<6NT|`hX#{lO@h_u{U1k`m&rLMZS|rvZsSF7+|F)$c$9@nfD+0lK>snt zCQXVvebBEusr1vUG1jnq=|PE%j}tGF+JYAP~*8c-u1xl zA1QK%`xbaS>1)@V*AD3u@LgRBPM72At_QUnnbyo>K)tC1!Nh}U3>+E|Kq4&-fu$(o zK@}TTigyivlNFU@>b5-0tAAo{GB{YZ*bX@vLsetqPZsn^p-T+T^tAqqA>3NoPDSQz zE!l8pWuB)rtn{>{s>f~|p?##6m1^cGSzD7x(rJNkiyE2xx?wYfpnkIA$NdiZo9sw4 zZ>wnGn?p7jE3WWb-F94Ed8!ACLSy_up6J+E8|u+MkC#|Wd5*sK0#P9k4 e`SxE7ZiAc=na@^nIssy+19oT8D2CM);=chEF64p$ delta 1935 zcmbW2dpy$%AIC?hshnE0vqCPdVP%nWaNNr;v$>3+#kA$N*f8XT%6@X)PQqLgBGOLB z8HSN07ILzLkQ|vimFv7B_jG!m*YkQk|2=;^-@m{Ad_SM>=kt!;FMy>Pg1$K5jBDh* z`Jo_tmk1T;BEQ;+?4cc43`b}&yZxV!o`#e6r?EdPe)PVRbEvq~4n_7vSp1=%i{WCl z$iu*(cN4w!k4AfI=ptkctX6iVB=vM>%XD zo(llTW?Lju!Rvpm0f<>B`jlvU5C5l(jKymTyW(rhJojbo@i;NeQW1;0r&G~pin?Qu zUF$rbfa>7Z5zwk66JAPAnhTV{E1XN@RvS1tjCHEMer;7`<#ohB84b7Hvt%HdO=!6} z=9Qef!^&CV^HOm)rh7|2{f@?c*w9c&JvWEbL$u{_5r@@mKugG{FOd_s+f+~<6~^nj zVusM&gRE+9&dSy)-ODQ}2{5@hTx9*~*)#MPEwfuY!C<4Fo(iuW>FI}QON-gmr)rk_ zHg0%jaTztas;1{z8v#U$8jW_+nB8dMO0q_Bh!cPS4#VOodGnyOVf9^-I(;~rRNnpl z(4k=ITs7s%;(b18$|ES#1b$Z>Z}|;4x03>Xt!0W-zi!MncUe*^z2aO;?t!-pN2F@X zpt8Pl91C>5ZW?=LYwf6+THtW<^75xIj?2>VBk53!b>O1sy(^>7V|B~|7`7KN)sjkb z%66w>*}5DAS`8_dh9z8YT!Dq%{_A7-o<2f&LgUGFF=Q>jGqVjUr_t3GX;E*#^1#A5 z`Gqw~!CA6aYx`b!nZRK1V@$~+R)g4AwjyZoah?%#dqO}e_dKSjcQ7P^YdZ-JaJ^e0)Mf zLtR`lTE-wDlWp8MIauPh_WoU&Sy>nBukL-mxLDD234Q!{&vf`B!hKfV=$w0U2W_xE zg6ZtsU4F413WfflVrR@TGwlY)v$L{f`~w5$q*A%U{#h3yabdWD?B>?j*XQQ!%+1Z60arJ>3e3q)PK8eB zDxuIQSh6Kp5y-@x#^ zo~baIG(3-78@%_T<;={?pM1W2^pn7WsylZO4HPPo7`C}G|EB0gyA2lWcWPiRqCt$L zRB3+~*~6Yo2?hBAfplR(O-V^fMP;zcPaY!ZuV;=ly7ABF*#DjcQ-AmN?dzH{0Eu&S zyn`7?GCT0y4K&9f-7x6=diL}_4f8|rq@uOh97IDA>5H&j&My`$#HioRWCzKBM^IfdvDtmi+$;IdeuN6 zG_J{L)yGAfP_P_nmX(#&(b2)<@wi69wtqd4KRc-v$9mNzP*zs7=C&>_A6po~UNyvn zb}vQWwg+IAz?0u!-9mzVjH?hB8~3UGPXlrz*{A^epZ&q94`cg-vl9>}4~Rr%bd*~O z4XJWCW_93n4*qBIQdIPVL!2aAeDCyJ{`YuQP#ba^ql8Xh0h0gC`RM>iyB%I)Z5@2e zucFwxQ}4f9VAbuU?*ZsnP)^JU)uF{sDl`{lHpRmwMNV%f{ez| zqsM~|bP&uuL#;pYaMT<60ftHSlrnoBUQqhl@|tTwjuLM;-pH8U1fD6qaPzl4w!D49 zs7b!SGgVz~dqb!6RC|@MM*T+GmC+bL>pEqrrr*h}HCxO1$5tFl6LB9_8{9N?mZmiv zg^gi?Yjm9AUYnjC1M}Mj1t0ZBbPNnLA>XUI^nK+khQIp zks+Iz-d-83T2=J}h&~5bvguL0ENr4Dw8#h!-n5Dwd^P1%QrPD`g{N$4bN`K{7cCAD j0B-dEgXzEgTDN?-;kCTGov;P@KD%(|9D(w)mty|`+JK;J