-
-
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: add commands to run tests and storybook in StrictMode #3352
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
@chirokas is attempting to deploy a commit to the NextUI Inc Team on Vercel. A member of the Team first needs to authorize it. |
Important Review skippedReview was skipped due to path filters Files ignored due to path filters (1)
You can disable this status message by setting the WalkthroughThe updates introduce stricter mode options for both development and testing environments through new scripts in Changes
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: 0
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 (3)
- package.json (7 hunks)
- packages/storybook/.storybook/main.js (1 hunks)
- scripts/setup-test.ts (2 hunks)
Additional comments not posted (6)
packages/storybook/.storybook/main.js (2)
23-23
: Stylistic Improvement: Trailing Comma AddedAdding a trailing comma after
disableTelemetry
is a good practice for cleaner diffs in version control systems.
18-20
: Implementation of Strict Mode in Storybook looks correct.The use of
process.env.STRICT_MODE === "true"
ensures that strict mode is only enabled when explicitly specified. This is a good practice to avoid unintentional activation.Verification successful
Implementation of Strict Mode in Storybook looks correct.
The use of
process.env.STRICT_MODE === "true"
ensures that strict mode is only enabled when explicitly specified. This is a good practice to avoid unintentional activation. The environment variableSTRICT_MODE
was correctly set to 'true' during the simulated run.
- The environment variable
STRICT_MODE
is properly set and utilized.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that STRICT_MODE environment variable is properly set when running Storybook. # Test: Check the environment variable during Storybook run. echo "Ensure that the STRICT_MODE environment variable is set to 'true' or 'false' as expected when running Storybook."Length of output: 246
Script:
#!/bin/bash # Description: Verify that STRICT_MODE environment variable is properly set and utilized during Storybook run. # Test: Check the environment variable during Storybook run. # We will simulate running Storybook and print the value of STRICT_MODE. # Note: This is a simulation and not the actual run of Storybook. # Set the environment variable for testing export STRICT_MODE="true" # Simulate running Storybook and check the environment variable node -e 'console.log("STRICT_MODE:", process.env.STRICT_MODE);'Length of output: 183
Script:
#!/bin/bash # Description: Verify that STRICT_MODE environment variable is properly set and utilized during Storybook run. # Test: Check the environment variable during Storybook run. # We will simulate running Storybook and print the value of STRICT_MODE. # Note: This is a simulation and not the actual run of Storybook. # Set the environment variable for testing export STRICT_MODE="true" # Simulate running Storybook and check the environment variable echo "STRICT_MODE: $STRICT_MODE"Length of output: 89
scripts/setup-test.ts (2)
2-2
: Correct Import for Test ConfigurationThe import of
configure
from@testing-library/react
is necessary for setting up the test environment. Ensure that it is used effectively in the rest of the file.Verification successful
Correct Import and Usage of
configure
The import of
configure
from@testing-library/react
is correctly implemented and used inscripts/setup-test.ts
.
- Line 2:
import { configure } from "@testing-library/react";
- Usage:
configure({ ... });
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the usage of `configure` in test setups. # Test: Search for `configure` usage in the file. rg --type ts "configure" ./scripts/setup-test.tsLength of output: 112
34-36
: Proper Configuration of Strict Mode in TestsSetting
reactStrictMode
based on theSTRICT_MODE
environment variable is a robust way to conditionally enable strict mode for tests.Verification successful
Proper Configuration of Strict Mode in Tests
Setting
reactStrictMode
based on theSTRICT_MODE
environment variable is a robust way to conditionally enable strict mode for tests. TheSTRICT_MODE
environment variable is properly set in thepackage.json
file for the relevant scripts.
package.json
:
"dev:strict": "cross-env STRICT_MODE=true pnpm dev"
"test:strict": "cross-env STRICT_MODE=true pnpm test"
scripts/setup-test.ts
:
reactStrictMode: process.env.STRICT_MODE === "true"
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that STRICT_MODE environment variable is properly set when running tests. # Test: Check the environment variable during test runs. echo "Ensure that the STRICT_MODE environment variable is set to 'true' or 'false' as expected when running tests."Length of output: 238
Script:
#!/bin/bash # Description: Verify that the STRICT_MODE environment variable is properly set when running tests. # Test: Check the value of the STRICT_MODE environment variable. # We will print the value of STRICT_MODE to ensure it is being set correctly. echo "STRICT_MODE is set to: $STRICT_MODE" # Additionally, we can list all environment variables to see if STRICT_MODE is present printenv | grep STRICT_MODELength of output: 163
Script:
#!/bin/bash # Description: Search for any occurrences of the STRICT_MODE environment variable in the codebase. # Search for STRICT_MODE in the codebase to verify its usage and setting. rg --fixed-strings "STRICT_MODE"Length of output: 251
package.json (2)
16-16
: New Scripts for Strict Mode ExecutionThe addition of
dev:strict
andtest:strict
scripts usingcross-env
to set theSTRICT_MODE
environment variable is a practical approach to enable strict mode. Ensure to test these scripts to verify they function as intended.Also applies to: 29-29
Line range hint
73-93
: Dependency Updates ReviewedUpdates to dependencies like
@storybook/react
,concurrently
, andcross-env
are important for maintaining project health. Verify that these updates do not introduce compatibility issues with existing code.Also applies to: 118-118, 123-136
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: 0
Outside diff range, codebase verification and nitpick comments (1)
packages/storybook/.storybook/addons/react-strict-mode/register.tsx (1)
8-21
: Consider adding error handling for API interactions.While the current implementation is straightforward, consider adding error handling for interactions with the Storybook API, such as when emitting events or setting query parameters, to ensure robustness.
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 (7)
- package.json (6 hunks)
- packages/storybook/.storybook/addons/react-strict-mode/index.tsx (1 hunks)
- packages/storybook/.storybook/addons/react-strict-mode/register.tsx (1 hunks)
- packages/storybook/.storybook/main.js (1 hunks)
- packages/storybook/.storybook/preview.tsx (2 hunks)
- packages/storybook/package.json (1 hunks)
- scripts/setup-test.ts (2 hunks)
Additional comments not posted (11)
packages/storybook/.storybook/main.js (2)
14-15
: Add React Strict Mode addon.The addition of the React Strict Mode addon is a good practice to catch potential issues early in development.
21-21
: Consistent formatting with trailing commas.The addition of trailing commas in objects is a good practice for cleaner diffs in version control.
packages/storybook/.storybook/addons/react-strict-mode/index.tsx (2)
7-21
: Implement StrictModeDecorator for Storybook.The
StrictModeDecorator
effectively toggles React Strict Mode based on query parameters, enhancing flexibility in testing.
23-29
: Use of makeDecorator for Strict Mode.The use of
makeDecorator
to integrate the strict mode switcher is a clean and modular approach.scripts/setup-test.ts (1)
34-36
: Configure React Strict Mode for testing.The configuration for React Strict Mode based on the
STRICT_MODE
environment variable enhances test robustness and flexibility.packages/storybook/.storybook/addons/react-strict-mode/register.tsx (2)
23-43
: Enhance accessibility by associating the label with the input.The label is correctly associated with the checkbox input via
htmlFor
andid
. Ensure that this pattern is maintained throughout the codebase for accessibility compliance.
46-55
: Ensure conditional registration is appropriate.The addon is registered only in non-production environments. Verify that this aligns with your deployment strategy and that strict mode is not needed in production.
Verification successful
Conditional Registration is Appropriate
The addon registration is conditioned for non-production environments, which aligns with the overall codebase strategy of differentiating behavior based on the environment. The use of
__PROD__
throughout the codebase supports this approach, ensuring that certain features are only active during development. This is consistent with best practices for managing environment-specific features.
- The addon is correctly registered only in non-production environments, which is suitable if it is used for development purposes.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that the addon registration is correctly conditioned for non-production environments. # Test: Check for any production environment conditional logic in the codebase. rg --type tsx --type ts --type js --type jsx 'process.env.NODE_ENV === "production"'Length of output: 114
Script:
#!/bin/bash # Description: Verify that the addon registration is correctly conditioned for non-production environments. # Test: Check for any production environment conditional logic in the codebase. rg --type js --type jsx --type ts --type tsx 'process.env.NODE_ENV === "production"'Length of output: 114
Script:
#!/bin/bash # Description: Verify that the addon registration is correctly conditioned for non-production environments. # Test: Check for any production environment conditional logic in the codebase. rg --type js --type ts 'process.env.NODE_ENV === "production"'Length of output: 150
Script:
#!/bin/bash # Description: Find where the __PROD__ constant is used in the codebase. # Test: Search for occurrences of __PROD__ to understand its usage. rg '__PROD__'Length of output: 789
packages/storybook/package.json (1)
47-48
: Verify compatibility of new dependencies.The new dependencies
@storybook/manager-api
and@storybook/preview-api
have been added. Ensure they are compatible with the existing Storybook setup and other dependencies.packages/storybook/.storybook/preview.tsx (1)
Line range hint
7-23
:
EnsurewithStrictModeSwitcher
is correctly implemented.The
withStrictModeSwitcher
is conditionally added to the decorators. Verify that its implementation aligns with the intended functionality and does not introduce side effects.package.json (2)
28-28
: Addtest:strict
script for stricter testing.The addition of the
"test:strict"
script is a good practice for enforcing strict mode during testing, which helps catch potential issues early.
Line range hint
72-135
:
Reorganize dependencies for clarity.The reorganization of
@storybook/react
,tsx
,intl-messageformat
, andnpm-check-updates
withindevDependencies
can help clarify their usage. Ensure that these changes align with the project's needs and verify their impact on the build and runtime environments.
* 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
Developing in strict mode is the best practice for React because it helps teams catch bugs earlier.
⛳️ Current behavior (updates)
🚀 New behavior
💣 Is this a breaking change (Yes/No):
📝 Additional Information
Summary by CodeRabbit