Skip to content
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

fix(dropdown): respect closeOnSelect prop on DropdownItem #2598

Merged
merged 10 commits into from
Aug 16, 2024

Conversation

gtoxlili
Copy link
Contributor

@gtoxlili gtoxlili commented Mar 27, 2024

Closes #2290

📝 Description

This PR fixes an issue where the closeOnSelect prop on DropdownItem was being overridden by the DropdownMenu settings, causing the dropdown to close even when closeOnSelect was set to false on an individual DropdownItem.

⛳️ Current behavior (updates)

Currently, setting closeOnSelect to false on a DropdownItem does not prevent the dropdown from closing when that item is selected. This is because the onAction event handler on DropdownItem is deprecated and the closing behavior is controlled by the DropdownMenu settings.

🚀 New behavior

The logic has been updated to respect the closeOnSelect prop on DropdownItem. Now, if closeOnSelect is set to false on a DropdownItem, selecting that item will not close the dropdown menu.

The relevant changes are:

+ const onAction = (key: Key) => {
+   if (closeOnSelect) {
+     onTopAction?.(key);
+   }
+ };

💣 Is this a breaking change (Yes/No):

No

📝 Additional Information

N/A

Summary by CodeRabbit

  • New Features
    • Introduced nuanced handling of the closeOnSelect property for dropdown items, allowing them to remain open or close based on user selection.
    • Added a new template to showcase dropdown behavior with the closeOnSelect property.
  • Bug Fixes
    • Addressed an issue related to the closeOnSelect prop in the dropdown component.
  • Tests
    • Added tests to verify the behavior of the closeOnSelect property in the DropdownItem component.

Copy link

changeset-bot bot commented Mar 27, 2024

🦋 Changeset detected

Latest commit: c33b918

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@nextui-org/dropdown Patch
@nextui-org/react Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link

vercel bot commented Mar 27, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
nextui-storybook-v2 ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 16, 2024 9:02am

Copy link
Contributor

coderabbitai bot commented Mar 27, 2024

Walkthrough

The update enhances the dropdown menu's functionality by ensuring that when the closeOnSelect property is set to false, the menu remains open after item selection. This is achieved by modifying the event handling in the menu.tsx file and introducing improved logic within the useDropdown hook, thereby providing a more predictable user experience.

Changes

File Change Summary
packages/components/menu/src/menu.tsx - Added Key type import from React
- Renamed onAction to onTopAction
- Introduced new onAction function for key actions
packages/components/dropdown/src/use-dropdown.ts - Updated onAction logic to check closeOnSelect property for more nuanced behavior
packages/components/dropdown/__tests__/dropdown.test.tsx - Added test case for closeOnSelect functionality in DropdownItem
packages/components/dropdown/stories/dropdown.stories.tsx - Introduced ItemCloseOnSelectTemplate for demonstrating closeOnSelect functionality in the story
.changeset/warm-planets-smile.md - Added patch details for addressing the closeOnSelect issue in @nextui-org/dropdown package

Assessment against linked issues

Objective Addressed Explanation
Dropdown closes on item selection despite closeOnSelect being false (#2290)

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
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>.
    • Generate unit testing code for this file.
    • 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 generate unit testing code for this file.
    • @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 generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @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.

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 as 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 resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

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

vercel bot commented Mar 27, 2024

@gtoxlili is attempting to deploy a commit to the NextUI Inc Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: .coderabbit.yaml

Commits Files that changed from the base of the PR and between cf0d4e4 and 8e21dc2.
Files selected for processing (1)
  • packages/components/menu/src/menu.tsx (3 hunks)
Additional comments: 3
packages/components/menu/src/menu.tsx (3)
  • 2-2: The import statement has been updated to include the Key type from React, which is utilized in the newly added onAction function. This change is necessary for the implementation and ensures that the Key type is available for use within the file.
  • 21-21: The onAction function has been renamed to onTopAction. This renaming is part of the changes to ensure that the closeOnSelect property functions as expected. It's important to verify that all references to the old onAction function within this file and potentially in other parts of the codebase have been updated to reflect this change.
Verification successful

The search results indicate that references to onAction are still present throughout the project, not only within the menu component but also in other components like listbox, dropdown, breadcrumbs, and their respective stories, tests, and documentation. This suggests that the renaming of onAction to onTopAction was specific to the menu.tsx file and does not imply that all occurrences of onAction across the project should have been renamed. The presence of onAction in other components and contexts appears to be intentional and unrelated to the change made in menu.tsx.

Given this context, the review comment about verifying that all references to the old onAction function within this file and potentially in other parts of the codebase have been updated to reflect this change is partially correct. It is accurate in the sense that within menu.tsx, the renaming to onTopAction should be consistent. However, the comment may imply a broader scope of renaming across the project, which is not supported by the evidence from the search results. The references to onAction in other components and documentation are valid and expected to remain unchanged.

Therefore, the verification process concludes that the review comment is correct regarding the need to ensure consistency within the menu.tsx file but may be misleading if interpreted as applying to the entire codebase. The renaming to onTopAction seems to be a specific change within the menu component to address a particular issue, and the presence of onAction in other parts of the codebase does not contradict this change.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Search for any remaining references to the old `onAction` function name within the project.
rg --type tsx 'onAction' 

Length of output: 52



Script:

#!/bin/bash
# Search for any remaining references to the old `onAction` function name within the project, without specifying file type.
rg 'onAction'

Length of output: 7457

* 30-34: The addition of the new `onAction` function is a key part of the fix for the `closeOnSelect` issue. This function checks the `closeOnSelect` property's value and conditionally triggers `onTopAction` if `closeOnSelect` is true. This implementation allows individual `DropdownItem`s to override the default closing behavior of the dropdown menu. It's crucial to ensure that this new logic does not introduce any side effects, especially in scenarios where `closeOnSelect` might be dynamically changed or in complex dropdown structures.

Copy link
Member

@wingkwong wingkwong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. please add a changeset
  2. please provide before & after videos to demonstrate if possible

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 1

Configuration used: .coderabbit.yaml

Commits Files that changed from the base of the PR and between 8e21dc2 and e65e9fa.
Files selected for processing (1)
  • .changeset/warm-planets-smile.md (1 hunks)

.changeset/warm-planets-smile.md Outdated Show resolved Hide resolved
@gtoxlili
Copy link
Contributor Author

  1. please add a changeset
  2. please provide before & after videos to demonstrate if possible

Thanks for the reminder, I've added the changeset.

@KoJem9Ka
Copy link

Really waiting for this fix in the release)

Copy link
Member

@wingkwong wingkwong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just tested with the same code from the issue, the menu is still closed after clicking New file. Also please add tests to cover this case.

<Dropdown>
  <DropdownTrigger>
    <Button variant="bordered">Open Menu</Button>
  </DropdownTrigger>
  <DropdownMenu aria-label="Static Actions">
    <DropdownItem key="new" closeOnSelect={false}>
      New file
    </DropdownItem>
    <DropdownItem key="copy">Copy link</DropdownItem>
    <DropdownItem key="edit">Edit file</DropdownItem>
    <DropdownItem key="delete" className="text-danger" color="danger">
      Delete file
    </DropdownItem>
  </DropdownMenu>
</Dropdown>

@gtoxlili
Copy link
Contributor Author

Currently, if a DropdownItem has closeOnSelect explicitly set to false, the menu will remain open when that item is selected. Otherwise, it follows the DropdownMenu's closeOnSelect setting.

I have added the relevant templates. Please test the changes based on the provided templates.

@wingkwong

@wingkwong
Copy link
Member

@gtoxlili apart from storybook, I was asking for tests to be added in /packages/components/dropdown/__tests__/dropdown.test.tsx

@gtoxlili
Copy link
Contributor Author

@gtoxlili apart from storybook, I was asking for tests to be added in /packages/components/dropdown/__tests__/dropdown.test.tsx

Added

Copy link
Member

