Skip to content

Conversation

@bsmiley1
Copy link
Owner

Closes

✅ 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:

@bsmiley1 bsmiley1 changed the title Fix/shadow dom support for portals fix: shadow dom support for portals Nov 13, 2025
johnpangalos and others added 28 commits December 5, 2025 13:04
These tests specifically target issue adobe#8675 where menu items in
popovers close immediately instead when using ShadowDOM with
UNSAFE_PortalProvider.

New test suites added:
- FocusScope: Shadow DOM boundary containment issues
- usePopover: Shadow DOM popover interactions and focus management
- useFocusWithin: Focus within detection across shadow boundaries
- useInteractOutside: Interact outside detection with portals

I generated these tests with AI then reviewed / updated them.
After applying the patches I mentioned in my issue I've noticed that
many of the AI generated tests were either broken or just not testing
anything interesting. Luckily there are some that are.

I'll have to update the rest of the tests as they aren't passing at the
moment.
I have a conflicting default prettier config (I can't seem to find this
projects.) I'm reverting a number of my autochanges.
There are a bunch of redundant tests. Getting rid of them for now.
* fix mobile search modal position

* only show mobile ToC if there are 1 or more subheadings
* docs: Add docs for component CSS variables

* Automatically generate default class name and render props table

* Fix type
* docs: update the expanded key in s2 accordion docs

* increase gap between icons in available icons

* fix focus ring on search menu tabs
* table inline editing

* remove extra exports

* Add extra controls for different interactions, mobile, inline save, invalid state, click off

* fix lint

* Add fake saving logic

* use better color and fix flex grow

* add back hiding logic

* simplify fake save logic

* set boundary element of the table, design updates

* Add picker, restore focus to cell when trigger is hidden, converge implementation to make generic, fix density, individual cell saving state, use touch detection for showing all the time

* fix lint and small screen rendering

* Change editable cell hover color when row is hovered

* invert hover color for non-selection

* use a pending action button and change background cell color for hover

* fix lint

* fix density, pending is disabled, some of cell sizing

* Add bulk edit bar

* fix lint

* add "More" actions and remove actionbar bulk actions

* fix rendering

* Add other components so we know if there's anything else

* simplify code and example

* add comments and fix types

* Make picker nice

* fix lint

* Implement our actual component and start tests

* add default slot so that people can add other buttons to the row

* fix lint

* add tests

* fix lint

* review updates

* fix tab behaviour

* add tab tests
…ListBoxItem` (adobe#8908)

* add ComboBox Story for ListBoxItem with aria-label

This can be used to check whether the screen-reader announcement for option selections reads the correct label for each option, especially on mac, where there is a special codepath for this.

* fix `CollectionBuilder` to handle `aria-label` correctly

This commit ensures the aria-label prop from the ListItem is read into the corresponding attribute ElementNode

* only add key if it exists

---------

Co-authored-by: Robert Snow <[email protected]>
Co-authored-by: Robert Snow <[email protected]>
* docs: Make component card heights match

* Fix Safari 🤮
* fix broken links to @internationalized/date

* add more component illustrations

* fix CSS Optimization link

* fix lowercase in link

* fix links in S2 index page

* fix Autocomplete links

* fix internationalized and old docs links

* Migrating.mx -> migrating.mdx, Styling.mdx ->styling.mdx

* fix remaining broken links

* fix popover example

* fix broken links

* one more link

* fix internationalized links

* more broken links
* fix: RAC Numberfield scrolling with stepper buttons

* trigger inc/dec on press end instead of start, cancel if there's a touch scroll

* fix comment

* update movement threshold for better feel, make scroll delay longer
* fix modal so it always appears over mobile header and fix dropzone width

* add title font size resizing behavior to s2 docs

* dont use useResizeObserver because we want to catch fonts changing

* fix mobile header icon and library label

* fix cross page anchor navigation scrolling and mobile cross page navigation scroll positioning

* properly close mobile header menu when clicking on component card

* making image coordinator example wrap to new row instead of squishing the images at small screen sizes

* set a minwidth large enough so disallowEmptySelection have its label wrap

* properly reobserve the new page post-navigation so the page nav picker updates during scroll on mobile

this is because the page doesnt actually remount, we reuse the existing component tree

* remove broken title resizer code and fix rebase

* restore styles

* fix internationalized logo

* add 404 page

* forgot to remove test code

* hide error page from search

* update S2 popover example

* update icon in example

---------

Co-authored-by: Reid Barber <[email protected]>
* fix: Inline editing tables

* fix edit buttons not showing up by default on Android phones

* fix case where user cant tab forward in a table w/ edit buttons and no selection

* make scrolling boundary story more obvious

* fix text

* fix lint

---------

Co-authored-by: Daniel Lu <[email protected]>
* docs: improve markdown docs script

* include page descriptions in initial mcp index build
* chore: lockfile for all apps

* turn on verdaccio

* set hoisting limit

* build starters outside root workspace

* fix indentation

* force dependency update to latest

* try another command

* try yet another command

* fix paths

* fix more paths

* reduce complexity and force upgrade locally

* Revert "turn on verdaccio"

This reverts commit 5bff9d5.

* force update all versions in all example apps

* turn on verdaccio

* fix webpack 4 app

* fix icon builder

* try cache cleaning

* force npx to use local verdaccio registry

* try another method of forcing the registry

* specify a specific version for the tool

* debugging

* remove debug statement

* Revert "turn on verdaccio"

This reverts commit 37e6c89.

* turn on verdaccio

* Revert "turn on verdaccio"

This reverts commit ca2faf9.

* turn on verdaccio

* add debugging

* one more debug line

* Revert "turn on verdaccio"

This reverts commit 622ad5e.
…em via keyboard (adobe#8881)

* fix(RAC): ensure Input autoFocus works when opening Modal from MenuItem via keyboard

* fix: react.act is not a function

---------

Co-authored-by: Daniel Lu <[email protected]>
I added a popover test but it seems that when creating my replication in
test code I noticed that the popover is never displayed. Seems that there
is an issue with showing popovers in the tests when everything is in the
shadow dom...
reidbarber and others added 28 commits December 5, 2025 13:07
* close SearchMenu on client navigation

* add footer

* made Nav and ToC widths static

* fix min-height issue on mobile

* show Toast if route can't load

* add toast for clipboard copy failures

* fix React insertion effect

* improve markdown menu

* add skeleton loading for client routing

* copy update

* remote extra startTransitions and use use hook

* improve skeleton loading and optimistic render link selection + ToC

* add delay to showing skeleton

* fix getPageInfo logic

* try fixing getPageInfo again

* try fixing normalizePathname on build

* add prefetch onPressStart

* revert optimistic UI and show error toast if fetch fails

* fix skeleton title

* don't clear targetPathname until new navigation

* move prefetch to a global pointerover listener

* close search menu when navigation starts

* show skeleton loading immediately when navigation starts

* re-use tag group in SearchMenu and MobileSearchMenu

* fix and extract out search logic

* remove blog and releases index pages from search

* reduce size of icons in dnd blog post example

* fix Forms password example

* centralize search logic

* add escapeKeyBehavior="none" to tag groups

* fix toc scroll mask

* simplify pathname logic

* remove promises from prefetch cache once resolved

* use useOptimistic

* use fetchRSC promise as loading source

* avoid navigation race conditions

* prefetch on focus (same as pointerover)

* function for checking if client link

* fix search results sorting for All tag

* add message to currentAbortController.abort

* lint
* fix client listeners Element assumption

* improve Illustrations search (copy feedback + message)

* dynamic search placeholder if resources tag selected

* silently handle prefetch failures

* fix focus visible style so it doesnt linger on click

* fix anchor links

* don't clear search field when switching library tabs

* fix anchor links on page load

* better cards for releases

---------

Co-authored-by: Daniel Lu <[email protected]>
* refactor mcp server to be two separate servers

* update README and docs

* fix data loading

* cleanup

* improve structure

* yarn.lock

* update npx commands to use @latest
* add delay for showing page skeleton

* use fake image for SkeletonVisualExample in PageSkeleton

* fix optimistic rendering of the sidenav

* move delay into skeleton and fix clicking already selected link

---------

Co-authored-by: Devon Govett <[email protected]>
* chore: Update Spectrum fonts for Arabic and Hebrew

* lint
* update getting started to overview

* hide side nav for release notes

* hide blog from sidenav

* add export group to add internationalize to react aria side nav

* remove releases from react spectrum side nav

* update side nav to include internationalized in react aria

* explore component opens search menu

* fix routing?

* fix some stuff from merge conflict

* pls fix lint

* update github logo to link

* fix lint

* add back beta badge

* fix lint
* docs: Fix copying markdown in Safari

* Add pending state for slow networks
* docs: side nav follow up

* fix font for mobile case

* update cursor

* fix links, make cursor pointer
* fix: DragPreview is not visible in safari

* fix mock

* fix more mocks
* fix: ensure required icon has label when field is required

* forgot to add to checkbox group
* include BCP-47 codes in quality docs

* add placeholders on mobile search

* fix blog and release sorting in mobile search menu

* fix search tag selection logic

* lint

* lint again
* chore: change peer dep for S2 to be 19 only

* forgot to change lock

* fix lint

* update the icon builder as well
* fix: ts-fork-point github ssh error

* no known_hosts at all?

* wtf

* ...ok
* fix: new docs bug followup

* fix scaling of placement picker
…#9203)

* chore: add links to old docs for hooks we haven't migrated yet

* fix lint

* removing links to non-existant pages

---------

Co-authored-by: Daniel Lu <[email protected]>
* add toast starter for vanilla css

* update to use tint and other color vars

* tailwind example

* fix centering

* toast docs rough draft

* split out toast animation code

* im dumb, fix animation

* double check colors

* update to get controls working and copy changes

* fix animation break due to multiple toast regions

* fix flicker

* review comments
@bsmiley1 bsmiley1 force-pushed the fix/shadow-dom-support-for-portals branch from b88d7f5 to 28cadd7 Compare December 5, 2025 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.