Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 8, 2025

This PR contains the following updates:

Package Change Age Confidence
@headlessui/react (source) 1.7.12 -> 2.2.9 age confidence

Release Notes

tailwindlabs/headlessui (@​headlessui/react)

v2.2.9

Compare Source

Fixed
  • Improve focus management in shadow DOM roots (#​3794)
  • Don't accidentally open the Combobox when touching the ComboboxButton while dragging on mobile (#​3795)
  • Ensure sibling Dialog components are scrollable on mobile (#​3796)
  • Infer Combobox type based on onChange handler (#​3798)
  • Allow home/end key default behavior inside ComboboxInput when Combobox is closed (#​3798)
  • Ensure interacting with a Dialog on iOS works after interacting with a disallowed area (#​3801)
  • Freeze Listbox values as soon as a value is selected (#​3802)
  • Ensure refs are forwarded when freezing data (#​3390)
  • Do not serialize React components into form fields (49e9e8e)

v2.2.8

Compare Source

Fixed
  • Ensure we are not freezing data when the static prop is used (#​3779)
  • Ensure onChange types are contravariant instead of bivariant (#​3781)
  • Support <summary> as a focusable element inside <details> (#​3389)
  • Fix Maximum update depth exceeded crash when using transition prop (#​3782)
  • Ensure pressing Tab in the ComboboxInput, correctly syncs the input value (#​3785)
  • Ensure --button-width and --input-width have the latest value (#​3786)
  • Fix 'Invalid prop data-headlessui-state supplied to React.Fragment' warning (#​3788)
  • Ensure element in ref callback is always connected when rendering in a Portal (#​3789)
  • Ensure form state is up to date when using uncontrolled components (#​3790)
  • Ensure data-open on ComboboxInput is up to date (#​3791)
  • Ensure changing the immediate prop value on the Combobox component works as expected (#​3792)

v2.2.7

Compare Source

Fixed
  • Fix incorrect double invocation of menu items, listbox options and combobox options (#​3766)
  • Fix memory leak in SSR environment (#​3767)
  • Ensure programmatic .click() on MenuButton ref works (#​3768)
  • Don't activate hovered items while using the keyboard (#​3769)

v2.2.6

Compare Source

Fixed
  • Fix immediately closing Listbox by requiring some cursor movement (#​3762)

v2.2.5

Compare Source

Fixed
  • Fix listbox closing immediately after opening on touch devices (#​3755)

v2.2.4

Compare Source

Fixed
  • Fix Combobox error (unexpected undefined) when using virtual mode (#​3734)

v2.2.3

Compare Source

Added
  • Add a quick trigger action to the Menu, Listbox and Combobox components (#​3700)
Fixed
  • Fix clicking Label component should open <Input type="file"> (#​3707)
  • Ensure clicking on interactive elements inside Label component works (#​3709)
  • Fix focus not returned to SVG Element (#​3704)
  • Fix Listbox not focusing first or last option on ArrowUp / ArrowDown (#​3721)
  • Performance improvement: only re-render top-level component when nesting components e.g.: Menu inside a Dialog (#​3722)
  • Fix closing Menu when other Menu is opened (#​3726)

v2.2.2

Compare Source

Fixed
  • Improve Menu component performance (#​3685)
  • Improve Listbox component performance (#​3688)
  • Open Menu and Listbox on mousedown (#​3689)
  • Fix Transition component from incorrectly exposing the Closing state (#​3696)
  • Improve Combobox component performance (#​3697)

v2.2.1

Compare Source

Added
  • Accept tabIndex on the Checkbox component (#​3645)
  • Accept tabIndex on the RadioGroup component (#​3646)
Fixed
  • Use correct ownerDocument when using internal Portal component (#​3594)
  • Bump @tanstack/react-virtual to fix warnings in React 19 projects (#​3588)
  • Fix aria-invalid attributes to have a valid 'true' value (#​3639)
  • Add missing invalid prop to Combobox component (#​3677)
  • Fix Unexpected undefined crash in Combobox component with virtual mode (#​3678)

v2.2.0

Compare Source

Added

v2.1.10

Compare Source

Fixed
  • Use React.JSX instead of deprecated global JSX (#​3511)
  • Fix crash in ListboxOptions when using as={Fragment} (#​3513)

v2.1.9

Compare Source

Fixed
  • Ensure Element is available before polyfilling to prevent crashes in non-browser environments (#​3493)
  • Fix crash when using instanceof HTMLElement in some environments (#​3494)
  • Cleanup process in Combobox component when using virtualization (#​3495)

v2.1.8

Compare Source

Fixed
  • Fix crash when using as={Fragment} on MenuButton, ListboxButton, DisclosureButton or Button components (#​3478)

v2.1.7

Compare Source

Fixed
  • Prevent crash in environments where Element.prototype.getAnimations is not available (#​3473)

v2.1.6

Compare Source

Fixed
  • Fix ListboxOptions being incorrectly marked as inert (#​3466)
  • Fix crash when using DisclosureButton inside of a DisclosurePanel when the Disclosure is open by default (#​3465)

v2.1.5

Compare Source

Fixed
  • Fix transition bug on Firefox, triggered by clicking the PopoverButton in rapid succession (#​3452)

v2.1.4

Compare Source

Fixed
  • Fix components not closing properly when using the transition prop (#​3448)

v2.1.3

Compare Source

Fixed
  • Ensure Transition component state doesn't change when it becomes hidden (#​3372)
  • Fix closing components using the transition prop, and after scrolling the page (#​3407)
  • Ensure all client components are marked correctly to avoid a crash with React 19 and Turbopack (#​3429)

v2.1.2

Compare Source

Fixed
  • Fix prematurely added anchoring styles on ListboxOptions (#​3337)
  • Ensure unmount on Dialog works in combination with the transition prop on DialogBackdrop and DialogPanel components (#​3352)
  • Fix crash in Combobox component when in virtual mode when options are empty (#​3356)
  • Fix hanging tests when using anchor prop (#​3357)
  • Fix transition and focus prop combination for PopoverPanel component (#​3361)
  • Fix outside click in nested portalled Popover components (#​3362)
  • Fix restoring focus to correct element when closing Dialog component (#​3365)
  • Fix flushSync warning for Combobox component with immediate prop enabled (#​3366)

v2.1.1

Compare Source

Fixed
  • Use React.JSX instead of deprecated global JSX (#​3511)
  • Fix crash in ListboxOptions when using as={Fragment} (#​3513)

v2.1.0

Compare Source

Added
Fixed
  • Keep Combobox open when clicking scrollbar in ComboboxOptions (#​3249)
  • Ensure ComboboxInput does not sync with current value while typing (#​3259)
  • Fix visual jitter in Combobox component when using native scrollbar (#​3190)
  • Improve UX by freezing ComboboxOptions while closing (#​3304)
  • Merge incoming style prop on ComboboxOptions, ListboxOptions, MenuItems, and PopoverPanel components (#​3250)
  • Prevent focus on Checkbox when it is disabled (#​3251)
  • Use useId instead of React internals (for React 19 compatibility) (#​3254)
  • Cancel outside click behavior on touch devices when scrolling (#​3266)
  • Correctly apply conditional classes when using Transition and TransitionChild components (#​3303)
Changed
  • Allow using the Tab and Shift+Tab keys when the Listbox component is open (#​3284)

v2.0.4

Compare Source

Fixed
  • [internal] Don’t set a focus fallback for Dialog’s in demo mode (#​3194)
  • Ensure page doesn't scroll down when pressing Escape to close the Dialog component (#​3218)
  • Fix crash when toggling between virtual and non-virtual mode in Combobox component (#​3236)
  • Ensure tabbing to a portalled PopoverPanel component moves focus inside (without using PortalGroup) (#​3239)
  • Only handle form reset when defaultValue is used (#​3240)
Deprecated
  • Mark SwitchGroup as deprecated, prefer Field instead (#​3232)
Changed
  • Use native fieldset instead of div by default for Fieldset component (#​3237)

v2.0.3

Compare Source

Fixed
  • Make sure disabling demo mode on Combobox works (#​3182)

v2.0.2

Compare Source

Fixed
  • Improve performance of internal useInertOthers hook (#​3181)

v2.0.1

Compare Source

Fixed
  • Remove accidental deprecation comments on DialogPanel and DialogTitle (#​3176)

v2.0.0

Compare Source

Added
Fixed
  • Fix scroll-locking on iOS (#​2891)
  • Fix cancellation of events when using disabled or aria-disabled attributes (#​2890)
  • Fix unnecessary execution of the displayValue callback in ComboboxInput component (#​3048)
  • Fix types for multiple prop in Combobox component (#​3099)
  • Fix focus handling in ComboboxInput component (#​3065, #​3073)
  • Fix enter transitions in Transition component (#​3074)
  • Fix focus handling in ListboxOptions and MenuItems components (#​3112)
  • Fix horizontal scrolling inside the Dialog component (#​2889)
  • Don’t cancel touchmove on input elements inside a dialog (#​3166)
Changed
  • Require React 18 (#​2887, #​3092, #​3131)
  • Always render hidden form input fields for Checkbox, Switch, and RadioGroup components (#​3095)
  • Deprecate the RadioGroup.Option component in favor of new Radio component (#​2887)
  • Deprecate the active prop in favor of new focus prop (#​2887)
  • Dialog is now focused by default instead of the first focusable element (#​2887)
  • Change default tags for ListboxOptions, ListboxOption, ComboboxOptions, ComboboxOption, and TabGroup components (#​3109)
  • Change default tag from div to Fragment on Transition components (#​3110, #​3147)
  • Allow Combobox component to have a null value (#​3064, #​3100)
  • Attempt form submission when pressing enter on the ListboxButton component (#​2972)
  • Deprecate the entered prop on the Transition component (#​3089)
  • Deprecate dot notation for components (#​2887, #​3170)
  • Add frozen value to ComboboxOptions component (#​3126)
  • Remove deprecated DialogBackdrop and DialogOverlay components (#​3171)

v1.7.19

Compare Source

Fixed
  • Make sure panels re-register when IDs are calculated in React < 18 (#​2883)
  • Expose disabled state on Tab component (#​2918)
  • Prevent default behavior when clicking outside of a Dialog.Panel (#​2919)
  • Add hidden attribute to internal Hidden component when the Features.Hidden feature is used (#​2955)
  • Allow setting custom tabIndex on the Switch component (#​2966)
  • Forward disabled state to hidden inputs in form-like components (#​3004)
  • Respect selectedIndex for controlled Tab components (#​3037)

v1.7.18

Compare Source

Fixed
  • Don't call Dialog's onClose twice on mobile devices (#​2690)
  • Lazily resolve default containers in Dialog (#​2697)
  • Ensure hidden Tab.Panel components are hidden from the accessibility tree (#​2708)
  • Add support for role="alertdialog" to Dialog component (#​2709)
  • Ensure blurring the Combobox.Input component closes the Combobox (#​2712)
  • Allow changes to the className prop when the Transition component is currently not transitioning (#​2722)
  • Export (internal-only) component interfaces for TypeScript compiler (#​2313)
  • Fix infinite render-loop for Disclosure.Panel and Popover.Panel when as={Fragment} (#​2760)
  • Fix VoiceOver bug for Listbox component in Chrome (#​2824)
  • Fix outside click detection when component is mounted in the Shadow DOM (#​2866)
  • Fix CJS types (#​2880)
  • Fix error when transition classes contain new lines (#​2871)
  • Improve iOS locking (7721aca)

v1.7.17

Compare Source

Fixed
  • Use correct value when resetting <Listbox multiple> and <Combobox multiple> (#​2626)
  • Render MainTreeNode in Popover.Group component only (#​2634)
  • Disable smooth scrolling when opening/closing Dialog components on iOS (#​2635)
  • Don't assume Tab components are available when setting the next index (#​2642)
  • Fix incorrectly focused Combobox.Input component on page load (#​2654)
  • Ensure appear works using the Transition component (even when used with SSR) (#​2646)
  • Improve resetting values when using the nullable prop on the Combobox component (#​2660)
  • Fix hydration of components inside Suspense (#​2663)
  • Prevent scrolling when focusing a tab (#​2674)

v1.7.16

Compare Source

Fixed
  • Ensure the caret is in a consistent position when syncing the Combobox.Input value (#​2568)
  • Improve "outside click" behavior in combination with 3rd party libraries (#​2572)
  • Ensure IME works on Android devices (#​2580)
  • Calculate aria-expanded purely based on the open/closed state (#​2610)
  • Submit form on Enter even if no submit-like button was found (#​2613)

v1.7.15

Compare Source

Added
  • [internal] add demo mode to Menu and Popover components (#​2448)
Fixed
  • Ensure FocusTrap is only active when the given enabled value is true (#​2456)
  • Stop <Transition appear> from overwriting classes on re-render (#​2457)
  • Improve control over Menu and Listbox options while searching (#​2471)
  • Consider clicks inside iframes to be "outside" (#​2485)
  • Ensure moving focus within a Portal component, does not close the Popover component (#​2492)
Changed
  • Move types condition to the front (#​2469)

v1.7.14

Compare Source

Fixed
  • Fix focus styles showing up when using the mouse (#​2347)
  • Fix "Can't perform a React state update on an unmounted component." when using the Transition component (#​2374)
  • Add FocusTrap event listeners once document has loaded (#​2389)
  • Fix className hydration for <Transition appear> (#​2390)
  • Improve Combobox types to improve false positives (#​2411)
  • Merge className correctly when it’s a function (#​2412)
  • Correctly handle IME composition in Combobox.Input (#​2426)
Added
  • Add form prop to form-like components such as RadioGroup, Switch, Listbox, and Combobox (#​2356)

v1.7.13

Compare Source

Fixed
  • Ensure Transition component completes if nothing is transitioning (#​2318)
  • Enable native label behavior for Switch where possible (#​2265)
  • Allow root containers from the Dialog component in the FocusTrap component (#​2322)
  • Fix XYZPropsWeControl and cleanup internal TypeScript types (#​2329)
  • Fix invalid warning when using multiple Popover.Button components inside a Popover.Panel (#​2333)
  • Fix restore focus to buttons in Safari, when Dialog component closes (#​2326)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from a team as a code owner October 8, 2025 11:38
@renovate renovate bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Oct 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants