From 106ed4ba054473cc9b8880d8b02bf48934c13b79 Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Thu, 10 Apr 2025 17:32:56 +0800 Subject: [PATCH 1/3] fix: the `input` event of x-input with number type should have raw value We use the "text" type for number input to get the raw value of input --- .changeset/whole-teeth-bake.md | 11 +++++ .../src/XInput/InputBaseAttributes.ts | 5 ++- .../web-elements/src/XInput/XInputEvents.ts | 3 +- .../web-tests/tests/web-elements.spec.ts | 13 ++++++ .../x-input/event-input-number-dot.html | 44 +++++++++++++++++++ 5 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 .changeset/whole-teeth-bake.md create mode 100644 packages/web-platform/web-tests/tests/web-elements/x-input/event-input-number-dot.html diff --git a/.changeset/whole-teeth-bake.md b/.changeset/whole-teeth-bake.md new file mode 100644 index 0000000000..a1c6bd5c5d --- /dev/null +++ b/.changeset/whole-teeth-bake.md @@ -0,0 +1,11 @@ +--- +"@lynx-js/web-elements": patch +--- + +fix: the `input` event of x-input with number type should have raw value + +For `type:=number` x-input with typed value "2." + +Before this commit: the value is "2" + +After this commit the value is "2." diff --git a/packages/web-platform/web-elements/src/XInput/InputBaseAttributes.ts b/packages/web-platform/web-elements/src/XInput/InputBaseAttributes.ts index 59d6e1e507..28e0baa24d 100644 --- a/packages/web-platform/web-elements/src/XInput/InputBaseAttributes.ts +++ b/packages/web-platform/web-elements/src/XInput/InputBaseAttributes.ts @@ -73,12 +73,13 @@ export class InputBaseAttributes | 'email' | 'url' = 'text'; let inputType: 'text' | 'number' | 'password' = 'text'; + /** + * For number / digit type, if user is typing "2.", the event is expected to has a raw value "2.1" rather than "2" + */ if (attributeValue === 'digit') { inputMode = 'numeric'; - inputType = 'number'; } else if (attributeValue === 'number') { inputMode = 'decimal'; - inputType = 'number'; } else if (attributeValue === 'email') { inputMode = 'email'; } else if (attributeValue === 'tel') { diff --git a/packages/web-platform/web-elements/src/XInput/XInputEvents.ts b/packages/web-platform/web-elements/src/XInput/XInputEvents.ts index 8e63a4afc0..c2cef70b8c 100644 --- a/packages/web-platform/web-elements/src/XInput/XInputEvents.ts +++ b/packages/web-platform/web-elements/src/XInput/XInputEvents.ts @@ -44,10 +44,9 @@ export class XInputEvents { passive: true }, ); } else { - input.addEventListener( + input.removeEventListener( 'input', this.#teleportInput as (ev: Event) => void, - { passive: true }, ); input.removeEventListener( 'compositionend', diff --git a/packages/web-platform/web-tests/tests/web-elements.spec.ts b/packages/web-platform/web-tests/tests/web-elements.spec.ts index 82ae0bf90c..5410d71b25 100644 --- a/packages/web-platform/web-tests/tests/web-elements.spec.ts +++ b/packages/web-platform/web-tests/tests/web-elements.spec.ts @@ -2408,6 +2408,19 @@ test.describe('web-elements test suite', () => { }, ); + test( + 'event-input-number-dot', + async ({ page }, { titlePath }) => { + const title = getTitle(titlePath); + await gotoWebComponentPage(page, title); + await page.locator('x-input').click(); + await page.keyboard.type('2.'); + await wait(100); + const result = await page.locator('.result').first().innerText(); + expect(result).toBe('2.'); + }, + ); + test( 'method-addText', async ({ page }, { titlePath, title: simpleTitle }) => { diff --git a/packages/web-platform/web-tests/tests/web-elements/x-input/event-input-number-dot.html b/packages/web-platform/web-tests/tests/web-elements/x-input/event-input-number-dot.html new file mode 100644 index 0000000000..b65a3ab31b --- /dev/null +++ b/packages/web-platform/web-tests/tests/web-elements/x-input/event-input-number-dot.html @@ -0,0 +1,44 @@ + + + + + + web playground + + + + + + + + + + + + + + + + + + + + From 90bd8400ed25acb5102fda5711bf9f11be8469bf Mon Sep 17 00:00:00 2001 From: PupilTong <12288479+PupilTong@users.noreply.github.com> Date: Thu, 10 Apr 2025 18:29:46 +0800 Subject: [PATCH 2/3] Update packages/web-platform/web-elements/src/XInput/InputBaseAttributes.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: PupilTong <12288479+PupilTong@users.noreply.github.com> --- .../web-platform/web-elements/src/XInput/InputBaseAttributes.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web-platform/web-elements/src/XInput/InputBaseAttributes.ts b/packages/web-platform/web-elements/src/XInput/InputBaseAttributes.ts index 28e0baa24d..a1cde056c3 100644 --- a/packages/web-platform/web-elements/src/XInput/InputBaseAttributes.ts +++ b/packages/web-platform/web-elements/src/XInput/InputBaseAttributes.ts @@ -74,7 +74,7 @@ export class InputBaseAttributes | 'url' = 'text'; let inputType: 'text' | 'number' | 'password' = 'text'; /** - * For number / digit type, if user is typing "2.", the event is expected to has a raw value "2.1" rather than "2" + * For number / digit type, if the user is typing "2.", the raw value is expected to remain "2." rather than being altered. */ if (attributeValue === 'digit') { inputMode = 'numeric'; From d8972b1166c449c77432e3289e35ec939ad8475c Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Fri, 11 Apr 2025 16:27:17 +0800 Subject: [PATCH 3/3] update --- .../x-input/type/index-firefox-linux.png | Bin 28954 -> 28512 bytes .../x-input/type/index-webkit-linux.png | Bin 12070 -> 11486 bytes .../web-tests/tests/web-elements.spec.ts | 16 ++++++++++++---- .../x-input/event-input-number-dot.html | 3 +-- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/type/index-firefox-linux.png b/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/type/index-firefox-linux.png index e43cf7778e67797ec5761d590d8772b91b6f3df4..f894d55018298cf2757b494ddcb25b846798e57d 100644 GIT binary patch literal 28512 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 literal 28954 zcmeHwXH-<%w&tb;EkzMTf&@W0ii!jSAh`^HiUdW1WWfNEB@~$|6G}9JNHzc}NfZHz zr6dDMKtQr0p~zUoBK6#!d!Fq3&g~vOy5D%O`|(RGYVS4ITr+<2TY6JlQ*GTEo;3)9 ztUG$-@JR$=f*)};_?7TSwNINKf(Rl<4<9(?ZaUbu`qpOMH_DxdZfp<=AP^216U51Q zdjg_zwCSzUZ50)^n`~#9*SzPvF?gA9R_6d4NyQpDds-}UH#HY3|tnG+1fiK-iG zD&nT*2BPHep00gR;a%4|8=Lkh=Yee7d~C0sPU%Q&UBQuK&$`0=_!#l5+x6lf7n@m@ zN^5|1Lh;rWKaka8shL#JeX-d2o& z8@CD~yPlf_Y$ceRGBCtnxcrYT{t}K6KQ1ANj9+CH)XpR!FZw2T#A1FODJY28;$9ko zMqFU^hp$}E{nF1r9%i*#2h!V&f8K@9Ooiv|j2ymWcXtAm!}d`U$JoC^5J|aUc1i`K zoC!8oq#=oG=N5uF0`F&tm%WBrzxfyeY0?{#K8;Hi0Z9sCBiS&UTbo8g932%+f)VmI z(0KsKoQA^@s#jp1X6-YJZ$w5fGm9UoOVm(*b)i~w)n<2dxu5Ta zWj6>C;=@5C!z`5(*jEaZH#2m;s#c29GdOcCv(2p~;h9cS;<@nC+k*M!vsAZ=qFY!5 zamV*9u_(|Od4b83ktEaVcqnqelLh@tx^Gxns6cfneEl^i=pk1zK=?1kqDM^T!H?sS z^xXdEncd+=iFw1hqNy2WJW|_FtOkktj0i{{75(0lJ+bE)somnwcPITDyq{tYnq6g7KY_K&FO0cNq_Kq}T9v%SP~J!(^--YsM^QxI$nLev zC$a1&>ttFb?Xtd}w+>aDJW{PdJ1#djT3q+^#N*o3?DoiT1B;u3mwtW_Nt&N*kyvE6 z9Lc9uxip>e@19!i+biE;EhSF_mstrXz_afFy5HYB)wUrYGa@w_ITUOZWw7Mvyul{? z^Xg{zPVzqc)*P3L-Q_ea5s` zRdO+1rru+vnLqBRCtBAfCJ2Y@e{{6&5-*OiSp|$%JVsgz<0{-wDc&n62Gs2S=gB={ z`EW*-*|UQ$idj6OM%suSF;xn*ip+tuyu@+=KZVqs?*VOPsW0BGk>yhu%B)*ym_!2= z)FhLTnkxq|N6tv+if}-tTb-*D67HMI`88QC&QFcFy}rpV(xYtVH$Opr`AJ;8#Xirj zeOvxyvkfuCCItx!4J`3m!4GQXJ`O>{{9-QW5-VcFXFfuOjToOE>(WtEQ}Ycq>*6P^ zR~*+i^qKfl_gPIKhDEL~e&c~N`70dz>z`3e*tG^T1409i$12GB9XZ?P+GwY8$XSSB z&JB7lzA@5(J;1Ak1Z1=)%0ZLYF7rh5#pKl5Sg+v+ML6%ihyIDTh1C+x7U_*KW(-OT z(_K0#WtRHgrvkI5p!eHxdgdEPr ziez~QYTR1tRg9b`NywSQL-XK4zSqC@kL6 z5Vaq(>r)$95xuK>f)KLj8ay)al}i^ZoDU--X@Yv~7#ueV-j7&mZo#adwE=dmo2L;@ z7=UbIl%90{FviBNz^Z)4TKd9-_z$qpZCCR6G3#%HXtyiv+?s8Kc+^5^OJ5FOq=QmD z4??yzglyn4yAhipHCR~@X@;+2AedNbx}5@8WiuNIyG zrvgq8Xdm|-tGU&%_%^{jCI;LgFe5%WBmHfd^J@T+vs48tFB4iovn^Q@+cYu8$pOM~ zJX{O584GXnoK(@pY))GMw&dgaa03)rP|ffmkvbUh;!_zt*C7%)otO97HD~VgnjCcL zB(F*o4pn%Ws(m~hAzy;cb&nrQz`Rvb0jG$gT!{0LMuW6<-cXjhPLig^r(Lg(^T@jm zj-KjGgYQRx;%kHtV#Eb+=wn0L9gEjle=oU7)i0v!@+kW%D8q@>qy8~4xjh8q{1*jl zgpqv68nxj@_78@02huXjcx>w94{rqvi+2FSO1gr10BX7#F+^cFr>pkuDuLFap!;UN zvcY_^d!Saav!;(zts7EKTW6GVs-uw+(v7#F+t+h>!J$*Dsv>p^w>eiUTF-Rf*V0Km ze$=1u(viaJ==-lgz!gcWHOd#R(v>$M)M1|Q3A_p~vzxViP^rw<}=(UUC>MRQs~1yD`Y zo$==n?+}@e8Szf~GFah{)^C=-`8`0?jW_$<8qpt)qnUM@yjC$)pngI+_|tl90E1H2 zypW+2j_!WAsV8;rOz8YnM^Vd{ZJN;$i{A4SjY*%x^LE*RCOo1>n{CqDWYaQml1kzm zM%KB2TFoU<4}V5A#29%^z%OBIyUIhg`1$!~6n%qt_w7*WlsR7!VXs>qExR|y zrS>RwVRoci6i00L=$&J@rNU*BIrGX{4aaC`3Q_K-nDhZm7&SP8R{jS~tEsS<)pLlc z&syzOe_JFt2@^ypX4}X+t68U&QO6|zvt$0ZZnmHVd(D(Q>tCbNv-;&i{f^n?)M{piO_s&2R)qyBlUHCKrqx*j0 zTPrB^dygRv;CJN^)clLeIE^beVb>6cHQcC~9viIAz#7aljrEvRVg8WGmci8OAQuR^ zAAa1d=`)4RRU1I`tu9A{p|6I1cia&ZvCsyPkrc~{V+??HkF!mw6zdP{@URBKjTy&y zU6X+9cgadSjxny(El~RfD@8JqvmkC|*$rq!W45>xj8F97CRGwa5!RU)41A7}K3)lS zM;|}96{<`EydT+@gb|Nm1hrqw^R{j3@e?3PYNO6xY$5d)R%J;`N@f$RIScB!`?d|6 zr~;sN;cVQ)#4cE)3rFp-G+Kk8|F=ruQvBRRdNs?jROm8Y3PTV_?foWbZTI^qf7fuX zXhoPIdJ(%3Jy3tvC1PbTVI3$+$~NE*R#6G?saTuoU14oy@&b;+WjamFoowcH{v2hW zdxl5R^Hd!B3#J_30$nT^QLh7C!hYg#t4k?|{*zAD%ko;&Pbyj@AXr=xikqMu=J4s>Z^8d1_>ZI?cYS^s!{+xp$r)l^6k z>dEPao{C!mJR#^X($^rua{vZJorKOTO}Kq1`@=SY!M%(d5$OaIdu*{GhSm3+4&Cl9wimSh`kiy>EOc3$~wsP$a}_ zq(CNpP=0ps6$(WBtQHzHg8D>W!y)I}^?gp?OI*6c^b^IhnjZ0|Rz5(;`i!2;$Vl!$ zyZ%DliqM`>hnrhfFC@u2o4()DxidLmEcH##Vyd{k;2K0x^S6zlCmtV3!L1_sn7EDi zeWuF)We=m&1i)=Bm{3ynn!VfMMy#LPxhuY#8W7b;z-3HKYK4|{;$B|!JJ-PI%tW3Kq| zjokN;(PXpvi*lW$6}4syKksK&?D^!<-d(Y``Zyf5%>oUS6D6KM`fmKWe!(#T$Um0g zg1j;v^_VDVZotSXhj>qZy+CX9Q=WLHm4N2tmOs9C2~2hP`Q>(n$k!efiMa=ruUbqP$o$KEZa&U%)q|h0BlEY^AA3cQzgW{)JmbB}UMA7xJ|= z$W*)6$Xt67S_7cS7VWhGlyg7tll{gY3se$Q7yyV!BsegbcLf#+tM0mUh_XMeV6to< z(OxZEVg-={K!FBtr3!4IUukAeVKC39jX=Sqt~~QWtM=+@_FP@J4xgz6S?8W7uNw@L zX}x}nvmLZGl%ebnr5Im2^@=jPK0pe1a$y!CbC9CK#echZtYfiiXzyHL2Qw0Al`Vu7 ze7}w`X_SdZGi83S!HhONrf_`Xc^o6BCPj_FSylZN>mud{nCNY|{CKXt zC@@Te2w$c3egvZnfS@7qtZJkK|lFOiW<4 z;s=W!7_U8!&jdGlA=YAFi;?98iV!nV_S{3rbjVZ#jqDs)l%oK$)6+r027Npb^rX_tCcJ{gvBrTwXu%I4Xgq*Kmk_w#1E4wj-X+G z^>!c3Ndw4XL{jg&!?T*TPlv*3zJ3+<1p7dN|CtpY;6Pdurw)=R2w1`jg7X@Tc$r~f zRjJK(FBuI1p=i9ww%HZV^eCR+XIU1M3CJsPVGcSk zEp*sI|61)E-ccuIUHinP|5;LE!u^HCk>N{#b^GFcm`H33Cd4+4XOABXKQ8Im6lMGK ztHo=Y$a-pkS2o}8KQl; zsOX|nM6dhMYng(dQ=f!<(xB$zT-+XkaU%S_qw&?q=tt4?<1nFcr9*^|9fskCJwvB; zQcO6D^4#e7c%9bN>7H_>$qbi~f~iEb?1Os7LL)My1txJsw3>pfFQYi!`B-+&$l~T_ zk2TIc`L_;HboD%p44o^#cpg_r45l=b(b>`OAlWZeV}nfBs!JqDH5dq^!x!27z%XBv zY(&7d{seWlW6_sBKjPOhpwLtC;BNLztW()0>yP(#xIRdh!?QjmlR`=L@vDzv;u<+? zL!T6)Fxg~Tw<9U~j{c}h6R~)m42+qkzFvrP0qmo9sBpc)D8aL(r9E6}ai*GRKQ!Mh z;rF0@abYTHAiYS*XSSuox4Xc!F##Qtm3rh2zEn42h=Mt48|p{+B|88+tuaQs?5O?>arNPIVGYAq8V_-A^^zEp_UG(95@apC|%ISKVlG%jMf}luTjoVG!B?r zRd)Z1@SqpW#Oiq4N3U0X<-hcPi#41Swc2liHd@&fvznD#k6fsP`#D-1>N@+~q3aVx zG<{A_fMHWZ$Q#+EmVmz}j;{D#P3eyKn;&I?8|*Z-m|3dXEuHZm3+sbC()v8tR)o z*O`_*&e6#rO|ix*&<)pyqo{56_+x&^!EfL?s}ac|f2=Hjr{uwc6OUCBz#pVEA|xL= z8>i5{V958No!*e$^Tp38rC_po{w=L3QX%WTJ6Cw9n0pgSerb06HB$~7 zPCU2o##-9%+N^~(v)cw^LI#dx(;{5!#2#AV3J3^uX9B`513c;cYtRH!%1BK)>XUJ3 z$%NXxX_eNguNyulErR`2w%lAVKloy9GsWPv`@7X5Pfou&-|hJ4sg6&vP*m~Ud(dJm zvt+~L*~1%YGCVq{3)2l z>z&wh9U(V^5!#KVp1w}v`V{TuCZHFe|`7EvU%6kNLc;4t`>NXXO zlviL*!*}@jeIY{p3<%T{l?TI;C4%1D3PYr1v*$om*bLa2+W%)n1p*7QYU)lJ;DzL# zH7+jGHYsnu4`b28txy@L_lFxod4&QfZ!v)w220FMxIvis1At~k`mZ=gfzi|#`@36f zJW+cac(w^+KTEm^{)u!DZO}PQcC-Fix zK;w1}C+Vc}ld*j2zA}{hW{$U!|Q-doIJ&!^3Je9Xm z9beYHq1)M6yPwh#Tjv@Tgn zgIQ|~Et;eJ1)wMW7J=XeVzoT3K7Ta+96T@9V#p3-qTi(<`2h60EE}GD0{tq0^1e9{ z^)Ui$R|Caprk^@SB1qtHgix5pF5SR#U-v)h>maU2ISRnsf<(Es8jb6=?;TCBEkOYA zA2>S>LPG~pebdsDgELx=>i>-=BEawKt%`|C1G<+BjNFr$#d8ET;*=D9#sbX--NInR zx{n_w22_Zh8WIKLC!5W$tgA))Fg>8zRXP2l^-0?q<^n&k_Wf<)I)FNBoyz&|>zVmX zn2ORN{zbU~sV)~IWhvVr!LpFK398*D~qtv80O%x_gXXteB zrA2vH!-mYD-`h_FwweZT9jN)kXme0r?G^3)^8>Z>%K9o-;yNS_{*npIzofgGaytro z6-THFb`Q>lQ`b%j{SjoN1n}=KN`q)xjz#XzkD|^R9dkW0UabQ#Msdug_b1a@c^En` zH@lNovqn^#Sp@F7BPS;(i7AcHD1aZ&V{)&5dO|j5AQvaOaA+171xH)#vP}ZQWSm-I zB;s+d0~+qOP485ivf=dH+9$8`+8+TBxq|$a)5!L7YP5j{ck*Dk@ud&@eCMV&GnlvT z)tfzDD2P@i39Nj3<#D6WeRiqKymI+TN^ zVo^Q@pGz7b{PXRiJ)6GumMbrex%9>m-HaG=1f^q*agZouv1vl^g(TYkOuD}M{8%mN z5R2@Sa<^|~(*~=#{u-yqOE?1z-_7Bc(Kh|bY~hmW8JQ8zPCTdO>oX}h?{fL}&tgcB zphkOPpxmxc90 zRrJ>p9}6Rwt2d(TvQGb^xoY{*>i~Gk7nwTuN;240ob1L1le=F;ucaAQQk#5WHDWpI zaP>S}kjndpi5o*1Y-y$a`FJ{tDcBcvK%-cP&J0|@Sh|U{(#ftg7&16Z9L%ov8FrrG zQ5SoCDjSh(FXmDXq;2->d+42t&IF1a9ItWc_2oB8_|1Ic6E8bf@{|a|QL}K8?H=69 zfy4!sBQv>;1>))LfnP$|zL(~)broC|iFQ0lA23^ttO6SA+$#f(=>!R%9ii5IFio(H zJ(Lm@Bv$WKoi>8l21UhH5~BJQa6^AU3z%ddC5kzcwTI2Mag=o5iDW8i1F z8WF4ksHjLDvbbh?)!uCS9oHoi*Fz&)%MfizrG~LIVu2`Hsm-hqp{*okFzwG0^6S|f zcT_Yz|59#Gq)jc#>KKp*j&U7Ip6=yrY=e1(bIm5QWrf5+ii39-uZQ7SNKq3Dzre}| z3Lcl5fn5d6tlkTIZ=IL(C&;77O2$AB7WQKndQrn*&S*JyJ5bA~U*{JQ)osMRydCH- zaaVGtbIJgpxnIP`_s}@SH!yzJwsla@nnohorq@H5gXMLn8uJZD}8Ux&rIGoLt2xSg~_?r9Tm^qL#&ZfV{YejJ| zxeV{4`Ho%dn08c6sS2d*(rYaBTD0gkVZ7{A!Hbm1&$N#x%5*z9omz)<@q4qC@jI2U zp#RuY5|2ye0*iI2Zm7cbv|xHO__ee_kwv!f%Lp)cdON`PeG9>_UHb< z*m!0Vg|vc#&$AF6)bjm#ca9+>P0jl&5r7wuS^KVO6t&X_Dc;m+DJvG$NwilsPPkWl zwcjl&;T5R4krAr!^GJ3_`5FrFr4wOkg(9K@WUHBZPhdS&C)0S!(WzNS5tqP%!MQNq z+PKBJUi-$I9HfjjyWi!xcXSxF{|r|MP0eb4-jd@kU~VfDLhGW>juiRP->&z)1$?vE zeV2Z`SCH1*<2zu~@v-G9I`d1MwmRAVsVaN#)bH^Vt` z+$;Rx0%YhPQ*$bk+{sj-oPnXfAz?w2^2$7>9Dvl*D*_325Rfa4e1xq6r{?Y6bcgR~ zXJ~5KjYj3^M~Md4xE`9NoD2%{W;=zFv9y5WSb6^@akhXKGg7go8xXGh*-GVE->3T> z7<~%(0dSMN$a_O$R^iV1W9DyRBg{SL_F<1J4mRQl0GQT=XeZV6H#02DdqS;@J-Wjb z^**}t^NF@vcsZoJ3q-`KZW5WwxIBfo59IE2Y>(Pyg>d(le|(qj-7QK*YmHDPx)sYv z;_(M}61C#mhXRXDM!vMjBLd!|Z+~3^;JBuxG;=m!rc9sQB}y>~jnK07S%9b(TeODn ztz~}Wi}c6Yp`^7XiSwH^_HNVGfEK9o!*)zXVr545%|@~%0w1soY6n0QcTe-#-QRr` zZ0x!^^kc?9ht)}xcxb{_UHh!EG_erkub~ZDtFex74GVN$ZhbG&nRzOtjZ1&c zY9$H=Z}ht5?CQ)|cz(k3qUw^T0q)3wgMB;U0&M=sU66(Mq5l$~ffDIovcYeKc|zs% z1Z_L0FuOWUr^PKss{;FJq1SIg#OLSTxL+h6v|_zJ*k0^$hN083KaVI1&S>;3s^{Pm zUj>r<7L*PSz+! z2o$s@aH&m60$v*2hX~wpV8ZjU~s$VJ69?9tt}BU4(J?!H>jg^lyeQr%IY2q zCj3OZ!37%HWX=^*&`#U`65F^5*pr8M${#_q-t@Y-s<(|^9kcD3Fr-XuYT$dF->;kg z@!OAUT&59+Qp5C3WgQNL5Juq@PAsk8Zy=HvZ%FQbmx-sN0LVCeyxafm*qM8Hn$R5D zgwS@Dx;t3#u_cyr_T)GiiwtjC3<(QC2e~vw-mcu0B;XDlgi*T`jW0yDCt~A6)#&W; zTJT!C; zI{C|0eP$^vuB=Z3LFM8x+F0I9y>5Ih)LS1JbWCAt$sL+kIjRs-dYF96v@Vk1Sjit(~L^fj$jaW2mk}h!ZS#7qe*yl#G zx$j)E?m@x_>+xcFJkh}Hr|QJfPtn07?syFeg0dLQ`E%ha=u$g<`U<_Eh@TXyk^6R) zy_R7WUyYqO`?lln{X#h00HyNqO*c!y2XR;hcLDkTxVre8vn*dMcnbU1bF-1i8tt{k-Ih1qUw_R4bU&iz6P z#x9>#oKu6vN_+}hB(f?Chh5XvW!l{>m5A+5PKzilaqm^z)~R(4?uWA0CwYY8H7%JZ zzv!E_brE%E8;r!pUNvR$D^f4k;LRP1=G|IIUN>gn{yk4?BYKZDL&)xnu72f~Rsh|a z>`XJnr1g?eIB&*>h*C;D=f=uudi7~)wxPj}k_U@W7BK#`#e^YWMzfgSbOCq*=q0t- zDK5sXc?XbX(hZzAlh<_lW=P56N}ct{@!=QtK*Zv@C{+5Otz7* zKwXb9rMJ^2wo)O)no{ZdX^Lu>kLTD3+PIcWcX?b%cXu$&*O4qNn++l63#XqAB(g6+ z^Q;*tQRt3ROMhN0-EU#aCSB%#e5EK7WcMaR_l;A@{kt7gg;U*fJfbr_COf#VkA)O8 z6}IBH_1c+u4+>|A%e<>~A30-8Tkki0$P;{|T~?uI=Bg`7$zoyevUxqmlAjdoxwA+> za+n_uM_6bqwqW}Gk$SE(7FR>qQcBfizF!e=3N;{elg(|@gGu69nJjt;xASbp1*N-1 zPi7%(BuU=T^*+O4rWs-hR}m@%nr;x8RZTJ!_xG?HJt~%l%T)plH=TLN7pKcF7P&i| zNwJ?pLA?$&?&R&lqd@~DBbK~ww*G0&GEnc$S6BP20$S;Q?trudn1U~L7tANulJFmd zA_7Lm^gg2(nf&chB*p5K48q~l2I$!A3VigCcie%u(Vvmg2Tf5&Hjrwgx^&dOt`~shaVhaC(Ibr z;^qf0&^~@@!tp!buxrTBl?#!)L6N##5@C~aKB#b?Qpw2#2jK8};DS@5AQRg2pIDDM z^?D7sLD3Y1vkbh*XvTIKHYVB)@JjZRrtdtW6GB0OFOo}y-(|W>bih@2LyMV<+qD1f zA9z^$qR3s6yBN$ZL&ls!e&LF)-+%&5lm6;{!7PObWkuD_d<)qYwX1%JPG2*6(4_vu zzr3(>T?(-+?SVo(Bf00)1u)f^yvNemRCERU_FH*S=APBQFDwbyP2<(D_fh`4|05g! zhpb>(xb^fb0%p=fJAd8Yb{i`2z_jm_IVMhzZsq9t`?R^3AWRDQ(<-!|fVI8P+VM|} zClrGqpq-DD$YV_7^QZr9gt7jvmv#Y|D_;M2;oqS}e=e*7ICY?H)FTYo`{xT!0exQ2 zc@Or!!mou1w{bX%P)j0;KrBT@(C5A|GLpVT2Vp1)%iH>Qr@VYxOCsR15&ll0%f7WF zqAW+kB>{FhWGsh_<#haKCS9&FmSl|On(%jd^|yo3KYzVkWh}9o{?J1HHd_)^Bzkh%Fr-zwy&Ybgpzh2Mnb)IP9lv(z1?n4lS1*@W< zgCN@i5M+DQ9wzw2E#Ev0{@X^-QND`gHXfzIA3F(GvG_gk&uh;gj}hcJf>pSJzZWyz z=NaDMzqvKn)yQl)cIRfaP_@gLvGUj1lxX4h=O_;c4%s4*Kf#I-@Z{52?wDTtHeU zeE0OkNN)F|9IqK1tz+N7xL)w1aEI0qiVX(crh@9qw>m;2;+`GIhvUo$^6(;p zF#o*|_#X`}G|3yx^p~^o@Q~^Ko-RZj(^4}R{zm;x;tfcVSFl!T%nVs^ep`O^LW-{QYPK!w<9LM&>x?;cv0)^+qcBz zDRQNm#_LNFn3R;147gZ#rEewE0q*Qak9MXcC*PiEPLOgOdQ=+!j7vQ8ZqNIDd-t}a zYbPE0?YAUuS&!SxKfXuagPmvpXma!0+na%QMT1Poq?}dY=$9B49yycU2e{im`tKi| znGwXImyQ;*O-)gY%+yW8@t-}bJ=K}hk!2tVcU)__(wd^yk)(WJno?=b!gZ-^glqQz zJ=m7Hf>7NgbcmhZwlmuh9?v=HIM%@2yMRa}=G*m2Vfi#qO!pS+x>39fUsc|$3CT1q zegFQ>_o0V+yOEWT997R_V{mElJ9wOCEx?wc8P| znWq+eSXuQ8?fUYq+fIwf$jh4x=x1xeBk^L<744epup)U|ruGyQ(sXonJKo)@3oh$M z5c9e9l)V8gT&X>Fr5fjr-?z)sdz0V}Wf$s2_Q3@sFPLJm2?+@vLr?fb9fuUeZZ}`f zF)C>N^WknW%lacMMEFl9jEDPTUuZ#JTl8+XRs8T$GQXAi2j9%GDtsyAWRkra^%rAXQ zB-4CC6W+Yh5)u+Zd!Z}Wlq;IVS{$J@RrX(39`CK{GWX4yn7BRtJx{sI zgwQZ*DuPJt_&6XvhS$MjpI|a98=@m`-9nH^5+!5n4yD4>dwn?q!@?n~aNa1tIT;%^ zGIuXLE-ts2Fh1F)DX*uc^_*6=fa5)VI#cNxr=>-y>vZeJ>cUcofq8~@l9H;5idG=& zu?y3Ow;>lEdw%-m$dUAK->zd@m%7Z!sT!|UiLI@z?ZpHuwE7?JKA?Z~>H{4e9Z}~A ztyl@ikEYGl&$v3?-!=As^yqebx^~c$C)%OhvZ9{LKh(;wh~IvTT%jM|-d+>$b$AGE zo(xB;5d#kJ)gCZLZ#5-}N8w03G~GOtNaqzy%fjEoGM z@9#zx&F&(8Gw!4LWsV~nPPsVxDwBZip+{ZX}!3EVKFA$TPo3&);KK&Lg z;h4xNdOKb}$A~)c=R-~r%co4NM^%m>1L7m>l?s9vF5m!`v{hAu%FM`J^~arLM!s3UguBTBBj$HpE9`&%>En&woZ!D6`Fmed@Zg12H)& z1nee{^>R7yM>*Q)yuzyd&#(0tmfY}>i%(Bi>3M&*EmJScx#pN#x@oDar56qtGFJa8 zslc`?6Q0G<(a~e}&)sa?+%#O+%a^HLW}X_a#qD2`NTi|RVV5liT|iW{oo>7nDLT%L zZOq`AJj>6ogU5#p3kzeg`wySfYKoKXdy@C=U3EbDmHitZZlZWRP8XQ= zoau}%9hg|K0gYI0HIG;A4}c< zWuj$d6phIMGG#kmF<&bnX4fn6xu#|+NB|e-Z_}RsA~7*B-(^Z4J`*^1P8|?b7wV>O z)utmeB`WGjN^0t4<<@$ocd;yVAbt?v`l`RhQ--_1p3=`8{PZb4?6d|z1dUZ%b{}zM z$%FUnv%Sbb*VF^^jQ#ueElw9wGI6m|5g~$S&$hg_ugI|LE6K2KOJ!ekKoFkNfs1!~ zi?o5Gpx1?}+@Qq{o>EE&V&Ol3z9ZW(Z)DtH5ZQ&y3J|VXNVxupB8G*DS$y0H75v)K zjBL>GTD*(2xyX07J0Ht+=}yt}Kp_5;Q`nKv1)7&ViOScUUP;jj&tk=V9fBO(~JP%R^^T&1HVd= zFV@G&8f(fk^2Zupr=_Q#5y=Gr-nDC&Wz?{Qs-~uamR7Sn`3y49dNGX%+ZrAgb_&Zc zC}^Oh6tGO|%K`)v;OAF`_D+d3Ykhq1l&F2b%`*v>F~?lexJ$x$k?BE&A+ND~gasQB-YhZTPEK z8T0c_ARA@}FCpw~7PH4l{@W0*Cl^;(?T5Gha~6!<5ave^49a@)!@!BTyJlZky<(*d zKK|QO`Y-t~z+CTCP*9Ml`}`jrImQOp0+<~Ged&E}9&?}B1=LBP`;6_1KQp8S1k^xt zmdLG5oB{#R=S}Yeydv3jX1l)---b8{>2U;rtkM&#SV=5#owfWLtCS#MaUaI|E;Shju;?*N)&A~=3QQMSn-MYnQ`2{qa zgTtH79OE>Uo1q@?SFYTb-fT{|Cgm{T7cFj|3j*7Fp+Q_#O>JRXAMTlR;gZkRCWBMn zrwr88&HiapE}$~Wce8kNrAD6r`0>l+inYw#qM?1~ufMs>!YSGe#g4(Qtxb`|Tqg0* za#N@q0O1xM6O#?{kz&t=43rfsGs7LB6jB|^L!OwJ;I}H;+FV~E`!dvqYeKuA(icO0 zH?F}!v{+Tp-^64fu-h$(iXib{yuaI%dQ95&_U6W_T>nwzgTGVNn|pINa?Hw&4jw#c zRA3VUq?D2t=b^eV)_@}LB57+wnTXFZ5(6#hwhg+Y6E-;w)V3ixPCnfs85S}6?Q8kHuijt zBfiqd8_Q>J$a3I-TUv&BWd#UD?{^0gzu+2{Yp}Wg##+Gq82~-D)lWHSZ_3JKIx_X@ z)al=?NEsl_=kLj68j#~?#pB%GYt*!oi+UnRYHtAUf-Q`FdV z%qz``i;HXP>e`@%6UIrtW;>Xe9n!eK1D)24%Z9~KA)>3qNAl8<^;j$_vORzlO*B%g zc7e0;m`Df|1w8cLn5!Ws!(jm0dL>Jp#(mW8LVGe;CL=gU3)C*g8g3S3WaZ;5R%CWp zD5l0Sh7kSL@hD@lO_LwUsN7=-R<%GiP2j=>eZZ`bA3qjpuzgS*oxA6pOE#5|9%lo6 z+l%sZLC-(3k^jTbI3Er+1o;*C*pD<9_Q{}Y`%1&0df<%1r~jKd{kML$Y9{jZm%2J# zkSpM2KHT2{UZ#nZW>YGZXk&2qyE5mrhEvl4L_(Y!8!{}RhjZ9iaXfGMPJugA8Q4FfvT{pO_QPl#&xe_?n&FmLW~C0B zK0?gMtgXTkufS5`KeiA58uLib^O4UH{+d(yaG@CEmQI@ulm#2 z_{j5U;ql2}b*<5Y84i(d&oz}6k>lf2CXCg$bQjp_nV4i36-mgh3_RS2HUd^nt<9EP zo(g4O*VLp5WKsfM&c?}UL{ZCoS>KE@vCCw8MyoYy*CGTAChza&ZZ7CDn_?wN z5>io=Ol8@#r#Vbh&XDS4Ss#@Ec7vLc7N-N&7!$i88wBK!Uoj0rg=ob(jj(kAU{ZRf zEC~?fjEIOX+;0bnO}2vvwFe#lN(YiN-aC-UXk{W{a@SiBY>-9Ne);kogJPMi=dv?j zV{NStoz~~VSn8T;^4-kC#YiNK$9dvF2pGNlYDM-DR9DO;VVLS+&K$YnZN2IQB+649d8I{r1$a^58<-a_(XL+dRjIybH}UG9+K zJ|HhVcCC>LpdZ`Xs>3HN+-msd_xl_MW@fZ()6&kf0s@40)eUyNiM7d9SqU758I zp#W|i#Wps^O2?93%llTeln5X_@<#~dAdhBm|ZZ} zxuOm9hGb!{Q*dd_g9qE)dJo8N45&E4_XeXIwq3a{pm_`|dO~>Q%`Cd1ZzN%xodDE+ zYydlm4L9DRAnDyr=A{mE_@e58nHlp@X@k(3Bsd?$>E_m*7cXAev?f0RdD>$%!T<&Dh{#BTBc#YkJ}ml60N(c2Ux~a@P9u*E zyWnmo1Gwz8+}(>=k4nVbS2FZb{(mV3;t|fv(j>`6gvh@}Yrkz*paql zoB{*dUE-33##jbs?w?~*p`n1;I@&XI**G|$cY&_-$~{~lBv6rOEQTGvV3H2(rHxiN zCIe(K{01DNOExPP^;&U2;{piXr0&hem&P#G>9!jybJ4=Lf;=rsg)8&zkpZWYc!MPP zfwPj5hQFOw*8*k3F}~!{QRYt2%hK1F>LMGwzH}GTz2jJD>gFh+n~(|Iq2p_tyyw62 zq3zpAHWv)7(WQ!lDKPh0O_7X#{Nzasstmv-rGxkJm@eo#bnsxpr%#{w3x`u*+v#|C zl$6F?dB|kFGCRmA=T&sczW+zu7`mS?1Gr1%s&p!-m2{RTM&sgQ%h3dO&pHa zI4V6oGT7_VW!hL9A<*YbjQR3K#cH%RqA^r{bK=wI&ytYZxz$vz(@H}yRwG|tG=j^^ z^2&zRQYPlzZaFy)Mdk?Ff>yTJsz!5C3OPzuaq9P`n~sBr$aa#1kiZ2aN%2|F(Z%CO zRGj2CX0M4ffN(vE#X(gr&`M{dz-l!PeGcxc33~d}86zoRkn0SYOrs42k&xCacOCo~ zOFvju|4O9b#^-(Kp<3?Wzi$=u-Z0N{vcJ5vGuJc=K#dwCkgN5_AIY#zcB#_N6VK5F zgJ*%FGyyoJi9$X{Oty-1SK7918|`kgJUiq-kb^|Ld^rhDq@6*hko!vAYypmmBXO2S zW%u5eI8zf3pEtsn!~h&(i2xb7P<@%e548;qVr?-cMP5I?39%hM%zxs<6$m4QdQQd4 z+&z5wu%(@U4%|Gt4WA|24psq2jVUN8No{S?D+QiPgJldOk?aGYSESwgTp}0Rbv5-2 z(dISPNK%EXLm4S!x)Y-I&Uax1lG||R8&NJKF)jDFbC4zT1_#MRfDL* zz-83PLc)v(6<4u3#`TOtL z_0ufq{yOUSytLA%Xmx|=!~w9pas#}>d3luqB*>c5(&w9WJbwzw_?D8r=+FXf-Ddw|E((KHO|Y-nf*g9WDaSpIJ10xnoUPR^8v3urY0v&1G?j+iGKf!bP5C z13u4E1EmMlcLR8(Y}>&Evm+%duaj{25-_?gKzyctPBiMsQ2$qn4!-OKQ})YJpBs$9tIVNNkQ8fo5H;k}L~I47b7+!*X6>NFqyTguJb2Jvx5#V)6mGmCH~Rtt{fb$FV5j zr)rXNp^zqlFm)k8MD53PcR`)^)0v8O9C#3Ih$=ug%PxVKge0}|%ZpQDfHU3@rK0*A z1TKo3khzpDK%%Gzd)KL}DVu`U7ZhMif4OHwRMbSS?ky-0(c8_(?|yr81#~QG9|~Zg z#$e3&lAYqZ?sg}`6ivTa4)HOM(XCh++7BLNqWOf|H_+`v8#7y*WL+bpNml3& zk}hbbaR@Nd0Ah7bOn&6w`QD1f;aqWre|-J*CoF=pJqFGkWSw??Hli&DaK*CEysNn`u19bqtGVD?oxd}T)dkgw4K9}4Q@tdNlQ=H@1C_HPVjUO3P9QIEOxI%X=NDibIu33X$j`%9or8x&`t zON(c|h(pUmGEJS#BJ0DN!0g8bmZi^Yp1uwjt>Xcqy5Dx<$4cg1%(N?UVng`UA-Nqd7jlQ-SFCh>yK{<$;p^6#!m6fR06|E;Jn}8GUJd2&eSCaMsHv|P(ZCh>3hpo( zGQDEk$s3SX9Y6!#(UFk}$ZWc9hRUWwn3Mr1ND~E)grSOKQaca_W47u5npwlPj!1-n z1IqVUvT=(8U2X_cEX%VyS2>iM|J=ED@Nr;UQo)1Wg+Uce>LjMnorWCoad2=O$fR&0 z@g%t`3xtILbliUS3!-V5fBRAbUBqx#y263-8&?F& zW*@-x)y#v+TMlUgDi*o2poo@-rZr-jzk&BeF9GTt1leuC@UbB~c*6ocoUT{~WQx*r z#nz@LSh=$&PhJ(Lc;$iV8?7D=M6w zfv^RpDP51==I5gVH^MCI3tR}m9VCPO*o($Z_Z>dAury7YySB_-s)L)-09T_uEmqXg z2~oA?>he^VCS<%IB=Mj>T&h^a)1iFO%mK6tzy^!cX)|(R>qN{mn8nf?&zMWNbm1Hv z9Q@fCZHx`pT-{8Mxm+Nd2=+HwYdedbmti$xoH{LvuEVdQGuu*Hi5kQiT@WC`%M|e- zT2a%ywIIJm$S{C+JEGON19agng2l+njZr7rGEImDs0Vyksz%LNV0LWf{R|zFLs}-i zkVqQCbZ%zsb$r!&+4uGoK9>>s^q m_TPf}Z^8Vhf~nrx5wLRSvrk?xJG`TeU=?u+xmSOG@c#htejaoH literal 12070 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 { async ({ page }, { titlePath }) => { const title = getTitle(titlePath); await gotoWebComponentPage(page, title); - await page.locator('x-input').click(); + const confirmValue = await page + .locator('#target') + .evaluateHandle((target) => { + let detail = { value: undefined }; + target.addEventListener('input', (e) => { + detail.value = (e as any).detail.value; + }); + return detail; + }); + await page.mouse.click(100, 25); await page.keyboard.type('2.'); - await wait(100); - const result = await page.locator('.result').first().innerText(); - expect(result).toBe('2.'); + await wait(200); + expect((await confirmValue.jsonValue()).value).toBe('2.'); }, ); diff --git a/packages/web-platform/web-tests/tests/web-elements/x-input/event-input-number-dot.html b/packages/web-platform/web-tests/tests/web-elements/x-input/event-input-number-dot.html index b65a3ab31b..bd17a601a4 100644 --- a/packages/web-platform/web-tests/tests/web-elements/x-input/event-input-number-dot.html +++ b/packages/web-platform/web-tests/tests/web-elements/x-input/event-input-number-dot.html @@ -35,8 +35,7 @@