From 09935fd07b3040b6cab5723a7659e79cb50957c9 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 10 May 2024 11:38:18 -0400 Subject: [PATCH] feat(input): add the readonly styles for the ionic theme (#29483) Issue number: internal --------- ## What is the current behavior? There are no custom styles when readonly is added to an input. ## What is the new behavior? - Applies an `input-readonly` class when the `readonly` property is `true` - Styles the class in the `ionic` theme to match the design requirements for readonly inputs - Adds screenshot tests for the readonly style for an unset `fill` and `"outline"` fill ## Does this introduce a breaking change? - [ ] Yes - [x] No --- core/src/components/input/input.ionic.scss | 9 +++ core/src/components/input/input.tsx | 1 + .../components/input/test/states/index.html | 23 ++++++- .../components/input/test/states/input.e2e.ts | 61 ++++++++++++++++-- ...ionic-md-ltr-light-Mobile-Chrome-linux.png | Bin 0 -> 3719 bytes ...onic-md-ltr-light-Mobile-Firefox-linux.png | Bin 0 -> 4535 bytes ...ionic-md-ltr-light-Mobile-Safari-linux.png | Bin 0 -> 3278 bytes ...ionic-md-ltr-light-Mobile-Chrome-linux.png | Bin 0 -> 4697 bytes ...onic-md-ltr-light-Mobile-Firefox-linux.png | Bin 0 -> 5377 bytes ...ionic-md-ltr-light-Mobile-Safari-linux.png | Bin 0 -> 4210 bytes 10 files changed, 87 insertions(+), 7 deletions(-) create mode 100644 core/src/components/input/test/states/input.e2e.ts-snapshots/input-readonly-no-fill-ionic-md-ltr-light-Mobile-Chrome-linux.png create mode 100644 core/src/components/input/test/states/input.e2e.ts-snapshots/input-readonly-no-fill-ionic-md-ltr-light-Mobile-Firefox-linux.png create mode 100644 core/src/components/input/test/states/input.e2e.ts-snapshots/input-readonly-no-fill-ionic-md-ltr-light-Mobile-Safari-linux.png create mode 100644 core/src/components/input/test/states/input.e2e.ts-snapshots/input-readonly-outline-ionic-md-ltr-light-Mobile-Chrome-linux.png create mode 100644 core/src/components/input/test/states/input.e2e.ts-snapshots/input-readonly-outline-ionic-md-ltr-light-Mobile-Firefox-linux.png create mode 100644 core/src/components/input/test/states/input.e2e.ts-snapshots/input-readonly-outline-ionic-md-ltr-light-Mobile-Safari-linux.png diff --git a/core/src/components/input/input.ionic.scss b/core/src/components/input/input.ionic.scss index 9d95ab9aff..8acbb1ef6e 100644 --- a/core/src/components/input/input.ionic.scss +++ b/core/src/components/input/input.ionic.scss @@ -7,6 +7,8 @@ // -------------------------------------------------- :host { + // TODO(ROU-5477): use design token here when it is added + --color: #121212; --border-width: #{$ionic-border-size-small}; --border-color: #{$ionic-color-neutral-300}; --highlight-color-valid: #{$ionic-color-success-400}; @@ -178,6 +180,13 @@ opacity: 0.6; } +// Input - Readonly +// ---------------------------------------------------------------- + +:host(.input-readonly) { + --background: #{tokens.$ionic-color-neutral-10}; +} + // Input Highlight // ---------------------------------------------------------------- diff --git a/core/src/components/input/input.tsx b/core/src/components/input/input.tsx index ef03c4b858..fa6342143d 100644 --- a/core/src/components/input/input.tsx +++ b/core/src/components/input/input.tsx @@ -808,6 +808,7 @@ export class Input implements ComponentInterface { 'in-item': inItem, 'in-item-color': hostContext('ion-item.ion-color', this.el), 'input-disabled': disabled, + 'input-readonly': readonly, })} > {/** diff --git a/core/src/components/input/test/states/index.html b/core/src/components/input/test/states/index.html index f535ca6c3f..6e7845e5b5 100644 --- a/core/src/components/input/test/states/index.html +++ b/core/src/components/input/test/states/index.html @@ -50,7 +50,28 @@

No Fill

- + +
+ +
+

Outline

+ +
diff --git a/core/src/components/input/test/states/input.e2e.ts b/core/src/components/input/test/states/input.e2e.ts index 3264641a0d..307d618f85 100644 --- a/core/src/components/input/test/states/input.e2e.ts +++ b/core/src/components/input/test/states/input.e2e.ts @@ -38,7 +38,7 @@ configs({ modes: ['ionic-md'], directions: ['ltr'] }).forEach(({ title, screensh `
- + - + { + test.describe(title('no fill'), () => { + test('should render readonly input correctly', async ({ page }) => { + await page.setContent( + ` +
+ +
+ `, + config + ); + + const container = page.locator('.container'); + await expect(container).toHaveScreenshot(screenshot(`input-readonly-no-fill`)); + }); + }); + + test.describe(title('outline'), () => { + test('should render readonly input correctly', async ({ page }) => { + await page.setContent( + ` +
+ +
+ `, + config + ); + + const container = page.locator('.container'); + await expect(container).toHaveScreenshot(screenshot(`input-readonly-outline`)); + }); + }); + }); }); }); diff --git a/core/src/components/input/test/states/input.e2e.ts-snapshots/input-readonly-no-fill-ionic-md-ltr-light-Mobile-Chrome-linux.png b/core/src/components/input/test/states/input.e2e.ts-snapshots/input-readonly-no-fill-ionic-md-ltr-light-Mobile-Chrome-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..46d4b0bebd6d5c12d550479b365bc992325a8a05 GIT binary patch literal 3719 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 I(zJQ`ABKEEy8r+H literal 0 HcmV?d00001 diff --git a/core/src/components/input/test/states/input.e2e.ts-snapshots/input-readonly-no-fill-ionic-md-ltr-light-Mobile-Firefox-linux.png b/core/src/components/input/test/states/input.e2e.ts-snapshots/input-readonly-no-fill-ionic-md-ltr-light-Mobile-Firefox-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..e9c77923f5267d165c78880ec0d94ec6abe4551c GIT binary patch literal 4535 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 literal 0 HcmV?d00001 diff --git a/core/src/components/input/test/states/input.e2e.ts-snapshots/input-readonly-no-fill-ionic-md-ltr-light-Mobile-Safari-linux.png b/core/src/components/input/test/states/input.e2e.ts-snapshots/input-readonly-no-fill-ionic-md-ltr-light-Mobile-Safari-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..308c46fe8798a4b3f6a48f9bd708d93fd974eaf6 GIT binary patch literal 3278 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

Iovz|{nbq(Y)#t1Z2_ zl^L5Z6Yy<DpJFD6FnMR2v)Q0L-mp~QqSyHZsi6IHx+v%ojuylG_cR`? zXQ3}Q^x*gEf+`aPd1H&B%}6%Y*fe*Po}M0%{C8>e^z<||G^=M^m!o7jdq5gc-}}a5 zAx=XlOrn&Sh?ZH`N(JwF?*G~MqhDQ_sP!4Ex;H44nEK_*m)Y6bwgldT{r%odc|-mr zK72_@$=1)G%gf8a0dk%_8|k1Ltf|{*@&bW(J7bKBit3`N*p(}QCfEg$7y*>Yk}b)jm)F+T{-{$!G@oAGs{HWb16b?D3uAR&bD#7j8k`<_+%z`6 zbb+wYoe^$t5fT!jsToGWhHT7)bvS{0J$>`W-^b@?(xvMlU$#&LUh4axu3o(gpaO9FkM;WJ{E()Xlb=Py=o=E+!4i#+g>Y_n90j5WG;*la#_INM-0a7gc%@?B!Af+oJ__aKXOR`#lG z<3vkKVQJ~wNQEQlI$-&!spr+z)$6Qy65iY!c#)UKcY(ml$!Te0V-V^*tVph^s+!CJ zDk;d^@n4*H7qIET(9)Z$Ue@nRB~rc=;EGST*V4FAgHQY8#{uawB#)JS_gAcZ})p`FI5>I~! z(i=!NTnv#zLuTWOmGMgJFI`RpFO|x8U_1i|4NcJQTNE{sT7nwXflRe9&c zi4$=AOQpfiU@V*rNC*xO4+6E)u2eZp+|ur31Ema zVq##&hzF|UWIoo@y<|kn8(h}}q^$m+Ky6Pac$Dtxo;Fhtm z4`7M1|C&OjbXZHys!|}B4^mdjjvqT7E3L1n*lZ4?$;rw2`t_^n-vL};dK#$TAz&lu z581@612$XPvNOhYZ0htxFaJC8)Ff`b#s~e%BM;k#9&UVXX>Dy4GcUD%bANJYIy5&e zO^`VTfOTl?NDm}dXJ=>iKO5n>xxBs~idvF30#sar*3h7$7ne%Ot0HjGw35a~9{6^T z{IroE{e>&+>bPJ4cpUDizwkP7Cpqg0^#M@EtSySUZBLeB3Qn;i{l9jv{1YQ+{r;SE X97~rXuA~ftKM^35HX2!quzUPJEyn|% literal 0 HcmV?d00001