From 0361bf0376a50b8d6dbb32348a7e52ef49386ebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Louren=C3=A7o?= Date: Tue, 4 Nov 2025 09:46:43 +0000 Subject: [PATCH] refactor(input-otp): update according to design (#30765) Issue number: internal --------- ## What is the current behavior? The input-otp component does not currently match our UX designs for the ionic theme. ## What is the new behavior? - Changed shape design tokens; - Changed background to use correct design token. ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information --- .../input-otp/input-otp.common.scss | 7 ------- .../components/input-otp/input-otp.ionic.scss | 10 +++++++--- ...ionic-md-ltr-light-Mobile-Safari-linux.png | Bin 16477 -> 16384 bytes 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/core/src/components/input-otp/input-otp.common.scss b/core/src/components/input-otp/input-otp.common.scss index b905146155..6af7c8cee6 100644 --- a/core/src/components/input-otp/input-otp.common.scss +++ b/core/src/components/input-otp/input-otp.common.scss @@ -129,13 +129,6 @@ background: var(--separator-color); } -// Fills -// -------------------------------------------------- - -:host(.input-otp-fill-outline) { - --background: none; -} - // States // -------------------------------------------------- diff --git a/core/src/components/input-otp/input-otp.ionic.scss b/core/src/components/input-otp/input-otp.ionic.scss index ac67b4c455..29322bc527 100644 --- a/core/src/components/input-otp/input-otp.ionic.scss +++ b/core/src/components/input-otp/input-otp.ionic.scss @@ -68,20 +68,24 @@ // -------------------------------------------------- :host(.input-otp-shape-round) { - --border-radius: #{globals.$ion-border-radius-400}; + --border-radius: #{globals.$ion-round-xl}; } :host(.input-otp-shape-soft) { - --border-radius: #{globals.$ion-border-radius-200}; + --border-radius: #{globals.$ion-soft-xl}; } :host(.input-otp-shape-rectangular) { - --border-radius: #{globals.$ion-border-radius-0}; + --border-radius: #{globals.$ion-rectangular-xl}; } // Fills // -------------------------------------------------- +:host(.input-otp-fill-outline) { + --background: #{globals.$ion-bg-input-default}; +} + :host(.input-otp-fill-solid) { --border-color: #{globals.$ion-bg-input-bold-default}; --background: #{globals.$ion-bg-input-bold-default}; diff --git a/core/src/components/input-otp/test/color/input-otp.e2e.ts-snapshots/input-otp-color-outline-ionic-md-ltr-light-Mobile-Safari-linux.png b/core/src/components/input-otp/test/color/input-otp.e2e.ts-snapshots/input-otp-color-outline-ionic-md-ltr-light-Mobile-Safari-linux.png index e36a00b0d378687431cc1f7703c5bb79a0c0b465..f2eeecba1cfcd16becca8abcc28b3f3bb66b51c7 100644 GIT binary patch literal 16384 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 ACjbBd