Skip to content

Conversation

@brandyscarney
Copy link
Member

Issue number: internal


What is the current behavior?

Input Otp uses scoped encapsulation. This causes issues with CSP compatibility and is inconsistent with our goal of having all components use Shadow DOM.

What is the new behavior?

  • Converts ion-input-otp to shadow with formAssociated: true
  • Adds shadow parts for inner elements

Does this introduce a breaking change?

  • Yes
  • No
BREAKING CHANGE:

Input Otp has been converted to use [Shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM).

If you were targeting the internals of `ion-input-otp` in your CSS, you will need to target the `group`, `container`, `native`, `separator` or `description` [Shadow Parts](https://ionicframework.com/docs/theming/css-shadow-parts) instead, or use the provided CSS Variables.

Other information

@vercel
Copy link

vercel bot commented Dec 19, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
ionic-framework Ready Ready Preview, Comment Dec 19, 2025 9:55pm

@github-actions github-actions bot added package: core @ionic/core package package: angular @ionic/angular package labels Dec 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

package: angular @ionic/angular package package: core @ionic/core package package: react @ionic/react package package: vue @ionic/vue package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants