Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(radio): remove legacy property and support for legacy syntax #29038

Merged
merged 8 commits into from
Feb 13, 2024

Conversation

liamdebeasi
Copy link
Contributor

@liamdebeasi liamdebeasi commented Feb 13, 2024

Issue number: internal


What is the current behavior?

In Ionic Framework v7, we simplified the radio syntax so that it was no longer required to be placed inside of an ion-item. We maintained backwards compatibility by adding a legacy property which allowed it to continue to be styled properly when written in the following way:

<ion-item>
  <ion-label>Label</ion-label>
  <ion-radio></ion-radio>
</ion-item>

While this was supported in v7, console warnings were logged to notify developers that they needed to update this syntax for the best accessibility experience.

What is the new behavior?

  • Removes the legacy property and support for the legacy syntax. Developers should follow the migration guide in the radio documentation to update their apps. The new syntax requires a label or aria-label on ion-radio :
    <ion-item>
      <ion-radio>Label</ion-radio>
    </ion-item>
  • Removes the legacy tests under radio/test/legacy/ and all related screenshots
  • Removes the radio usage in item/test/disabled, item/test/legacy/disabled

Does this introduce a breaking change?

  • Yes
  • No
  1. Developers have had console warnings when using the legacy syntax since the v7 release. The migration guide for the new radio syntax is outlined in the Radio documentation.
  2. This change has been documented in the Breaking Changes document with a link to the migration guide.

BREAKING CHANGE:

The legacy property and support for the legacy syntax, which involved placing an ion-radio inside of an ion-item with an ion-label, have been removed from radio. For more information on migrating from the legacy radio syntax, refer to the Radio documentation.

This PR removes the tests for the legacy radio syntax. A separate PR
will be used to remove the implementation for the legacy syntax.

---------

Co-authored-by: ionitron <[email protected]>
@github-actions github-actions bot added the package: core @ionic/core package label Feb 13, 2024
@liamdebeasi liamdebeasi changed the title test(radio): remove legacy tests (#29016) refactor(radio): remove legacy property and support for legacy syntax Feb 13, 2024
This pull request includes the changes to remove the `legacy` property
for the radio as part of
#29038. That pull
request specifically focuses on updating tests to remove any legacy
radio usage. The internal ticket suggested separating these changes into
individual pull requests. Please refer to the mentioned pull request for
a detailed description of the combined changes from both pull requests.
This will be merged into that pull request upon approval.
@github-actions github-actions bot added package: angular @ionic/angular package package: vue @ionic/vue package labels Feb 13, 2024
@liamdebeasi liamdebeasi marked this pull request as ready for review February 13, 2024 21:34
@liamdebeasi liamdebeasi merged commit 58d7315 into feature-8.0 Feb 13, 2024
44 checks passed
@liamdebeasi liamdebeasi deleted the FW-3125 branch February 13, 2024 22:59
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: vue @ionic/vue package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants