Skip to content

Conversation

@mdo
Copy link
Member

@mdo mdo commented Dec 22, 2025

Adds submenu support to dropdowns. Needs a big cleanup.

@mdo mdo added the js label Dec 22, 2025
@mdo mdo requested a review from a team as a code owner December 22, 2025 06:01
@mdo mdo added the css label Dec 22, 2025
@mdo mdo requested a review from a team as a code owner December 22, 2025 06:01
@mdo mdo added this to v6.0.0 Dec 22, 2025
@mdo mdo added the v6 label Dec 22, 2025
@github-project-automation github-project-automation bot moved this to Inbox in v6.0.0 Dec 22, 2025
const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`
const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`
const EVENT_MOUSEENTER_DATA_API = `mouseenter${EVENT_KEY}${DATA_API_KEY}`

Check notice

Code scanning / CodeQL

Unused variable, import, function or class Note

Unused variable EVENT_MOUSEENTER_DATA_API.

Copilot Autofix

AI 2 days ago

To fix the problem, remove the unused constant so that the code only defines event constants that are actually used. This eliminates the dead variable and any confusion about whether a mouseenter data-API event is supported.

Concretely, in js/src/dropdown.js, delete the line that defines EVENT_MOUSEENTER_DATA_API. Leave the other constants (EVENT_HIDE, EVENT_HIDDEN, EVENT_SHOW, EVENT_SHOWN, EVENT_CLICK_DATA_API, EVENT_KEYDOWN_DATA_API, EVENT_KEYUP_DATA_API, EVENT_MOUSELEAVE_DATA_API) untouched. No new imports, methods, or additional definitions are needed.

Suggested changeset 1
js/src/dropdown.js

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/js/src/dropdown.js b/js/src/dropdown.js
--- a/js/src/dropdown.js
+++ b/js/src/dropdown.js
@@ -66,7 +66,6 @@
 const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
 const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`
 const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`
-const EVENT_MOUSEENTER_DATA_API = `mouseenter${EVENT_KEY}${DATA_API_KEY}`
 const EVENT_MOUSELEAVE_DATA_API = `mouseleave${EVENT_KEY}${DATA_API_KEY}`
 
 const CLASS_NAME_SHOW = 'show'
EOF
@@ -66,7 +66,6 @@
const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`
const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`
const EVENT_MOUSEENTER_DATA_API = `mouseenter${EVENT_KEY}${DATA_API_KEY}`
const EVENT_MOUSELEAVE_DATA_API = `mouseleave${EVENT_KEY}${DATA_API_KEY}`

const CLASS_NAME_SHOW = 'show'
Copilot is powered by AI and may make mistakes. Always verify output.
const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`
const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`
const EVENT_MOUSEENTER_DATA_API = `mouseenter${EVENT_KEY}${DATA_API_KEY}`
const EVENT_MOUSELEAVE_DATA_API = `mouseleave${EVENT_KEY}${DATA_API_KEY}`

Check notice

Code scanning / CodeQL

Unused variable, import, function or class Note

Unused variable EVENT_MOUSELEAVE_DATA_API.

Copilot Autofix

AI 2 days ago

In general, the way to fix an unused-constant problem is either to remove the unused declaration or to start using it where it was intended. Since we have no evidence of a missing mouseleave handler elsewhere in the shown snippet, the safest fix that does not alter existing behavior is to remove the unused constant.

Concretely, in js/src/dropdown.js we should delete the line that defines EVENT_MOUSELEAVE_DATA_API. All surrounding constants (EVENT_HIDE, EVENT_HIDDEN, EVENT_SHOW, EVENT_SHOWN, EVENT_CLICK_DATA_API, EVENT_KEYDOWN_DATA_API, EVENT_KEYUP_DATA_API, EVENT_MOUSEENTER_DATA_API) remain unchanged. No additional methods, imports, or definitions are required; we are simply removing dead code.

Suggested changeset 1
js/src/dropdown.js

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/js/src/dropdown.js b/js/src/dropdown.js
--- a/js/src/dropdown.js
+++ b/js/src/dropdown.js
@@ -67,7 +67,6 @@
 const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`
 const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`
 const EVENT_MOUSEENTER_DATA_API = `mouseenter${EVENT_KEY}${DATA_API_KEY}`
-const EVENT_MOUSELEAVE_DATA_API = `mouseleave${EVENT_KEY}${DATA_API_KEY}`
 
 const CLASS_NAME_SHOW = 'show'
 const CLASS_NAME_MOBILE = 'dropdown-menu-mobile'
EOF
@@ -67,7 +67,6 @@
const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`
const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`
const EVENT_MOUSEENTER_DATA_API = `mouseenter${EVENT_KEY}${DATA_API_KEY}`
const EVENT_MOUSELEAVE_DATA_API = `mouseleave${EVENT_KEY}${DATA_API_KEY}`

const CLASS_NAME_SHOW = 'show'
const CLASS_NAME_MOBILE = 'dropdown-menu-mobile'
Copilot is powered by AI and may make mistakes. Always verify output.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Inbox

Development

Successfully merging this pull request may close these issues.

2 participants