From 30cec7ec954cea30c6f8bfae8fedb28504d2c334 Mon Sep 17 00:00:00 2001 From: Serhii Kulykov Date: Mon, 20 Sep 2021 11:35:19 +0300 Subject: [PATCH] fix: add missing RTL styles and visual tests (#2574) --- .../src/vaadin-date-picker-styles.js | 22 +++++ .../src/vaadin-date-picker.js | 3 +- .../test/visual/lumo/date-picker.test.js | 90 ++++++++++-------- ...{clear-button.png => ltr-clear-button.png} | Bin ...rror-message.png => ltr-error-message.png} | Bin .../{helper-text.png => ltr-helper-text.png} | Bin .../baseline/{label.png => ltr-label.png} | Bin .../{placeholder.png => ltr-placeholder.png} | Bin .../baseline/{prefix.png => ltr-prefix.png} | Bin .../{required.png => ltr-required.png} | Bin .../baseline/{value.png => ltr-value.png} | Bin .../date-picker/baseline/rtl-clear-button.png | Bin 0 -> 2731 bytes .../baseline/rtl-error-message.png | Bin 0 -> 2361 bytes .../date-picker/baseline/rtl-helper-text.png | Bin 0 -> 1401 bytes .../date-picker/baseline/rtl-label.png | Bin 0 -> 1309 bytes .../date-picker/baseline/rtl-placeholder.png | Bin 0 -> 1923 bytes .../date-picker/baseline/rtl-prefix.png | Bin 0 -> 959 bytes .../date-picker/baseline/rtl-required.png | Bin 0 -> 1368 bytes .../date-picker/baseline/rtl-value.png | Bin 0 -> 2423 bytes .../test/visual/material/date-picker.test.js | 90 ++++++++++-------- ...{clear-button.png => ltr-clear-button.png} | Bin ...rror-message.png => ltr-error-message.png} | Bin .../{helper-text.png => ltr-helper-text.png} | Bin .../baseline/{label.png => ltr-label.png} | Bin .../{placeholder.png => ltr-placeholder.png} | Bin .../baseline/{prefix.png => ltr-prefix.png} | Bin .../{required.png => ltr-required.png} | Bin .../baseline/{value.png => ltr-value.png} | Bin .../date-picker/baseline/rtl-clear-button.png | Bin 0 -> 1563 bytes .../baseline/rtl-error-message.png | Bin 0 -> 2024 bytes .../date-picker/baseline/rtl-helper-text.png | Bin 0 -> 1105 bytes .../date-picker/baseline/rtl-label.png | Bin 0 -> 1069 bytes .../date-picker/baseline/rtl-placeholder.png | Bin 0 -> 1232 bytes .../date-picker/baseline/rtl-prefix.png | Bin 0 -> 717 bytes .../date-picker/baseline/rtl-required.png | Bin 0 -> 1157 bytes .../date-picker/baseline/rtl-value.png | Bin 0 -> 1395 bytes .../date-time-picker/baseline/rtl-basic.png | Bin 1417 -> 1403 bytes .../baseline/rtl-error-message.png | Bin 3249 -> 3236 bytes .../date-time-picker/baseline/rtl-basic.png | Bin 1103 -> 1102 bytes .../baseline/rtl-error-message.png | Bin 2672 -> 2668 bytes 40 files changed, 126 insertions(+), 79 deletions(-) create mode 100644 packages/vaadin-date-picker/src/vaadin-date-picker-styles.js rename packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/{clear-button.png => ltr-clear-button.png} (100%) rename packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/{error-message.png => ltr-error-message.png} (100%) rename packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/{helper-text.png => ltr-helper-text.png} (100%) rename packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/{label.png => ltr-label.png} (100%) rename packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/{placeholder.png => ltr-placeholder.png} (100%) rename packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/{prefix.png => ltr-prefix.png} (100%) rename packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/{required.png => ltr-required.png} (100%) rename packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/{value.png => ltr-value.png} (100%) create mode 100644 packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-clear-button.png create mode 100644 packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-error-message.png create mode 100644 packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-helper-text.png create mode 100644 packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-label.png create mode 100644 packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-placeholder.png create mode 100644 packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-prefix.png create mode 100644 packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-required.png create mode 100644 packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-value.png rename packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/{clear-button.png => ltr-clear-button.png} (100%) rename packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/{error-message.png => ltr-error-message.png} (100%) rename packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/{helper-text.png => ltr-helper-text.png} (100%) rename packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/{label.png => ltr-label.png} (100%) rename packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/{placeholder.png => ltr-placeholder.png} (100%) rename packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/{prefix.png => ltr-prefix.png} (100%) rename packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/{required.png => ltr-required.png} (100%) rename packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/{value.png => ltr-value.png} (100%) create mode 100644 packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-clear-button.png create mode 100644 packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-error-message.png create mode 100644 packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-helper-text.png create mode 100644 packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-label.png create mode 100644 packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-placeholder.png create mode 100644 packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-prefix.png create mode 100644 packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-required.png create mode 100644 packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-value.png diff --git a/packages/vaadin-date-picker/src/vaadin-date-picker-styles.js b/packages/vaadin-date-picker/src/vaadin-date-picker-styles.js new file mode 100644 index 0000000000..622d76c22f --- /dev/null +++ b/packages/vaadin-date-picker/src/vaadin-date-picker-styles.js @@ -0,0 +1,22 @@ +/** + * @license + * Copyright (c) 2021 Vaadin Ltd. + * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/ + */ +import { css } from '@vaadin/vaadin-themable-mixin/register-styles.js'; + +export const datePickerStyles = css` + :host([dir='rtl']) [part='input-field'] { + direction: ltr; + } + + :host([dir='rtl']) [part='value']::placeholder { + direction: rtl; + text-align: left; + } + + :host([dir='rtl']) [part='input-field'] ::slotted(input)::placeholder { + direction: rtl; + text-align: left; + } +`; diff --git a/packages/vaadin-date-picker/src/vaadin-date-picker.js b/packages/vaadin-date-picker/src/vaadin-date-picker.js index ba05f5670e..e624065772 100644 --- a/packages/vaadin-date-picker/src/vaadin-date-picker.js +++ b/packages/vaadin-date-picker/src/vaadin-date-picker.js @@ -17,10 +17,11 @@ import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mix import { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles.js'; import '@vaadin/input-container/src/vaadin-input-container.js'; import { DatePickerMixin } from './vaadin-date-picker-mixin.js'; +import { datePickerStyles } from './vaadin-date-picker-styles.js'; import './vaadin-date-picker-overlay.js'; import './vaadin-date-picker-overlay-content.js'; -registerStyles('vaadin-date-picker', inputFieldShared, { moduleId: 'vaadin-date-picker-styles' }); +registerStyles('vaadin-date-picker', [inputFieldShared, datePickerStyles], { moduleId: 'vaadin-date-picker-styles' }); /** * `` is a date selection field which includes a scrollable diff --git a/packages/vaadin-date-picker/test/visual/lumo/date-picker.test.js b/packages/vaadin-date-picker/test/visual/lumo/date-picker.test.js index 8df0e4f060..4f796ff068 100644 --- a/packages/vaadin-date-picker/test/visual/lumo/date-picker.test.js +++ b/packages/vaadin-date-picker/test/visual/lumo/date-picker.test.js @@ -27,51 +27,63 @@ describe('date-picker', () => { await visualDiff(div, 'readonly'); }); - it('label', async () => { - element.label = 'Label'; - await visualDiff(div, 'label'); - }); + ['ltr', 'rtl'].forEach((dir) => { + describe(dir, () => { + before(() => { + document.documentElement.setAttribute('dir', dir); + }); - it('placeholder', async () => { - element.placeholder = 'Placeholder'; - await visualDiff(div, 'placeholder'); - }); + after(() => { + document.documentElement.removeAttribute('dir'); + }); - it('value', async () => { - element.value = '1991-12-20'; - await visualDiff(div, 'value'); - }); + it('label', async () => { + element.label = 'Label'; + await visualDiff(div, `${dir}-label`); + }); - it('required', async () => { - element.label = 'Label'; - element.required = true; - await visualDiff(div, 'required'); - }); + it('placeholder', async () => { + element.placeholder = 'Placeholder'; + await visualDiff(div, `${dir}-placeholder`); + }); - it('error message', async () => { - element.label = 'Label'; - element.errorMessage = 'This field is required'; - element.required = true; - element.validate(); - await visualDiff(div, 'error-message'); - }); + it('value', async () => { + element.value = '1991-12-20'; + await visualDiff(div, `${dir}-value`); + }); - it('helper text', async () => { - element.helperText = 'Helper text'; - await visualDiff(div, 'helper-text'); - }); + it('required', async () => { + element.label = 'Label'; + element.required = true; + await visualDiff(div, `${dir}-required`); + }); - it('clear button', async () => { - element.value = '1991-12-20'; - element.clearButtonVisible = true; - await visualDiff(div, 'clear-button'); - }); + it('error message', async () => { + element.label = 'Label'; + element.errorMessage = 'This field is required'; + element.required = true; + element.validate(); + await visualDiff(div, `${dir}-error-message`); + }); + + it('helper text', async () => { + element.helperText = 'Helper text'; + await visualDiff(div, `${dir}-helper-text`); + }); + + it('clear button', async () => { + element.value = '1991-12-20'; + element.clearButtonVisible = true; + await visualDiff(div, `${dir}-clear-button`); + }); - it('prefix slot', async () => { - const span = document.createElement('span'); - span.setAttribute('slot', 'prefix'); - span.textContent = '$'; - element.appendChild(span); - await visualDiff(div, 'prefix'); + it('prefix slot', async () => { + const span = document.createElement('span'); + span.setAttribute('slot', 'prefix'); + span.textContent = '$'; + element.appendChild(span); + await visualDiff(div, `${dir}-prefix`); + }); + }); }); }); diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/clear-button.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-clear-button.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/clear-button.png rename to packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-clear-button.png diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/error-message.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-error-message.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/error-message.png rename to packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-error-message.png diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/helper-text.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-helper-text.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/helper-text.png rename to packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-helper-text.png diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/label.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-label.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/label.png rename to packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-label.png diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/placeholder.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-placeholder.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/placeholder.png rename to packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-placeholder.png diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/prefix.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-prefix.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/prefix.png rename to packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-prefix.png diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/required.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-required.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/required.png rename to packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-required.png diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/value.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-value.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/value.png rename to packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/ltr-value.png diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-clear-button.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-clear-button.png new file mode 100644 index 0000000000000000000000000000000000000000..d5a60db8b1477ab441a49a6c5b363b103262b204 GIT binary patch literal 2731 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 literal 0 HcmV?d00001 diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-error-message.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-error-message.png new file mode 100644 index 0000000000000000000000000000000000000000..9e9937523a8e68443efd73083b49f403de37d46b GIT binary patch literal 2361 zcmchZX*e6`7RNJaiJ}@+OBJoPmQibvU~DC}+N!n^ZD=jEYb~j*L+wVaK?g;38CxS# zYimtyp{SiSX*Ep;p%EH_N$S+@kRbe6Tzp zHh|^Oz6x8|I97uI_ZVgSscAK501LCT2jMt%mt;zRpL04aeTuck1Z>!^eo{i|bdD=^j{2_$+as4Wl zl)?#p6`PU@;oQy}SS%Z1egKE$Y381%^2lY@6mR9Wl2uv4D<{@%b{VfqxPD*a9T_;re{>;&;$U|eV^rHMK)AnPA_Ay}K7Fyeln_toajLNQz&y%= zFv|BSAHSc)SSFzcNWt=E(_QMc>&t5>Fa2 zR~%xrCnzq?#7ohB^#ghnE$4gwh{>LMawSPb-9oM+&6u~~?@8}+>ZNefj^N>-?bxQy z(I6d5YfcKU<&}z#1849Et)QeNu@2@{sfHT%8cNOLv$m}-M&4XOJd{B#faZ4VxdSxN zflB6H9Kf~x8P3`WdFC@KIB{0xf68{sBKb~kPeC?KQ6pm$26D1kW_;yty2xfI%?jd8 zSK8kZ*y>xH(?VStTYZyY=VnZlOR?GZ_gm3GTVkRigr>(6S7vu=SM!wcD* zSHHn{>E_G#)Y3Py&YrbSvoeJFP=i>jE<5$2R^;GDftSSCLYqDr$4Xgjy(d03TUoRR z)+4Ua$7wnv)u@H!NMYZI=|kSHO=(vqPL^%nq(}aWI!!_J?SSX|+{436OmfGZDrE=s z-g;qjkmU$@)*O`m=49t@>=i^^>6b1lSXgEf8Eu?t>tfU~{@t;MSRjfw<=e+tD)& z{IM^B!0MJ^6v;~u*J1i0@1hXQyY1$;Y3!X}F#hsurkrE=i zWF9rfJ+(LTxX&+^TsgMEu4Yrd?#}2*c3(EnNFjfe2Mgh{B04sMpC`8}u}F;mqVT*$ zbXR}b9q4$bsvE`gbsaFIDsyX-rh(m<-%qi^O=yS+1<#J|KyB4m{Sf|V4wh1WfB0mg z{mEW*sb8y@)8u7?+3cZZ1iKLxMhCESF&Bf8!lTb|jpOwc!a6pIDt+(70w_?2Z>-pi z7hx;)59*_I_4nPpB)aB^u0yh5lLN@|T*w(bzjb6s{F-;anj7USMaA2|dSr@AH&YWj zIFHwU`<=8Ls@mC2aOBvx^AH_U$zk}=*6=Z5Y61&li_=*L!O_dJ@NlKu>f=~Wk)+ms zaNRGeMW)~<_u}yo--#Iu=~i2>cvgkS3;}Z!ZlodH|Gs8@!MF*sqX=3Q(6C#2Gwd6c z!!I{673h;p*7cwAiR*c_#LxBg=KQu%DyYaC66_<3(RDgy*vOSoo%x|EK%;Jh$HgWv4zp#4gF5H~a*d*4Y+kdSw2wKw$<8n$vP}XXaviaa+S^ zP|(m4v-y=czQK=`=ldRs$9BVG@j4Ch_soWHWzy?h1^`IY>R1A!w7~T%TeG_^4+(_= zU{Y?$Qj>i64$Zt5GUNOd+Erv_Sb}EI!7gN@tBEpR{sB>*8*wBVFIc~<9mGB$Oe;e7 zV~$f1dp_kJS_$)jDmRx}TOBETuFBEean&2RV_JtUr)xh0tvz%HdZv}!eq~>{DOg{e zpeA}P>|$%H((mRrlTgTvJ_d>dcz9^$Pvz@q7mY_r&+PTbk~IHk#9x? zmb}xBpYM(pD3p~p6S3hn=|y3^*n>6jr@J@y;iF)kgD`Lgy=$%nbD zpS=GhKK^9fw4O6?gmCHl&wI~W;~VljL?~F)Q^$yaoe76SJ^w#VHEV&5;N*t6!rJlm z-hFd_mK#CtvW4QQ2dCNm%ME1y!DIi)fB!po#9evpv&)1i^&R^!1b~^_nKhWelm7y> C(Q~c< literal 0 HcmV?d00001 diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-helper-text.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-helper-text.png new file mode 100644 index 0000000000000000000000000000000000000000..3c126339582b38f58d4bd48e11101798b859e74a GIT binary patch literal 1401 zcmeAS@N?(olHy`uVBq!ia0vp^SAaN_gAGU;8l6f7QjEnx?oJHr&dI!FU|==&ba4!+ znDh3of5zl;nd2Y*uSA*tRSsQZ5#|*o@#T_|3x`}=<3_G?-h8Pu7Dq&sXg|);F7!=xSiWVY-`gwc?MrgAF8#E*xqbD;@2|hu zRMwrJ{Qlw355ND-Q}aDg8XL~w^XB$zriSmFjZ8d(8V3XjQx_QRo8#B)zcP9Myq8Z` zUw`EMs$xDX6Qk^n{r9wxj{qwz|uI+st`FGW1tN*F}eN%aBK3B|@iuPOaaY3%- zJbTTFzl+N!^M)k9d@f&-yX@5DYP-wk>9=ipb8YLcT(*d^yRxBl?fU=AFMmC>W*QTS z+nmK;zv}bB)Su@==SuDJTXk=T5>xA~YnRr2JGbDP$d!}Vl%r1TR^QJvjC1Im#&4SM zx=k;~}m#N;r{cXm=fX7W)_P3W-)hws~`{y7zsXEzky_ zr3VCbl$qz^C&spnpA63L!%iQ+ZqC5};}_cob`Ft*4hP0IC}qR0 zCBX3}P4GONvTL!RyGoJbI@RR5FzS|g8{0Im=%CPkuP~s>5ZXtWlF8<@|{;Oy- zY)?*PL4+Y{i2nHhWckxC_b6+O2twKpiqtZ+N*mtRtj}L2&?1;M!}=~ za*5(PS$pmWMoqf1tnp!spJ}L6akToRL|@)i6IIW~`R$J;>$1u# zd$+%u7QZ`X_ZQn!>mTwOi`2{tSyjL3&(n7^9!)Z_UnqF=NlVvy^HR-Ab3^UoUqyGboBKSei|1U%w)L(*KYAXmZr|3|dR}8{?H8A`X+bj;&_d{hTd&e zBJ~D~Q$5cvDLMJCxku>l%-r;&)vB`f zrjgJA_E;@SH<>i=-afh2O#VL;w684w z(X#ksrGB%xsZm(Xiv{Yt=AZL;sAsy`Q8qDCCHJ$&zMqpflzg4_E}ZMjAKj&LM@3$C zXE{jvR<5c}KNDbZZP~qtGv*vjN%U2nYP(lk)>>dz;GX-MZ`_2v#M37}D{xx*^U1br zhWkF6yvv>C_xf{2(8{ywCCjIJJQI=k$?NS@n_@S8vhkPQY;F20A}_71@Hw|&@$bW& zbG3H2ZQm+-|He@{O*^yu3)ij=-2%z$pp0PX3{UW=$sa54AET0~>P$c8?WVx8l)=;0 K&t;ucLK6ULNuEmp literal 0 HcmV?d00001 diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-label.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-label.png new file mode 100644 index 0000000000000000000000000000000000000000..333fe1e730fde457effec61915bd835a9908c6f5 GIT binary patch literal 1309 zcmeAS@N?(olHy`uVBq!ia0vp^SAaN?gAGWoyV-vaNHG=%xjQkeJ16s!fq~_^r;B4q z#hkZy9Wy4EOC0|ge?{%;61Q9DTEkRD`OnD)wa9w4-aNd4eIxtQ#g{fUcO~c-PdD1; zJoC0An<(4YM|ww{3=JZzZ#+u8b-1g2Q__tnGY{<$-J3z)w~yRR%POC7J8SCCeJ7Q_ z=I)o*P+Yj&HW~yRg?U^Lo#Se@o`Jod>bv)|Ok+3|wZm%Z^;X z|Kin$9-~j$?rY-Srb}%t{yFQ-l6Bv|Whl&?oRySiUFq{%`>(&8Pxce9`H!44?*@AO ze%=4-$nM`FdP&|f3m-%lmmgok{C?%+9FAetT(IT5h6YaAonj_v-WiAC^(ls0gzt^XaWt=3@WD z_1<>TvKdo$PQP|%lWFPMe0WomwW$;-s0YAU`lm!B?)U#s5t`s~`e*46wk zJc2zQ|1~e&-C=9^>EP~X!Mi@*o#2+Y^y}|0J;ydrN;)k*CA<3OrrrN0EZL)y`R-nB z>XhL3>awq5Kjw;e-w<*#y=MO>`^+LM`v|L^Z@eUm@Q zDae5<{LPi@Q!fLKN6M~=tLuqhdMP;E(p=)_1J3firBi18c%B_p{Mj;9O!ee?2Zi-N zQ=I;uoa+8mWWUXVi!bLqQxkf%ch00NsgQ8p%<{E-q32&@*)05+6BiWsdHcG|57T1; ze?Q@3^_S?0zw}`L_p+DG=lx%LeBQ9@cl8xJkxK`kEw+;I&ib=*u~Jrc*NbDVpQYwZ zD?9S)>dmSLCs$YOzVhRrrslt?`~GCScpuK0{cXic-HmpSdA!r{(v`si-z@aCGTRI(~wk|Frh}`j4yrTkcs=pY_wG zr{;sf{zdtF*B(CDbEiCX(S?0ltUcu}0Ux$~TCu3Q>6F%rRVTz!FH1h(e!6$QL+3>P zdFHF<|JoPoe}BcYnETs~i*m_{hipll&$KG6wQ17o+uu02K8?zmL)4!2EoM)eR`wS%&@T=bv%U z>>9$S%`U!Q7%5lE}XF2-o<0X3`kptZyk8t3OK8&)X Zo-z2}!@X;{B|wEAgQu&X%Q~loCIAo&ZH52< literal 0 HcmV?d00001 diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-placeholder.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..4eb0861dff1866df4130b9d9509b073bebc9df8f GIT binary patch literal 1923 zcmai#Yd8~%AIB#SVlvbUa~vI)(a~hmPRQ(xGIC9n%di|;B)Q)&Q7*G?NH#=FJ!2X< z?zdbfhNc|3RmPah=9rbs$npGN{NMC{p8t#A_xt-j&-cae)%TO(V0T_lMnwhy0LWQi zKs)XGhy6iHOYW<$?v;!CCKl>+9tEHcK^6f3DKl%d#ib}RZ<=TCd|idH26O&R;1F=5 z&J8V_Q(hvQY+LT=`mnPwyobprovt0fXgt2>jpcu?d8_?+#R^U$D8U2r6_kBazaTNU zOp=pKow-g>2MPDzn_!^1ap!qjibwGo@@?9;sWj18XyN(ea-lYJV*e7x4T~$X zf3dm7Uq1Aq=G$%iI|}S)|G9D?@Qg0KhmA1*tsftX`-P3xVH~s@;)k@V9Q4%H=x$Rg z)2bQ zCVQ*jpt{L2qV_pE?`artk$jFvVY(AMzrsQHNTV6=bFFi1A&tstoeCk$eYCw#i_RH% zD_Q&JW>@41+Ca^`{@Ay&1fjnPkFHzlRDTPnR2-P-~M0|UBIt>*<~K`51e zpKl>gWLM4wU4|GwMclwx|9T&H4TTz5YHh|rsXv(*G`w=Irz$8*|KseP^r>+ZL*nXn zMgE;}-E&m10`gQd1KJHK^`x8C6Kq^FFXQtTjtL`2M%A@TmFdM1v+IrYpqp@<&w;8S zQ)O&Qm{e|Eduew|NPO`5Gv?W;83Eq?Z!5}L2m*L>D<}ZHeU>Yfhbx}(g+XVXW{mxs ziED!)UW0zw6;<&BNa8@qL`kHCGfk;aQ-8+q>!;}}Z4FkySITlGhnc4)YE#EUiB0zA zGnpojZ>{2%5`on&-FGJ&b_a3WvtZ1ytFx=SMcd3zCp_nX(;F%Q#r>2OfzF4~JRj2X z{80Tg+Bi_>f@nkRHQa@~F^{_{Bj6Slzgt@B(I{w->3AL@ZrO%k!c(Ev@+{T}a=l}O zXb)4|Bu?_W(3Lmw_+iI_Q@y*ZB4d|DHJm&z9z689p%Z&U)3({fNdNQMfly&&n1ZG% z)@$gH<>mhBtxr>?j+SxklY_H9$Nhucq}R*Ba{`E@VOs0&HvZ;~f>3&O7O^po7RTp= z=_ScEM;0M*^7cCYYegRMU!EZ1N28d42*bRTse?dJ0j)a$h)TBGKCSwM<~nOwb+apF zW?6D#QUukX;sbrsE51h~zMl$r&Fljpt}}|hCb{#1y+FeItdy~3k7&pm_#TBLJ0dKG zUBB8KR5r(6LVxlKj7cwf2_u~Z0?jBc4CR0rn^}wf2jGBzO zMu=ci^tF85MO2QB@3Wd)xn#B*UYlYn3#J}(x_>t9Ef;uG^%-1O2;RN>pwO+@G z-D9&_YHQ<~vy>pxHR+^G%)+wSJK!DXWz6lss3as7g!N%jBKp#|&|rc+i2Smf?)TSH z?j4?y0m3SPW!*Vp1nugEK?Sf z3#}g>xveh^%fl6!N9=vJ=! zMXI8j9z!G;@l~Rs!q%F?j+Te4XT zdWj8OZ7k`F2CvM$jCdql?9~;CugDupntc=eLYGcQuon_$aaP$JkIJdA*A;kzZ{couo;}U@ zsMHiZ#naRF0Rwh|2rqnB^SxeE=oNHw9|uxfn|DF0$v+Tc@z5m<24l$B@8#USsWG(| zm+q`EyJvFtch9F!6T<#m^9i`4b0;i%W*!QwC61t43L(e-FL3@hlXlhF{SYBZpgOcq ORe-gn9h!#nPWcxnU97PH literal 0 HcmV?d00001 diff --git a/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-prefix.png b/packages/vaadin-date-picker/test/visual/lumo/screenshots/date-picker/baseline/rtl-prefix.png new file mode 100644 index 0000000000000000000000000000000000000000..e81b955bef72f057ffb57758256d90328949a642 GIT binary patch literal 959 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 LS3j3^P6UiY11XKT*S3*rR;0Q{B~Cid)3 zWtS26pX}31>9!5K{SjhsZVafQNG$*WJnEJv*BuZAE8im>vO;CLHm-d+b@G%Pcif8{ z?l|6LjyO65KiZpE&j?Gi+RTx0ZpJZGBgiVZ=#oMg z&zR+%-)&YG_XYSJdr0KJMZAo@7`wKFGmn|fWvS1z_6`i%BIc$TPqd`C&p9wyH(*A| zu_h-jBp~JOj4LeuC$MB&+c)vD$Ey^3bUqmM3D~Wtr#BFwx3Rf>eXUeaLB^`B^{W@W z^!>>A5)bcJcTONbVks0EAc~LjgBynD>L}kOa zyu+4vj+YqU9P+KX9KC%dEPKa8xj?2z&u=+wG^S+|@ozIFK3 zA4G8!vO&ku))Jb*8~~@(zrw?x6KT5><*n~h8nRMUx_jjn zo;7SXWl_H^hXpfj>tbeH$LpV-OW~Orj#=VD6D`hn0sTovhzf9@V`FdnNypX~#e#QQ zL*~h>;hFwAe^&gVMx?HQnp<(<{viZTd*l(d42-E?6#u*QuI0|h!o%p0s~;cHR+-34 zujdOr0!HPZ>PSES1(%%t%W>RbO~GlRo+GuhcL-ebj_~8uKu~HoMPHVAxY!6ymhD=T zjTC~x_+bVIb@g*gqhtT!u=}R4$tzILXlT9*;V=fnngKz5Q|l?CUNepCE4+Gsl^>LW zDdl?*@QKJ*MQ8dfM3`#s(40O7PIeZC>vzkwMdnTS!>W#Gg7!8A;|=lK`N)bV2QJZ- zI6DQDL`hMsqKsP)3IDMv%`_otW6>HW44e`qIt~r3GY6Ruf_S$1UnL|7gwu4S1YXZ$ zh*L{9djH{ofM9iVzL(EOX<;zZ$AbU7PMQ9_i=K8bQkU5+_sQ^fb;=mVZb2~h0NYdDq?&kH9$t7WD*ybhMEErOeyHNe|6Vo zh(_xjG{yh%!EdswcLMtEg@Cueyob@+PVIiofLrSzlb6ZMDe}ot}UKEO~EL8 z2i&P6R}Q|%VhiP(I9*)tB&VlxzO5`1dokr1OVN2{mWoTiCI;tQSwWBX$-juJ4l}@Ig1(CXi6EC#M+UDrwSAI#k)}=8aX#~t zKrno|rB&}|>jR}$sHHcKtOQQhqMrxG+7mVmcb4lip+I}|CZ3+QC3DIO%^pe?PQ8j(BF9zE@@gat)<$#9t4XPpsO z*9X5y&btr8bdz4sy~zTaQ$>aKDcYBbMUiM#uMScmTPm>i4`(0!T9Ar6aa4Qfp+7{1 zV{iNS)3d|OXk2Wtmelgm`dRQH3wM7U!N2)9cg&}`C1hSzK_@duy~K?K0_7oMw%sc# zYi0%0^^Jn<9*)9c$CH}A?(Xf_AR+|J?Ejw~LYb&4qx4cOWmc-KU9ZIN79^T;Z+^nmrS0zW*mW^>k z!e<~^Guo_W-6sj`0inr~#OtHX#&3ZT$UT4uSy#6?O_B7fb8@nq;jK-u;=T~RKps*FzPDcjY81Eey)!Gyjzk2-*D<;uULcz?j+ke^HX pkL4?biv5B;<^P|+@jIRT;zL##J1-fe%CeIbz|z##q{i4I?%xhyzAXR% literal 0 HcmV?d00001 diff --git a/packages/vaadin-date-picker/test/visual/material/date-picker.test.js b/packages/vaadin-date-picker/test/visual/material/date-picker.test.js index cdf5b7983e..52645562a4 100644 --- a/packages/vaadin-date-picker/test/visual/material/date-picker.test.js +++ b/packages/vaadin-date-picker/test/visual/material/date-picker.test.js @@ -27,51 +27,63 @@ describe('date-picker', () => { await visualDiff(div, 'readonly'); }); - it('label', async () => { - element.label = 'Label'; - await visualDiff(div, 'label'); - }); + ['ltr', 'rtl'].forEach((dir) => { + describe(dir, () => { + before(() => { + document.documentElement.setAttribute('dir', dir); + }); - it('placeholder', async () => { - element.placeholder = 'Placeholder'; - await visualDiff(div, 'placeholder'); - }); + after(() => { + document.documentElement.removeAttribute('dir'); + }); - it('value', async () => { - element.value = '1991-12-20'; - await visualDiff(div, 'value'); - }); + it('label', async () => { + element.label = 'Label'; + await visualDiff(div, `${dir}-label`); + }); - it('required', async () => { - element.label = 'Label'; - element.required = true; - await visualDiff(div, 'required'); - }); + it('placeholder', async () => { + element.placeholder = 'Placeholder'; + await visualDiff(div, `${dir}-placeholder`); + }); - it('error message', async () => { - element.label = 'Label'; - element.errorMessage = 'This field is required'; - element.required = true; - element.validate(); - await visualDiff(div, 'error-message'); - }); + it('value', async () => { + element.value = '1991-12-20'; + await visualDiff(div, `${dir}-value`); + }); - it('helper text', async () => { - element.helperText = 'Helper text'; - await visualDiff(div, 'helper-text'); - }); + it('required', async () => { + element.label = 'Label'; + element.required = true; + await visualDiff(div, `${dir}-required`); + }); - it('clear button', async () => { - element.value = '1991-12-20'; - element.clearButtonVisible = true; - await visualDiff(div, 'clear-button'); - }); + it('error message', async () => { + element.label = 'Label'; + element.errorMessage = 'This field is required'; + element.required = true; + element.validate(); + await visualDiff(div, `${dir}-error-message`); + }); + + it('helper text', async () => { + element.helperText = 'Helper text'; + await visualDiff(div, `${dir}-helper-text`); + }); + + it('clear button', async () => { + element.value = '1991-12-20'; + element.clearButtonVisible = true; + await visualDiff(div, `${dir}-clear-button`); + }); - it('prefix slot', async () => { - const span = document.createElement('span'); - span.setAttribute('slot', 'prefix'); - span.textContent = '$'; - element.appendChild(span); - await visualDiff(div, 'prefix'); + it('prefix slot', async () => { + const span = document.createElement('span'); + span.setAttribute('slot', 'prefix'); + span.textContent = '$'; + element.appendChild(span); + await visualDiff(div, `${dir}-prefix`); + }); + }); }); }); diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/clear-button.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-clear-button.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/clear-button.png rename to packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-clear-button.png diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/error-message.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-error-message.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/error-message.png rename to packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-error-message.png diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/helper-text.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-helper-text.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/helper-text.png rename to packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-helper-text.png diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/label.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-label.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/label.png rename to packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-label.png diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/placeholder.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-placeholder.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/placeholder.png rename to packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-placeholder.png diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/prefix.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-prefix.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/prefix.png rename to packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-prefix.png diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/required.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-required.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/required.png rename to packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-required.png diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/value.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-value.png similarity index 100% rename from packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/value.png rename to packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/ltr-value.png diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-clear-button.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-clear-button.png new file mode 100644 index 0000000000000000000000000000000000000000..8aac2078e9903a5aacdf56147f813d61dd2044b8 GIT binary patch literal 1563 zcmcJP`#Tc~7{?bX61qJk97iq>&5%~^PPS#6%5|L)MlqC8ENU2sG?$9d<`Q!&5xGoT zZc#2J#8WeO_OKyi#LU`}Is57S1LrwEeBST#eV_OF{`5ZIG*@T1(t#5P004jz5&?6U z>aY};{66UvH)(iFWe?sR4gu5-YAyi)ds#@B1L|HOe+u-Z904HB-mP;J=ri}1Ge`5L+DzPcmXnxgia;%$Fh+NMyboOKLpVIG6Qv^}2f zPuV?&_w&zIWgedsYaBDs0s8rU-q?4>RBpJb@}&B*=z&f?x~%yXic<#K3eTr@uK2Hc z?pLGxCMyD`<~1_kOseJSaloC!CiF8}P)I1n{_W3Ew`Oh42?>;b|8^HTr+&jMTg60t zbBa3`bC#rVkp%`{hUNs1g(X*;KC7(vGFLb{cC&`b4UE1Bt_J&T(q9K*FGZ|hUI8lO z5GJ+4b~7AE@uL}5JQfZeyuc2~vlRI@Sm})ti?7}hXd5O_ba!M&h3i?6OkROXibBaP z6>w2;Y1<#Jbln08xR?i2#->l#S@{h$=nTDYNm_!hwibX7CQ^B>*%Lc~j%lZ%`p%;` zKTBiv1)mT@k07hY8U_g47Q-*5cESYXx2!W7rsK@X-9hrpMjlaAw+hNm^V(m+83-eQ zT6IG0f<@AH@b_2RE24~znY|O_Ut?<#YT*s|#XWMC3uHh38$+ z&=zFgV>8dg9^V*?)RcS^I*MHMc*lk2bgrh0(m5l41wDsz(5M~Pvsd-%$Q5Zhb(1Pi z12%ig$t3mEu{O*T4h@$OswlI`O3Xff^kCRQwWub~=%ydCB^5MvBt9lse)-2x0q?6$ zW*=iOWxH+F<|9~X-;Cf30RnW-No+he;t+&zY0ghJI#ZQv*FS7M*|8<8tPKp_*-0Qu z8VE%>*_^;A_}*x>-_^F8%4r;LAyC%71R0KW;1&NJ(ZM;E8Y-l-c5_S5)LFKn)z z$n_0VR6P9<-6g34ajH2RDbgV3B}`?+d=E8@mY_-U_8%nnm(_MRXPZ1qt1>F$U|U|s zKqSGHvDfBCXe<2u8xeILXwQ%1;gNpJ#ICcjEbkBtyP;_M!_gR?#Lyez>Z1b z&r^9wg7WaaE|FtiIH;ebQ7XzMe3*FhWy|_(xQ#K3WIH{XI~_d%Z5BvELUIQRGk0BL zD}N0~`PKLL;n|Vb)&bXNOXd^^z8gvw$UUw4EiKLYSr(s#v>MafP<_TI*&q|tlV^|; z@-3RetdS)J2%r9l(GoKvRIu5}A#p}@*4V1yxr4s&w&>TN(p9JJzO>?>OZ4m|#>Kr! z0q6}5;92WSg4PS0_Y1(KzOMUKoOjQ6Bei+ZD7Ei5@asG*`TBtOi$9;=Qv2J_y@Y#1 zGZVfl8TlBgUl-t7!rfid|6RsOG_?N~11?96*LR9FBq$T%lL-ps?Tjjc*?wa` zJ+zKUJn}E!X9EOl?2d#5OIUm;yPX(YS?Da5-etRV>+W^>Pn0L@Dc{4g64J-u(zXX6 MFF3<$A^u7K0BrRFX#fBK literal 0 HcmV?d00001 diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-error-message.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-error-message.png new file mode 100644 index 0000000000000000000000000000000000000000..3b93056a4263c60fe5ad08667596ce8f680e5a66 GIT binary patch literal 2024 zcmbW2Sv(tv7KcMoqhd=nD)v&#sJ5cQh*XKzRuok`rKQv^4WhM_%MjaiFqVj>LoJn1 zYMEGTDKQPz8cHOV)Y?X@V@*t6?tQzz-rs#V=RBOp^L^)^Zf|=7C?YEY004lN7Dxx) z9OIS0un?~|PIvk9249rJ4O0MVSZ)OXIQha7dCe&X$D-R=xUVR@+X&MEYwHNft02Fr zR4e&Kn`&yBzN>&3Iy8L9e*|m%`r;`)4+}Z5;*0)N%Bpd-*iZsDp!j`d1fnA(f*WKk zl?WN9M*DNy4Ajq$B0>8*2Wd+u9HO|LOL}(k?86|N=Wax2NlDN#nI-fyTva6RXJtXF zzFdAaUyCHE%jG8NG7is?qMG(9si!q0&HkVDm+UEJXopn=ootd~(_F&LpTw`B6_wgj zj5>y{%7=29-xCg3qL`8RX*XqQ&2T3M271!4=l%Mxf1g$Io@B5g_1=n=&M1D&SHZ4r??xJLdMM9f0hD+^Sv|Mr%5 zf`f(`3ZM~%6YSxNs8jabjv~#qJUqg$WD&mb(Uf5&fo_on2fYwTKKJ?jJ7HT<6I4cg zbQ11r#oEoF>0n<|X{$A2FIZAG4$X0o^@Y~0ls%#N`|uS8pdR9T`w-F!akTf{Xr-Q_ zt`1nT!S&igRbv+;uS~+cQCRI?6^RH%tG;aV7VKpD9I5R z%+TnqB>o#Xyq9$TB1^#-b8lRTv-%4hpw^&>XmB6YFnA(@O2FAtW88d%a)-S>pX_Int1Q6^qx^_4fXfVO9VuTzXp$IJx%5R zFuod7Fakt&1{fjN^eT(l4~%Z}U@u+(T`m{-FCvVEXcC`^A;aAtS2*5J;7G+?K+~=F zXw$PEMaRuoLp^yM2p0uoZ%?XCJ0E(FGTiTe#LMd@>F*MN9g3^XDf2eYOn?&)`j;wrCu(zXqvx(DTGjmbyjino58kfX&9 z7Hc`7s|n<$81rGBxlWg)mWvUUcd9*N78uqZRhdLR=hiHJV8~CTJ98v>Xkb3dCwm)Z z)>cx3-fD7^Wt#<2+6t`mQE4_T#Fb`so{Yvz@^P5_q5eZ>cl2vk`i?%BhUb4&Nwl9c zw!Jd49GRNzEql!5Ll3rp4yY;|s9rpK+&(gawPP$B;fS%}N8Y)f*D2YX=rFE?bSIV354YWsKgW&5v}|&B zNcHY|u?C6UUTW3=Q?zbOzwJ~`SmReYT{{gc4m>nF%;dgbDKsD>T-YZu06Q^*{WEp{?eV?r zf`LER90~6u&K!U_VEl5Os3E=7+^@=r$W?t1lIaqWvF#%Oc5^0t#ZeIhr6Df$N3iu) zZfh>H7RyWme;Y*#z-EotW`;o6=Bds39b!GiUNH=$PBTIrB!xFBb#7c5nr*^=@an7Tvg-cN5D9Q`byVJ-z@ET!s)7LwZoR5iWU{m zIopi4)%D3}9r)Gp6d=m2oeJ|j-h|)#8uCiCv+s%fL-&)=s3s=xx&gokKU(8`Hh=-m z!>rLk>XZ+W(bCrJv}cDruuEd5c49V;uX!RQ&1!hs{||rVJ88!eFRCBc92A>7&x>w= MrMWGVWa{(uAK75c@Bjb+ literal 0 HcmV?d00001 diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-helper-text.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-helper-text.png new file mode 100644 index 0000000000000000000000000000000000000000..845317535fc3a18eca97fe1a73624106205c407a GIT binary patch literal 1105 zcmeAS@N?(olHy`uVBq!ia0vp^SAaN-gAGV-U$)~kkYX$ja(7}_cTVOd0|N`Ur;B4q z#hkZy6$@T@NwhtDe`lwXkYs01&zc^WFr|s*%h;x$IN{}!u2tv~_DHHSMP}lTbv?;< z;~aPBUO2t*%X`b*=d~i6&+gZmTetb7U-?f#Cl02BN9*lv86H?G1~e!#u}UaWk7~_7 zlD&7&^}j{B`9*hc|INK4|KWJW`>UndYp2M(i;gXcRoFQUHtZF;-n>ce-~W4$QBK*_eO0di~_xW^wvPvdoQ#u8Z?d@mTfV`>J^9gp7nOs$G8r ze#luZFD<{BBh1^@#cp<30T>KostnF7Tm~)+z*Nb%O+WA6z3bk`{NqYqUf#J~eW7*- z1h&^;4YdmO<-0UOUPh?xzYFAPnT`=D-G1vGv0alSFv3>!@Z}PHqR<6YHsDJvnz1&vR!>Dnn9C#m+YE+{h`^-kjbmx+6bu5 zbo(6j`nAj9_$$kw=WH)sJ54I{mcQ}Gt1g)@uk;EZ?V9QvEgHHsWaYZ!;(xhR3Qw~u zx5ukKzU}q&^zxr+>o(n79bhge_eJRc|C@a3uO4saZ;8kX+tX9K>WX)visrscE=yy~ zu2uIlS=huC{XW^?%}(R;9b`3+|uvJbzv{{p$Zi+2`|i&%4EL`qJg&nrYVG zD_@GP`SkFx>*0`>o5F6-U-;;ilk3%2KRl+oovpgPYqzhATmDLWML(0QXTNTqpS5po z$eU?LYFD?bT`irYG23f%`I^VZ&JQ2Eb{-2}zDVa++r(wtZ-?%xRX(~d#IU~dZ1gMs z`{fHFiqHNE-L+=U3N7y3YEM&5+iU zo1MQ`xcjSQ!D)7hq&6lVLuW{WhNf$hsDG^PZ|W|D_CNj&EF%~^UHx3vIVCg!04lrh Aod5s; literal 0 HcmV?d00001 diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-label.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-label.png new file mode 100644 index 0000000000000000000000000000000000000000..fd32f8be0dcda341e20f7730f9e0238535f01435 GIT binary patch literal 1069 zcmeAS@N?(olHy`uVBq!ia0vp^SAaN#gAGXj%9A_*q!^2X+?^QKos)UVz`*?6)5S5Q zV$R#!h8?%lB-%gLducY680c=9b!ejJ;%N>Vx)~xR8E*Y?UeW8CUkI4623lo&DSEn~ z`{k2`hkK<=rxdBkx~vo6RqdEPWeT^H(2uqz>l@FlZ)a9LufBcc-RIjS>Mu?1G~a)} zxi;5mrVq=3Bhl-BGdAQp1vDr&G4TkBBy=obaAskZP|`Rc;Kc7u zjW;P$dmel5_Ob8GanjG{>{=JN*zeq4t*J*p+nhJ9Zp)s0G9{_Z{DIe;SB1+a&e!Pw z;~jJTRYCod=4G?x{#7n=x0iqUYpsX*y8oZA?wxBbRZ|(QUB6LxD&JC-{;>M*<`O?Q z{Jix`XPIfq*~VAbo&^HEctnazI>SsVZ1dsg$F=6~U7u08uUNh6%L5Ppw084ww*%r< zdh#zeE_wWXWmiA@sb7ujHZ4-p$eB_6dQHu?O__C9(*M5ydMDc}o}qHGf69@dz-vX5Vq#YXta-Bd`?Kf20~bZKo~rtLwxsD$ z+DE3ZpZ}SNglErL=Cxn?<%^S_Iu{Wx+qUHNmkWm)Cw=-rXp2c;mC&Elb;4Mcgmv7TSA> zge#}+x0yZv{VV3)RS|(3{vESamcM6nG$3>1ug5PV#5AS1oN8O?=g(;``{LT!YO9}X zLziFfZ3}2t37NW7YOY-R&zmze;sfV-#Mdt_+1Iw~*0h~R(tmE?4ZD~8tAAZBr<>gY z0cH7ZZN+};|6DtETHmOat?AIS&sAJ1Q-9AqwKY#*Mf#Vi8rK4D@WrlP7XAL}vDa@; zyuWF~22A)jrZ6DohFu@F{k(VY-u|C52c&b$%fCB4-*}o`BIyY;k{VKS%wN{V+x9C@ T3f4aa=6?oHS3j3^P6Eakt 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 E0Ovy-jsO4v literal 0 HcmV?d00001 diff --git a/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-value.png b/packages/vaadin-date-picker/test/visual/material/screenshots/date-picker/baseline/rtl-value.png new file mode 100644 index 0000000000000000000000000000000000000000..4c4c9e5082c5cff6e92a9ed0789646e088498ed3 GIT binary patch literal 1395 zcmbu9dpr{e0LLd(=jLN6XL;sT-fI!g`=>18!XLinzRrILD0y8)>_v>Y{=R+iC zl{Al-E5+%T8Z6)nIx)3%sr^m8;~M%;7V|wD_>jtU)H4$0@PS~9psy!AhM|_Ji84aL zb9KVHj*77nBHNQW1EGGx?Z2hts5DsMzg)Ti+(~04oS(eI*vW*=l4Xfq2YSPvHR8d|>YLTi& zqP#b*npa8(vfP3Iq_#S*F`#JO_u!9%UmBI+k*$sBwZtyvr9$I?t=^Eb4&nMhG1+V& zOks!atmw0bCO+t%FPHTip~xQk20h`Jzw94H!1a7O{z0MUtCdn$WA0cYv@9^nHFxQD zeJ$?+x?etZ@z0nKX2cj;J=yabL*sZyj%v%O5QasG<1SP>R_eG2Wy$q=Wa>Gh*vr#O z4b;S+6fM{Q%if4tTAbZ7dz08MWOeyOiB%oCP854+@P}wS$oVG`elK>F`|Er$GC)-7 z##jJNDD@v%Dg9kR)Jx)tevV@#mz1a5T$5l7ASvGkb^&41(-0mW!+gfnR9n4-3b_6~ z*@ax-e#*h))QZ|bi0V4s%gZU3u)@5br6`6UeXAxRIjRcr2?bY)S#D9d5*b10k<$=$Ag-y!9vfZ_wvFgBO8Thde17GS#@vhjnvwm~8>y+I^ODP4@I#Up zwq?lFQJkNdR<)|zwp6UwI?PbE#D`Lb67*H&7YVKn7D*Ze8w3sUIeuRr=!mz#f`i<8 zl(U%8H4^6CXxzg)zMOHz-Pj3ISj9aze&JXxk=8rA;_7i%+A9ae^WsqAHdrWZSHKAJ zReS;1W5T?q=T>u{ll0AU^uiO;>l@RL&djjwCmrpkw-2{V#qK94m^C+PCCm1-5w-Jh zlUdRvUtK$c&>UMKHO+f}r#(eruCCfGKK5HX)1F9-IXNwHK1jneE2iGElG+QcdyY>W z>2HlFfy3l8W1a89@Cmi0jXiE5v)Tf?Gc2aPVPfvP({q}JaF@|FX+8|xlP&KUq^BXQw@G)8h|u1-<(g9)T5B zU#Y4P(}&OeOa&k)y(o#7G@I_3yclLEDGlOQ`SLde{=ORFN`WbR+++usWEn`bR(gHe z##%qy`pO>^MeqpyFDU-s{Vy^fr@3=JS!*kO`24k@j_i$fMzXtTCzNhg`HdaApREQg Wiu~X&H*wyqC;%A{3}g8HobxY(;iLNi literal 0 HcmV?d00001 diff --git a/packages/vaadin-date-time-picker/test/visual/lumo/screenshots/date-time-picker/baseline/rtl-basic.png b/packages/vaadin-date-time-picker/test/visual/lumo/screenshots/date-time-picker/baseline/rtl-basic.png index 324fd0b3ab0483801cd6a9391d0a01b7cd5c3c3b..6cd60c1adbea5a5b5be2e0de145724c17abf704b 100644 GIT binary patch literal 1403 zcma)+Yd8~n9LN9cY*dyK=`uQ;{N43l__ zIhp1Xim-Sz<#^^2t;2CChlSe2=Du~D*XO+G&F}krzAwJd_s#c{>Vt~QXafDg=iye|n=nMj7hHC|+fcH> z{?h#=sjpa_Ha2Z~pY=rO91qTphOTYT=|dMfR0j5++f#jToSjFvDaJS+9-+SM-*Rti zIoI^v3=W}WQ(I+;cHFzF1SRFbgvt)}TE2W+>UipgP$-R?CGrQ#0XP&j#yAK-kH7YI zkZ6$v1%b>!4UqeTF95u6v;3MoMk0?Audg}fQ@YzrU%kTx8(m?Qtf|`K12)XcmTsJ? zL!2y%oC$(LWaDkIFXv*o#VMI?<(DJ2T7oKF0-s1c`cyINjlmtW6pTh2SxuPX!u@uD zK>0jNLvZUt^vqe$G!5{H5n%HowyH<1nW*~19ae?Z`A=1x*8WkE^ChCL+t6we`Zu-(ysqVKZP}fpgSFAMwC*Q{_ zqS@+_=aW1N$H$*5)#_J^+9idn2B}vqgV(OLR8B|f=1KWhZksrqE}A%NFh1iF-TV=~ z!czl9IxH-|O*yi{XebW;UJyMVrU-h*o`A?<Z4 zP(JegH|Q13dW+=ak_AH_?izJ}RmqH?xpE7YQ|EDoFp2ylEz~*3G@-v?Q`iPWFx!62RjlKjiA2eAOlul#87`xDjL7W?XwcKH z>81k@x2-jmFMl8(-+AmSB504*GNrNJ3eFS8kZ&fh#@IFgF64#U<~s%~%sy$>o-!VkdhYaB_piVHUw_m_~M;v#k$9SYb#*1>(B7908A!Yz!E`b-j9XV9}&PobQvuFtt*y%-X| z@VIJZFWd#$i5-1c*Unszmq@?zNufMxou21(a!SE@kZ8DG!xU3sw|oY_DKG9^rzp1IjhdtZOX5Z332CArWuYu&q z=@i|8+8yAQeM>uVwGB!S>u#bZSTHZ_E@R))(vLt@1inz6IUvA| lK)@Jm5B8fu^FKIJLz_Ol4`iL*$5^K+z?{K42^<5H{sBHQferuw literal 1417 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 Hu0mjfsc7`! delta 2966 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 AUH||9 literal 1103 zcmeAS@N?(olHy`uVBq!ia0y~yV4MPE`*5%UNw52kVL*zpILO_JVcj{ImkbOnoSrU@ zAr*7p-qkO-?IF?jal1J?i#V5_2oRV6@fjbFgoFi&9%)RhykIEK#ibYXjQQmj-}5I; z-#*{<$<|)#f8?XeMSu5vTK@QBg$M(~{uk@L^%)onWI4DP4zM^fGR#oWU|Ju39E1M6cx+( zRT|!*sS9naZ(B2qPYep`*_`IO^h=ypoW0)Z9|jMsYOLh?-EU9t;rczdtuSm#@VmKt z^rvQDG&$e(d69;Cym^*+>zuc|QxVdOg>VyFKdz#AJWP zIZvp$yK;4Wd}qj|(^F4dWJpxo>i6#I;};6cEw|yUBeQbf zZCho(D|c(puKGLkQ*95tPb+Snl;%5mO8CF#&l6(yom#4yk$9h*A?&Q0M&U)Bl^^8i zYdzaHLF5a!u`j~``2#s^LQBiHuX(i6R{!Pa%_}$=*39({FjCjooM&@p>dEW9cXnJY zE5A^_xpJw9YNaKc2E&FdGsi-GN6tjcpU-vHU%6+$;_K!z{^+-Sr>C#y(pU8OR5Yi6 zr6JV#)~8QeS<5Z_xbpd~8~xnNMrW$~{+&K=S1qE>6wb6*Q~r?LTd;F0R9Ve^sW&E}ryOk0HYL za&_g-MWNSKzB;eZ)!3SuHP!CFRe^utX`4)$Z?hH!Uo6S;muX>PSkwRW?d#90F3+96 zMgH5Z@BLP#Y&U*-|$}qj4?e_KhsgD*_{(H7fd*Q8)-Fx@`U3mOsnm91aM90xSyP#*h{|wIxH03nTpT7t!As9Se L{an^LB{Ts5`t7?G diff --git a/packages/vaadin-date-time-picker/test/visual/material/screenshots/date-time-picker/baseline/rtl-error-message.png b/packages/vaadin-date-time-picker/test/visual/material/screenshots/date-time-picker/baseline/rtl-error-message.png index 64791e649f4f66ab19507ed0d1e60da65f6463cf..66156386716c196a1d84cbfb25cea49d0237a756 100644 GIT binary patch delta 2418 zcmV-&361vf6zmj`F@GjWL_t(|obBB|NLza!$MH`d9#9+};zi*UI~-e(v{MR2B8A+H zStOx2#L2kz**ZKzx?CZm((>Tj=ukWHN&T;U`7H<(0Jt^&P|>%bJ?EiRSWqs#d(#6N2!R3s zx5j;io3AxeTGx^NTCvoV0k_{((Ko5w@xN1nm6@|+o2MFd#oS&Z1#12 zTDkd-H&*_TbbsK(6DR=iUD#D|W?iH2s|tr&uYGIn#koEGDS4HMv!|~eTei39Ge=FOHCB}7? z3dPrKHk*Ipv;Y8*#FQ5Rzz~xl3MGGh7aDT%Z}cYbs9|Ki!Cl{1uQY0^luIg?D=Is# zB*||F6$l0u3I=2iU)zxZ;BTkVXvlRPIdau#oEH_{>kSW^`!K$SuU>Ig$!C-;ICABe zW&35@L0PJ)>^O3rnq2v1N8(CE1M-_aH~{?3)Kq%2p=|3H_d)sXxRNhIvJ8KW#BhaD zQ)y#E*@|RGl1fIpE0K`oRW60BvV{%3sl}B{nmG{w_*<$~t{f(k>wT3MPqA&FFMMVBeRvVd$@p(J|z_({EP@ICYWmmyuLQ%Uj zNxTM7-sz5wVLPfsGAOs4Rl$ETHVOd14KXz3)lj8WkZZ*i37qYUG+ak+k21s`h$wEY zDO;*2Vh2Q@9ssT;`ZBG^pwm{hf>LXFV`DH=p)?$o%aRqc2keJfvO|_suBgVm7XaL8 zW&*{n$&nPW2k+`wc0f`^f1#%Y0JsH=^-x^t+$k%!*PNHs+KMy*fV+RrOrQ+=WlM5< zK1?$#I}(?_kXAZV(y89O8Vy&HEk6wu0Jzi41d87aluD)6bMdehQX=)U61Jnv&uL{! zwUb+gYn6&5TYjE!1b{ou(3F?0K*TS%P*$aHbA4ELD52EP3E66R(_@W_$^}>cNI!pvXgs2zZM7Tj4Oca%tU@-g zvg=nMo>Zd8gOC7#yT|y~*IS{aUfN~lvw7t=*3|16OurpcA{l>GkngYu03#ZWhR*%g z`raEE9m6$zeSKTQt;umZzIJ8UFWa_dagQ(nnBkVSk;WZ?Cqcyl+yu9{=*0!`AX;?f2MpKiyjA3dbt`xBq_I z4z&}XRI$`!QE6GZUfZ8D-Wy?LJi99T`do)TjQ@cx0JxAfr)YCdl2p$u=v`)3&$4qG zJ6>Mvzv)z}s;NPaoLTzpIQQ@^?Ir%zQzy>wPMg+2rA+OJpPoV(xJmh!#@ z<>MXW?yB0l&!ygZ9Wu+_xtyt_c2zvSPMzZ^Eh`sa@b(?wQvLLGJAUu<*wb(OoNRvt z3V>T`U3I-ytXb8gm7;$>z3BYllcZf0XFh7;psHB2s%M)Y_50}$@6b<*yC#~<{yE$z&!b)K)K%*A6kBPV~29aI&|&S|W+rToct z`%M#C(!2DoBxyfAtxsxQlZf!`epNIve#w0w%E=Tp zl=#sL8EZ}tR-_~6R3Ozp>PU-v(Aw`*a#cf@KLJTk6mI_1XNoSY5xezc>8(C%QC3Lp zE&tN*`6%p}v%)(NrsVL;u!9Y_Oxy zLjiD0wLb)Vd!q2ctn&9Jm6Li_As6{NKdsz+#~UkuNV?yC?d<960Q-}?V0)CFRL^rIy`>}?!H}J5gQdLc*q?5kJ!LNFHZaAuMAbLHI zkE-j*`Jqz#s3S=uml$=IoYs{azCZ%8WDR+q-cA!E5a5q_Vdb+uwcfLt) znkcraXW7g4P+C({&SZP)XJuQl#JIXD6picYn^k}1?|D;WLz}A_y`W;5N^Ps=Yfq(( zzQ4?E&QBCRSZz<=DXfWuR`11{Q}q3wax>nt(UnE1)E-;?-gD(%9gpo2cV->$@7|<7 zNs<=zsM)HF60bFpnf9(pY*iC0gH>&${3IG5A07*qoM6N<$g5`a$LI3~& delta 2458 zcmV;L31#-|6z~*~F@GvaL_t(|obBB|NSpf}$MH`t7Zis}JSaTH4v#HJ+9`!1DTSPj zStOx2#L2kzZXK?WE{B7Q0Xw*zZh9s&h$NH?8AG_G;UJjF2B9awm@mw;)ge;MVvFv$)(<^4`?fHv%tG4}tA9wkKk(rR6acsr_LP6Nq45u81q02;p7qw^%)b7V+)BjR z*SEGUTidi7yq7``1pw}#YHD3yI-c23rP&)f$ZbfgbDGhl>{w7=k|(zmyG{M8Hs+~N z0ASc;mi6AV+1%JQ@0tGOpE+_j|Z?lf- zM%Dv{%k_QqO1+{|v7lnHq@q)kBzbMWe15+IexIz-YdbPSii*zl zMo0N&z};{SAH7mjDVtI{=cp#HEZZyF_RCU5MaNOisi-Ee>`+v(uuopI2M2CIMTNJU zN;m&-8kE5i+~|#u!mAtDYdC|$*a)IS9%%lF|9Rf$rpa9S1&{ImeSfx zm6%5cfIGlkpg1|Di#7Sa9~NWJE$)};*b`a+6Y>q-|&3fVr*ze*}J=(JTOr^I^pTE+u>Z)Pf# zx}#!IvI6#i{SZrbz>~yT}8|GNh;|t^fUngw}7!8N=>?O z%Bt3F&VNg4Zbg~^z_2qDD5GB4l4@Pw%rz=I6qPrZR5Df2nclqW^_nDGUK%I>Fx1Qh ziq{R4QmN8)@u(G0Eb+5qwxiU~Nu>&v(_4irrII9DUf$sd07K2tl$R}E$g5hes8Y}7 z`l#$cOo^XkvQ>Ad$Lb{&b2WKGKG|jl0sy!n#(#P!b|5UD3QDI-7k5NPZ3P0hq?$_U zvsK`Hmx`N8T^1^;sgzD>vncuFQTdtf0)U}s^s~IYzL?_C zx;E3BN|yWzM?>=4R;%G&uc_h`l}l$;ta;^&#ue-GMo0j_@G<`J^;RIRS9Vd^bXM8T zb$@kx53tt`C>9UP&u7@<4yo7cy6{u$yKi(YV*zf$HGF)1OTAW+r{|k@FE;A6Wf3O00|*oVfD!ypc>sVB z1PTDa2m%EFU_{@y4QD*l*EtRVz%3PNln?t_j|v3HbbVPLMg1YRX1J!A}_2c^K3(U{X&`OwyJ0T zaz99(sf@a5uW)ib2HLS-x5Bw_zm;ueJ&Vdl+s55dwRN6Lwf#DzR@`$rS4r(De{!AL z$5U8QCc5bEJG!mv+3R-l+}W`w-}N}z-Ut)`x73EJdZS3AtVgSPe|>)0{=z3od&)oi zq^ZNQB8{@1Z++75XJ5PnKPmEINs6p>RzPxJq(2tc^t@44@hCZIW&{wv# zyP)QIzL8RwkKvq*e>8DeRwO;IiOROJr`PQ_O=(&0lY5e+gXF9}t9eaA(w6}bL!bb- zrGlCWO-hnxLQ9vfJrVm=;n-xK`#zGB%4;O{qZ=~TydJDd$Ih8Rs(jM1mh_;x-;4L#RMnBb7Nqe+Gk634)>LG$qtHVEa7(pb1iO2p;NhII_okJRx>g~V`L-~t z%tG4}tA9wk-+Juq>)QbPliXl?l$=(^<31k$P*yO|ZOyaix1o=o4ShU)9Mso}^n)Y? z9u9O~=R_X6fBQL+S=M{ca@!M2`cn^eoRO5c`e6tZ0K@BSb3gg8)qL+m_ZR!ND#d=R z5$z8=teHevGYRRmuW|URo?aM^>KTY`&*PJ-dUA27R6glg(pWzOY`;n2)RDeMq~m_J z?|~^V0K=)vt+6Ba{hq6Lnv@+2>PzyZFXP@Kd#-_QfBmS5$i``J=3sOA(u(E$ZOxZe zT9N{D8qX|izuCiaoAB}cbX`&rswH?dnnDRDQCJh^|QL8NNiFa6^bVH z^zE9mfA`#}v5~DcjbBo+%p`VH@wBGW#y|9PoAVO|57%1LcM59iu-SXD<`w?1ugo)d z+4$;`RA`N@dhdlYuTRF-$DLUx`@1)-&yu7iJ!&*7qu3iwrDol05?RyK>R=TM{|^NK zhDl*XndIYv`$gXaQ(gc7BdAaS07g)u004|2lj8yrlTQi;k^vl(?*avrPYMQ-0S^}V YKdj%N?5G?r!2kdN07*qoM6N<$f`#_eW&i*H