Skip to content

[WIP] fix: all event targets for shadow dom#9486

Closed
snowystinger wants to merge 6 commits intomainfrom
fix-all-event-targets-for-shadow-dom
Closed

[WIP] fix: all event targets for shadow dom#9486
snowystinger wants to merge 6 commits intomainfrom
fix-all-event-targets-for-shadow-dom

Conversation

@snowystinger
Copy link
Member

Closes

Another bulk fix for shadow dom, this lints for event.target and auto fixes to getEventTarget(event) which just defers to event.target under the hood.

Some were done here:
#8991

This PR should make reviewing other ShadowDOM PRs easier and prevent us from regressing

Follow up to #9485

✅ Pull Request Checklist:

  • Included link to corresponding React Spectrum GitHub Issue.
  • Added/updated unit tests and storybook for this change (for new code or code which already has tests).
  • Filled out test instructions.
  • Updated documentation (if it already exists for this component).
  • Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

@snowystinger snowystinger changed the title fix: all event targets for shadow dom [WIP] fix: all event targets for shadow dom Jan 15, 2026
Base automatically changed from fix-all-element-contains-for-shadow-dom to main January 23, 2026 01:28
# Conflicts:
#	eslint.config.mjs
#	packages/@react-aria/actiongroup/src/useActionGroup.ts
#	packages/@react-aria/calendar/src/useRangeCalendar.ts
#	packages/@react-aria/combobox/src/useComboBox.ts
#	packages/@react-aria/datepicker/src/useDatePickerGroup.ts
#	packages/@react-aria/dnd/src/DragManager.ts
#	packages/@react-aria/dnd/src/useDrop.ts
#	packages/@react-aria/grid/src/useGrid.ts
#	packages/@react-aria/grid/src/useGridCell.ts
#	packages/@react-aria/gridlist/src/useGridListItem.ts
#	packages/@react-aria/interactions/src/useFocusWithin.ts
#	packages/@react-aria/interactions/src/useHover.ts
#	packages/@react-aria/interactions/src/useInteractOutside.ts
#	packages/@react-aria/interactions/src/usePress.ts
#	packages/@react-aria/landmark/src/useLandmark.ts
#	packages/@react-aria/menu/src/useSubmenuTrigger.ts
#	packages/@react-aria/overlays/src/useCloseOnScroll.ts
#	packages/@react-aria/selection/src/useSelectableCollection.ts
#	packages/@react-aria/selection/src/useTypeSelect.ts
#	packages/@react-aria/toolbar/src/useToolbar.ts
#	packages/@react-aria/utils/src/scrollIntoView.ts
#	packages/@react-aria/utils/src/shadowdom/DOMFunctions.ts
#	packages/@react-spectrum/menu/src/useCloseOnScroll.ts
#	packages/dev/eslint-plugin-rsp-rules/index.js
#	packages/react-aria-components/src/DropZone.tsx
@rspbot
Copy link

rspbot commented Jan 25, 2026

@rspbot
Copy link

rspbot commented Jan 25, 2026

## API Changes

@react-aria/utils

/@react-aria/utils:getEventTarget

-getEventTarget <T extends Event> {
+getEventTarget <T extends Event | SyntheticEvent> {
   event: T
   returnVal: undefined
 }

/@react-aria/utils:nodeContains

 nodeContains {
-  node: Node | null | undefined
-  otherNode: Node | null | undefined
+  node: Node | Element | null | undefined
+  otherNode: Node | Element | null | undefined
   returnVal: undefined
 }

@snowystinger
Copy link
Member Author

Closing in favour of some extra work i did to minimize TS errors and other lint issues. Also no longer acts on certain events like PressEvents or Drag events if possible, since those are our own objects that don't match actual Events
#9486

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants