Skip to content

Release v4.1.2

Choose a tag to compare

@github-actions github-actions released this 07 Sep 16:09
7d32c9c

Fixed

  • A second dialog opened while the first is still visible now stacks above it, instead of colliding on the same static z-index and relying on incidental DOM paint order.
  • A dropdown, date picker, or tooltip opened inside a dialog now stacks above whichever dialog tier it is actually nested in - including a dialog that was itself opened while another dialog was still open, which the single static overlay token never accounted for.

Context

Components 3 kept overlay panels above their dialog with useOverlayZIndex, a raise-only floor over PrimeReact's own ZIndexUtils registry (#123, PR #117, 2.6.2). Components 4 moved Dialog/Dropdown/DatePicker off PrimeReact onto React Aria, and useOverlayZIndex was removed as redundant along with everything else PrimeReact-specific - but nothing replaced the registry it depended on. A single dialog was never affected (there was only ever one static tier to stack above), which is why this went unnoticed: it only shows up with two dialogs open at once, or an overlay opened from the second one.

Adds a small open-dialog registry (Source/Dialogs/dialogStack.ts) that assigns each currently visible dialog a strictly increasing tier regardless of where in the tree it was opened from, and a DialogStackContext dialogs provide their resolved z-index through so nested overlay-producing components can stack relative to their actual dialog tier instead of a single static token. Internal wiring only - no public API change, so this ships as a patch.