Skip to content

feat(alert, toast): pass arbitrary HTML attributes to host element #23891

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

Merged
merged 5 commits into from
Sep 15, 2021

Conversation

willmartian
Copy link
Contributor

@willmartian willmartian commented Sep 8, 2021

Pull request checklist

Please check if your PR fulfills the following requirements:

  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)
  • Build (npm run build) was run locally and any changes were pushed
  • Lint (npm run lint) has passed locally and any fixes were made for failures

Pull request type

Please check the type of change your PR introduces:

  • Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • Documentation content changes
  • Other (please describe):

What is the current behavior?

Issue Number: resolves #23825

What is the new behavior?

  • ion-toast and ion-alert now accept an htmlAttributes prop, which allows developers to pass arbitrary attributes to the host element. Potential use cases include overriding the default ARIA role or setting a custom data-testid.

Does this introduce a breaking change?

  • Yes
  • No

Other information

Sorry, something went wrong.

@github-actions github-actions bot added the package: core @ionic/core package label Sep 8, 2021
Copy link
Contributor

@liamdebeasi liamdebeasi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For AlertInput, we allows developers to pass in an attributes object: https://github.com/ionic-team/ionic-framework/blob/main/core/src/components/alert/alert-interface.ts#L38

Should we do the same thing here to keep the API consistent?

@willmartian
Copy link
Contributor Author

For AlertInput, we allows developers to pass in an attributes object: https://github.com/ionic-team/ionic-framework/blob/main/core/src/components/alert/alert-interface.ts#L38

Should we do the same thing here to keep the API consistent?

Yeah, I think that might be better. I can do that for both alert and toast.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
@github-actions github-actions bot added the package: vue @ionic/vue package label Sep 13, 2021
Copy link
Contributor

@liamdebeasi liamdebeasi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code looks good. We need to add tests to verify this behavior. Might want to add a spec test since we are testing what attributes get rendered on the host.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Copy link
Contributor

@liamdebeasi liamdebeasi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job!

@willmartian willmartian changed the title feat(alert, toast): role can now be customized feat(alert, toast): add htmlAttributes prop Sep 15, 2021
@willmartian willmartian changed the title feat(alert, toast): add htmlAttributes prop feat(alert, toast): pass arbitrary HTML attributes to host element Sep 15, 2021
@willmartian willmartian merged commit 73a1daf into main Sep 15, 2021
@willmartian willmartian deleted the FW-149 branch September 15, 2021 02:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package: core @ionic/core package package: vue @ionic/vue package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bug: expose role attribute on ion-alert + ion-toast
2 participants