-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
chore: rollback pr3467 #3759
chore: rollback pr3467 #3759
Conversation
🦋 Changeset detectedLatest commit: 32dd4f5 The changes in this PR will be included in the next version bump. This PR includes changesets to release 17 packages
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 |
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
WalkthroughThis change introduces a patch update for various components in the Changes
Possibly related PRs
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? TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this 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
Files ignored due to path filters (1)
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
Files selected for processing (26)
- .changeset/silly-rockets-fly.md (1 hunks)
- packages/components/autocomplete/package.json (1 hunks)
- packages/components/autocomplete/src/use-autocomplete.ts (2 hunks)
- packages/components/date-picker/package.json (1 hunks)
- packages/components/date-picker/src/use-date-picker.ts (2 hunks)
- packages/components/date-picker/src/use-date-range-picker.ts (2 hunks)
- packages/components/dropdown/package.json (1 hunks)
- packages/components/dropdown/src/use-dropdown.ts (2 hunks)
- packages/components/modal/tests/modal.test.tsx (0 hunks)
- packages/components/modal/src/use-modal.ts (1 hunks)
- packages/components/popover/package.json (0 hunks)
- packages/components/popover/src/use-aria-popover.ts (2 hunks)
- packages/components/popover/src/use-popover.ts (2 hunks)
- packages/components/select/package.json (1 hunks)
- packages/components/select/src/use-select.ts (2 hunks)
- packages/hooks/use-aria-modal-overlay/package.json (0 hunks)
- packages/hooks/use-aria-modal-overlay/src/index.ts (2 hunks)
- packages/hooks/use-aria-multiselect/src/use-multiselect.ts (0 hunks)
- packages/hooks/use-aria-overlay/CHANGELOG.md (0 hunks)
- packages/hooks/use-aria-overlay/README.md (0 hunks)
- packages/hooks/use-aria-overlay/package.json (0 hunks)
- packages/hooks/use-aria-overlay/src/index.ts (0 hunks)
- packages/hooks/use-aria-overlay/tsconfig.json (0 hunks)
- packages/utilities/aria-utils/src/index.ts (1 hunks)
- packages/utilities/aria-utils/src/overlays/ariaShouldCloseOnInteractOutside.ts (1 hunks)
- packages/utilities/aria-utils/src/overlays/index.ts (1 hunks)
Files not reviewed due to no reviewable changes (9)
- packages/components/modal/tests/modal.test.tsx
- packages/components/popover/package.json
- packages/hooks/use-aria-modal-overlay/package.json
- packages/hooks/use-aria-multiselect/src/use-multiselect.ts
- packages/hooks/use-aria-overlay/CHANGELOG.md
- packages/hooks/use-aria-overlay/README.md
- packages/hooks/use-aria-overlay/package.json
- packages/hooks/use-aria-overlay/src/index.ts
- packages/hooks/use-aria-overlay/tsconfig.json
Files skipped from review due to trivial changes (1)
- .changeset/silly-rockets-fly.md
Additional comments not posted (24)
packages/utilities/aria-utils/src/overlays/index.ts (1)
12-12
: Approve the export ofariaShouldCloseOnInteractOutside
function.The export statement is syntactically correct and the function being exported seems to be a useful utility for handling ARIA-compliant behavior for overlays.
To ensure the correctness and proper usage of this function, please verify the following:
- The implementation of
ariaShouldCloseOnInteractOutside
in the./ariaShouldCloseOnInteractOutside
file follows ARIA guidelines and handles all relevant scenarios.- The function is being used correctly in all the places where it's imported, with the right arguments and in the appropriate context.
You can use the following script to search for the function's usage across the codebase:
Verification successful
Verification successful:
ariaShouldCloseOnInteractOutside
function is correctly exported and used.The
ariaShouldCloseOnInteractOutside
function is properly exported from thearia-utils
package and is consistently used across multiple components in the codebase. Its usage aligns with the intended purpose of enhancing accessibility for overlay components. The function is imported and applied correctly in the following components:
- Autocomplete
- DatePicker
- DateRangePicker
- Dropdown
- Popover
- Select
In all cases, it's used to determine whether an overlay should close when interacting outside of it, which is consistent with its name and expected functionality. The function is called with the appropriate arguments (element, ref, and state) in each implementation.
Based on this analysis, the export and usage of the
ariaShouldCloseOnInteractOutside
function are verified to be correct and beneficial to the codebase's accessibility features.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for the usage of `ariaShouldCloseOnInteractOutside` function rg --type typescript -A 5 $'ariaShouldCloseOnInteractOutside'Length of output: 95
Script:
#!/bin/bash # Search for the usage of `ariaShouldCloseOnInteractOutside` function using grep echo "Searching with grep:" grep -r "ariaShouldCloseOnInteractOutside" . # Search for TypeScript files and then grep for the function echo "Searching TypeScript files with fd and grep:" fd -e ts -e tsx | xargs grep "ariaShouldCloseOnInteractOutside" # Search using ast-grep for more precise results echo "Searching with ast-grep:" ast-grep --lang typescript --pattern 'ariaShouldCloseOnInteractOutside($_)'Length of output: 4681
packages/utilities/aria-utils/src/index.ts (1)
10-10
: LGTM!The new export
ariaShouldCloseOnInteractOutside
is a useful addition to the module. It enhances the functionality by providing a utility for handling ARIA attributes related to interaction outside of certain components, potentially improving accessibility and behavior.The export is added alongside existing exports without modifying any existing functionality, making it a non-breaking change.
packages/hooks/use-aria-modal-overlay/src/index.ts (1)
5-5
: Verify the impact of usinguseOverlay
from@react-aria/overlays
.The change from using
useAriaOverlay
from@nextui-org/use-aria-overlay
touseOverlay
from@react-aria/overlays
seems to be a deliberate shift towards leveraging the React Aria library's overlay management. This change may enhance compatibility and provide more robust overlay functionality.However, it's crucial to verify that this change does not introduce any breaking changes or unexpected behavior for existing users of the
useAriaModalOverlay
function. Please ensure that the modal overlay functionality remains backward compatible and thoroughly test the impact of this change.To verify the impact of this change, consider the following:
Review the documentation and changelog of the
@react-aria/overlays
package to understand any behavioral differences betweenuseOverlay
anduseAriaOverlay
.Run the existing test suite to ensure that all tests related to the modal overlay functionality pass without any failures or warnings.
If possible, create additional test cases to cover specific scenarios where the modal overlay is used, ensuring that the behavior remains consistent with the previous implementation.
Verify that the TypeScript types and interfaces related to the modal overlay props and return values are still compatible and do not introduce any type errors.
If feasible, consider testing this change in a sample application or a separate branch to assess the impact on the user experience and identify any potential issues.
By thoroughly verifying the impact of this change, we can ensure a smooth transition to using the
useOverlay
function from@react-aria/overlays
while maintaining backward compatibility and minimizing the risk of introducing unexpected behavior.Also applies to: 24-24
packages/components/dropdown/package.json (1)
44-44
: Accessibility enhancement with the addition ofaria-utils
dependency.The addition of the
@nextui-org/aria-utils
package as a dependency for the dropdown component is a positive change that aims to improve the component's accessibility. By leveraging the utilities provided by this package, the dropdown component can enhance its compliance with ARIA (Accessible Rich Internet Applications) standards and provide a better user experience for users relying on assistive technologies.This change indicates a commitment to making the dropdown component more inclusive and user-friendly for a wider range of users. It's important to ensure that the dropdown component properly utilizes the
aria-utils
package and follows best practices for accessibility.Great work on prioritizing accessibility improvements!
packages/utilities/aria-utils/src/overlays/ariaShouldCloseOnInteractOutside.ts (3)
1-10
: LGTM!The JSDoc comment provides a clear and concise description of the function's purpose and parameters. The
RefObject
import is necessary for thetriggerRef
parameter.
11-18
: LGTM!The function parameters match the JSDoc description, and the check for the
trigger
element's existence and containment of the interactedelement
is a crucial part of the function's logic.
42-45
: LGTM!The return statement is correct and matches the function's expected behavior.
packages/components/date-picker/package.json (1)
44-44
: Accessibility enhancement by adding the@nextui-org/aria-utils
dependency.The addition of the
@nextui-org/aria-utils
package as a dependency is a positive change that aims to improve the accessibility of thedate-picker
component. This package likely provides utility functions or enhances the component's interaction with ARIA attributes, which are crucial for ensuring compatibility with assistive technologies.By integrating these accessibility tools, the
date-picker
component can offer a more inclusive user experience, especially for users with disabilities who rely on screen readers or other assistive devices.Great work on prioritizing accessibility improvements!
packages/components/select/package.json (2)
44-44
: LGTM!The addition of the
@nextui-org/aria-utils
package as a dependency is a positive change towards improving accessibility. The syntax and structure of thepackage.json
file look good.
44-44
: Verify the correct usage of the@nextui-org/aria-utils
package.While adding the
@nextui-org/aria-utils
package is a step in the right direction, it's crucial to ensure that it's being used correctly throughout the codebase to achieve the intended accessibility improvements. Please verify that the utility functions and features provided by this package are being leveraged appropriately.Run the following script to search for the usage of the
@nextui-org/aria-utils
package:Verification successful
The
@nextui-org/aria-utils
package is being used correctly and extensively throughout the codebase.The package has been successfully integrated into multiple components and utilities within the NextUI library. It's being used for:
- Accessibility enhancements (e.g.,
ariaShouldCloseOnInteractOutside
)- Building accessible UI elements with base components (e.g.,
BaseItem
,BaseSection
)- Overlay and positioning utilities (e.g.,
getTransformOrigins
,getArrowPlacement
)- Type definitions for consistent component props (e.g.,
OverlayOptions
,ItemProps
)The wide adoption across components like Tooltip, Popover, Listbox, Menu, Select, and others demonstrates a commitment to improving accessibility and standardizing utility functions throughout the library.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the usage of the `@nextui-org/aria-utils` package in the codebase. # Test: Search for import statements of the package. # Expect: Occurrences in relevant files where accessibility improvements are needed. rg --type typescript --type javascript $'import .* from \'@nextui-org/aria-utils\''Length of output: 123
Script:
#!/bin/bash # Description: Verify the usage of the `@nextui-org/aria-utils` package in the codebase. # Search for import statements in .js, .jsx, .ts, and .tsx files echo "Searching for import statements:" fd -e js -e jsx -e ts -e tsx -x grep -H 'from.*@nextui-org/aria-utils' # Search for any mentions of the package name in the codebase echo "Searching for package name mentions:" rg "@nextui-org/aria-utils" # Search for .d.ts files that might be using this package echo "Searching in .d.ts files:" fd -e d.ts -x grep -H '@nextui-org/aria-utils' # Look for the package name in configuration files echo "Searching in configuration files:" fd -e json -e js -name '*config*' -x grep -H '@nextui-org/aria-utils'Length of output: 21881
packages/components/autocomplete/package.json (1)
44-44
: LGTM!The addition of the
@nextui-org/aria-utils
package as a dependency is a positive change that aligns with the PR objective of accessibility improvements. It suggests that the autocomplete component will leverage utility functions from this package to enhance its compliance with ARIA standards.packages/components/popover/src/use-aria-popover.ts (2)
3-14
: LGTM!The changes in the import statements seem to be in line with the overall modifications to the
useReactAriaPopover
function.
- The replacement of
useAriaOverlay
withuseOverlay
from@react-aria/overlays
suggests a shift towards a more robust overlay management system provided by the React Aria library.- The newly imported utility functions from
@nextui-org/aria-utils
are likely to be used to enhance the popover's functionality, such as handling overlay placement and interaction behavior.These changes are expected to improve the popover component's integration with the React Aria framework and provide more customization options for the developers using this component.
74-83
: Excellent work on enhancing the popover's interaction behavior!The modifications to the
useOverlay
hook usage and the handling of theshouldCloseOnInteractOutside
property are well-thought-out and provide more flexibility to the developers using this component.
- By replacing
useAriaOverlay
withuseOverlay
, the component is now better aligned with the React Aria library's intended usage patterns for overlay management.- The new approach to handling
shouldCloseOnInteractOutside
is more flexible and intuitive. Developers can now pass a custom function to determine whether the popover should close when interacting outside of it. If not provided, it defaults to theariaShouldCloseOnInteractOutside
utility function, which likely encapsulates the common behavior for most use cases.These changes enhance the popover's interaction logic and provide a more customizable experience for developers, ultimately leading to a better user experience for the end-users interacting with the popover component.
packages/components/dropdown/src/use-dropdown.ts (2)
12-12
: LGTM!The import of the
ariaShouldCloseOnInteractOutside
function from the@nextui-org/aria-utils
package is a good addition. It will likely be used to enhance the dropdown's behavior by providing a more robust mechanism for managing its open/close state based on user interactions outside the dropdown.
126-128
: LGTM!The modification to the logic for handling the
shouldCloseOnInteractOutside
property is a good enhancement. It provides more flexibility by allowing for custom logic through thepopoverProps.shouldCloseOnInteractOutside
property while falling back to a sensible default behavior determined by theariaShouldCloseOnInteractOutside
function.This change enhances the dropdown's behavior by providing a more flexible and potentially more robust mechanism for managing its open/close state based on user interactions outside the dropdown. It is unlikely to introduce any breaking changes for existing users.
packages/components/modal/src/use-modal.ts (1)
172-172
: LGTM!The addition of the
onClick
handler to the backdrop props is a great enhancement to the modal's functionality. It allows users to close the modal by clicking outside the modal content area, which aligns with common user expectations and improves the overall user experience.packages/components/date-picker/src/use-date-picker.ts (2)
18-18
: LGTM!The import statement is syntactically correct and aligns with the AI-generated summary. The imported function is likely used to enhance the behavior of popovers in other parts of the code.
196-198
: LGTM!The change to the
shouldCloseOnInteractOutside
property enhances the control over the popover's behavior in response to external interactions. It allows for customization viapopoverProps
while defaulting to the importedariaShouldCloseOnInteractOutside
function. This change potentially improves user experience by ensuring that the date picker behaves consistently with accessibility standards.packages/components/popover/src/use-popover.ts (2)
5-5
: LGTM!The addition of the
useEffect
import is necessary for performing side effects within theusePopover
hook.
301-305
: Accessibility enhancement: LGTM!The addition of the
useEffect
hook improves the accessibility of the popover component by managing the visibility and focus of elements outside the popover when it is open. This ensures that users relying on assistive technologies can interact with the popover without confusion.The effect is appropriately triggered whenever
state.isOpen
ordomRef
changes, and theariaHideOutside
function is invoked with the correctdomRef.current
argument when the popover is open.The effect cleanup function returned by
ariaHideOutside
will handle any necessary cleanup when the effect re-runs or the component unmounts.packages/components/date-picker/src/use-date-range-picker.ts (2)
24-24
: LGTM!The import statement is syntactically correct and the imported utility function is likely used to enhance the behavior of the date range picker component.
218-221
: Excellent integration of the new utility function!The code segment correctly checks for a custom
shouldCloseOnInteractOutside
property inpopoverProps
before defaulting to the newly importedariaShouldCloseOnInteractOutside
utility function. This enhances the behavior of the date range picker component by determining whether the popover should close when interactions occur outside of it. The utility function is called with appropriate arguments to make the decision.packages/components/autocomplete/src/use-autocomplete.ts (1)
21-21
: LGTM!The changes introduce a new utility function
ariaShouldCloseOnInteractOutside
and add a new propertyshouldCloseOnInteractOutside
to thepopoverProps
object. This enhances the control over the popover's behavior in response to user interactions, allowing for more nuanced handling of focus and interaction states.The logic for determining the value of
shouldCloseOnInteractOutside
is sound:
- If the
popoverProps
object contains ashouldCloseOnInteractOutside
property, its value is used directly.- Otherwise, it defaults to a function that utilizes
ariaShouldCloseOnInteractOutside
, passing in the relevant parameters.Overall, these changes potentially improve the user experience by providing better control over the popover's behavior.
Also applies to: 447-449
packages/components/select/src/use-select.ts (1)
31-31
: Enhance popover close behavior withariaShouldCloseOnInteractOutside
.The integration of the
ariaShouldCloseOnInteractOutside
function from the@nextui-org/aria-utils
package into thepopoverProps
configuration is a positive change. It allows for more flexible control over when the popover should close when interacting outside of it.If a custom
shouldCloseOnInteractOutside
function is provided inpopoverProps
, it will be used directly. Otherwise, the defaultariaShouldCloseOnInteractOutside
function will be invoked with the current element,domRef
, andstate
as arguments to determine the close behavior.This change improves the user experience and accessibility of the select component by providing a sensible default behavior while also allowing the consumer to override it if needed.
Also applies to: 533-535
packages/utilities/aria-utils/src/overlays/ariaShouldCloseOnInteractOutside.ts
Show resolved
Hide resolved
* 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>
Closes #
📝 Description
rollback #3467
⛳️ Current behavior (updates)
🚀 New behavior
💣 Is this a breaking change (Yes/No):
📝 Additional Information
Summary by CodeRabbit
New Features
shouldCloseOnInteractOutside
to improve user interaction handling for popovers and modals.Bug Fixes
Chores
@nextui-org/use-aria-overlay
package.