diff --git a/.eslintrc.js b/.eslintrc.js index 8c828c846ffa23..038be57d26624c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -240,6 +240,8 @@ module.exports = { 'react/jsx-no-useless-fragment': ['error', { allowExpressions: true }], 'lines-around-directive': 'off', ...(ENABLE_REACT_COMPILER_PLUGIN ? { 'react-compiler/react-compiler': 'error' } : {}), + // Prevent the use of `e` as a shorthand for `event`, `error`, etc. + 'id-denylist': ['error', 'e'], }, overrides: [ { diff --git a/docs/data/joy/components/list/ExampleNavigationMenu.js b/docs/data/joy/components/list/ExampleNavigationMenu.js index 03cf5e51b340ea..fb28f3503a6a95 100644 --- a/docs/data/joy/components/list/ExampleNavigationMenu.js +++ b/docs/data/joy/components/list/ExampleNavigationMenu.js @@ -51,15 +51,15 @@ const useRovingIndex = (options) => { } }, tabIndex: activeIndex === index ? 0 : -1, - onKeyDown: (e) => { + onKeyDown: (event) => { if (Number.isInteger(activeIndex)) { - if (e.key === (vertical ? 'ArrowDown' : 'ArrowRight')) { + if (event.key === (vertical ? 'ArrowDown' : 'ArrowRight')) { focusNext(); } - if (e.key === (vertical ? 'ArrowUp' : 'ArrowLeft')) { + if (event.key === (vertical ? 'ArrowUp' : 'ArrowLeft')) { focusPrevious(); } - handlers.onKeyDown?.(e, { setActiveIndex }); + handlers.onKeyDown?.(event, { setActiveIndex }); } }, onClick: () => { diff --git a/docs/data/joy/components/list/ExampleNavigationMenu.tsx b/docs/data/joy/components/list/ExampleNavigationMenu.tsx index d580f8db869f53..323873fa0e6084 100644 --- a/docs/data/joy/components/list/ExampleNavigationMenu.tsx +++ b/docs/data/joy/components/list/ExampleNavigationMenu.tsx @@ -64,15 +64,15 @@ const useRovingIndex = (options?: Options) => { } }, tabIndex: activeIndex === index ? 0 : -1, - onKeyDown: (e: React.KeyboardEvent) => { + onKeyDown: (event: React.KeyboardEvent) => { if (Number.isInteger(activeIndex)) { - if (e.key === (vertical ? 'ArrowDown' : 'ArrowRight')) { + if (event.key === (vertical ? 'ArrowDown' : 'ArrowRight')) { focusNext(); } - if (e.key === (vertical ? 'ArrowUp' : 'ArrowLeft')) { + if (event.key === (vertical ? 'ArrowUp' : 'ArrowLeft')) { focusPrevious(); } - handlers.onKeyDown?.(e, { setActiveIndex }); + handlers.onKeyDown?.(event, { setActiveIndex }); } }, onClick: () => { diff --git a/docs/data/joy/components/select/SelectClearable.js b/docs/data/joy/components/select/SelectClearable.js index 6fa74883f99950..446782445866d7 100644 --- a/docs/data/joy/components/select/SelectClearable.js +++ b/docs/data/joy/components/select/SelectClearable.js @@ -12,7 +12,7 @@ export default function SelectClearable() { action={action} value={value} placeholder="Favorite pet…" - onChange={(e, newValue) => setValue(newValue)} + onChange={(event, newValue) => setValue(newValue)} {...(value && { // display the button and remove select indicator // when user has selected a value diff --git a/docs/data/joy/components/select/SelectClearable.tsx b/docs/data/joy/components/select/SelectClearable.tsx index 717c0873ece25d..7bdc9a9b2a60d0 100644 --- a/docs/data/joy/components/select/SelectClearable.tsx +++ b/docs/data/joy/components/select/SelectClearable.tsx @@ -12,7 +12,7 @@ export default function SelectClearable() { action={action} value={value} placeholder="Favorite pet…" - onChange={(e, newValue) => setValue(newValue)} + onChange={(event, newValue) => setValue(newValue)} {...(value && { // display the button and remove select indicator // when user has selected a value diff --git a/docs/data/joy/components/select/SelectUsage.js b/docs/data/joy/components/select/SelectUsage.js index 65a250f061e737..703858a5d60fd5 100644 --- a/docs/data/joy/components/select/SelectUsage.js +++ b/docs/data/joy/components/select/SelectUsage.js @@ -48,7 +48,7 @@ export default function SelectUsage() { defaultListboxOpen action={action} value={value} - onChange={(e, newValue) => setValue(newValue)} + onChange={(event, newValue) => setValue(newValue)} sx={{ minWidth: 160, mb: 20 }} > diff --git a/docs/data/joy/getting-started/templates/messages/components/MessageInput.tsx b/docs/data/joy/getting-started/templates/messages/components/MessageInput.tsx index 6a17baa72d6b8d..630ca1c738c88e 100644 --- a/docs/data/joy/getting-started/templates/messages/components/MessageInput.tsx +++ b/docs/data/joy/getting-started/templates/messages/components/MessageInput.tsx @@ -33,8 +33,8 @@ export default function MessageInput(props: MessageInputProps) { placeholder="Type something here…" aria-label="Message" ref={textAreaRef} - onChange={(e) => { - setTextAreaValue(e.target.value); + onChange={(event) => { + setTextAreaValue(event.target.value); }} value={textAreaValue} minRows={3} diff --git a/docs/data/material/getting-started/templates/shared-theme/ColorModeSelect.js b/docs/data/material/getting-started/templates/shared-theme/ColorModeSelect.js index 21c96acddfc833..2e07e3de38bf7d 100644 --- a/docs/data/material/getting-started/templates/shared-theme/ColorModeSelect.js +++ b/docs/data/material/getting-started/templates/shared-theme/ColorModeSelect.js @@ -11,7 +11,7 @@ export default function ColorModeSelect(props) { return ( setMode(e.target.value as 'system' | 'light' | 'dark')} + onChange={(event) => + setMode(event.target.value as 'system' | 'light' | 'dark') + } SelectDisplayProps={{ // @ts-ignore 'data-screenshot': 'toggle-mode', diff --git a/docs/pages/experiments/base/components-gallery.tsx b/docs/pages/experiments/base/components-gallery.tsx index 41077d5e7b605a..40c5064529e999 100644 --- a/docs/pages/experiments/base/components-gallery.tsx +++ b/docs/pages/experiments/base/components-gallery.tsx @@ -233,7 +233,7 @@ export default function ComponentsGallery() { const settingsOpen = Boolean(settingsAnchor); const settingsId = settingsOpen ? 'settings-popup' : undefined; - const colorPickerSliderChangeHandler = (e: Event, value: number | number[]) => { + const colorPickerSliderChangeHandler = (event: Event, value: number | number[]) => { setRootStyles(` :root { --primary-50: ${value}, 90%, 97%; diff --git a/docs/pages/experiments/base/tabs.tsx b/docs/pages/experiments/base/tabs.tsx index bebb732eec96f1..63877376e07878 100644 --- a/docs/pages/experiments/base/tabs.tsx +++ b/docs/pages/experiments/base/tabs.tsx @@ -145,7 +145,7 @@ export default function UnstyledTabsIntroduction() { setSelectionFollowsFocus(e.target.checked)} + onChange={(event) => setSelectionFollowsFocus(event.target.checked)} />{' '} Selection follows focus diff --git a/docs/src/modules/components/DemoSandbox.js b/docs/src/modules/components/DemoSandbox.js index 70db3caf83f11d..c7ad82823d8182 100644 --- a/docs/src/modules/components/DemoSandbox.js +++ b/docs/src/modules/components/DemoSandbox.js @@ -172,7 +172,7 @@ function getTheme(outerTheme, injectTheme) { if (injectTheme && Object.prototype.toString.call(injectTheme) === '[object Object]') { try { return deepmerge(resultTheme, injectTheme); - } catch (e) { + } catch { return resultTheme; } } diff --git a/packages/api-docs-builder/ApiBuilders/HookApiBuilder.ts b/packages/api-docs-builder/ApiBuilders/HookApiBuilder.ts index d018e396525450..9ac15d20e9f83c 100644 --- a/packages/api-docs-builder/ApiBuilders/HookApiBuilder.ts +++ b/packages/api-docs-builder/ApiBuilders/HookApiBuilder.ts @@ -421,7 +421,7 @@ const extractInfoFromType = async ( result = Object.values(properties) .filter((property) => !property.tags.ignore) .sort((a, b) => a.name.localeCompare(b.name)); - } catch (e) { + } catch { console.error(`No declaration for ${typeName}`); } diff --git a/packages/mui-base/src/Badge/Badge.spec.tsx b/packages/mui-base/src/Badge/Badge.spec.tsx index 269feae43aeb4c..f232a1dd04c043 100644 --- a/packages/mui-base/src/Badge/Badge.spec.tsx +++ b/packages/mui-base/src/Badge/Badge.spec.tsx @@ -61,7 +61,9 @@ const polymorphicComponentTest = () => { slots={{ root: 'button', }} - onClick={(e: React.MouseEvent) => e.currentTarget.checkValidity()} + onClick={(event: React.MouseEvent) => + event.currentTarget.checkValidity() + } /> @@ -71,9 +73,9 @@ const polymorphicComponentTest = () => { ref={(elem) => { expectType(elem); }} - onClick={(e) => { - expectType, typeof e>(e); - e.currentTarget.checkValidity(); + onClick={(event) => { + expectType, typeof event>(event); + event.currentTarget.checkValidity(); }} /> diff --git a/packages/mui-base/src/Button/Button.spec.tsx b/packages/mui-base/src/Button/Button.spec.tsx index a9122462f4108c..9d1af14518b780 100644 --- a/packages/mui-base/src/Button/Button.spec.tsx +++ b/packages/mui-base/src/Button/Button.spec.tsx @@ -39,8 +39,8 @@ const polymorphicComponentTest = () => { ref={(elem) => { expectType(elem); }} - onClick={(e) => { - expectType, typeof e>(e); + onClick={(event) => { + expectType, typeof event>(event); }} type="submit" /> @@ -60,7 +60,9 @@ const polymorphicComponentTest = () => { viewBox="" /> + Note archived} action={[ - , - log(e)}> + log(event)} + > , ]} @@ -906,7 +915,7 @@ function TextFieldTest() { function SelectTest() { return ( - } value={10} onChange={(event) => log(event.target.value)}> None