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(toggle): remove legacy property and support for legacy syntax #29037

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 toggle 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-toggle></ion-toggle>
</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 toggle documentation to update their apps. The new syntax requires a label or aria-label on ion-toggle :
    <ion-item>
      <ion-toggle>Label</ion-toggle>
    </ion-item>
  • Removes the legacy tests under toggle/test/legacy/ and all related screenshots
  • Removes the toggle 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 toggle syntax is outlined in the Toggle 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-toggle inside of an ion-item with an ion-label, have been removed from toggle. For more information on migrating from the legacy toggle syntax, refer to the Toggle documentation.

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

---------

Co-authored-by: ionitron <hi@ionicframework.com>
@github-actions github-actions bot added the package: core @ionic/core package label Feb 13, 2024
This pull request includes the changes to remove the `legacy` property
for the toggle as part of
#29037. That pull
request specifically focuses on updating tests to remove any legacy
toggle 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 c72eced into feature-8.0 Feb 13, 2024
44 checks passed
@liamdebeasi liamdebeasi deleted the FW-2990 branch February 13, 2024 22:30
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.

4 participants