diff --git a/CHANGELOG.md b/CHANGELOG.md index 29ab57c4c1..1a95f5bf67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange ## Unreleased +### Fixed +* [`no-unknown-property`]: add `dialog` attributes ([#3436][] @ljharb) + +[#3436]: https://github.com/jsx-eslint/eslint-plugin-react/issues/3436 + ## [7.31.8] - 2022.09.08 ### Fixed diff --git a/lib/rules/no-unknown-property.js b/lib/rules/no-unknown-property.js index af64a33469..925c306876 100644 --- a/lib/rules/no-unknown-property.js +++ b/lib/rules/no-unknown-property.js @@ -70,8 +70,10 @@ const ATTRIBUTE_TAGS_MAP = { noModule: ['script'], // Media events allowed only on audio and video tags, see https://github.com/facebook/react/blob/256aefbea1449869620fb26f6ec695536ab453f5/CHANGELOG.md#notable-enhancements onAbort: ['audio', 'video'], + onCancel: ['dialog'], onCanPlay: ['audio', 'video'], onCanPlayThrough: ['audio', 'video'], + onClose: ['dialog'], onDurationChange: ['audio', 'video'], onEmptied: ['audio', 'video'], onEncrypted: ['audio', 'video'], @@ -104,6 +106,7 @@ const ATTRIBUTE_TAGS_MAP = { poster: ['video'], preload: ['audio', 'video'], scrolling: ['iframe'], + returnValue: ['dialog'], }; const SVGDOM_ATTRIBUTE_NAMES = { diff --git a/tests/lib/rules/no-unknown-property.js b/tests/lib/rules/no-unknown-property.js index 5fafd46a41..c8f62cc52a 100644 --- a/tests/lib/rules/no-unknown-property.js +++ b/tests/lib/rules/no-unknown-property.js @@ -128,6 +128,7 @@ ruleTester.run('no-unknown-property', rule, { { code: '' }, { code: '
' }, { code: '' }, + { code: '' }, { code: `