From f393367701e303c6c7733f0afb67aaa4682a952b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sascha=20I=C3=9Fbr=C3=BCcker?= Date: Mon, 11 Nov 2024 16:06:47 +0100 Subject: [PATCH 1/3] fix: ignore padding when calculating content height --- .../text-area/src/vaadin-text-area-mixin.js | 9 +++++++-- packages/text-area/test/text-area.common.js | 10 ++++++++++ ...rolled-with-prefix-suffix-clear-button.png | Bin 1739 -> 1886 bytes .../text-area/baseline/scrolled.png | Bin 946 -> 1076 bytes 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/text-area/src/vaadin-text-area-mixin.js b/packages/text-area/src/vaadin-text-area-mixin.js index 533c0434c60..75256f5c3e2 100644 --- a/packages/text-area/src/vaadin-text-area-mixin.js +++ b/packages/text-area/src/vaadin-text-area-mixin.js @@ -143,13 +143,14 @@ export const TextAreaMixin = (superClass) => } const scrollTop = inputField.scrollTop; + const inputStyles = getComputedStyle(input); // Only clear the height when the content shortens to minimize scrollbar flickering. const valueLength = this.value ? this.value.length : 0; if (this._oldValueLength >= valueLength) { const inputFieldHeight = getComputedStyle(inputField).height; - const inputWidth = getComputedStyle(input).width; + const inputWidth = inputStyles.width; // Temporarily fix the height of the wrapping input field container to prevent changing the browsers scroll // position while resetting the textareas height. If the textarea had a large height, then removing its height @@ -168,7 +169,11 @@ export const TextAreaMixin = (superClass) => const inputHeight = input.scrollHeight; if (inputHeight > input.clientHeight) { - input.style.height = `${inputHeight}px`; + // Subtract padding to get the actual content height + const paddingTop = parseInt(inputStyles.paddingTop) || 0; + const paddingBottom = parseInt(inputStyles.paddingBottom) || 0; + const contentHeight = inputHeight - paddingTop - paddingBottom; + input.style.height = `${contentHeight}px`; } // Restore diff --git a/packages/text-area/test/text-area.common.js b/packages/text-area/test/text-area.common.js index f401006ae2e..0acd099a2d9 100644 --- a/packages/text-area/test/text-area.common.js +++ b/packages/text-area/test/text-area.common.js @@ -358,6 +358,16 @@ describe('text-area', () => { ); }); + it('should ignore native textarea padding when calculating content height', async () => { + native.style.lineHeight = '20px'; + native.style.padding = '10px'; + textArea.value = Array(4).join('\n'); // 4 lines + await nextUpdate(textArea); + + // Effective height should be 4 lines of text + 2 * 10px padding + expect(native.clientHeight).to.be.closeTo(100, 1); + }); + describe('--_text-area-vertical-scroll-position CSS variable', () => { function wheel({ element = inputField, deltaY = 0 }) { const e = new CustomEvent('wheel', { bubbles: true, cancelable: true }); diff --git a/packages/text-area/test/visual/material/screenshots/text-area/baseline/scrolled-with-prefix-suffix-clear-button.png b/packages/text-area/test/visual/material/screenshots/text-area/baseline/scrolled-with-prefix-suffix-clear-button.png index 931bc79e77edf4e176478cc25ee229d0f33ff6be..3cfdee9d8bd7f390f2021ca39dcc16a34190895d 100644 GIT binary patch delta 1715 zcmV;k22A|%!ML=Acj@pB85}aa!;RVAj2Y`9Em#N+B~rl*6>gFn9D>%GN{~YbPiv$tA$bSs z`!>F9Oxl0iOYZjp5t{Vwgy-wsJ-I$r>h*dZL?ps>)(1e;OOts9Jb&D>n=_DA6DXw( zq@$kyzM55$Ff%YT6`m&FP1FhBzI{9KHv0SfTY8^tP-Y3b6-6S{m`!*=M^SV~MD`?m z$!D6-0q`_LPIauHs?{o6bd^?Due-o3+sO?~`gPD1X1-kByBDY;A2}|4MOSU;wJBwtS6Ay{B8p#jg=bMAgy~5DY5aRJTu3Wj&&VOd8$DDLr)a!Muudic$eI57j z-^a+v$f57s+}yOg1n>sNr_M=)^SwS|N1pthXkJ~;bppBqhE`JxMrl#O_yRo{uicg(oj|n*Dq{NROKak7iaQE(AT)ld=6URkeNOD~4 zU*_$f;l6(T+I04>8Cyhq19S+doo5r%P&F9K2_mot?$(?ChZv6?Sx@Y4cWD z`F{ndxj6J}48Bh9jJn!U6A-_fQg6ogXDFghXf~VIY)aiu7!=t;yedKh*gY7KS^q7wRR7q97OyA{Y!deVoYa_2R*U z2ezG67C$PhkVGPBAgtw~8#$!HIx<>8dVe?6gA_$+>DfHH#sr9;p^C_5@(861NJfAD zyt^-^A+41VV^ib+vZ-4o=tUpYP~+keJ|Cyo$r(Cu?hIp?i?NVHbs#7crYXNwqHZ7? zly4YnsE9(bu_(*p%9rE}!e^)u;>j3_sU$Lm6098)MovRY(`9!rMWhl@ghC-i6Dcee`4hY34Dvx4Sm%- zi^v%!;8&4YNFtR8^CU%QqU(bqvJ>X^U3_MO_kc!nYp#A$OPK|Di~kp?7_hz1%K`UgM2)91@!DW?Dc002ov JPDHLkV1n{SQ)d7G delta 1583 zcmV+~2GIH54$BRYFneHBEAj z@tB{p>+i*Cz;bM?U&5K&ChH|-#D_5?xJxw4&&OjYbV}DPp?5s zg^^8$pcuI`vW#x##qrzk?0@WFXJ-cw9z4M0a9mM zn+>C*qgYy6!sEw};dZ<6=FJ;at5w5;r2cW%d115J;Pd$~K0c1k%}o>vh5sGXjA?v) z96q1Vl%LN!4r+gYAH`x3<#PGpGPm1}`T2R2N+taI^{XcXBy*FT7k@673(L#PEu%Ud z)AI5%TrQXBdU_hKU%!UkZim=}~DBmiJ$X2$d}0S1Dy+wE9fT!h2nz{{5}@%{UE zjE;^%(=^P_&;R#Klt(I&h8oWx8XN-vD4`hQu_8j5UOfc5NS)0K<6JHm{C+=ncXt5* ze!t)JF#!g*9t{re}ntwWW1-9sEGEWUTugnh{k-Vh;m=H~tE*UD zU2VJiXC_?*H8L`SyLa!x?RK}gwuDmYjH4n;YCkVJ(`o^t-Rhs&$o^tinSiF|k;xw| zO4lo*cSHTD-E3-}RiYC93A~DMG=%(m6p2g`dZmP1Du(q~R`zbF?=%_>)a!M4z1|a7 z^O{k4yTJ?ca;9Y-v_foy3ET4Wt-6DdS8+X= zZawNrP()^8>b-nKbTX0A8j~Lf3xDDnDrsQkayi4dnVp?AbUa_7hy*bxB0)U~s*>Bl z`brS0sv@|uj;DG4VwVPkd{DV0A}eV)BS~a)StM5~NQBpr;&~=$00;+F#M5{JmGu~6 zAr*>Kff|k@9?l}3GX8;($ZBMR((}mV6ofSO(1lK@ng%^r0?)`y{Z4k-Tz}W0Lq{U4 zB60jWMMDYTIVGsC$p)n;P@o}}N+LXQ{7NTy{#fdFJvc947MY?Br_*`pAHbSu5cK4{ ze7R^8v2-4Kr2@T}MKTh^+D2aXu82%XeA!$HCXjg=LSn6hh$LbH zxKn}#0C!3dSrmgJ62zd01TiQgK^=dw`-knXUXFvPXa4+q=-lp$uL)2@g1Br>B#5t* h4F@|KVo*ea{sDD=isU6jLj(W-002ovPDHLkV1f{a{r3O> diff --git a/packages/text-area/test/visual/material/screenshots/text-area/baseline/scrolled.png b/packages/text-area/test/visual/material/screenshots/text-area/baseline/scrolled.png index 1e4c5ace8dde83aab0f180efc6c32c01e52452f3..48756dbe166fe9f61021b065c1d09004ac33f246 100644 GIT binary patch literal 1076 zcmeAS@N?(olHy`uVBq!ia0vp^SAaN+gAGU?k*k*lQjEnx?oJHr&dI!FU|@dd>Eakt zG3V`F#hgzWGRHsOf9JPgnwQEZAQ0NB@LIvLd5w$RrgvHs&nTW00f}zf^sXv+$J`xn z-ld+r_fe*Po9MpzDUnRF)o0B4w|sd1?&;H~t_(hZK3(NzSjXwe*v7$S;1bZF*u=ym zD3Z{zfWeuCRYFPQfB4_FHs%t$@S? z>-#%v-r7yqE?adg?y<#HqiD_Eip19UuZ_=ts$^&7IqU9t_Ia_bo!!4LGlH8R9n#CY zRbyxWt5&b+(Ag^KiLN0mt+T(x**teUnynGD_q>hfK|buBe(`3(ufIVLi`L&uGCgo$ zqcb?Tp2&vmKEKt&sWowt>%Q>A#kLRP;~c-HE;Cszx^wTUs^y^}D+``3y~f7VcRXgF z+wP?G2KrM~lRbkBN>9bE*7RkZR8zKMU+7hquEQTMo^?EM{C;Ejy!8u}e2>Y?v)<7< zzrd>WZmJklO!MVtF14=1ZmGpFA@_}c3ROJa=-fIhHQ02ukL%4<_9d&z{j|el^GXjK zsIYy?J;~{|QqbFFU5i6pg|&-Mf~@B=RxS8CLz9t51Q?e#_kfJ(*x&WuJ|aJB1=*~L ziR@2&uLAP7cnP;Au26~1y#1jw_QBNnfUi;ACF?IHtzETliyyyMn)llo#*7}HxK>>? z(=Umz+?lx|K}2KD(^KhFKh6EWyP`4siQ)A1fsyR9jy>cz?-Mz;@z<`$x6K)T*2t}T ze|2@ZA$RDWz4{$jJ-Kwk*?2CzbYyL0I$E@QYue=P<$Xu~L>#Eri(k6wt*KOR-H(YY zIDfQXzp{AW8I#zuSz>;XMiX~MMNePpWp+#FP`^CG52pE+Ur$u`+*o+;#8c_Ful%Hr zdrhAimU%?2HUD)qFk$c(|7>W4rf!Ln&e>mp;9V_0KmY&Vg*O)#OupCsY|adorbE2d z(&u*?da|@if0vr*>LYZ0VFB|FK2~r@LNd(4$@*{p)qQ`idYv)mjC}pyUzz{AWw{KF lWELL~AS!IJ<*^s}ET2VweO8{~0W1a>JYD@<);T3K0RWna*cAW( literal 946 zcmeAS@N?(olHy`uVBq!ia0vp^SAaN+gAGU?k*k*lQjEnx?oJHr&dI!FU|`Piba4!+ znDh3oZqDrhiPndga}`z?>FAi4nDCgaVmd69xx~QWf1?URR5zKQ8UN@2+*S|M$f3?S*q+cRzprJe_gFk1rRQ8J@Q+U{G#i>fzurP|`Ti zK^*7BX?K2xFK=JIeEB3fCN56yt5p~_y@y`hy?5_cpKE}`*6A~10tH3fUgx^>t>EBV z{3Xt2xm#)BtFuhI-p;*r)~9r)rd6iM0{NIK79J5tMz@2GZ?|RZF5CF1V%5>A)!SYt z>m9f;rp8G=Y=4|oG60N*?Ipe?wmKyn0SC`$;iVKhOTd(37I4yhb`zfJ+ zdDwZ*e$)=x9(>o$>+$OQa(#F6w7rUq;l6g&tR) z%)FGcZjtZSGs|sz*?7*My#9&tzxBGO%xqnR!f=PGhTG!ISr5LecnW=~f`r`S2MhSl z?hX6A@{z^0l6{w)Pn(xDiYGdnE*1N{R;@dzGubOKunv;pA)VmS7UZjUZ*)silK56pxNp00i_>zopr0MIg+ AzyJUM From 99c68a97b8d6d2ac935ffdc04e366a9e1e5d70a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sascha=20I=C3=9Fbr=C3=BCcker?= Date: Mon, 11 Nov 2024 16:30:33 +0100 Subject: [PATCH 2/3] update custom field visual test --- .../baseline/form-layout-item-text-area.png | Bin 19126 -> 19063 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/custom-field/test/visual/material/screenshots/custom-field/baseline/form-layout-item-text-area.png b/packages/custom-field/test/visual/material/screenshots/custom-field/baseline/form-layout-item-text-area.png index 549cb74490ad96670964f822de9a25d40628fc87..0a592f150d0a165d126819514025abaf07d834f8 100644 GIT binary patch delta 16513 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 delta 16571 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 Date: Tue, 12 Nov 2024 08:48:41 +0100 Subject: [PATCH 3/3] fix using box-sizing --- packages/text-area/src/vaadin-text-area-mixin.js | 9 ++------- packages/text-area/src/vaadin-text-area-styles.js | 1 + packages/text-area/test/text-area.common.js | 10 ---------- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/packages/text-area/src/vaadin-text-area-mixin.js b/packages/text-area/src/vaadin-text-area-mixin.js index 75256f5c3e2..533c0434c60 100644 --- a/packages/text-area/src/vaadin-text-area-mixin.js +++ b/packages/text-area/src/vaadin-text-area-mixin.js @@ -143,14 +143,13 @@ export const TextAreaMixin = (superClass) => } const scrollTop = inputField.scrollTop; - const inputStyles = getComputedStyle(input); // Only clear the height when the content shortens to minimize scrollbar flickering. const valueLength = this.value ? this.value.length : 0; if (this._oldValueLength >= valueLength) { const inputFieldHeight = getComputedStyle(inputField).height; - const inputWidth = inputStyles.width; + const inputWidth = getComputedStyle(input).width; // Temporarily fix the height of the wrapping input field container to prevent changing the browsers scroll // position while resetting the textareas height. If the textarea had a large height, then removing its height @@ -169,11 +168,7 @@ export const TextAreaMixin = (superClass) => const inputHeight = input.scrollHeight; if (inputHeight > input.clientHeight) { - // Subtract padding to get the actual content height - const paddingTop = parseInt(inputStyles.paddingTop) || 0; - const paddingBottom = parseInt(inputStyles.paddingBottom) || 0; - const contentHeight = inputHeight - paddingTop - paddingBottom; - input.style.height = `${contentHeight}px`; + input.style.height = `${inputHeight}px`; } // Restore diff --git a/packages/text-area/src/vaadin-text-area-styles.js b/packages/text-area/src/vaadin-text-area-styles.js index 4869ab9fd20..a4ebb8ea078 100644 --- a/packages/text-area/src/vaadin-text-area-styles.js +++ b/packages/text-area/src/vaadin-text-area-styles.js @@ -54,6 +54,7 @@ export const textAreaStyles = css` [part='input-field'] ::slotted(textarea) { align-self: stretch; white-space: pre-wrap; + box-sizing: border-box; } [part='input-field'] ::slotted(:not(textarea)) { diff --git a/packages/text-area/test/text-area.common.js b/packages/text-area/test/text-area.common.js index 0acd099a2d9..f401006ae2e 100644 --- a/packages/text-area/test/text-area.common.js +++ b/packages/text-area/test/text-area.common.js @@ -358,16 +358,6 @@ describe('text-area', () => { ); }); - it('should ignore native textarea padding when calculating content height', async () => { - native.style.lineHeight = '20px'; - native.style.padding = '10px'; - textArea.value = Array(4).join('\n'); // 4 lines - await nextUpdate(textArea); - - // Effective height should be 4 lines of text + 2 * 10px padding - expect(native.clientHeight).to.be.closeTo(100, 1); - }); - describe('--_text-area-vertical-scroll-position CSS variable', () => { function wheel({ element = inputField, deltaY = 0 }) { const e = new CustomEvent('wheel', { bubbles: true, cancelable: true });