@wingkwong wingkwong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests are not passing. Please check.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Review Details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits Files that changed from the base of the PR and between e65e9fa and 0b82163.
Files selected for processing (1)
  • .changeset/warm-planets-smile.md (1 hunks)

.changeset/warm-planets-smile.md Show resolved Hide resolved
@wingkwong wingkwong assigned jrgarciadev and unassigned wingkwong May 16, 2024
@wingkwong wingkwong added this to the v2.3.7 milestone May 16, 2024
@jrgarciadev
Copy link
Member

Hey @gtoxlili please fix the conflicts

@wingkwong wingkwong modified the milestones: v2.4.0, v2.4.1, v2.4.2 May 27, 2024
@jrgarciadev
Copy link
Member

@gtoxlili sorry for the delay, please fix the conflicts

@wingkwong wingkwong modified the milestones: v2.4.2, v2.5.0 Jun 15, 2024
@wingkwong wingkwong modified the milestones: v2.5.0, v2.4.7 Aug 16, 2024
@wingkwong wingkwong changed the title fix(dropdown): respect closeOnSelect prop on DropdownItem(#2290) fix(dropdown): respect closeOnSelect prop on DropdownItem Aug 16, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 0b82163 and c33b918.

Files selected for processing (3)
  • packages/components/dropdown/tests/dropdown.test.tsx (1 hunks)
  • packages/components/dropdown/src/use-dropdown.ts (1 hunks)
  • packages/components/dropdown/stories/dropdown.stories.tsx (2 hunks)
Additional comments not posted (4)
packages/components/dropdown/src/use-dropdown.ts (1)

155-165: Ensure props?.children is correctly typed.

The onAction function uses props?.children?.find to locate an item by key. Ensure that props?.children is correctly typed as an array of elements with a key property to avoid runtime errors.

packages/components/dropdown/stories/dropdown.stories.tsx (2)

156-189: Great addition for demonstrating closeOnSelect functionality.

The ItemCloseOnSelectTemplate effectively showcases the behavior of dropdown items and menus with the closeOnSelect property set to false. This is a valuable addition for testing and demonstrating the feature.


778-784: Ensure consistency in export naming.

The export ItemCloseOnSelect aligns with the naming convention used in other exports. Ensure that this naming is consistent across the codebase to maintain clarity and predictability.

Verification successful

Export Naming Consistency Verified

The export ItemCloseOnSelect follows a descriptive naming convention consistent with other exports in the codebase. No inconsistencies were found in the naming pattern.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify consistency in export naming for `ItemCloseOnSelect`.

# Test: Search for all exports in the stories file to ensure naming consistency.
rg --type tsx --no-heading --line-number --color never 'export const'

Length of output: 99


Script:

#!/bin/bash
# Locate the dropdown.stories.tsx file and search for all exports to ensure naming consistency.
fd --type f --extension tsx --exec rg --no-heading --line-number --color never 'export const' {}

Length of output: 35030

packages/components/dropdown/__tests__/dropdown.test.tsx (1)

799-833: Excellent test coverage for closeOnSelect functionality.

The test case "should respect closeOnSelect setting of DropdownItem" effectively verifies the new behavior. It ensures that the dropdown remains open when closeOnSelect is set to false and closes otherwise. This is a critical addition to the test suite.

@wingkwong wingkwong merged commit 4f8ae50 into nextui-org:canary Aug 16, 2024
5 of 7 checks passed
jrgarciadev added a commit that referenced this pull request Sep 15, 2024
* chore(root): reat-aria packages updated (#2889)

* chore(storybook): common colors enabled (#2902)

* fix(range-calendar): hide only dates outside the month (#2906)

* fix(range-calendar): hide only dates outside the month #2890

* fix(range-calendar): corrected spelling mistake in changeset description

* fix(range-calendar): corrected capitalization in changeset description

* chore(changeset): patch @nextui-org/theme

---------

Co-authored-by: shrinidhi.upadhyaya <shrinidhi.upadhyaya@stud.uni-bamberg.de>
Co-authored-by: աɨռɢӄաօռɢ <wingkwong.code@gmail.com>

* fix(date-picker): keep date picker style consistent for different variants (#2908)

* fix: add missing TableRowProps export (#2866)

* fix: add missing TableRowProps export

* feat(changeset): add changeset for PR2866

* chore(changeset): revise changeset message

---------

Co-authored-by: աɨռɢӄաօռɢ <wingkwong.code@gmail.com>

* fix(input): correct label margin for RTL required inputs (#2781)

* fix(input): correct label margin for RTL required inputs

* fix(theme): add changeset fr theme

* docs(core): add storybook and canary release info (#2914)

* Cn utility refactor (#2915)

* refactor(core): cn utility adjusted and moved to the theme package

* chore(root): changeset

* fix(storybook): stories that used cn

* docs(date-picker): change to jsx instead (#2919)

* fix(switch): support uncontrolled switch in react-hook-form (#2924)

* feat(switch): add @nextui-org/use-safe-layout-effect

* chore(deps): add @nextui-org/use-safe-layout-effect

* fix(switch): react-hook-form uncontrolled switch component

* fix(switch): react-hook-form uncontrolled switch component

* feat(switch): add rect-hook-form in dev dep

* feat(switch): add WithReactHookFormTemplate

* refactor(root): react aria packages fixed (#2944)

* feat(docs): docs changes (#2868)

* feat(docs): add example how to set locale (#2867)

* docs(guide): add an explanation for the installation guide (#2769)

* docs(guide): add an explanation for the installation guide

* docs(guide): add an explanation for the cli guide

* docs(guide): add support for cli output

* fix: change sort priority - cmdk (#2873)

* docs: remove unsupported props in range calendar and date range picker (#2881)

* chore(calendar): remove showMonthAndYearPickers from range calendar story

* docs(date-range-picker): remove showMonthAndYearPickers info

* docs(range-calendar): remove unsupported props

* docs: refactor typing in form.ts (#2882)

* chore(docs): supplement errorMessage behaviour in input (#2892)

* refactor(docs): revise NextUI Provider structure

* chore(docs): add updated tag

---------

Co-authored-by: Nozomi-Hijikata <116155762+Nozomi-Hijikata@users.noreply.github.com>
Co-authored-by: HaRuki <soccer_haruki15@me.com>
Co-authored-by: Kaben <carnoxen@gmail.com>

* fix(slider): missing marks when hideThumb is true & revise slider styles (#2883)

* chore(slider): include marks in hideThumb

* fix(slider): revise slider styles

* feat(changeset): add changeset

* feat(slider): add tests with marks and hideThumb

* feat(test): react hook form tests & stories (#2931)

* feat(input): add Input with React Hook Form tests

* refactor(input): add missing types

* feat(checkbox): add checkbox with React Hook Form tests

* feat(select): add react-hook-form to dev dep

* feat(select): add react hook form story

* feat(select): react hook form tests

* fix(select): incorrect button reference

* feat(deps): add react-hook-form to dev dep in autocomplete

* feat(autocomplete): react hook form story

* feat(autocomplete): react hook form tests

* fix(autocomplete): rollback wrapper type

* feat(switch): add react hook form tests

* refactor(stories): reorder stories items

* fix: update accordion item heading tag to be customizable (#2265)

* fix: update accordion item heading tag to be customizable

* Update .changeset/heavy-hairs-join.md

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* Update .changeset/heavy-hairs-join.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore(accordion): lint

* chore(changeset): add issue number

* feat(docs): add HeadingComponent prop

---------

Co-authored-by: Shawn Dong <shawn.dong@flybuys.com.au>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: աɨռɢӄաօռɢ <wingkwong.code@gmail.com>

* fix(theme): add pointer-events-none to skeleton base (#2972)

* feat(tabs): add `destroyInactiveTabPanel` prop for Tabs component (#2973)

* feat(tabs): add destroyInactiveTabPanel and set default to false

* feat(tabs): integrate with destroyInactiveTabPanel

* feat(theme): hidden inert tab panel

* feat(changeset): add changeset

* chore(changeset): add issue number

* feat(docs): add `destroyInactiveTabPanel` prop to tabs page

* chore(docs): set destroyInactiveTabPanel to true by default

* chore(tabs): set destroyInactiveTabPanel to true by default

* chore(tabs): revise destroyInactiveTabPanel logic

* feat(tabs): add tests for destroyInactiveTabPanel

* chore(tabs): change the default value of destroyInactiveTabPanel to true

* refactor: add support for disabling the animation globally (#2929)

* refactor: add support for disabling the animation globally

* chore(docs): disableAnimation removed from global provider

* feat(docs): nextui provider api updated, storybook preview adjusted

* chore(theme): button is scalable when disabled, tooltip animation improved

* fix(theme): remove origin-bottom from button (#2990)

* fix(skeleton): overflow issue in skeleton (#2986)

* fix(theme): set overflow visible after skeleton loaded

* feat(changeset): add changeset

* fix(table): v2 input/textarea don't allow spaces inside a table (#3020)

* fix(table): set onKeyDownCapture to undefined

* feat(changeset): add changeset

* fix(slider): calculate the correct value on mark click (#3017)

* fix(slider): calculate the correct value on mark click

* refactor(slider): remove the tests inside describe block

* feat(slider): add tests for thumb move on mark click

* refactor(slider): use val instead of pos

* fix(theme): revise input isInvalid styles (#3010)

* fix(theme): revise isInvalid input styles

* feat(changeset): add changeset

* feat(date-picker): add missing ref to input wrapper (#3011)

* fix(date-picker): add missing ref to input wrapper

* feat(changeset): add changeset

* fix(core): incorrect tailwind classnames (#3018)

* fix(dropdown): focus behaviour on press / enter keydown (#2970)

* fix(dropdown): set focus on the first item

* feat(dropdown): add keyboard interactions tests

* feat(changeset): add changeset

* fix(dropdown): use fireEvent.keyDown instead

* chore(deps): add @nextui-org/test-utils to dropdown

* refactor(dropdown): pass onKeyDown to menu trigger and don't hardcode autoFocus

* chore(dropdown): remove autoFocus

* fix(menu): pass userMenuProps to useTreeState and useAriaMenu and remove from getListProps

* chore(changeset): add menu package

* fix(component): update type definition to prevent primitive values as items (#2953)

* fix: update type definition to prevent primitive values as items

* fix: typecheck

* fix(select): onSelectionChange can handle number (#2937)

* fix: onSelectionChange type for dynamic items in Select component

* docs: remove unnecessary properties

* docs: update highlightedLines

* chore: add changeset

* fix(calendar): scrolling is hidden when changing the month (#2949)

* fix(calendar): scrolling is hidden when changing the month

* chore(changeset): correct package name

---------

Co-authored-by: Poli Sour <polisour.work@gmail.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix: make VisuallyHidden's element type as span when it's inside phrasing element (#3013)

* fix(checkbox): make VisuallyHidden's element type as span

* feat(changeset): add changeset

* fix(radio): make the VisuallyHidden element type as span

* fix(switch): make the VisuallyHidden element type as span

* fix(select): make the VisuallyHidden element type as span

* feat(changeset): replace changeset

* chore: fix formatting

* docs: sync nextui-cli  api (#3035)

* docs: sync nextui-cli  api

* docs: update

* chore: update routes.json with new path and set updated flag

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat: switch default validationBehavior to aria and allow switching via props (#2987)

* chore: add support validationBehavior aria

* chore: add validationBehavior to Provider

* chore: add autocomplete validation test

* chore: add checkbox validation test

* fix(input): require condition

* docs: add description of validationBehavior props

* chore: add support validationBehavior props for date components

* docs(dates): add description of validationBehavior props

* chore: add changeset

* chore: format

* chore: fix test

* fix: select validationBehavior is not support yet

* fix: select validationBehavior not supported yet

* chore(docs): validation behavior prop added to nextui-provider

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix: popover-based focus behaviour (#2854)

* fix(autocomplete): autocomplete focus behaviour

* feat(autocomplete): add test case for catching blur cases

* refactor(autocomplete): use isOpen instead

* feat(autocomplete): add "should focus when clicking autocomplete" test case

* feat(autocomplete): add should set the input after selection

* fix(autocomplete): remove shouldUseVirtualFocus

* fix(autocomplete): uncomment blur logic

* refactor(autocomplete): remove state as it is in getPopoverProps

* refactor(autocomplete): remove unnecessary blur

* refactor(select): remove unncessary props

* fix(popover): use domRef instead

* fix(popover): revise isNonModal and isDismissable

* fix(popover): use dialogRef back

* fix(popover): rollback

* fix(autocomplete): onFocus logic

* feat(popover): set disableFocusManagement to overlay

* feat(modal): set disableFocusManagement to overlay

* fix(autocomplete): set disableFocusManagement for autocomplete

* feat(popover): include disableFocusManagement prop

* refactor(autocomplete): revise type in selectorButton

* fix(autocomplete): revise focus logic

* feat(autocomplete): add internal focus state and add shouldCloseOnInteractOutside

* feat(autocomplete): handle selectedItem change

* feat(autocomplete): add clear button test

* feat(changeset): add changeset

* refactor(components): use the original order

* refactor(autocomplete): add more comments

* fix(autocomplete): revise focus behaviours

* refactor(autocomplete): rename to listbox

* chore(popover): remove disableFocusManagement from popover

* chore(autocomplete): remove disableFocusManagement from autocomplete

* chore(changeset): add issue number

* fix(popover): don't set default value to transformOrigin

* fix(autocomplete): revise shouldCloseOnInteractOutside logic

* feat(autocomplete): should close listbox by clicking another autocomplete

* fix(popover): add disableFocusManagement to overlay

* refactor(autocomplete): revise comments and refactor shouldCloseOnInteractOutside

* feat(changeset): add issue number

* fix(autocomplete): merge with selectorButtonProps.onClick

* refactor(autocomplete): remove extra line

* refactor(autocomplete): revise comment

* feat(select): add shouldCloseOnInteractOutside

* feat(dropdown): add shouldCloseOnInteractOutside

* feat(date-picker): add shouldCloseOnInteractOutside

* feat(changeset): add dropdown and date-picker

* fix(popover): revise shouldCloseOnInteractOutside

* feat(date-picker): integrate with ariaShouldCloseOnInteractOutside

* feat(select): integrate with ariaShouldCloseOnInteractOutside

* feat(dropdown): integrate with ariaShouldCloseOnInteractOutside

* feat(popover): integrate with ariaShouldCloseOnInteractOutside

* feat(aria-utils): ariaShouldCloseOnInteractOutside

* chore(deps): update pnpm-lock.yaml

* feat(autocomplete): integrate with ariaShouldCloseOnInteractOutside

* feat(aria-utils): handle setShouldFocus logic

* feat(changeset): add @nextui-org/aria-utils

* chore(autocomplete): put the test into correct group

* feat(select): should close listbox by clicking another select

* feat(dropdown): should close listbox by clicking another dropdown

* feat(popover): should close listbox by clicking another popover

* feat(date-picker): should close listbox by clicking another datepicker

* chore(changeset): add issue numbers and revise changeset message

* refactor(autocomplete): change to useRef instead

* refactor(autocomplete): change to useRef instead

* refactor(aria-utils): revise comments and format code

* chore(changeset): add issue number

* chore: take popoverProps.shouldCloseOnInteractOutside first

* refactor(autocomplete): remove unnecessary logic

* refactor(autocomplete): focus management logic

* fix(components): Fix 'Tap to click' behavior on macOS with Edge/Chrome for Accordion and Tab (#2725)

* fix(components): fix 'Tap to click' behavior on macOS

* Add change file for accordion, menu, and tabs

* Remove 'fix(components)' from the .changeset file

* fix(components): undo dropdown change now that it's no longer applicable

* fix(components): update changeset file now that we are no longer modifying the dropdown component

* fix(date-picker): corrected inert value for true condition (#3054)

* fix(date-picker): corrected inert value for true condition #3044

* refactor(calendar): add todo comment

* feat(changeset): add changeset

---------

Co-authored-by: shrinidhi.upadhyaya <shrinidhi.upadhyaya@stud.uni-bamberg.de>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(hooks): resolve type error in onKeyDown event handler (#3064)

* fix(hooks): resolve type error in onKeyDown event handler

* chore(changeset): revise changeset

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* Update dependency array on setPage useCallback hook (#3029)

Changes:
Add the onChangeActivePage function to the dependency array of the setPage useCallback hook to ensure it always reflects the latest state.

Impact:
This fix ensures that the pagination component accurately reflects the current state when triggering onChangeActivePage.

* fix: error peerDep in pkg (#3014)

* fix: error peerDep in pkg

* docs: changeset

* Fix DatePicker Time Input (#2845)

* fix(date-picker): set `isCalendarHeaderExpanded` to `false` when DatePicker is closed

* fix(date-picker): calendar header controlled state on DatePicker

* chore(date-picker): update test

* chore(date-picker): remove unnecessary `async` in test

* Update packages/components/date-picker/__tests__/date-picker.test.tsx

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix(date-picker): test

* fix(hooks): optimize useScrollPosition with useCallback and useRef (#3049)

* fix(hooks): optimize useScrollPosition with useCallback and useRef

* Update .changeset/lucky-cobras-jog.md

* Update packages/hooks/use-scroll-position/src/index.ts

* Update packages/hooks/use-scroll-position/src/index.ts

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix(select): placeholder text display for controlled component (#3081)

* fix: return placeholder when selectedItems is empty

* chore: add test and changeset

* chore(docs): v2.4.0 (#3084)

* chore(docs): v2.4.0

* chore(docs): v2.4.0 blog

* chore(docs): revise typos based on coderabbitai

* chore(docs): adjust navbar

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* chore(changese): update @nextui-org/react dependency to minor version

* docs: update cli docs (#3096)

* ci(changesets): version packages (#2903)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix(radio): remove required attribute for Radio with validationBehavior="aria" (#3110)

* fix(theme): add missing pointer event after data loaded (#3126)

* fix(system): listbox href issue (experimental) (#3119)

* fix(system): @react-aria/utils

* feat(hooks): include routerLinkProps

* feat(changeset): add changeset

* chore(deps): bump @react-aria/utils to 3.24.1

* fix(hooks): missing arguments

* chore(deps): bump @react-types/link

* chore(link): bump @react-aria/link to 3.7.1

* chore(link): use @react-aria/link instead

* chore(changeset): revise changeset

* chore(hooks): undo use-aria-link changes

* chore(deps): undo use-aria-link changes

* chore(deps): bump `@react-aria/utils` to `3.24.1`

* chore(deps): bump `@react-types/shared`

* feat: add missing router.open parameters due to router change

* chore(changeset): add new line

* chore(deps): bump `@react-types/shared` to `3.23.1`

* fix(avatar): avoid passing `disableAnimation` prop to a DOM element (#3111)

* fix(avatar): avoid passing `disableAnimation` prop to a DOM element

* refactor(avatar): use filterDOMProps approach

* chore(avatar): remove to type import

* chore(avatar): change to shouldFilterDOMProps

* fix(docs): removed unused import & corrected prop for disabled DatePicker (#3136)

Co-authored-by: shrinidhi.upadhyaya <shrinidhi.upadhyaya@stud.uni-bamberg.de>

* ci(changesets): version packages (#3115)

* fix(pagination): missing animation (#3144)

* fix tsup domain (#3158)

* chore(docs): remove destroyInactiveTabPanel from Tab due to merge conflict (#3155)

* fix(autocomplete): maximum update depth exceeded in autocomplete (#3175)

* chore(checkbox): avoid passing non-DOM attributes to svg  (#3199)

* chore(docs): avoid passing non-DOM attributes to svg

* chore(utilities): avoid passing non-DOM attributes to svg

* feat(changeset): add changeset

* fix(docs): fix typo in autocomplete documentation page (#3182)

* fix(select): add missing data-invalid in select and add missing data attributes in docs (#3177)

* fix(select): add missing data-invalid attribute

* chore(docs): add missing data attributes for select base

* fix(tabs): destroyInactiveTabPanel unmounts inactive tabs' content (#3164)

* fix(tabs): incorrect content in tab panel

* feat(tabs): revise destroyInactiveTabPanel test cases

* fix(select): unset form value after unselecting an item (#3157)

* fix(select): set empty string instead of undefined for unsetting value

* feat(selet): should unset form value

* fix(tabs): set tab panel id correctly (#3246)

* docs(tooltip): supplement correct style path (#3183)

* docs(tooltip): supplement correct style path

* chore(docs): move the note below import tabs

* fix(use-aria-menu): link logic in useMenuItem (#3229)

* chore(deps): bump @internationalized/date version (#3230)

* fix(input): input display with hidden type (#3174)

* fix(input): input display with hidden type

* chore(input): add isHiddenType to dependency

* refactor(input): move the styles to theme and change hidden to data attr

* feat(theme): add isHiddenType to input

* chore(changeset): include theme package

* chore(input): revise input test

* fix(theme): remove isHiddenType from variants and use data-hidden prop instead

* fix(theme): remove isHiddenType from defaultVariants

* fix(input): remove isHiddenType passing to input

* feat(date-picker): add support for DatePicker to apply styles to DateInput (#3146)

* feat(date-picker): add support for DatePicker to apply styles to DateInput

* chore: update changeset

* docs(date-picker): add dateInputClassNames props

* refactor(date): updated errorMessage story and modified to import props (#3112)

* refactor(date): updated errorMessage story and modified to import props

* docs(date): add errorMessageFunction examples

* chore: add changeset

* fix: remove unnecessary props

* fix: typo

* Update regex-validation.ts (#3123)

* Update regex-validation.ts

Fix email regex

* Update email regex input.stories.tsx

* fix(autocomplete): controlled state logic (#2969)

* fix(autocomplete): autocomplete controlled state (#2955)

* chore(autocomplete): add changeset

* Update packages/components/autocomplete/__tests__/autocomplete.test.tsx

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix(utilities): resolve assignRef TypeScript ref assignment issue (#3098)

* fix(utilities): resolve assignRef TypeScript ref assignment issue

* chore(changeset): revise changeset message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(table): table-column align prop (#2900)

* fix(navbar): fixed the height of navbar menu (#1805)

* fix(navbar): fixed the height of navbar menu

* fix(navbar): refactored the css of navbar

* fix(navbar): fix redundant expression

* fix(navbar): fixed unnecessary changes

* fix(navbar): adjust viewport

* fix: RA dependencies bump (#3240)

* fix(popover): popover focus issue (#3187)

* fix(popover): move useDialog to popover-content

* fix(popover): move useDialog to free-solo-popover

* refactor(popover): use const instead

* feat(changset): add changeset

* feat(popover): popover focus test

* refactor(popover): getDialogProps

* fix: interactions with popover & focus issues (#3137)

* fix(aria-utils): handle click on listbox

* fix(popover): move useDialog to popover-content

* fix(popover): move useDialog to free-solo-popover

* refactor(popover): use const instead

* feat(changset): add changeset

* feat(popover): popover focus test

* refactor(popover): getDialogProps

* chore(utilities): remove ariaShouldCloseOnInteractOutside

* chore(deps): pnpm-lock.yaml

* fix(popover): remove disableFocusManagement

* fix(modal): remove disableFocusManagement

* fix(autocomplete): remove custom focus logic and remove ariaShouldCloseOnInteractOutside

* fix(popover): rewrite shouldCloseOnInteractOutside logic

* chore(utilities): remove ariaShouldCloseOnInteractOutside

* chore(deps): bump react-aria dependencies

* chore(autocomplete): change back to focus

* feat(changeset): update changeset

* chore(docs): update type in onSelectionChange

* fix(popover): revise popover test case

* chore(deps): add @nextui-org/aria-utils

* fix(autocomplete): add ariaShouldCloseOnInteractOutside

* fix(date-picker): add ariaShouldCloseOnInteractOutside

* fix(select): add ariaShouldCloseOnInteractOutside

* chore(deps): add @nextui-org/aria-utils

* fix(dropdown): add ariaShouldCloseOnInteractOutside

* feat(utilities): rewrite ariaShouldCloseOnInteractOutside

* fix(popover): use ariaShouldCloseOnInteractOutside

* fix(autocomplete): add back shouldFocus

* fix(utilities): include shouldFocus logic

* chore(utilities): remove !

* refactor(aria-utils): add more comments

* chore(changeset): update packages

* refactor(aria-utils): add more comments

* feat(popover): add test

* fix: dropdown onPress issue (#3211)

* fix(popover): move useDialog to popover-content

* fix(popover): move useDialog to free-solo-popover

* refactor(popover): use const instead

* feat(changset): add changeset

* feat(popover): popover focus test

* refactor(popover): getDialogProps

* fix(popover): dropdown onPress blocking issue

* fix(dropdown): incorrect keyCodes

* feat(dropdown): add keyboard onPress test cases

* chore(deps): keep all @react-aria/overlays version consistent

* chore(deps): sync dependencies

* chore(deps): sync dependencies

* refactor(aria-utils): remove shouldFocus logic

* refactor(autocomplete): remove shouldFocus logic and set input focus when open

* chore(deps): bump dependencies

* chore(deps): fix react aria dependencies

* fix(autocomplete): move popover style width inside isOpen true block

* fix(autocomplete): focus back to trigger

* feat(changeset): add changeset

* chore(deps): bump react-aria dependencies

* refactor(autocomplete): revise comment

* refactor(dropdown): revise logSpy and trigger mockRestore

* refactor(popover): remove debug className

* fix(date-input): avoid setting isInvalid in useDateFieldState

* fix(autocomplete): use ComboBoxValidationValue

* feat(use-aria-menu): add deprecate message

* feat(changeset): add missing packages

* refactor(use-aria-menu): remove isLink since it is included in useLinkProps

* Update packages/hooks/use-aria-menu/src/use-menu-item.ts

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* ci(changesets): version packages (#3147)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix(avatar): remove extra `disableAnimation` prop in `getImageProps` (#3260)

* fix(system-rsc): extendVariants with defaultVariants (#3299)

* fix(date-picker): update calendar classNames in useDateRangePicker (#3258)

* fix(date-picker): update calendar classNames in useDateRangePicker

* feat(docs): include custom styles in date-range-picker docs

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(accordion): variants for nested accordions (#3291)

* feat(accordion): add data-variant

* fix(theme): revise accordion styles for variants

* feat(changeset): add changeset

* chore(theme): rollback content padding

* chore(accordion): abandon data-group approach

* refactor(theme): pass variant to accordionItem

* refactor(accordion): pass variant to accordionItem

* fix(accordion): revise accordion variants

* refactor(accordion): refine transitionVariants

* refactor(.github): nextui version description in bug report template (#3281)

* refactor(.github): revise version description & placeholder

* refactor(.github): revise version description & placeholder

* chore: add accessible name to the icon button (#3300)

* fix(radio): ensure radio input correctly references description (#3301)

* fix(radio): ensure radio input correctly references description

* refactor: tweak test

* refactor(.github): github action warnings (#3317)

* chore(.github): bump action versions

* refactor(autocomplete): linting

* chore(.github): without version

* fix(doc): migrated ScriptProvider component from the root level to each decendant folder (#3269)

Co-authored-by: HaRuki Kuriwada <haruki.kuriwada@hennge.com>

* refactor(docs): fix international calendar bug (#3363)

* refactor(docs): fix international calendar bug

* chore: update @react-aria/i18n version and update lock file

* fix(table): custom with class names storybook styles (#3344)

* fix: #3338

* fix(table): custom with class names storybook styles

* chore(deps): pnpm-lock.yaml (#3372)

* fix(accordion): allow cursor navigation within text (#3419)

* fix(accordion): allow cursor navigation within text

* fix: wrong issue number

* fix(date-range-picker): input field clear error (#3409)

Co-authored-by: shrinidhi.upadhyaya <shrinidhi.upadhyaya@stud.uni-bamberg.de>

* fix: remove autoCapitalize to prevent Firefox warning (#3376)

* fix: remove autoCapitalize to prevent firefox warning

* chore: add changeset

* fix(user): avatar icon not shown in User component (#3387)

* chore(deps): pnpm-lock.yaml

* fix(user): avoid passing user name to avatar component

* feat(changeset): add changeset

* feat(user): add avatar icon test cases

* fix(select): close select by pressing selector button (#3374)

* feat(select): add test

* fix(select): use domRef in ariaShouldCloseOnInteractOutside

* feat(changeset): add changeset

* fix(select): rewrite "should unset form value" test

* fix(select): import HiddenSelect and UseSelectProps (#3368)

* fix(select): import HiddenSelect and UseSelectProps

* chore: merge import

* feat: eslint add rule prefer top level type import (#3354)

* fix(calendar): disable button picker in calendar if `isDisabled` is true (#3358)

* fix(calendar): disable button picker in calendar if `isDisabled` is true

* feat(changeset): add changeset

* feat(calendar): add test to cover showMonthAndYearPickers with isDisabled

* fix: incorrect year in showMonthAndYearPickers with locale (#3331)

* fix(date-input): add gregorian year offset to minValue & maxValue

* feat(shared-utils): add getGregorianYearOffset

* fix(calendar): add gregorian year offset to minValue & maxValue

* feat(changeset): add changeset

* fix(system): remove defaultDates.minDate and defaultDates.maxDate

* fix(calendar): add missing import

* feat(date-picker): add test

* feat(calendar): add test

* fix(popover): dialog focus behaviour  (#3311)

* fix(autocomplete): set skipDialogFocus to true

* feat(popover): add skipDialogFocus to free solo popover

* refactor(popover): rename variable and add comment

* refactor(autocomplete): rename variable and add comment

* feat(changeset): add changeset

* refactor(docs): sort component routes alphabetically (#3328)

* docs(pagination): fix typo of missing "`" in doc (#3324)

* fix(image): override default auto height (#3327)

* fix(image): override default auto height

* feat(changeset): add changeset

* feat(image): add test

* refactor(image): add comment

* fix(table): differentiate selected bg color from striped bg color (#3221)

* fix: override bg color when selecting striped row

* chore(style): differentiate selected bg color from striped row

* chore: changeset

* chore(changeset): add issue number

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(date-picker): open and close datepicker after pressing selector button (#3283)

* fix(date-picker): use trigger ref instead

* fix(date-input): add innerWrapperProps

* fix(date-picker): include popoverTriggerRef and add onPress to selector

* feat(date-picker): add test

* feat(changeset): add changeset

* refactor(date-input): merge innerWrapperPropsProp & props and add cn

* fix(popover): close popover on scroll (#3414)

* fix(popover): close popover on scroll

* feat(popover): add "should close popover on scroll" test

* feat(changeset): add changeset

* feat(select): add ScrollableContainerTemplate

* fix(navbar): shouldHideOnScroll fixed (#3315)

* fix(navbar): shouldHideOnScroll fixed

* Update packages/hooks/use-scroll-position/src/index.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update index.ts

* fix(navbar): applying suggested changes

---------

Co-authored-by: Pratyush <conenct2pratyush@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(accordion): pass missing `dividerProps` to Divider (#3392)

* chore(deps): pnpm-lock.yaml

* fix(accordion): pass missing `dividerProps` to Divider

* chore(changeset): add issue number

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(image): optional height (#3420)

* fix(image): optional height

* fix(image): incorrect props

* feat(changeset): add changeset

* fix(input): input with file type (#3268)

* fix(input): remove value & onChange for input[type="file"]

* refactor(theme): remove unnecessary styles

* fix(theme): input file styles

* fix(theme): revise cursor-pointer on file

* feat(input): add file input logic

* feat(changeset): add changeset

* refactor(input): use warn function from shared-utils instead

* feat(input): add file type story

* refactor(input): include in Input Types

* fix(date-picker): resolve width clipping issue on 90/110% zoom (#3416)

* fix(date-picker): resolve width clipping issue on 90/110% zoom

* fix(date-picker): resolve width clipping issue on 90/110% zoom

* Delete .changeset/metal-bats-reflect.md

* Update weak-dingos-chew.md

* chore: add storybook

---------

Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>

* fix: onSelectionChange type incorrect (#3336)

* fix: onSelectionChange type incorrect

* feat: export shardSelection

* fix: typo

* fix: review

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix: tsc errors (#3362)

* fix: tsc error

* docs: changeset

* fix: test

* fix: test

* fix: review problem

* fix: review

* feat: add tw config to get the intelliSense (#3385)

* feat: add tw config to get the intelliSense

* chore(deps): pnpm-lock.yaml

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(datePicker): prevent year, month change in showMonthAndYearPickers mode (#3088)

* fix: prevent year, month change error in showMonthAndYearPickers mode

* docs: add changeset

* docs: edit changeset

* test:  add test code about date clear issue in date picker

* test: update test code

* test: check application aria is same with current date

* chore(changeset): revise package and add issue number

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix: add onClear prop to Ripple component in button custom implementation (#3439)

* fix(input): fixed the background change on autofill in Chrome (#3430)

* fix(input): fixed the background change on autofill in Chrome

* fix(input): fixed the background change on autofill in Chrome

* chore(changeset): add issue number

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(time-input): minValue and maxValue validation (#3426)

* fix(time-input): minValue and maxValue validation (#3424)

* test(time-input): update

* refactor(time-input): simplify `isInvalid` logic

* fix(docs): incorrect image height (#3427)

* docs: removed show more from code example (#3373)

* docs: removed show more from code example

* Update sandpack.css

* docs: remove-show-more

* chore(docs): remove unused code

* chore(deps): pnpm-lock.yaml

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(table): resolve double fetch issue in useInfiniteScroll hook (#3332)

* fix(table): resolve double fetch issue in useInfiniteScroll hook (fix #3251)

* fix(table): remove unnecessary else clause

* fix(table): add a changeset file for use-infinite-scroll

* fix(hooks): add clearTimeout function

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* docs(frameworks): update highlighted line numbers in Frameworks examples (#3412)

* Update highlighted line numbers in Remix examples

* Update highlighted line numbers in Next.js examples

* Update highlighted line numbers in Astro examples

* Update highlighted line numbers in Vite examples

* Adjust highlighted line number

* Adjust highlighted line number

* fix(autocomplete): remove unnecessary state.close (#3464)

* fix(autocomplete): remove unnecessary state.close

* feat(autocomplete): add fully controlled template

* feat(autocomplete): should clear value after clicking clear button (controlled)

* ci(changesets): version packages (#3266)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix(system-rsc): defaultVariants null case in extendVariants (#3503)

* fix(system-rsc): defaultVariants null case in extendVariants

* chore(changeset): add issue number

* fix(date-range-picker): calendar-content width as per visible-months (#3505)

* fix: normalize 'status' field values to lowercase across multiple files (#2947)

* fix(status): normalize 'status' value to lowercase in page.tsx

* fix(status): normalize 'status' value to lowercase in use-case.ts

* fix(status): normalize 'status' value to lowercase in custom-render-value.ts

* fix(status): normalize 'status' value to lowercase in top-content.ts

* fix(status): normalize 'status' value to lowercase in multiple-chips.ts

* fix(status): normalize 'status' value to lowercase in custom-items.ts

* fix(status): normalize 'status' value to lowercase in data.ts

* fix(status): normalize 'status' value to lowercase in custom-styles.ts

* fix(status): normalize 'status' value to lowercase in page.tsx

* fix(status): normalize 'status' value to lowercase in custom-styles.ts

* fix(status): normalize 'status' value to lowercase in custom-items.ts

* fix(status): normalize 'status' value to lowercase in page.tsx

* fix(status): normalize 'status' value to lowercase in custom-styles.ts

* fix(modal): double scrollbar in inside scrollbehaviour (#3495)

* fix(modal): double scrollbar in inside scrollbehaviour

* chore(changeset): update changeset message and add issue number

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(table): sortable header slow color change during theme change (#3491)

* fix(table): sortable header slow color change during theme change

* chore(changeset): add space

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(theme): button scaling when disableAnimation is true (#3499)

* fix(system-rsc): add @react-types/shared to dependencies (#3501)

* fix(system-rsc): add @react-types/shared to dependencies

* fix: change pnpm lock

* fix: change pnpm lock

* fix: change pnpm lock

---------

Co-authored-by: winches <329487092@qq.com>

* build(script): fixing Clean script (#3500)

running clean lock before clean node modules.

* ci(changesets): version packages (#3507)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* ci(changesets): version packages (#3508)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* feat(chanageset): bump versions (#3512)

* ci(changesets): version packages (#3513)

* fix(deps): overrides RA utils pkg (#3537)

* chore(deps): rollback PR3537 (#3541)

* chore(docs): lint sponsors (#3547)

* chore(docs): format ScrumbuissLogo svg

* chore(docs): lint

* chore(deps): upgrade pnpm to v9 (#3589)

* chore(deps): upgrade pnpm to v9

* chore(root): bump node version

* fix(dropdown): respect closeOnSelect prop on DropdownItem (#2598)

* fix(dropdown): fix dropdown menu unexpected close when closeOnSelect is false (#2290)

* feat(changeset): Updated DropdownMenu to respect closeOnSelect prop on DropdownItem

* fix(dropdown): add Template

* fix(dropdown): add tests

* fix(dropdown): fixing logic gaps

* fix(changeset): incorrect package name

---------

Co-authored-by: աɨռɢӄաօռɢ <wingkwong.code@gmail.com>

* fix: typo in home page (#3615)

* docs: fix typo in override styles doc (#3611)

* docs(storybook): remove overriding and unused code (#3566)

* fix(navbar): fixed the height when style h-full

* fix(navbar): fixed the height when style h-full

* docs(storybook): removed unnecessary code lines

* Delete .changeset/brown-days-applaud.md

* fix(input): sync ref value to internal value (#3533)

* fix: sync ref value to internal value #3024 #3436

* feat: changeset - added changeset

* chore: remove comment

* chore(changeset): add issue numbers

* refactor(input): revise typing

---------

Co-authored-by: Anthony Ortiz <anthonypaulo@hotmail.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(system-rsc): missing StringToBoolean<keyof V[K]>[] (#3559)

* fix(navbar): fixed the height when style h-full

* fix(navbar): fixed the height when style h-full

* fix(core): string[] accepted by compoundVariants.variant

* Delete .changeset/brown-days-applaud.md

* chore(changeset): revise changeset message

* fix(system-rsc): incorrect VariantValue typing and typo in Options

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* doc(sandpack): improved logic for react import (#3582)

* fix(navbar): fixed the height when style h-full

* fix(navbar): fixed the height when style h-full

* docs(sandpack): improved logic for react imoprt

* Delete .changeset/brown-days-applaud.md

* Update use-sandpack.ts

* refactor(docs): skip adding import react if not required

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(docs): typo in snippet page (#3555)

* docs(card, badge): slots section addition (#3580)

* fix(navbar): fixed the height when style h-full

* fix(navbar): fixed the height when style h-full

* docs(card,badge): added slots section

* Delete .changeset/brown-days-applaud.md

* fix(theme): double click issue on checkbox, toggle and radio (#3552)

* fix(theme): double click issue on checkbox, toggle and radio

* fix(theme): skeleton overflow issue (#3217)

* fix(link): deprecated onClick warning on using onPress (#3569)

* fix(navbar): fixed the height when style h-full

* fix(navbar): fixed the height when style h-full

* fix(link): deprecated onClick warning on using onPress

* refactor(link): add comment

* chore(changeset): revise changeset message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(navbar): allow height prop to accept number type and fix broken menu (#3601)

* fix(navbar): allow height prop to accept number type and fix broken menu

* fix(navbar): menu breaking when a numerical height value is provided. changeset

* feat(docs): added tanstack router to the routing section in the documentation (#3271)

* feat(docs): added tanstack router to the routing section in the documentation

* fix: updated the TanStack Router example by following RA example

* fix: updated the documentation wordings

* chore(docs): update highlighted row numbers

---------

Co-authored-by: HaRuki Kuriwada <haruki.kuriwada@hennge.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(calendar): arrows changing order when html has dir="rtl" (#3656)

* fix(calendar): #3641,#3642 add order and row-reverse to arrows for rtl layout support

* chore(changeset): patch @nextui-org/calendar

* chore(changeset): add missing package and revise changeset message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* chore(theme): export default-layout (#2946)

* Support default configuration export

Conveniently available for developers to modify from the default configuration

* chore(changeset): add changeset

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(modal): modal position when keyboard appears (#3691)

* feat(theme): add h-[--visual-viewport-height] to modal wrapper

* fix(modal): apply --visual-viewport-height

* chore(changeset): add changeset

* fix(utilities): gregorian year offset for persian (#3603)

* fix(utilities): gregorian year offset for persian

* feat(changeset): add changeset

* fix(input): prevent clearable when input is readonly (#3643)

* fix(input): prevent clearable when input is readonly

* test(input): add tests for isReadOnly and isClearable interaction

* chore(changeset): add changeset for fixing clear button visibility with isReadOnly

* fix(input): disable clear button from input is readonly

* test(input): disable clear button when input is readonly

* chore(changeset): update changeset

* chore(changeset): revise message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(docs): changed breakpoint to md (#2630)

Co-authored-by: shrinidhi.upadhyaya <shrinidhi.upadhyaya@stud.uni-bamberg.de>

* fix(docs): added ts example for infinite pagination (#2718)

* fix(docs): added ts example for infinite pagination

* fix(docs): changed the condition of showOpenInCodeSandbox in CodeDemo

* chore(docs): add bun command

* chore(docs): add bun command

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(hooks): ensure exposed functions wrap by `useCallback` (#3607)

* fix(hooks): ensure exposed functions wrap by `useCallback`

* fix(hooks/use-real-shape): remove unnecessary dependency from `useCallback`

* fix(select): prevent select from closing instantly when clicking on label of select (#3568)

* fix(select): prevent select from closing instantly when clicking on label

* fix(select): flickering on label click

* fix(select): flickering while click on label

* fix(select): add changeset on fixing the flickering model issue

* chore(changeset): revise changeset message and add issue number

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* refactor(popover): use `usePreventScroll` instead of `react-remove-scroll` (#3307)

* refactor(popover): use `usePreventScroll` instead of `react-remove-scroll`

* chore: lint

* refactor(popover): use `usePreventScroll` instead of `react-remove-scroll`

* chore: lint

* fix(tooltip): `shouldBlockScroll` prop

* chore(storybook): revert

* chore(changeset): update changeset

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(autocomplete): ignore pointer events when the clear button is hidden (#3000)

* fix(autocomplete): hide clear button with `visibility: hidden`

* fix(autocomplete): clear button pointer-events

* refactor(autocomplete): improve keyboard reopen issue on mobile

* chore: add changeset

* refactor(autocomplete): apply chain and add type to e

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* refactor(overlays): improve stability, and complexity (#3467)

* feat(hooks): new `use-aria-overlay` package

* refactor(overlays): use custom `useAriaOverlay`

* chore(modal): remove unnecessary `onClose: state.close`

* chore(popover): remove duplicate `ariaHideOutside`

* test(modal): only hide the top-most modal

* chore: add changeset

* refactor(hooks): useAriaOverlay tweaks

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* chore(input): rollback PR3533 (#3720)

* chore(autocomplete): should blur after clicking outside autocomplete (#3721)

* fix(theme): color discrepancy in select (#3663)

* fix(select): resolving color descrepancy in select

* fix(select): making the changes accroding to the asked design

* chore(changeset): revise message

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(listbox): card shadow clipping when inside listbox item (#3486)

* fix(listbox): card shadow clipping when inside listbox item

* fix(listbox): card shadow clipping when inside listbox item

* Update five-teachers-refuse.md

* Delete .changeset/bright-avocados-yell.md

* fix(listbox): card shadow clipping when inside listbox item

* fix(input): added hover and focus to input when label placement is outside-left #2328 (#2958)

* fix(range-calendar): hide only dates outside the month #2890

* fix(range-calendar): corrected spelling mistake in changeset description

* fix(range-calendar): corrected capitalization in changeset description

* fix(input): added hover and focus to input when label placement is outside-left #2328

* fix(input): label props mergeProps precedence change

---------

Co-authored-by: shrinidhi.upadhyaya <shrinidhi.upadhyaya@stud.uni-bamberg.de>

* fix(autocomplete): highlight item in `AutocompleteSection` during keyboard navigation (#3726)

* chore: run tests and storybook in StrictMode (#3352)

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(root): .nvmrc version (#2795)

* fix(config): Cannot use .nvmrc #2794

* fix(root): correct nvmrc version

---------

Co-authored-by: AtharvaUpadhye <70993547+AtharvaUpadhye@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* chore(docs): add global css import to root layout (#2688)

* Adds global css import to root layout

* refactor(docs): include globals css info in other examples

---------

Co-authored-by: Eli <52673344+EliBP@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* chore(ci): update github action versions (#2439)

* chore(ci): update github action versions

* chore(ci): update pnpm, gh-action and node versions

* fix(ci): specify exact version in gh-action

* chore(changeset): remove changeset

* chore(root): update pnpm version

* chore(root): update node version

---------

Co-authored-by: աӄա <wingkwong.code@gmail.com>

* fix(components): improve RTL support for input component (#2038)

* fix(components): improve RTL support for select component

* fix(theme): revise RTL styles

* chore(changeset): remove input package from changeset

---------

Co-authored-by: amirhhashemi <87268103+amirhhashemi@users.noreply.github>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(components): improve RTL support for select component (#2041)

* fix(components): improve RTL support for select component

* fix(theme): rtl styles for select

* chore(changeset): remove unchanged package

* chore(theme): remove ps-2

---------

Co-authored-by: amirhhashemi <87268103+amirhhashemi@users.noreply.github>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(components): improve RTL support for pagination component (#2044)

* fix(components): improve RTL support for pagination component

* chore(changeset): remove unchanged package

* chore(pagination): undo change

* chore(pagination): no chevronPrev slot

* fix(theme): avoid rotate chevron in rtl

---------

Co-authored-by: amirhhashemi <87268103+amirhhashemi@users.noreply.github>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(docs): remove unwanted generic from PaginationItemRenderProps(#3729)

In the documentation on the custom item the type PaginationItemRenderProps is represented with a generic but in the implementation it doesn't receive a generic type.

* fix(table): improve RTL support for table component (#2097)

Co-authored-by: amirhhashemi <87268103+amirhhashemi@users.noreply.github>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(theme): use data-hover instead of hover (#2110)

* chore(docs): update component link (#3737)

* fix(system): missing useHref logic (#2943)

* chore(deps): update pnpm-lock.yaml

* fix(system): missing useHref logic

* chore(docs): restructure heading

* feat(docs): add useHref content to routing page

* fix(hooks): revise useAriaLink onClick logic

* chore(deps): bump @react-types/shared

* chore(deps): bump @react-types/shared

* fix(hooks): add missing parameters

* fix(pagination): add missing parameters

* feat(changeset): add missing router.open parameters due to rounter change

* fix(docs): onSelectionChange type

* refactor(changeset): revise changeset message

* chore(deps): lock deps

* chore(hooks): bump @react-types/shared to 3.23.0

* chore(changeset): remove this changeset since it is already in canary

* refactor(docs): add package manager options (#3731)

Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>

* refactor(deps): remove react copy from react-rsc-utils bundle (#3597)

* refactor(deps): remove react copy from react-rsc-utils bundle

* chore(changeset): add changeset

* fix(select): missing onChange when there are more than 300 items (#3598)

* fix(select): missing onChange when there are more than 300 items

* feat(select): add tests for onChange

* chore(changeset): add changeset

* fix(theme): update flat variant text colors to be accessible (#3738)

* fix: use accessible text colors for flat variant

* fix: use accessible text colors for flat variant

* chore(changeset): update changeset

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(theme): set the min-height of base height to 100dvh where size equals "full" (#2684)

* fix(modal): set the min-height of base height to 100dvh where size equals "full"

* chore(changeset): add changeset

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(hook): re-attached scroll event behavior in `useScrollPosition` (#3247)

* fix: initialize throttleTimeout in cleanup function

* chore(changeset): add changeset

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(theme): applied tw nested group  (#3658)

* fix(theme): apply nested group for checkbox

* fix(theme): apply nested group for autocomplete

* fix(theme): apply nested group for select

* fix(theme): apply nested group for toggle

* fix(theme): apply nested group for radio

* fix(theme): apply nested group for input

* fix(theme): apply nested group for datepicker

* fix(theme): apply nested group for dateinput

* chore(changeset): add changeset

* chore(changeset): add issue number

* chore(theme): format code

* feat(table): add TableWithSwitch

* fix(docs): Floating components clipping in hero section (#3432)

* fix(docs): incorrect image height

* fix(docs): clipping of Floating components in Hero section

* chore(docs): remove unnecessary space

---------

Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* ci(changesets): version packages (#3662)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix(docs): missing tw nested groups in docs (#3751)

* fix(docs): set shouldBlockScroll to false (#3752)

* chore: undo pr3658 & pr3751 (#3754)

* chore: undo pr3307 (#3756)

* chore: rollback pr3307

* chore(changeset): fix typo

* chore: rollback pr3467 (#3759)

* chore: rollback pr3467

* fix(dropdown): _a2.find is not a function (#3762)

* feat(dropdown): add "should respect closeOnSelect setting of DropdownItem (dynamic)"

* chore(changeset): add changeset

* fix(dropdown): find is not function error when click dropdown item (#3763)

* fix: find is not function error when click dropdown item

* fix: find is not function error when click dropdown item

* fix: type error

* fix: optimization

* refactor(dropdown): must have return value

* chore(changeset): revise changeset

---------

Co-authored-by: winches <329487092@qq.com>

* ci(changesets): version packages (#3755)

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>

* fix(theme): ghost danger button style (#3764)

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: Shrinidhi Upadhyaya <shrinidhiupadhyaya1195@gmail.com>
Co-authored-by: shrinidhi.upadhyaya <shrinidhi.upadhyaya@stud.uni-bamberg.de>
Co-authored-by: Paul Tiedtke <PaulTiedtke@web.de>
Co-authored-by: Mohammad Reza Badri <85818966+mrbadri@users.noreply.github.com>
Co-authored-by: Nozomi-Hijikata <116155762+Nozomi-Hijikata@users.noreply.github.com>
Co-authored-by: HaRuki <soccer_haruki15@me.com>
Co-authored-by: Kaben <carnoxen@gmail.com>
Co-authored-by: Shawn Dong <dsknight@live.com.au>
Co-authored-by: Shawn Dong <shawn.dong@flybuys.com.au>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com>
Co-authored-by: Poli Sour <57824881+novsource@users.noreply.github.com>
Co-authored-by: Poli Sour <polisour.work@gmail.com>
Co-authored-by: Artem Pitikin <git@kosmotema.dev>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Eric Abreu <ericfabreu@gmail.com>
Co-authored-by: Minsu <52266597+Gaic4o@users.noreply.github.com>
Co-authored-by: Jesus Perdomo Lampignano <38929969+jesuzon@users.noreply.github.com>
Co-authored-by: chirokas <157580465+chirokas@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: EGOIST <0x142857@gmail.com>
Co-authored-by: Damien Leroy <10438692+ShiiFu@users.noreply.github.com>
Co-authored-by: Christian Abele <manufaktur@christian-abele.de>
Co-authored-by: Nozomi Hijikata <121233810+nozomemein@users.noreply.github.com>
Co-authored-by: HaRuki Kuriwada <haruki.kuriwada@hennge.com>
Co-authored-by: Deval Minocha <deval.minocha24@gmail.com>
Co-authored-by: Ankit <82326089+ankitts@users.noreply.github.com>
Co-authored-by: wiyco <lumiwslab@gmail.com>
Co-authored-by: Sjoerd van Bommel <sjoerd.van.bommel@Hotmail.com>
Co-authored-by: Pratyush Kongalla <44525862+pratyush3124@users.noreply.github.com>
Co-authored-by: Pratyush <conenct2pratyush@gmail.com>
Co-authored-by: Abhinandan <abhinandanverma551@gmail.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: dochi <ryoon50@gmail.com>
Co-authored-by: Abhishek Tomar <104965815+abhisektomar1@users.noreply.github.com>
Co-authored-by: RockerFlower <kira@glorylab.xyz>
Co-authored-by: codeesura <120671243+codeesura@users.noreply.github.com>
Co-authored-by: Simon Podlipsky <simon@podlipsky.net>
Co-authored-by: sandeep Butte <sandeep36butte@gmail.com>
Co-authored-by: Gtio <664037691@qq.com>
Co-authored-by: Jay <jay.sanjay.karia@gmail.com>
Co-authored-by: Sa'ad <62077144+BlueZ-95@users.noreply.github.com>
Co-authored-by: AnthonyPaulO <AnthonyPaulO@gmail.com>
Co-authored-by: Anthony Ortiz <anthonypaulo@hotmail.com>
Co-authored-by: Xiao Han <hanxiao790@gmail.com>
Co-authored-by: Facundo Tenuta <facuargush@gmail.com>
Co-authored-by: Amey Bhavsar <iamamey24@gmail.com>
Co-authored-by: rockey2020 <64777114+rockey2020@users.noreply.github.com>
Co-authored-by: 安忆 <i@anyi.in>
Co-authored-by: sohan01fw <121301775+sohan01fw@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Atharva Upadhye <70993547+atharva-upadhye@users.noreply.github.com>
Co-authored-by: AtharvaUpadhye <70993547+AtharvaUpadhye@users.noreply.github.com>
Co-authored-by: Eli <52673344+elibullockpapa@users.noreply.github.com>
Co-authored-by: Eli <52673344+EliBP@users.noreply.github.com>
Co-authored-by: Robin <99033508+robinsmith-source@users.noreply.github.com>
Co-authored-by: Amir Hossein Hashemi <87268103+amirhhashemi@users.noreply.github.com>
Co-authored-by: amirhhashemi <87268103+amirhhashemi@users.noreply.github>
Co-authored-by: Matheus Cruz Rocha <matheus.rocha89@gmail.com>
Co-authored-by: black197 <dyeh68306@163.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@Maharshi-Book.local>
Co-authored-by: Riley Butterfield <41082883+rileybutterfield@users.noreply.github.com>
Co-authored-by: Hyden Liu <sunupdong@gmail.com>
Co-authored-by: vetan2 <vetan2@naver.com>
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.

Dropdown Unexpectedly Closes on Item Selection Despite closeOnSelect Being Set to False
4 participants