Skip to content

Update dependency @headlessui/react to v2 #12

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 26, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@headlessui/react (source) ^1.7.17 -> ^2.0.0 age adoption passing confidence

Release Notes

tailwindlabs/headlessui (@​headlessui/react)

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)

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.

Copy link

gitstream-cm bot commented May 26, 2025

🚨 gitStream Monthly Automation Limit Reached 🚨

Your organization has exceeded the number of pull requests allowed for automation with gitStream.
Monthly PRs automated: 428/250

To continue automating your PR workflows and unlock additional features, please contact LinearB.

Copy link

sourcery-ai bot commented May 26, 2025

Reviewer's Guide

This PR upgrades @headlessui/react from v1.x to v2.x by updating the package specifier and fully regenerating the pnpm lockfile with new resolutions, peer ranges, and required sub-dependencies.

Sequence Diagram: Improved Menu Opening Interaction in @headlessui/react v2

sequenceDiagram
    actor User
    participant MenuButton_v2 as "MenuButton (@headlessui/react v2)"
    participant MenuComponent_v2 as "Menu Component (@headlessui/react v2)"

    User->>MenuButton_v2: Mousedown event (initiates open)
    activate MenuButton_v2
    MenuButton_v2->>MenuComponent_v2: Trigger open action
    deactivate MenuButton_v2
    activate MenuComponent_v2
    MenuComponent_v2-->>User: Displays menu items (improved performance)
    deactivate MenuComponent_v2
Loading

File-Level Changes

Change Details Files
Bump @headlessui/react specifier
  • Change dependency specifier from ^1.7.17 to ^2.0.0 in package.json
web_dashboard/package.json
Refresh lockfile resolutions for headlessui web_dashboard/pnpm-lock.yaml
Introduce new sub-dependencies
  • Add @floating-ui/* packages and update peers
  • Add @react-aria/* packages, use-sync-external-store and tabbable
web_dashboard/pnpm-lock.yaml
Adjust peer dependency ranges
  • Update react/react-dom peer ranges for @headlessui/react to ^18

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link

coderabbitai bot commented May 26, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Join our Discord community for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: 🧪 Build Next.js (pnpm)

Failed stage: 🟣 Setup Node.js [❌]

Failure summary:

The action failed because the pnpm executable could not be found in the system. The error message
indicates that the workflow is trying to use pnpm for Node.js package management (as specified in
the cache configuration), but the executable is not installed or not available in the PATH
environment variable.

Relevant error logs:
1:  ##[group]Operating System
2:  Ubuntu
...

123:  48f9e27287ba5c4f395812a430393634b663f296
124:  ##[group]Run actions/setup-node@v4
125:  with:
126:  node-version: 20
127:  cache: pnpm
128:  always-auth: false
129:  check-latest: false
130:  token: ***
131:  ##[endgroup]
132:  Found in cache @ /opt/hostedtoolcache/node/20.19.1/x64
133:  ##[group]Environment details
134:  node: v20.19.1
135:  npm: 10.8.2
136:  yarn: 1.22.22
137:  ##[endgroup]
138:  ##[error]Unable to locate executable file: pnpm. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
139:  Post job cleanup.

@renovate renovate bot force-pushed the renovate/headlessui-react-2.x branch from 2e97d13 to f8386e9 Compare July 23, 2025 13:33
Copy link

gitstream-cm bot commented Jul 23, 2025

🚨 gitStream Monthly Automation Limit Reached 🚨

Your organization has exceeded the number of pull requests allowed for automation with gitStream.
Monthly PRs automated: 251/250

To continue automating your PR workflows and unlock additional features, please contact LinearB.

@renovate renovate bot force-pushed the renovate/headlessui-react-2.x branch from f8386e9 to 372fd42 Compare July 24, 2025 20:00
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.

0 participants