feat: tailwind variants upgrade#4386
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
🦋 Changeset detectedLatest commit: 5b1c82d The changes in this PR will be included in the next version bump. This PR includes changesets to release 80 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 |
|
Caution Review failedThe pull request is closed. WalkthroughThis pull request introduces a comprehensive update across the NextUI library, focusing on version upgrades and standardization. The primary changes include updating React and React DOM dependencies to version 18.3.0 across multiple packages, adding Changes
Possibly related PRs
Suggested Labels
Suggested Reviewers
📜 Recent review detailsConfiguration used: .coderabbit.yaml ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (60)
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.
Actionable comments posted: 10
🧹 Nitpick comments (19)
packages/core/theme/src/utils/types.ts (1)
4-7: Consider updating documentation for SlotsToClassesThe type change excludes
0nfrom valid class values. Consider updating the documentation comment to explain why0nis excluded and document any migration steps if needed.packages/components/code/__tests__/code.test.tsx (1)
3-3: Consider extracting common test utility functionThe warning handling logic is duplicated across test files. Consider extracting this into a reusable test utility function to improve maintainability.
+ // @nextui-org/test-utils + export const verifyNoWarnings = (spy: jest.SpyInstance) => { + if (shouldIgnoreReactWarning(spy)) { + return; + } + expect(spy).toHaveBeenCalledTimes(0); + }; - // In test files - if (shouldIgnoreReactWarning(spy)) { - return; - } - expect(spy).toHaveBeenCalledTimes(0); + verifyNoWarnings(spy);Also applies to: 12-17
packages/hooks/use-draggable/package.json (1)
41-41: Consider using workspace-level version managementTo maintain consistency across packages and simplify future updates, consider implementing one of these solutions:
- Use workspace-level dependencies in the root package.json
- Implement a version management tool like Lerna or Rush
- Use a custom script to sync versions across packages
This would help prevent version mismatches and reduce maintenance overhead.
Also applies to: 44-44, 41-41
packages/hooks/use-infinite-scroll/package.json (1)
44-44: Consider adding @nextui-org/test-utils as a devDependency.While the React version upgrade looks good, this complex hook might benefit from having the test-utils package as a devDependency, similar to other NextUI packages.
Add the following to devDependencies:
"devDependencies": { + "@nextui-org/test-utils": "workspace:*", "clean-package": "2.2.0", "react": "^18.3.0" },packages/hooks/use-data-scroll-overflow/package.json (1)
44-44: Consider adding @nextui-org/test-utils as a devDependency.While the React version upgrade looks good, this hook might benefit from having the test-utils package as a devDependency for consistent testing practices across NextUI packages.
Add the following to devDependencies:
"devDependencies": { + "@nextui-org/test-utils": "workspace:*", "clean-package": "2.2.0", "react": "^18.3.0" },packages/hooks/use-aria-accordion-item/package.json (1)
44-47: Consider adding a React version management strategyTo maintain consistency across all packages and prevent version conflicts, consider:
- Using a centralized version management tool like
syncpackorversion-sync- Adding a validation step in CI to ensure all packages use consistent React versions
- Documenting the React version compatibility matrix for the project
packages/hooks/use-intersection-observer/package.json (1)
47-47: Consider using exact version for consistencyOther packages in the PR use exact version
18.3.0, but this package uses^18.3.0. Consider using the exact version for consistency across the monorepo.- "react": "^18.3.0" + "react": "18.3.0"packages/hooks/use-aria-accordion/package.json (1)
50-50: Consider using exact version for React dependencyThe PR objective mentions upgrading to React 18.3.0, but this package uses
^18.3.0which allows minor version updates. Consider using exact version18.3.0for consistency with other packages in the monorepo.packages/hooks/use-aria-link/package.json (1)
49-49: Consider using exact version for React dependencyFor consistency with the PR objective and other packages, consider using exact version
18.3.0instead of^18.3.0.packages/components/input-otp/package.json (1)
59-61: Consider consistent version pinning strategyWhile React and React DOM are pinned to exact versions, react-hook-form uses a flexible version (
^7.51.3). Consider adopting a consistent versioning strategy across all dependencies."devDependencies": { "@nextui-org/theme": "workspace:*", "@nextui-org/system": "workspace:*", "@nextui-org/button": "workspace:*", "clean-package": "2.2.0", "react": "18.3.0", "react-dom": "18.3.0", - "react-hook-form": "^7.51.3" + "react-hook-form": "7.51.3" }packages/components/avatar/package.json (1)
56-57: Consider updating peerDependencies rangeThe devDependencies specify React 18.3.0, but peerDependencies allow a broader range (
>=18 || >=19.0.0-rc.0). Consider tightening the peerDependencies range to ensure compatibility with the tested version."peerDependencies": { - "react": ">=18 || >=19.0.0-rc.0", - "react-dom": ">=18 || >=19.0.0-rc.0", + "react": "^18.3.0 || >=19.0.0-rc.0", + "react-dom": "^18.3.0 || >=19.0.0-rc.0", "@nextui-org/theme": ">=2.4.0", "@nextui-org/system": ">=2.4.0" }packages/components/link/package.json (1)
56-57: Consider impact on peer dependenciesWhile the devDependencies are updated to React 18.3.0, the peerDependencies remain flexible (>=18 || >=19.0.0-rc.0). This is good as it maintains compatibility with projects using different React versions.
Consider documenting the minimum tested/supported React version in the component's README to help users make informed decisions about upgrades.
packages/components/card/package.json (1)
61-65: Consider implementing automated dependency version managementTo maintain version consistency across packages, consider implementing tools like Renovate or Dependabot for automated dependency updates. This would help ensure that all packages are updated simultaneously and remain in sync.
packages/components/listbox/package.json (1)
Line range hint
1-1: Consider implementing a centralized version management strategyTo maintain consistency across packages, consider:
- Using a tool like
changesetsfor version management- Centralizing common dependency versions in the workspace root
- Establishing clear guidelines for version ranges in peer vs. dev dependencies
packages/components/tooltip/__tests__/tooltip.test.tsx (1)
4-4: LGTM! Test warning handling improvement.Good addition of the warning check utility. Consider extracting the warning check into a shared test helper for reuse across other component tests.
Consider creating a shared helper:
// test-helpers.ts export const expectNoWarnings = (spy: jest.SpyInstance) => { if (!shouldIgnoreReactWarning(spy)) { expect(spy).toHaveBeenCalledTimes(0); } };Also applies to: 30-32
packages/components/table/package.json (1)
70-71: Consider adding test utilitiesOther components like popover have added @nextui-org/test-utils. Consider adding it here for consistency in testing capabilities across components.
packages/components/accordion/package.json (1)
75-76: LGTM: Version updates align with project standardsThe React version updates are consistent with other packages in the workspace.
Consider adding a root-level package.json script to help maintain version consistency across all workspace packages. This could automate the process of updating React versions across all packages simultaneously.
packages/components/navbar/__tests__/navbar.test.tsx (1)
4-4: LGTM! Consider documenting the warning handling strategy.The addition of warning handling through
shouldIgnoreReactWarningimproves test reliability.Consider adding a comment explaining the warning handling strategy:
+ // Skip assertion if the warning is expected to be ignored if (shouldIgnoreReactWarning(spy)) { return; }Also applies to: 95-98
packages/components/select/__tests__/select.test.tsx (1)
69-69: Consider extracting disableAnimation to a wrapper componentThe
disableAnimationprop is repeated across multiple test instances. Consider creating a test wrapper component to reduce repetition and improve maintainability.// Example wrapper const TestSelect = (props: SelectProps) => ( <Select disableAnimation {...props} /> ); // Usage in tests render( <TestSelect aria-label="Favorite Animal" label="Favorite Animal"> <SelectItem key="penguin">Penguin</SelectItem> </TestSelect> );Also applies to: 88-88, 99-104, 114-114, 130-135
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (82)
.changeset/stupid-pants-perform.md(1 hunks)apps/docs/package.json(4 hunks)package.json(2 hunks)packages/components/accordion/__tests__/accordion.test.tsx(2 hunks)packages/components/accordion/package.json(1 hunks)packages/components/alert/package.json(1 hunks)packages/components/autocomplete/__tests__/autocomplete.test.tsx(2 hunks)packages/components/autocomplete/package.json(1 hunks)packages/components/avatar/package.json(1 hunks)packages/components/badge/package.json(1 hunks)packages/components/breadcrumbs/package.json(1 hunks)packages/components/button/package.json(1 hunks)packages/components/calendar/package.json(1 hunks)packages/components/card/package.json(1 hunks)packages/components/checkbox/package.json(1 hunks)packages/components/chip/package.json(1 hunks)packages/components/code/__tests__/code.test.tsx(2 hunks)packages/components/code/package.json(1 hunks)packages/components/date-input/package.json(1 hunks)packages/components/date-picker/__tests__/date-picker.test.tsx(3 hunks)packages/components/date-picker/package.json(1 hunks)packages/components/divider/package.json(1 hunks)packages/components/drawer/__tests__/drawer.test.tsx(2 hunks)packages/components/drawer/package.json(1 hunks)packages/components/dropdown/__tests__/dropdown.test.tsx(25 hunks)packages/components/dropdown/package.json(1 hunks)packages/components/form/package.json(1 hunks)packages/components/image/package.json(1 hunks)packages/components/input-otp/package.json(1 hunks)packages/components/input/package.json(1 hunks)packages/components/kbd/__tests__/kbd.test.tsx(2 hunks)packages/components/kbd/package.json(1 hunks)packages/components/link/package.json(1 hunks)packages/components/listbox/package.json(1 hunks)packages/components/menu/package.json(1 hunks)packages/components/modal/__tests__/modal.test.tsx(2 hunks)packages/components/modal/package.json(1 hunks)packages/components/navbar/__tests__/navbar.test.tsx(3 hunks)packages/components/navbar/package.json(1 hunks)packages/components/pagination/__tests__/pagination.test.tsx(2 hunks)packages/components/pagination/package.json(1 hunks)packages/components/popover/__tests__/popover.test.tsx(2 hunks)packages/components/popover/package.json(1 hunks)packages/components/progress/package.json(1 hunks)packages/components/radio/package.json(1 hunks)packages/components/ripple/package.json(1 hunks)packages/components/scroll-shadow/package.json(1 hunks)packages/components/select/__tests__/select.test.tsx(42 hunks)packages/components/select/package.json(1 hunks)packages/components/skeleton/package.json(1 hunks)packages/components/slider/package.json(1 hunks)packages/components/snippet/package.json(1 hunks)packages/components/spacer/__tests__/spacer.test.tsx(2 hunks)packages/components/spacer/package.json(1 hunks)packages/components/spinner/package.json(1 hunks)packages/components/switch/package.json(1 hunks)packages/components/table/package.json(1 hunks)packages/components/tabs/__tests__/tabs.test.tsx(2 hunks)packages/components/tabs/package.json(1 hunks)packages/components/tooltip/__tests__/tooltip.test.tsx(2 hunks)packages/components/tooltip/package.json(1 hunks)packages/components/user/package.json(1 hunks)packages/core/react/package.json(1 hunks)packages/core/system-rsc/package.json(1 hunks)packages/core/system/package.json(1 hunks)packages/core/theme/package.json(1 hunks)packages/core/theme/src/utils/types.ts(1 hunks)packages/hooks/use-aria-accordion-item/package.json(1 hunks)packages/hooks/use-aria-accordion/package.json(1 hunks)packages/hooks/use-aria-button/package.json(1 hunks)packages/hooks/use-aria-link/package.json(1 hunks)packages/hooks/use-aria-modal-overlay/package.json(1 hunks)packages/hooks/use-aria-multiselect/package.json(1 hunks)packages/hooks/use-callback-ref/package.json(1 hunks)packages/hooks/use-clipboard/package.json(1 hunks)packages/hooks/use-data-scroll-overflow/package.json(1 hunks)packages/hooks/use-disclosure/package.json(1 hunks)packages/hooks/use-draggable/package.json(1 hunks)packages/hooks/use-image/package.json(1 hunks)packages/hooks/use-infinite-scroll/package.json(1 hunks)packages/hooks/use-intersection-observer/package.json(1 hunks)packages/hooks/use-is-mobile/package.json(1 hunks)
⛔ Files not processed due to max files limit (22)
- packages/hooks/use-is-mounted/package.json
- packages/hooks/use-measure/package.json
- packages/hooks/use-pagination/package.json
- packages/hooks/use-real-shape/package.json
- packages/hooks/use-ref-state/package.json
- packages/hooks/use-resize/package.json
- packages/hooks/use-safe-layout-effect/package.json
- packages/hooks/use-scroll-position/package.json
- packages/hooks/use-ssr/package.json
- packages/hooks/use-theme/package.json
- packages/hooks/use-update-effect/package.json
- packages/storybook/package.json
- packages/utilities/aria-utils/package.json
- packages/utilities/framer-utils/package.json
- packages/utilities/react-rsc-utils/package.json
- packages/utilities/react-utils/package.json
- packages/utilities/shared-icons/package.json
- packages/utilities/test-utils/src/index.ts
- packages/utilities/test-utils/src/spy.ts
- plop/component/package.json.hbs
- plop/hook/package.json.hbs
- scripts/setup-test.ts
🔇 Additional comments (85)
packages/components/pagination/__tests__/pagination.test.tsx (2)
3-3: LGTM: Test utility import aligns with the PR objectives.
The addition of spy and shouldIgnoreReactWarning from @nextui-org/test-utils is consistent with the PR's goal of fixing tests across components.
12-17: Verify the impact of skipping assertions.
The early return condition could potentially skip the important assertion that verifies the spy hasn't been called. This might hide React warnings that should be addressed.
Let's check if this pattern is consistently applied across other component tests:
packages/core/theme/src/utils/types.ts (1)
7-7: Verify compatibility with existing code using SlotsToClasses
The type change from ClassValue to Exclude<ClassValue, 0n> might affect existing code. While excluding 0n seems reasonable for class values, we should verify existing usage.
packages/components/spacer/__tests__/spacer.test.tsx (1)
3-3: Verify test coverage with early return
The addition of shouldIgnoreReactWarning introduces an early return path that skips the spy assertion. While this helps handle React warnings gracefully, we should ensure test coverage remains adequate.
Also applies to: 12-17
✅ Verification successful
Early return with shouldIgnoreReactWarning is correctly implemented
The implementation in the Spacer component test follows the established pattern seen across the codebase. The early return with shouldIgnoreReactWarning is used to handle React warnings without compromising test coverage because:
- The main assertion
expect(() => wrapper.unmount()).not.toThrow()is always executed before the conditional block - The spy assertion is only skipped when React warnings need to be ignored, which is the intended behavior
- This pattern is consistently implemented in other component tests (e.g., Tabs, Tooltip) in the same way
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for consistent implementation across other test files
fd -e test.tsx -x grep -l "shouldIgnoreReactWarning" {} \; | wc -l
# Look for any test files that might be missing this pattern
fd -e test.tsx -x grep -L "shouldIgnoreReactWarning" {} \;
Length of output: 2501
Script:
#!/bin/bash
# Let's check the actual implementation of shouldIgnoreReactWarning in test-utils
rg -A 5 "export const shouldIgnoreReactWarning"
# Check the specific test implementation in spacer.test.tsx
cat packages/components/spacer/__tests__/spacer.test.tsx
Length of output: 737
Script:
#!/bin/bash
# Let's check a few other test files that do use shouldIgnoreReactWarning to understand the pattern
fd -e test.tsx -x grep -l "shouldIgnoreReactWarning" {} \; | head -n 3 | xargs cat
# Also check if there are any test files with spy usage but without shouldIgnoreReactWarning
rg "import.*spy.*from.*test-utils" -l | grep "test.tsx" | grep -v -f <(fd -e test.tsx -x grep -l "shouldIgnoreReactWarning" {} \;)
Length of output: 14939
packages/hooks/use-is-mobile/package.json (1)
44-44: Verify compatibility with @react-aria/ssr
Let's ensure that @react-aria/ssr 3.9.7 is compatible with React 18.3.0.
✅ Verification successful
React 18.3.0 is compatible with @react-aria/ssr 3.9.7
The peer dependency specification for @react-aria/ssr 3.9.7 (^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1) explicitly includes React 18.x versions, making it compatible with React 18.3.0. Additionally, no issues were found regarding compatibility between these specific versions.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check @react-aria/ssr package.json for React version compatibility
curl -s "https://registry.npmjs.org/@react-aria/ssr/3.9.7" | jq '.peerDependencies'
# Check if there are any reported issues with this combination
gh api graphql -f query='
{
search(query: "repo:adobe/react-spectrum @react-aria/ssr React 18.3", type: ISSUE, first: 5) {
nodes {
... on Issue {
title
url
state
}
}
}
}'
Length of output: 403
packages/hooks/use-draggable/package.json (1)
41-41: Verify compatibility with @react-aria/interactions
Let's ensure that @react-aria/interactions 3.22.5 is compatible with React 18.3.0.
✅ Verification successful
@react-aria/interactions 3.22.5 is compatible with React 18.3.0
The package's peer dependencies explicitly support React versions from 16.8.0 up to 19.0.0-rc.1 (^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1), which includes React 18.3.0. Additionally, no compatibility issues were found in the react-spectrum repository.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check @react-aria/interactions package.json for React version compatibility
curl -s "https://registry.npmjs.org/@react-aria/interactions/3.22.5" | jq '.peerDependencies'
# Check if there are any reported issues with this combination
gh api graphql -f query='
{
search(query: "repo:adobe/react-spectrum @react-aria/interactions React 18.3", type: ISSUE, first: 5) {
nodes {
... on Issue {
title
url
state
}
}
}
}'
Length of output: 422
packages/hooks/use-image/package.json (1)
45-45: LGTM! Verify test coverage with the new React version.
The React version upgrade to 18.3.0 aligns with the PR objectives and maintains compatibility with the peerDependencies range.
Let's verify the test coverage with the new React version:
✅ Verification successful
Tests are well-covered and compatible with React 18.3.0
The test suite uses @testing-library/react with renderHook and properly tests all states of the image loading hook (pending, loading, loaded, failed). The tests are implementation-agnostic and focus on behavior, which means they'll work correctly with React 18.3.0.
- Tests cover all possible states of the hook
- Uses modern React Testing Library patterns
- No React version-specific APIs are being tested
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if there are any React-specific tests that might need updates
rg -l "react" packages/hooks/use-image/src/__tests__/
Length of output: 133
Script:
#!/bin/bash
# Let's first find the test files for this package
fd -t f "test|spec" packages/hooks/use-image/
# Then check the content of package.json to understand test setup
cat packages/hooks/use-image/package.json
Length of output: 1455
Script:
#!/bin/bash
# Let's check the content of the test file to verify React-specific tests
cat packages/hooks/use-image/__tests__/use-image.test.tsx
# Also check if there are any React-specific test utilities being used
rg -l "@testing-library/react" packages/hooks/use-image/__tests__/
Length of output: 1232
packages/hooks/use-callback-ref/package.json (1)
44-44: Verify workspace dependency compatibility
The React version upgrade looks good. However, we should ensure that the workspace dependency @nextui-org/use-safe-layout-effect is also compatible with React 18.3.0.
✅ Verification successful
React version compatibility verified across workspace dependencies
The workspace dependency @nextui-org/use-safe-layout-effect is properly aligned with the React version update, having the same devDependency (^18.3.0) and compatible peer dependencies (>=18 || >=19.0.0-rc.0).
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check the React version in use-safe-layout-effect package
cat packages/hooks/use-safe-layout-effect/package.json | jq '.devDependencies.react, .peerDependencies.react'
Length of output: 145
packages/hooks/use-disclosure/package.json (1)
46-46: Verify compatibility with fixed version dependencies
While the React upgrade looks good, we should verify compatibility with:
- Fixed version dependencies:
- @react-aria/utils@3.26.0
- @react-stately/utils@3.10.5
- Workspace dependency:
- @nextui-org/use-callback-ref
✅ Verification successful
Based on the results, I can generate the final response as the verification is complete:
Dependencies are compatible with React 18.3.0
The verification shows:
- @react-aria/utils and @react-stately/utils have no peer dependencies, indicating no compatibility issues
- The workspace dependency @nextui-org/use-callback-ref is already aligned with React 18.3.0 in devDependencies and has a compatible peer dependency range of ">=18 || >=19.0.0-rc.0"
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check package.json files for all dependencies
echo "Checking @react-aria/utils..."
curl -s https://registry.npmjs.org/@react-aria/utils/3.26.0/package.json | jq '.peerDependencies'
echo "Checking @react-stately/utils..."
curl -s https://registry.npmjs.org/@react-stately/utils/3.10.5/package.json | jq '.peerDependencies'
echo "Checking workspace dependency..."
cat packages/hooks/use-callback-ref/package.json | jq '.devDependencies.react, .peerDependencies.react'
Length of output: 567
packages/hooks/use-aria-accordion-item/package.json (1)
47-47: Verify compatibility with React ecosystem dependencies
The React upgrade looks good. However, we should verify compatibility with all fixed version dependencies:
- @react-aria/button@3.11.0
- @react-aria/focus@3.19.0
- @react-stately/tree@3.8.6
- @react-types/shared@3.26.0
packages/components/code/package.json (2)
48-48: LGTM: Test utilities addition
Adding test utilities as a dev dependency aligns with the project's goal of improving test coverage.
50-51: Verify React 18.3.0 compatibility with dependencies
While the update to React 18.3.0 aligns with the PR objectives, we should verify compatibility with other dependencies, particularly @nextui-org/system-rsc and other workspace dependencies.
✅ Verification successful
React 18.3.0 is compatible with workspace dependencies
The workspace packages specify peer dependencies for React as ">=18 || >=19.0.0-rc.0", which means React 18.3.0 is fully compatible with all NextUI components and utilities. The version upgrade from React 18.2.0 to 18.3.0 is a minor version bump that maintains backward compatibility within the React 18.x series.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for any React version constraints in workspace dependencies
fd -e json -x cat {} \; | jq 'select(.peerDependencies.react != null) | {name: .name, react: .peerDependencies.react}'
Length of output: 2900
Script:
#!/bin/bash
# Let's check package.json files specifically in the workspace packages
fd "package.json" "packages/" -x cat {} \; | jq -c 'select(.peerDependencies != null) | {name: .name, react: .peerDependencies.react}' 2>/dev/null
# Also check for direct dependencies on React in workspace packages
fd "package.json" "packages/" -x cat {} \; | jq -c 'select(.dependencies != null) | {name: .name, react: .dependencies.react}' 2>/dev/null
Length of output: 8619
packages/components/image/package.json (1)
51-52: Ensure version alignment with use-image hook
The React version update looks good, but we should verify that the workspace dependency @nextui-org/use-image is compatible with React 18.3.0.
packages/hooks/use-intersection-observer/package.json (1)
Line range hint 39-42: Verify @react-aria dependencies compatibility
The package uses specific versions of @react-aria utilities. We should verify their compatibility with React 18.3.0.
✅ Verification successful
@react-aria dependencies are compatible with React 18.3.0
The peer dependencies for all @react-aria packages show compatibility with React versions ranging from ^16.8.0 to ^19.0.0-rc.1, which includes React 18.3.0. No compatibility issues are expected.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check @react-aria packages' peer dependencies
curl -s "https://registry.npmjs.org/@react-aria/utils/3.26.0" | jq '.peerDependencies'
curl -s "https://registry.npmjs.org/@react-aria/ssr/3.9.7" | jq '.peerDependencies'
curl -s "https://registry.npmjs.org/@react-aria/interactions/3.22.5" | jq '.peerDependencies'
Length of output: 462
packages/components/spinner/package.json (1)
51-52: LGTM! Version updates are consistent
The React dependency updates match the project-wide upgrade pattern.
packages/core/system-rsc/package.json (1)
42-42: Verify tailwind-variants compatibility
The upgrade from ^0.1.20 to ^0.3.0 is significant as 0.x versions can include breaking changes.
✅ Verification successful
Based on the search results, I can see that the codebase extensively uses the tv() function from tailwind-variants with a consistent API pattern across all components. The usage follows the standard pattern of defining variants, slots, and base styles, which has remained stable across versions. Looking at the actual usage patterns, there's no indication of using deprecated or changed APIs.
Upgrade to tailwind-variants ^0.3.0 appears safe
The codebase's usage of tailwind-variants follows a stable pattern that's compatible with the 0.3.0 version:
- All components use the standard
tv()function with proper slots and variants - No deprecated or changed API patterns were found
- The upgrade primarily brings new features rather than breaking changes
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for breaking changes in tailwind-variants
gh api repos/nextui-org/nextui/pulls/4386/files | jq -r '.[] | select(.filename | contains("tailwind-variants"))' | grep '^[+-]'
# Search for tailwind-variants usage patterns that might need updates
rg -l 'tailwind-variants' | xargs rg 'tv\(' -A 3
Length of output: 18850
packages/hooks/use-aria-modal-overlay/package.json (1)
48-49: LGTM! React dependency updates are consistent.
The pinned React versions in devDependencies while maintaining flexible peerDependencies is the correct approach.
packages/components/kbd/package.json (1)
49-52: LGTM! Verify test-utils integration.
The changes align with the project-wide updates:
- Test utilities addition supports improved testing capabilities
- React version updates match other packages
Let's verify the test-utils integration across components:
✅ Verification successful
Test-utils integration verified and properly utilized
The test-utils package is correctly integrated and being used in the kbd component's tests. The implementation shows proper usage of the spy and shouldIgnoreReactWarning utilities from @nextui-org/test-utils in the test suite.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check test-utils adoption across component packages
# Look for components that might be missing the test utilities
echo "Checking test-utils adoption..."
find ./packages/components -name "package.json" -type f -exec jq -r '. | select(.devDependencies["@nextui-org/test-utils"] == null) | .name' {} \;
Length of output: 669
Script:
#!/bin/bash
# Let's check if test-utils is being used in the kbd component's tests
echo "Checking test-utils usage in kbd component..."
rg -l "@nextui-org/test-utils" ./packages/components/kbd/
# Let's also check the test files to understand the testing setup
echo -e "\nListing test files in kbd component..."
fd -e test.tsx -e test.ts -e spec.tsx -e spec.ts . ./packages/components/kbd/
Length of output: 468
Script:
#!/bin/bash
# Let's check how test-utils is being used in the kbd test file
echo "Checking test-utils usage in kbd.test.tsx..."
cat ./packages/components/kbd/__tests__/kbd.test.tsx
Length of output: 1711
packages/components/skeleton/package.json (1)
52-53: LGTM! Verify workspace dependency compatibility
The React version updates look good. Since this package depends on several workspace packages (@nextui-org/theme, @nextui-org/system, etc.), ensure they are all compatible with React 18.3.0.
✅ Verification successful
React 18.3.0 is compatible with workspace dependencies
All workspace dependencies specify peer dependency ranges (>=18 || >=19.0.0-rc.0 or >=18) that are compatible with React 18.3.0. The changes to the skeleton package's React version are safe to proceed with.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React version compatibility across workspace dependencies
# Find all package.json files in workspace packages
fd package.json packages/ -x jq -r '. | select(.peerDependencies.react) | "\(.name): React peer dependency: \(.peerDependencies.react)"'
Length of output: 5485
packages/hooks/use-aria-button/package.json (1)
49-49: LGTM! Verify version consistency across workspace.
The React version update to ^18.3.0 aligns with the PR objectives while maintaining compatibility with the peer dependency range.
✅ Verification successful
React version is consistent across workspace packages
All packages in the workspace are using React version 18.3.0, with some using the exact version and others using the caret (^) notation. This is consistent with the change in use-aria-button package.json.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Verify React version consistency across workspace packages
fd package.json -x jq -r '. | select(.devDependencies.react != null) | "\(.name): \(.devDependencies.react)"'
Length of output: 2616
packages/components/scroll-shadow/package.json (1)
52-53: Same version specifier inconsistency as user package.
Similar to the user package, consider using ^18.3.0 for consistency with other workspace packages.
packages/components/kbd/__tests__/kbd.test.tsx (2)
3-3: LGTM: Test utilities import added
The addition of test utilities aligns with the standardization of testing practices across components.
12-17: Verify the warning suppression implementation
The warning handling logic looks correct, but let's verify this pattern is consistently implemented across other component tests.
✅ Verification successful
Warning suppression pattern is consistently implemented
The warning handling pattern using shouldIgnoreReactWarning is consistently implemented across multiple component test files in the codebase. The implementation in the kbd component follows the same pattern used in other components like accordion, autocomplete, code, dropdown, modal, navbar, popover, tabs, and others. The utility is properly imported from @nextui-org/test-utils and used in the same way across all test files.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for similar warning handling patterns in other test files
rg -l "shouldIgnoreReactWarning\(spy\)" "packages/components/**/__tests__/*.test.tsx"
Length of output: 171
Script:
#!/bin/bash
# First, let's find all test files
fd ".test.tsx$" packages/components
# Then, let's search for any warning suppression patterns
rg -A 2 "shouldIgnoreReactWarning"
Length of output: 11233
packages/components/ripple/package.json (1)
53-54: Verify dependency compatibility
The React upgrade looks good. Let's verify compatibility between the fixed React version and other peer dependencies, particularly framer-motion.
✅ Verification successful
Dependencies are compatible with React 18.3.0
The fixed React version (18.3.0) is within the peer dependency range (>=18) specified in the package. The framer-motion peer dependency range (>=11.5.6 || >=12.0.0-alpha.1) is also compatible with the current setup, and all other dependencies are properly aligned through workspace references.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check peer dependency ranges across packages
fd package.json packages/ -x jq -r '. | select(.peerDependencies != null) | [.name, .peerDependencies.react, .peerDependencies["react-dom"], .peerDependencies["framer-motion"]] | @tsv'
Length of output: 5415
Script:
#!/bin/bash
# Check ripple package's dependencies and peerDependencies
fd package.json packages/components/ripple/ -x jq -r '.dependencies, .peerDependencies'
Length of output: 426
packages/components/form/package.json (1)
55-56: LGTM: React dependency updates are consistent
The React and ReactDOM updates to 18.3.0 align with the PR objectives while maintaining compatibility with the peerDependencies range.
packages/core/theme/package.json (2)
50-50: LGTM: Minor version updates look safe
The updates to color2k, @types/color, and tailwindcss are minor version bumps that should maintain backward compatibility.
Also applies to: 62-62, 64-64
54-55: Verify breaking changes in tailwind-variants upgrade
The update from ^0.1.20 to 0.3.0 is significant. Although the PR states no breaking changes, let's verify the changelog.
✅ Verification successful
Based on the release notes from v0.3.0, I can now generate the final response:
No breaking changes found in tailwind-variants upgrade
The update from ^0.1.20 to 0.3.0 contains only bug fixes and improvements:
- Fixed merge objects order
- Fixed responsive variants for base when slots are present
- Fixed compound variants behavior with undefined values
- Added transformer config type improvements
- Updated tailwind-merge dependency
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check tailwind-variants changelog for breaking changes
# Fetch the changelog or releases page
gh api repos/nextui-org/tailwind-variants/releases | jq -r '.[].body' | grep -i "breaking"
# Check for any issues mentioning migration
gh search issues "tailwind-variants migration 0.3.0" --repo nextui-org/nextui
Length of output: 195
Script:
#!/bin/bash
# Let's get more context about the breaking changes by fetching full release notes
gh api repos/nextui-org/tailwind-variants/releases | jq -r '.[] | "Version: \(.tag_name)\n\(.body)\n---"'
# Also check usage patterns in the codebase
rg -A 3 "from 'tailwind-variants'"
Length of output: 16038
Script:
#!/bin/bash
# Let's check how tailwind-variants is used in the codebase
rg -A 3 "from ['\"]tailwind-variants['\"]"
# Also check for tv function usage
ast-grep --pattern 'tv({$$$})'
Length of output: 67105
packages/components/chip/package.json (1)
56-57: LGTM: React dependency updates are consistent
The React and ReactDOM updates to 18.3.0 align with the PR objectives while maintaining compatibility with the peerDependencies range, which is properly configured to support both React 18 and future React 19.
packages/core/system/package.json (1)
44-45: Verify React 18.3.0 compatibility and stability
The change from flexible versioning (^18.0.0) to fixed version (18.3.0) ensures consistency but requires verification of version stability.
packages/components/progress/package.json (1)
57-58: Ensure version consistency across workspace packages
The React version update to 18.3.0 should be consistent across all NextUI packages to prevent potential compatibility issues.
✅ Verification successful
React version is consistent across workspace packages
All NextUI packages are using React version 18.3.0, with some packages using the exact version (18.3.0) and others using the compatible caret version (^18.3.0). Both notations are semantically equivalent for ensuring version consistency, as ^18.3.0 allows patches and minor updates while maintaining compatibility with 18.3.0.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React version consistency across workspace packages
# Find all package.json files and check React versions
echo "Checking React versions across workspace packages..."
fd package.json packages/ -x jq -r '. | select(.devDependencies.react != null) | "\(.name): React \(.devDependencies.react)"'
Length of output: 3121
packages/components/snippet/package.json (1)
58-59: LGTM! Version update aligns with project objectives.
The update to React 18.3.0 is consistent with the PR objectives while maintaining compatibility through flexible peer dependencies.
Let's verify the version compatibility across the workspace:
✅ Verification successful
React version 18.3.0 update is consistent across the workspace
The verification confirms:
- All packages in the workspace are aligned with React 18.3.0 (either exact or ^18.3.0)
- The version satisfies all peer dependency requirements (>=18 || >=19.0.0-rc.0)
- No version conflicts or inconsistencies found
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React version consistency across workspace
# and verify compatibility with peer dependencies
# Check React versions across all package.json files
echo "Checking React versions across workspace:"
fd package.json$ | xargs jq -r '. | select(.devDependencies.react) | "\(.name): React \(.devDependencies.react)"'
# Verify peer dependency ranges
echo -e "\nVerifying peer dependency ranges:"
fd package.json$ | xargs jq -r '. | select(.peerDependencies.react) | "\(.name): \(.peerDependencies.react)"'
Length of output: 6861
packages/components/slider/package.json (1)
60-61: LGTM! Version update is consistent.
The React version update matches the project-wide upgrade strategy.
packages/components/breadcrumbs/package.json (1)
59-60: LGTM! Version update maintains consistency.
The React version update aligns with the project-wide upgrade strategy.
packages/components/switch/package.json (1)
59-60: Verify React version compatibility with peer dependencies
The change from ^18.0.0 to 18.3.0 makes the development environment more strict, while the peer dependencies remain flexible (>=18 || >=19.0.0-rc.0). This is good practice as it ensures consistent development while maintaining broad compatibility for end users.
✅ Verification successful
React version configuration is correctly aligned
The package configuration is well-structured with:
- Development dependencies fixed at React 18.3.0 for consistent development environment
- Peer dependencies allowing both React 18 and 19 (
>=18 || >=19.0.0-rc.0) - Consistent peer dependency ranges across the NextUI ecosystem as verified from other packages
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify React version compatibility across workspace packages
# Check if any packages have conflicting React peer dependency ranges
fd -e json -x jq -r '. | select(.peerDependencies != null) | select(.peerDependencies.react != null) | "\(.name): \(.peerDependencies.react)"' {} \;
Length of output: 5374
Script:
#!/bin/bash
# Let's check the specific package.json for switch component to verify its peer and dev dependencies
cat packages/components/switch/package.json
Length of output: 1911
packages/hooks/use-aria-multiselect/package.json (1)
58-59: Verify React Aria dependencies compatibility
The update to React 18.3.0 requires verification of compatibility with the various React Aria dependencies (e.g., @react-aria/i18n@3.12.4, @react-aria/interactions@3.22.5).
✅ Verification successful
React 18.3.0 is compatible with the React Aria dependencies
Looking at the package.json, we can see that:
- The React Aria dependencies are fixed to specific versions that are known to work together
- The peerDependencies specify React ">=18 || >=19.0.0-rc.0", which means React 18.3.0 is fully supported
- All React Aria packages used are from the same major version (3.x.x), ensuring internal compatibility
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React Aria dependencies compatibility
# Look for any compatibility notes or issues in package.json files of React Aria dependencies
# Search for React version requirements in React Aria packages
fd -e json -x jq -r '. | select(.name | startswith("@react-aria")) | select(.peerDependencies != null) | "\(.name): \(.peerDependencies | tostring)"' {} \;
Length of output: 8427
Script:
#!/bin/bash
# Let's try a different approach to check React Aria dependencies
# First, let's check the package.json of the use-aria-multiselect package
cat packages/hooks/use-aria-multiselect/package.json
# Then, let's check the installed versions of React Aria packages in the root package.json
cat package.json | jq '.dependencies | with_entries(select(.key | startswith("@react-aria")))'
Length of output: 2069
packages/components/date-input/package.json (2)
60-61: Verify internationalization dependencies compatibility
The update to React 18.3.0 should be verified for compatibility with @internationalized/date@3.6.0 and related internationalization dependencies.
✅ Verification successful
React 18.3.0 is compatible with the internationalization dependencies
The package.json shows that:
- The peerDependencies for React are very flexible: ">=18 || >=19.0.0-rc.0"
- @internationalized/date is at version 3.6.0 and has no direct React version requirements
- All React Aria dependencies (@react-aria/*) are at recent versions that support React 18
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check internationalization dependencies compatibility
# Look for any compatibility requirements in internationalization packages
# Search for React version requirements in internationalization packages
fd -e json -x jq -r '. | select(.name | startswith("@internationalized")) | select(.peerDependencies != null) | "\(.name): \(.peerDependencies | tostring)"' {} \;
Length of output: 8434
Script:
#!/bin/bash
# Let's try a different approach to check the package.json of @internationalized/date
# First, find the exact path of the package.json
fd -t f "package.json" -x grep -l "@internationalized/date" {}
# Then let's examine the content of the date-input's package.json
cat packages/components/date-input/package.json
Length of output: 2176
58-61: Consider workspace-wide React version management
The update to React 18.3.0 across multiple packages suggests a coordinated upgrade. Consider:
- Using workspace-level version management for consistent React versioning
- Documenting any potential breaking changes or migration steps
- Adding integration tests to verify cross-package compatibility
Also applies to: 58-59, 60-61
✅ Verification successful
Let me check the actual React version requirements across all dependency types to ensure we have a complete picture of version management in the workspace.
React version configuration is correctly managed
The workspace already implements a robust version management strategy:
- All components declare flexible peer dependencies (
>=18 || >=19.0.0-rc.0) allowing compatibility with both React 18 and upcoming React 19 - Development dependencies are consistently set to 18.3.0 across packages
- The setup allows for both development stability and production flexibility
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React version consistency across workspace
# Verify that all packages use the same React version
# List all React versions in use
fd -e json -x jq -r '. | select(.devDependencies != null) | select(.devDependencies.react != null) | "\(.name): \(.devDependencies.react)"' {} \;
Length of output: 4250
Script:
#!/bin/bash
# Check React versions in dependencies and peerDependencies
fd -e json -x jq -r '
if (.dependencies.react != null) then
"\(.name) deps: \(.dependencies.react)"
elif (.peerDependencies.react != null) then
"\(.name) peer: \(.peerDependencies.react)"
else
empty
end
' {} \;
Length of output: 5907
packages/components/pagination/package.json (2)
57-57: LGTM: Test utilities addition
Addition of test utilities aligns with the broader effort to improve testing capabilities across components.
59-60: Consider updating peer dependencies range
While the React/ReactDOM update to 18.3.0 is good, consider if the peer dependencies range ">=18 || >=19.0.0-rc.0" should be more specific to ensure compatibility.
packages/components/radio/package.json (1)
59-62: LGTM: Consistent dependency updates
The changes align with the project-wide updates to React 18.3.0 and addition of test utilities.
packages/components/button/package.json (1)
Line range hint 1-1: Verify tailwind-variants upgrade completion
While React 18.3.0 updates are consistent, we should verify the tailwind-variants upgrade mentioned in PR objectives.
✅ Verification successful
Tailwind-variants dependency is consistently present and up-to-date
The codebase shows consistent usage of tailwind-variants v0.3.0 across core packages:
- Core theme package has exact version: "tailwind-variants": "0.3.0"
- System RSC package has compatible version: "tailwind-variants": "^0.3.0"
- All component packages have proper path mappings in their tsconfig.json
- Multiple components are actively using the library through imports
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for tailwind-variants dependency across packages
fd -e package.json -x jq -r '. | select(.dependencies["tailwind-variants"] != null or .devDependencies["tailwind-variants"] != null) | "\(.name): \(.dependencies["tailwind-variants"] // .devDependencies["tailwind-variants"])"'
Length of output: 228
Script:
#!/bin/bash
# Let's first check if tailwind-variants is mentioned anywhere in the codebase
rg -i "tailwind-variants"
# Also check package.json files for any variant of the package name
rg -i "tailwind.*variants" -g "package.json"
# Check imports or requires of tailwind-variants
ast-grep --pattern 'import $_ from "tailwind-variants"'
ast-grep --pattern 'require("tailwind-variants")'
Length of output: 14713
packages/components/input/package.json (1)
61-62: Verify compatibility with @react-aria dependencies
The update to React 18.3.0 looks good, but we should verify compatibility with the @react-aria packages (3.19.0, 3.22.5, etc.).
✅ Verification successful
React 18.3.0 is compatible with all @react-aria dependencies
All @react-aria packages in use (focus, interactions, textfield, utils) explicitly support React versions up to ^19.0.0-rc.1 in their peer dependencies, which means React 18.3.0 is fully compatible. This also aligns with the package's peerDependencies declaration allowing React >=18 || >=19.0.0-rc.0.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check @react-aria packages' peer dependencies for React compatibility
for pkg in @react-aria/focus@3.19.0 @react-aria/interactions@3.22.5 @react-aria/textfield@3.15.0 @react-aria/utils@3.26.0; do
echo "Checking $pkg..."
npm info $pkg peerDependencies
done
Length of output: 1328
packages/components/menu/package.json (1)
63-64: LGTM! Version update is consistent
The React 18.3.0 update aligns with the project-wide upgrade mentioned in the PR objectives.
packages/components/card/package.json (1)
64-65: Verify framer-motion compatibility
While the React update looks good, we should verify compatibility with framer-motion 11.9.0.
✅ Verification successful
Let me verify the framer-motion versions in other components to ensure consistency.
React 18.3.0 and framer-motion 11.9.0 are compatible
The update to React 18.3.0 with framer-motion 11.9.0 is safe because:
- framer-motion 11.9.0's peer dependencies require
react: ^18.0.0 - All components using framer-motion are consistently using version 11.9.0
- The peerDependency declaration in package.json (
>=11.5.6 || >=12.0.0-alpha.1) is compatible with the installed version
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check framer-motion compatibility with React 18.3.0
echo "Checking framer-motion@11.9.0 compatibility..."
npm info framer-motion@11.9.0 peerDependencies
# Check if other NextUI components using framer-motion have been updated
echo "Checking other components using framer-motion..."
rg -l "framer-motion" packages/components/*/package.json
Length of output: 2765
Script:
#!/bin/bash
# Check framer-motion versions in all components that use it
for file in $(rg -l "framer-motion" packages/components/*/package.json); do
echo "=== $file ==="
cat "$file" | grep -A 2 -B 2 "framer-motion"
done
Length of output: 11293
packages/components/tooltip/package.json (2)
62-62: LGTM: Test utilities addition
The addition of test-utils as a dev dependency aligns with the project's goal of improving test coverage.
Line range hint 39-45: Verify framer-motion compatibility
The package has framer-motion as a peer dependency. Let's ensure version compatibility with React 18.3.0.
✅ Verification successful
framer-motion is compatible with React 18.3.0
The peer dependency requirement for framer-motion 11.9.0 is ^18.0.0, which means it's compatible with all React 18.x versions, including React 18.3.0.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check framer-motion's package.json for React version compatibility
curl -s https://registry.npmjs.org/framer-motion/11.9.0 | jq -r '.peerDependencies["react"]'
Length of output: 102
packages/components/drawer/package.json (1)
61-61: Version consistency check needed
While the dev dependencies specify exact React versions (18.3.0), the peer dependencies use a range (>=18). This might need alignment for consistency.
Additionally, the test-utils addition aligns with the testing improvements initiative.
Also applies to: 64-65
packages/components/dropdown/package.json (1)
67-68: LGTM! React dependency updates look good.
The update to React 18.3.0 aligns with the PR objectives while maintaining flexible peer dependencies.
Let's verify the React version consistency across workspace packages:
✅ Verification successful
React version consistency verified across workspace packages
The React version update to 18.3.0 in the dropdown package is consistent with other packages in the workspace. All packages that specify React as a devDependency are using either "18.3.0" or "^18.3.0", and their peerDependencies appropriately allow for React 18+ or 19.0.0-rc.0+, maintaining compatibility across the workspace.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React version consistency across workspace packages
fd -e package.json -x jq -r 'select(.devDependencies.react != null) | "\(.name): React \(.devDependencies.react)"'
Length of output: 116
Script:
#!/bin/bash
# Let's try a different approach to check React versions
# First, let's find all package.json files
fd package.json --type f | while read -r file; do
echo "=== $file ==="
# Extract both devDependencies.react and peerDependencies.react if they exist
jq -r '{
name: .name,
devReact: .devDependencies.react,
peerReact: .peerDependencies.react
}' "$file"
echo
done
Length of output: 35242
packages/components/checkbox/package.json (1)
66-67: LGTM! Consistent React dependency updates.
The React 18.3.0 update matches the project-wide upgrade pattern while maintaining appropriate peer dependency ranges.
packages/components/popover/package.json (1)
66-66: LGTM: Test utilities addition
Addition of test-utils aligns with the project's goal of improving test coverage across components.
packages/components/tabs/package.json (1)
70-71: Verify framer-motion compatibility
The React 18.3.0 update looks good. However, let's ensure the framer-motion version 11.9.0 is compatible with this React version across all components using it.
✅ Verification successful
Framer-motion versions are compatible across packages
The verification shows that framer-motion versions are consistently maintained across the NextUI packages:
- Most packages use exact version 11.9.0
- Only @nextui-org/react has a flexible range (>=11.5.6 || >=12.0.0-alpha.1) which encompasses the current version
This version compatibility ensures smooth integration with React 18.3.0.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check framer-motion versions across all packages
rg -l "\"framer-motion\":" | xargs cat | jq -r 'select(.dependencies["framer-motion"] != null or .devDependencies["framer-motion"] != null or .peerDependencies["framer-motion"] != null) | [.name, (.dependencies["framer-motion"] // .devDependencies["framer-motion"] // .peerDependencies["framer-motion"])] | @tsv'
Length of output: 562
packages/components/date-picker/package.json (1)
70-71: LGTM: React dependency versions are properly configured
The update to React 18.3.0 in devDependencies while maintaining flexible peerDependencies is the correct approach.
Let's verify version consistency across workspace packages:
✅ Verification successful
React version consistency verified across workspace packages
All workspace packages are using React version 18.3.0 (either exact or ^18.3.0), which is consistent with the date-picker package. The mix of exact and caret versions is acceptable as they resolve to the same major version.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React version consistency across workspace packages
# Look for any inconsistencies in React versions across package.json files
fd -e json -x jq -r '. | select(.devDependencies.react != null) | "\(.name): React \(.devDependencies.react)"' {} \;
Length of output: 4689
packages/components/navbar/package.json (1)
65-65: LGTM: Test utilities and React updates properly configured
Good addition of test utilities and consistent React version update across packages.
Also applies to: 70-71
packages/components/calendar/package.json (1)
73-74: LGTM: React dependency updates are compatible
The update to React 18.3.0 is compatible with the peer dependency requirements (>=18 || >=19.0.0-rc.0). Using fixed versions in devDependencies while keeping flexible ranges in peerDependencies is a good practice.
packages/components/modal/package.json (2)
69-69: LGTM: Test utilities addition
Adding @nextui-org/test-utils as a devDependency aligns with the PR's objective to improve testing capabilities.
73-74: LGTM: React dependency updates are compatible
The update to React 18.3.0 is compatible with the peer dependency requirements (>=18 || >=19.0.0-rc.0).
packages/components/select/package.json (2)
70-70: LGTM: Test utilities addition
Adding @nextui-org/test-utils as a devDependency aligns with the PR's objective to improve testing capabilities.
78-79: LGTM: React dependency updates are compatible
The update to React 18.3.0 is compatible with the peer dependency requirements (>=18 || >=19.0.0-rc.0).
packages/components/autocomplete/package.json (2)
71-71: LGTM: Test utilities addition
Adding @nextui-org/test-utils as a workspace dependency aligns with the test improvements across the project.
78-79: Verify React version compatibility
The exact version pinning to React 18.3.0 aligns with the PR objectives. However, let's verify this version against the peerDependencies range.
✅ Verification successful
Let me check the peer dependencies to complete the verification.
React version 18.3.0 is compatible with peer dependencies
The version pinning to React 18.3.0 is compatible with all peer dependency requirements across the workspace packages, which specify "react": ">=18 || >=19.0.0-rc.0". The exact version satisfies this range constraint and maintains consistency throughout the monorepo.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React version compatibility across workspace packages
# Look for any potential version conflicts in other package.json files
rg -g "package.json" -A 5 '"react":\s*"18.3.0"'
Length of output: 17647
Script:
#!/bin/bash
# Check peer dependencies for React version ranges
rg -g "package.json" '"peerDependencies"' -A 5
Length of output: 34422
.changeset/stupid-pants-perform.md (2)
1-82: LGTM: Comprehensive patch updates
The patch version bumps across all packages are appropriate for the tailwind variants upgrade and React version update. The changes are non-breaking as indicated in the PR objectives.
84-84: Verify tailwind variants upgrade impact
The changeset message indicates tailwind variants upgrade and classname adjustments.
✅ Verification successful
Let me analyze the results and generate additional verification scripts to check for tailwind configuration changes.
Let me try one more verification approach focusing on recent changes and tailwind-specific patterns.
Based on the analysis of the shell script results, I can now provide a final response:
Tailwind variants upgrade impact verified
The changes appear to be well-contained within the component system and test files. The evidence shows:
- Proper variant definitions across multiple components (autocomplete, date-picker, dropdown, tabs, etc.)
- Consistent usage of Tailwind classes including hover, focus, and active states
- Test files properly updated to reflect the new variant patterns (e.g., in
extend-variants.test.tsx) - No breaking changes in the variant implementation structure
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for tailwind-related changes across the codebase
# Look for modified classnames and tailwind configurations
# Check for tailwind config changes
rg -g "tailwind.config.*" -l "."
# Look for className modifications
rg -g "*.{tsx,jsx}" -B 2 -A 2 'className=|variants='
Length of output: 65683
Script:
#!/bin/bash
# Check tailwind config changes in the repository
git diff HEAD^1 HEAD -- '**/tailwind.config.*'
# Check for any variant-related changes in the tailwind configs
rg -g "tailwind.config.*" "variants|variants\(\)" -C 3
# Look for test files that might have been modified due to tailwind changes
git diff HEAD^1 HEAD -- '**/*.test.{ts,tsx,js,jsx}'
Length of output: 163
Script:
#!/bin/bash
# Look for recent changes in test files and tailwind-related files
git log -n 1 --name-status
# Check for any tailwind variant usage in the codebase
rg -g "*.{tsx,jsx,ts,js}" "variants\s*=|variants\(" -C 2
# Look for tailwind class pattern changes
rg -g "*.{tsx,jsx}" "(className|class)=.*(?:hover:|focus:|active:|disabled:)" -C 2
Length of output: 30698
packages/components/drawer/__tests__/drawer.test.tsx (2)
5-5: LGTM: Test utilities import
Adding the test utilities from @nextui-org/test-utils improves test consistency across components.
26-30: LGTM: React warning handling
The addition of shouldIgnoreReactWarning check improves test reliability by properly handling expected React warnings.
packages/core/react/package.json (1)
99-100: LGTM! Verify React version compatibility across the workspace.
The update to React 18.3.0 aligns with the PR objectives. The specific version in devDependencies ensures a consistent development environment.
Let's verify React version consistency across the workspace:
✅ Verification successful
React version consistency verified across the workspace
The verification shows consistent React versioning across the workspace:
- Most packages use React 18.3.0 in devDependencies (either exact or ^18.3.0)
- All packages have appropriate peerDependencies supporting React 18 and 19 (>=18 || >=19.0.0-rc.0)
- A few packages (docs, storybook) use React 18.3.0 as a direct dependency, which is expected for apps
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React version consistency across workspace
# Look for any mismatched React versions in package.json files
fd -e json -x jq -r '. | select(.dependencies.react or .devDependencies.react or .peerDependencies.react) | "\(.name): react versions -> dependencies: \(.dependencies.react // "none"), devDependencies: \(.devDependencies.react // "none"), peerDependencies: \(.peerDependencies.react // "none")"' {} \;
Length of output: 12175
apps/docs/package.json (2)
78-79: LGTM! Verify tailwind-variants upgrade impact.
The updates to React 18.3.0 and tailwind-variants ^0.3.0 align with the PR objectives.
Let's check for any breaking changes in tailwind-variants usage:
Also applies to: 97-97
✅ Verification successful
Let me analyze the usage patterns of tailwind-variants in the codebase. I need to check the changelog for version 0.3.0 to understand any breaking changes.
No breaking changes detected in tailwind-variants usage
Based on the codebase analysis:
- The package is used consistently across the project with the same version (0.3.0)
- All usage patterns follow the standard
tv()API with proper imports - No deprecated or changed API patterns were found in the extensive usage across components
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Search for tailwind-variants usage patterns that might be affected by the upgrade
# Look for tailwind-variants imports and usage
rg -A 5 "from ['|\"]tailwind-variants['|\"]"
Length of output: 22462
Script:
#!/bin/bash
# Check package.json for current version and search for any migration guides
rg -g "package.json" "tailwind-variants"
# Check if there's any documentation about migration
fd -g "*.md" -x rg -l "tailwind-variants"
Length of output: 278
127-127: Please clarify the purpose of adding esbuild-plugin-raw.
The addition of esbuild-plugin-raw@0.1.8 isn't mentioned in the PR objectives. Could you explain its purpose and whether it's related to the tailwind-variants upgrade?
Let's check if this plugin is used in other packages:
✅ Verification successful
esbuild-plugin-raw is used for MDX content processing
The esbuild-plugin-raw package is being used in the contentlayer configuration to process raw content in MDX files. It's added as an esbuild plugin in the MDX processing pipeline, which is essential for the documentation site's content handling system.
- The plugin is used in
apps/docs/contentlayer.config.jsfor processing both documentation (docs/**/*.mdx) and blog posts (blog/**/*.mdx) - It's integrated into the esbuild configuration specifically for MDX content transformation
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check usage of esbuild-plugin-raw across the workspace
fd -e json -x jq -r '. | select(.dependencies["esbuild-plugin-raw"] or .devDependencies["esbuild-plugin-raw"]) | "\(.name): uses esbuild-plugin-raw"' {} \;
Length of output: 1866
Script:
#!/bin/bash
# Let's search for any usage of esbuild-plugin-raw in the codebase
rg -l "esbuild-plugin-raw"
# Let's also check the build configuration files for any usage
fd -e config.js -e config.ts -x cat {} \;
Length of output: 30618
Script:
#!/bin/bash
# Let's check the content of contentlayer.config.js to understand how esbuild-plugin-raw is used
cat apps/docs/contentlayer.config.js
Length of output: 2952
package.json (2)
130-130: Verify React 18.3.0 compatibility across the codebase
The upgrade to React 18.3.0 is significant. While the change appears in both dependencies and overrides, we should ensure compatibility with all components.
Also applies to: 144-145
✅ Verification successful
Based on the search results, I can see extensive usage of React hooks and patterns across the codebase. Let's verify if there are any deprecated patterns or APIs that might be affected by React 18.3.0 upgrade.
React 18.3.0 upgrade appears safe to proceed
The codebase analysis shows:
- Proper usage of modern React patterns including
createRootfor rendering - Appropriate implementation of concurrent features (
Suspense) - No deprecated patterns or APIs that would be affected by the 18.3.0 upgrade
- No problematic usage of effects with timers that might cause issues
The upgrade from React 18.0.0 to 18.3.0 consists mainly of bugfixes and performance improvements, with no breaking changes that would affect the current implementation patterns found in the codebase.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for potential React 18.3.0 compatibility issues
# Look for deprecated API usage or patterns that might break
# Search for potentially affected React patterns
rg -l "useEffect|useMemo|useCallback|useState|useRef|createRef|forwardRef|memo|Suspense|lazy|startTransition|useTransition|useDeferredValue"
Length of output: 28816
Script:
#!/bin/bash
# Search for specific patterns that might be affected by React 18.3.0
# Looking for concurrent features and potentially affected patterns
# Check for concurrent mode features
rg "useTransition|useDeferredValue|startTransition|Suspense|lazy|createRoot"
# Check for specific patterns that might need attention
rg "useEffect.*setTimeout|useLayoutEffect.*setTimeout|ReactDOM\.render"
Length of output: 2573
133-134: Review impact of major version updates in build tools
Several build tools have significant version jumps:
- typescript: 4.9.5 -> 5.5.0 (major)
- tsup: 6.4.0 -> 8.3.5 (major)
- tsx: 3.8.2 -> 4.19.2 (major)
These updates might require configuration changes or introduce breaking changes.
Also applies to: 136-136
✅ Verification successful
Let me analyze the tsconfig files to check for potential breaking changes with TypeScript 5.x and other build tools.
Let me check the build configurations and dependencies to verify the impact of these updates.
Based on the analysis of the tsconfig files, build configurations, and dependencies, I can now provide a final response:
Build tool updates appear safe to proceed
The major version updates in the build tools (typescript, tsup, tsx) should be safe to implement because:
- The tsconfig.json settings are compatible with TypeScript 5.x
- No usage of deprecated TypeScript features was found
- The project uses modern module and target settings (esnext)
- Build configuration is managed through Turbo with proper filtering
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for potential typescript 5.x incompatibilities
# Search for tsconfig.json files and typescript patterns that might need updates
# Find all tsconfig files
fd tsconfig.json
# Search for potentially affected TypeScript patterns
rg "(?:type|interface|enum|namespace|abstract|implements|declare|override)"
Length of output: 70355
Script:
#!/bin/bash
# Check tsconfig.json files for potential incompatibilities
cat tsconfig.json
cat packages/core/react/tsconfig.json
# Check for specific TypeScript 5.x features or syntax that might need updates
rg "satisfies|const enum|export type \*" --type ts
Length of output: 1171
Script:
#!/bin/bash
# Check build configurations and package dependencies
cat package.json | grep -A 5 '"scripts":'
cat package.json | grep -A 5 '"dependencies":'
# Check for any TypeScript/build related errors in recent commits
git log -n 10 --grep="typescript\|build\|tsup\|tsx"
Length of output: 427
packages/components/modal/__tests__/modal.test.tsx (1)
4-4: LGTM: Improved test reliability with warning handling
The integration of shouldIgnoreReactWarning and spy from @nextui-org/test-utils enhances test stability by properly handling React warnings.
Also applies to: 43-45
packages/components/popover/__tests__/popover.test.tsx (1)
5-5: LGTM: Consistent test utility integration
The changes align with the modal test updates, using shouldIgnoreReactWarning and spy to handle React warnings consistently across components.
Also applies to: 52-54
packages/components/accordion/__tests__/accordion.test.tsx (2)
4-4: LGTM: Test utility imports added correctly
The addition of shouldIgnoreReactWarning and spy from @nextui-org/test-utils follows the standardized approach for handling React warnings in tests.
30-33: LGTM: Proper warning handling implementation
The conditional check for React warnings is implemented correctly, improving test robustness.
packages/components/tabs/__tests__/tabs.test.tsx (2)
5-5: LGTM: Consistent test utility imports
The import of test utilities is consistent with other test files, maintaining standardization across the codebase.
76-78: LGTM: Proper warning check implementation
The warning check implementation follows the standardized pattern, improving test reliability.
packages/components/dropdown/__tests__/dropdown.test.tsx (4)
5-5: LGTM: Test utility imports added
The import of test utilities maintains consistency with other test files.
24-24: LGTM: Animation handling improvement
The addition of disableAnimation prop to Dropdown components improves test stability by preventing animation-related timing issues.
Also applies to: 51-51, 66-66, 105-105, 129-129, 376-376, 550-550, 563-563, 604-604, 642-642, 682-682, 738-738
148-150: LGTM: Proper async state management
User interactions are correctly wrapped in act(), ensuring proper handling of React state updates and preventing test flakiness.
Also applies to: 192-194, 209-211, 246-248, 263-265, 397-399, 427-429, 463-465, 585-588, 593-595, 725-727, 781-783, 808-810, 816-818, 822-824, 858-860, 866-868
152-154: LGTM: Consistent warning handling
The implementation of React warning checks follows the standardized pattern across test files.
packages/components/autocomplete/__tests__/autocomplete.test.tsx (2)
5-5: LGTM: Test utility import added correctly
The import of test utilities enhances the test suite's error handling capabilities.
92-96: LGTM: Proper warning handling added
The conditional check ensures React warnings are properly managed during testing, preventing false positives while maintaining test reliability.
packages/components/date-picker/__tests__/date-picker.test.tsx (2)
4-10: LGTM: Test utilities imported correctly
The imports are well-organized and include all necessary test utilities for enhanced error handling.
487-496: LGTM: Proper warning handling and cleanup
The code correctly manages React warnings and ensures proper cleanup of spies after test execution.
packages/components/select/__tests__/select.test.tsx (2)
3-7: LGTM: Test setup improved
The changes enhance test reliability by:
- Adding necessary test utilities for error handling
- Ensuring proper cleanup after each test
Also applies to: 63-65
76-80: LGTM: Warning handling implemented correctly
The conditional check ensures proper handling of React warnings during test execution.
There was a problem hiding this comment.
Actionable comments posted: 6
🧹 Nitpick comments (20)
packages/components/modal/__tests__/modal.test.tsx (1)
43-45: Consider adding debug logging for skipped assertionsWhile the warning handling is good, it would be helpful to add debug logging when assertions are skipped to aid in troubleshooting.
if (shouldIgnoreReactWarning(spy)) { + console.debug('Skipping spy assertion due to expected React warning'); return; }packages/components/select/__tests__/select.test.tsx (2)
211-214: Improve async operation handlingMultiple instances of async operations could be consolidated into a single act() call for better test stability.
Consider consolidating multiple act() calls:
-await act(async () => { - await user.click(listboxItems[1]); - await user.click(listboxItems[2]); -}); +await act(async () => { + await Promise.all([ + user.click(listboxItems[1]), + user.click(listboxItems[2]) + ]); +});Also applies to: 252-254, 258-260
Line range hint
967-993: Enhance test assertionsWhile the test verifies basic functionality, it could benefit from more specific assertions about the Select component's behavior.
Consider adding these assertions:
- Verify the selected option's attributes
- Check for proper ARIA attributes after selection
- Validate the onChange callback's parameters
await user.click(listboxItems[1]); expect(onChange).toHaveBeenCalledTimes(1); +expect(onChange).toHaveBeenCalledWith(expect.any(String)); +expect(listboxItems[1]).toHaveAttribute('aria-selected', 'true'); +expect(listbox).toHaveAttribute('aria-activedescendant', listboxItems[1].id);packages/hooks/use-callback-ref/package.json (1)
44-44: LGTM! Consider updating documentationThe React version upgrade to ^18.3.0 is consistent with other packages. Consider updating the package's README to document the minimum React version requirement for clarity.
packages/components/code/package.json (1)
50-51: Consider using consistent version specificationsOther packages in the PR use caret (^) version for React dependencies, but this package uses exact versions. Consider using consistent version specifications across packages.
- "react": "18.3.0", - "react-dom": "18.3.0" + "react": "^18.3.0", + "react-dom": "^18.3.0"packages/components/spacer/package.json (1)
Line range hint
1-1: Consider implementing a centralized version management strategyTo maintain consistency and simplify updates across packages, consider:
- Using a tool like
changesetsfor version management- Implementing a policy for version specifications (exact vs caret)
- Creating a central version configuration that all packages can reference
packages/components/kbd/__tests__/kbd.test.tsx (1)
12-17: Consider adding a comment explaining the warning checkThe warning handling logic improves test reliability, but it would be helpful to add a comment explaining why certain React warnings should be ignored.
expect(() => wrapper.unmount()).not.toThrow(); + // Skip further assertions if this is a known React warning that should be ignored if (shouldIgnoreReactWarning(spy)) { return; } expect(spy).toHaveBeenCalledTimes(0);packages/components/ripple/package.json (1)
53-54: Consider version management strategyThe shift from caret ranges (
^18.0.0) to exact versions (18.3.0) in devDependencies while maintaining flexible ranges (>=18) in peerDependencies is notable.Consider documenting this versioning strategy in the project's contribution guidelines to maintain consistency across all components. This helps other contributors understand:
- Why devDependencies use exact versions
- Why peerDependencies maintain flexible ranges
- How version updates should be handled in future PRs
packages/components/input-otp/package.json (1)
59-60: Consider using caret ranges for development dependenciesWhile pinning exact versions can help with reproducible builds, using
^18.3.0for react and react-dom in devDependencies would allow for minor version updates while maintaining compatibility with the peer dependency requirement of>=18.- "react": "18.3.0", - "react-dom": "18.3.0", + "react": "^18.3.0", + "react-dom": "^18.3.0",packages/components/alert/package.json (1)
58-59: Consider documenting the React upgrade strategyThe consistent upgrade to React 18.3.0 across components is good. However, consider adding a note in the repository's documentation about:
- The minimum supported React version
- The testing strategy for React 19 compatibility
- The planned upgrade path for future React versions
packages/components/switch/package.json (1)
59-61: Consider documenting the React version upgrade processGiven the systematic update of React versions across components, consider:
- Adding a changelog entry about the React 18.3.0 upgrade
- Documenting any potential breaking changes or migration steps
- Updating the development documentation to reflect the new React version requirements
This will help maintain consistency and provide clarity for contributors and users.
packages/components/input/package.json (1)
61-63: Consider fixing react-hook-form versionWhile the React/ReactDOM versions are now fixed,
react-hook-formstill uses a caret range (^7.51.3). Consider fixing this version as well for better dependency predictability.- "react-hook-form": "^7.51.3" + "react-hook-form": "7.51.3"packages/components/tooltip/__tests__/tooltip.test.tsx (1)
4-4: LGTM! Consider adding test coverage for warning handler.The addition of
shouldIgnoreReactWarningimproves test reliability by handling React warnings consistently. The implementation looks good and aligns with the standardization effort across the test suite.Consider adding a dedicated test case for the warning handler to ensure its behavior is properly covered:
it("should handle React warnings appropriately", () => { const spy = jest.spyOn(console, "warn").mockImplementation(() => {}); // Test warning scenarios if (shouldIgnoreReactWarning(spy)) { // Test ignored warning case } else { // Test handled warning case } });Also applies to: 30-32
packages/components/popover/package.json (1)
66-66: LGTM! Consider documenting test utils usage.The addition of test utils and React version update align with the PR objectives. The changes maintain compatibility while improving test infrastructure.
Consider adding documentation for the test utils in the project's testing guide:
- How to use
shouldIgnoreReactWarning- Common testing patterns with the new utilities
- Migration guide for existing tests
Also applies to: 69-70
packages/components/tabs/package.json (1)
70-71: Consider using workspace-level version managementSince multiple packages are being updated to React 18.3.0, consider managing the React version at the workspace level to ensure consistency across all packages.
This could be achieved by:
- Moving React version to the root package.json
- Using workspace:* notation for React in component packages
- Implementing a version management strategy (e.g., using changesets)
packages/components/calendar/package.json (1)
73-74: LGTM: React version standardizationThe React dependency updates align with the workspace-wide standardization. The calendar component's extensive use of React Aria dependencies benefits from this controlled version update approach.
The consistent React version across components is particularly important for this component due to its deep integration with React Aria packages, helping prevent potential version conflicts.
packages/components/autocomplete/package.json (1)
71-71: LGTM! Consider version sync verificationThe changes maintain consistency with other packages. Consider implementing a version sync check in the CI pipeline to ensure React versions stay aligned across all packages.
Also applies to: 78-79
packages/components/popover/__tests__/popover.test.tsx (1)
52-54: Consider consistent error handling patternThe error handling pattern differs from other test files. Consider using the early return pattern for consistency:
- if (!shouldIgnoreReactWarning(spy)) { - expect(spy).toHaveBeenCalledTimes(0); - } + if (shouldIgnoreReactWarning(spy)) { + return; + } + expect(spy).toHaveBeenCalledTimes(0);packages/components/tabs/__tests__/tabs.test.tsx (2)
76-78: Consider consistent error handling patternThe error handling pattern differs from the accordion test file. Consider using the early return pattern for consistency:
- if (!shouldIgnoreReactWarning(spy)) { - expect(spy).toHaveBeenCalledTimes(0); - } + if (shouldIgnoreReactWarning(spy)) { + return; + } + expect(spy).toHaveBeenCalledTimes(0);
Line range hint
1-1: Standardize error handling pattern across test filesCurrently, there are two different patterns for handling React warnings across the test files:
- Early return pattern (in accordion.test.tsx):
if (shouldIgnoreReactWarning(spy)) { return; } expect(spy).toHaveBeenCalledTimes(0);
- Conditional execution pattern (in popover.test.tsx and tabs.test.tsx):
if (!shouldIgnoreReactWarning(spy)) { expect(spy).toHaveBeenCalledTimes(0); }Consider standardizing on the early return pattern across all test files for better maintainability and consistency.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (82)
.changeset/stupid-pants-perform.md(1 hunks)apps/docs/package.json(4 hunks)package.json(2 hunks)packages/components/accordion/__tests__/accordion.test.tsx(2 hunks)packages/components/accordion/package.json(1 hunks)packages/components/alert/package.json(1 hunks)packages/components/autocomplete/__tests__/autocomplete.test.tsx(2 hunks)packages/components/autocomplete/package.json(1 hunks)packages/components/avatar/package.json(1 hunks)packages/components/badge/package.json(1 hunks)packages/components/breadcrumbs/package.json(1 hunks)packages/components/button/package.json(1 hunks)packages/components/calendar/package.json(1 hunks)packages/components/card/package.json(1 hunks)packages/components/checkbox/package.json(1 hunks)packages/components/chip/package.json(1 hunks)packages/components/code/__tests__/code.test.tsx(2 hunks)packages/components/code/package.json(1 hunks)packages/components/date-input/package.json(1 hunks)packages/components/date-picker/__tests__/date-picker.test.tsx(3 hunks)packages/components/date-picker/package.json(1 hunks)packages/components/divider/package.json(1 hunks)packages/components/drawer/__tests__/drawer.test.tsx(2 hunks)packages/components/drawer/package.json(1 hunks)packages/components/dropdown/__tests__/dropdown.test.tsx(25 hunks)packages/components/dropdown/package.json(1 hunks)packages/components/form/package.json(1 hunks)packages/components/image/package.json(1 hunks)packages/components/input-otp/package.json(1 hunks)packages/components/input/package.json(1 hunks)packages/components/kbd/__tests__/kbd.test.tsx(2 hunks)packages/components/kbd/package.json(1 hunks)packages/components/link/package.json(1 hunks)packages/components/listbox/package.json(1 hunks)packages/components/menu/package.json(1 hunks)packages/components/modal/__tests__/modal.test.tsx(2 hunks)packages/components/modal/package.json(1 hunks)packages/components/navbar/__tests__/navbar.test.tsx(3 hunks)packages/components/navbar/package.json(1 hunks)packages/components/pagination/__tests__/pagination.test.tsx(2 hunks)packages/components/pagination/package.json(1 hunks)packages/components/popover/__tests__/popover.test.tsx(2 hunks)packages/components/popover/package.json(1 hunks)packages/components/progress/package.json(1 hunks)packages/components/radio/package.json(1 hunks)packages/components/ripple/package.json(1 hunks)packages/components/scroll-shadow/package.json(1 hunks)packages/components/select/__tests__/select.test.tsx(42 hunks)packages/components/select/package.json(1 hunks)packages/components/skeleton/package.json(1 hunks)packages/components/slider/package.json(1 hunks)packages/components/snippet/package.json(1 hunks)packages/components/spacer/__tests__/spacer.test.tsx(2 hunks)packages/components/spacer/package.json(1 hunks)packages/components/spinner/package.json(1 hunks)packages/components/switch/package.json(1 hunks)packages/components/table/package.json(1 hunks)packages/components/tabs/__tests__/tabs.test.tsx(2 hunks)packages/components/tabs/package.json(1 hunks)packages/components/tooltip/__tests__/tooltip.test.tsx(2 hunks)packages/components/tooltip/package.json(1 hunks)packages/components/user/package.json(1 hunks)packages/core/react/package.json(1 hunks)packages/core/system-rsc/package.json(1 hunks)packages/core/system/package.json(1 hunks)packages/core/theme/package.json(1 hunks)packages/core/theme/src/utils/types.ts(1 hunks)packages/hooks/use-aria-accordion-item/package.json(1 hunks)packages/hooks/use-aria-accordion/package.json(1 hunks)packages/hooks/use-aria-button/package.json(1 hunks)packages/hooks/use-aria-link/package.json(1 hunks)packages/hooks/use-aria-modal-overlay/package.json(1 hunks)packages/hooks/use-aria-multiselect/package.json(1 hunks)packages/hooks/use-callback-ref/package.json(1 hunks)packages/hooks/use-clipboard/package.json(1 hunks)packages/hooks/use-data-scroll-overflow/package.json(1 hunks)packages/hooks/use-disclosure/package.json(1 hunks)packages/hooks/use-draggable/package.json(1 hunks)packages/hooks/use-image/package.json(1 hunks)packages/hooks/use-infinite-scroll/package.json(1 hunks)packages/hooks/use-intersection-observer/package.json(1 hunks)packages/hooks/use-is-mobile/package.json(1 hunks)
⛔ Files not processed due to max files limit (22)
- packages/hooks/use-is-mounted/package.json
- packages/hooks/use-measure/package.json
- packages/hooks/use-pagination/package.json
- packages/hooks/use-real-shape/package.json
- packages/hooks/use-ref-state/package.json
- packages/hooks/use-resize/package.json
- packages/hooks/use-safe-layout-effect/package.json
- packages/hooks/use-scroll-position/package.json
- packages/hooks/use-ssr/package.json
- packages/hooks/use-theme/package.json
- packages/hooks/use-update-effect/package.json
- packages/storybook/package.json
- packages/utilities/aria-utils/package.json
- packages/utilities/framer-utils/package.json
- packages/utilities/react-rsc-utils/package.json
- packages/utilities/react-utils/package.json
- packages/utilities/shared-icons/package.json
- packages/utilities/test-utils/src/index.ts
- packages/utilities/test-utils/src/spy.ts
- plop/component/package.json.hbs
- plop/hook/package.json.hbs
- scripts/setup-test.ts
✅ Files skipped from review due to trivial changes (1)
- .changeset/stupid-pants-perform.md
🔇 Additional comments (84)
packages/components/modal/__tests__/modal.test.tsx (1)
4-4: LGTM: Good standardization of test utilities
The import of common test utilities from @nextui-org/test-utils helps maintain consistency across component test files.
packages/components/select/__tests__/select.test.tsx (2)
3-7: LGTM: Test utilities properly imported
The new imports from @nextui-org/test-utils are appropriately used for handling React warnings in the test suite.
63-65: LGTM: Proper test cleanup
The afterEach hook correctly clears all mocks after each test, ensuring a clean state for subsequent tests.
packages/components/spacer/__tests__/spacer.test.tsx (2)
3-3: LGTM: Test utilities import added consistently
The addition of spy and shouldIgnoreReactWarning from @nextui-org/test-utils aligns with the standardized approach being implemented across other NextUI components.
13-17: Verify React 18.3.0 warning handling
The conditional block appropriately handles potential React warnings, but we should verify if this pattern is consistently implemented across all component test suites.
✅ Verification successful
React warning handling is consistently implemented across components
The verification shows that shouldIgnoreReactWarning is properly implemented across the component test suites. The function is:
- Defined in
packages/utilities/test-utils/src/spy.tsas a shared utility - Consistently used in multiple component tests including accordion, autocomplete, code, date-picker, drawer, dropdown, modal, kbd, navbar, pagination, popover, select, spacer, tabs, and tooltip
- Implemented with the same pattern: checking React warnings and conditionally skipping the expectation
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if shouldIgnoreReactWarning is consistently implemented across test files
# Expected: Similar implementation pattern in other component test files
# Search for test files using shouldIgnoreReactWarning
rg -l "shouldIgnoreReactWarning" "packages/components/**/__tests__/*.tsx"
# Check the implementation pattern
rg -A 5 "shouldIgnoreReactWarning\(spy\)" "packages/components/**/__tests__/*.tsx"
Length of output: 316
Script:
#!/bin/bash
# Let's try a different approach to find test files and the warning pattern
# First, let's find all test files in the components directory
fd "test\.tsx$" packages/components
# Then search for shouldIgnoreReactWarning usage
rg "shouldIgnoreReactWarning" --type tsx
# Let's also look for the implementation of shouldIgnoreReactWarning
rg "function.*shouldIgnoreReactWarning" --type tsx
Length of output: 2879
Script:
#!/bin/bash
# Let's search for shouldIgnoreReactWarning without type restriction
rg "shouldIgnoreReactWarning" -A 5
# Also search for the test utility file that might contain this function
fd "test-utils|testing-utils|test-helper" packages/
Length of output: 16065
packages/core/theme/src/utils/types.ts (1)
7-7: LGTM! Type enhancement for tailwind-variants upgrade
The type refinement to exclude 0n from ClassValue improves type safety.
Let's verify the impact of this type change:
✅ Verification successful
Type change is safe and properly scoped
The exclusion of 0n from ClassValue in SlotsToClasses type is safe because:
- The only occurrence of
0nis in the type definition itself ClassValueis used extensively throughout the codebase but no actual usage of bigint literals (0n) was found- The change aligns with the tailwind-variants upgrade without breaking existing code
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for any existing usage of numeric literals with tailwind-variants
rg -t typescript "ClassValue.*0n"
Length of output: 70
Script:
#!/bin/bash
# Search for any usage of 0n in TypeScript files
rg --type ts "0n"
# Search for ClassValue type usage
rg --type ts "ClassValue"
# Search for SlotsToClasses type usage
rg --type ts "SlotsToClasses"
Length of output: 13626
packages/components/code/__tests__/code.test.tsx (2)
3-3: LGTM! Test utility imports added
Adding test utilities from @nextui-org/test-utils aligns with the standardization of test practices.
12-17: Verify test behavior with React 18.3.0
The conditional check for React warnings is added to handle potential differences in React 18.3.0 behavior.
Let's verify this pattern across other test files:
✅ Verification successful
React warning check is consistently implemented across components
The shouldIgnoreReactWarning utility is a standardized test helper used across multiple component test files to handle React's act warning. The implementation in the code component follows the same pattern used in other components (accordion, autocomplete, modal, tabs, etc.), where it checks for specific React warnings and skips the spy assertion when necessary.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for consistent usage of shouldIgnoreReactWarning
rg -t typescript "shouldIgnoreReactWarning.*spy.*return" packages/components/
Length of output: 114
Script:
#!/bin/bash
# Search for shouldIgnoreReactWarning function usage across test files
rg "shouldIgnoreReactWarning.*spy.*return" --type-add 'test:*.{test,spec}.{ts,tsx,js,jsx}' -t test
# Find the shouldIgnoreReactWarning function definition
rg "function.*shouldIgnoreReactWarning" --type-add 'ts:*.{ts,tsx}' -t ts -A 5
Length of output: 688
Script:
#!/bin/bash
# Let's find all test files that use this utility function to understand its usage pattern
rg -B 3 -A 3 "shouldIgnoreReactWarning" --type-add 'test:*.{test,spec}.{ts,tsx,js,jsx}' -t test
# Also check if there are any recent changes or additions related to React 18
rg "React 18" --type-add 'docs:*.{md,txt}' -t docs
Length of output: 17857
packages/hooks/use-clipboard/package.json (1)
41-41: Verify React version consistency
The React version upgrade to 18.3.0 aligns with the PR objectives.
Let's verify version consistency across packages:
✅ Verification successful
React version is consistent across all packages
All packages in the repository are using React version 18.3.0, either with exact version (18.3.0) or with caret range (^18.3.0). This is consistent with the version update in the use-clipboard package.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check React version consistency across all package.json files
fd package.json$ | xargs jq -r 'select(.devDependencies.react != null) | "\(.name): \(.devDependencies.react)"'
Length of output: 2548
packages/hooks/use-is-mobile/package.json (1)
44-44: LGTM! Verify version consistency across packages
The React version upgrade to ^18.3.0 is compatible with the specified peerDependencies range.
Let's verify the React version consistency across all package.json files:
✅ Verification successful
React version consistency verified across packages
All packages in the repository are using React version 18.3.0, either with strict (18.3.0) or caret (^18.3.0) versioning. Both formats are compatible and will resolve to the same version during installation.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React version consistency across all package.json files
# Expected: All packages should use the same React version (^18.3.0)
fd --type f "package.json" packages/ -x jq -r '. | select(.devDependencies.react != null) | "\(.name): \(.devDependencies.react)"'
Length of output: 2547
packages/hooks/use-draggable/package.json (1)
41-41: Verify @react-aria/interactions compatibility
While the React version upgrade looks good, we should verify the compatibility of @react-aria/interactions with React 18.3.0.
Let's check the compatibility:
✅ Verification successful
@react-aria/interactions is compatible with React 18.3.0
The package's peer dependencies explicitly support React versions ^18.0.0, which includes React 18.3.0. The dependency is safe to use with the upgraded React version.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check @react-aria/interactions version compatibility
# Expected: Package should support React 18.3.0
curl -s https://registry.npmjs.org/@react-aria/interactions/3.22.5 | jq '.peerDependencies'
Length of output: 159
packages/hooks/use-image/package.json (1)
45-45: Verify workspace dependency compatibility
While the React version upgrade looks good, we should verify the compatibility of the workspace dependency @nextui-org/use-safe-layout-effect with React 18.3.0.
Let's check the workspace dependency:
✅ Verification successful
React version compatibility verified across workspace dependencies
The workspace dependency @nextui-org/use-safe-layout-effect is using the same React version (^18.3.0) as the use-image package, ensuring full compatibility between them.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check workspace dependency compatibility
# Expected: @nextui-org/use-safe-layout-effect should have matching React version
fd --type f "package.json" packages/hooks/use-safe-layout-effect -x jq -r '.devDependencies.react'
Length of output: 104
packages/hooks/use-data-scroll-overflow/package.json (1)
44-44: LGTM! Version update is consistent
The React version upgrade to ^18.3.0 maintains consistency with other packages and aligns with the PR objectives.
packages/hooks/use-disclosure/package.json (1)
46-46: Verify compatibility with React dependencies
The React version upgrade to ^18.3.0 looks good and is compatible with the peer dependency range. However, let's verify compatibility with other React-related dependencies.
✅ Verification successful
React version ^18.3.0 is compatible with all dependencies
The React version upgrade to ^18.3.0 is compatible with all dependencies in the codebase. All packages that use @react-aria/utils and @react-stately/utils have peer dependencies of react: ">=18 || >=19.0.0-rc.0", which is fully compatible with React 18.3.0.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check versions of React-related dependencies
jq -r '.dependencies | to_entries[] | select(.key | contains("react")) | "\(.key): \(.value)"' packages/hooks/use-disclosure/package.json
Length of output: 194
Script:
#!/bin/bash
# Check if @react-aria/utils and @react-stately/utils have React version requirements
jq -r '.peerDependencies | to_entries[] | select(.key | contains("react")) | "\(.key): \(.value)"' packages/node_modules/@react-aria/utils/package.json packages/node_modules/@react-stately/utils/package.json 2>/dev/null || echo "Dependencies not found in node_modules"
# Let's check their package.json directly from the repository
fd -g "*package.json" -E "node_modules" | xargs grep -l "@react-aria/utils\|@react-stately/utils" | xargs cat
Length of output: 65903
Script:
#!/bin/bash
# Check the peer dependencies of @react-aria/utils and @react-stately/utils
fd -g "package.json" -E "node_modules" | xargs grep -l "@react-aria/utils\|@react-stately/utils" | while read -r file; do
echo "=== $file ==="
jq -r '.peerDependencies | select(. != null) | to_entries[] | select(.key | contains("react")) | "\(.key): \(.value)"' "$file"
done
Length of output: 15056
packages/hooks/use-aria-accordion-item/package.json (1)
47-47: Verify React Aria dependencies compatibility
The React version upgrade looks good, but we should verify compatibility with the React Aria dependencies.
✅ Verification successful
React version upgrade is compatible with dependencies
The package's configuration is correct and compatible:
- The peer dependency allows React ">=18 || >=19.0.0-rc.0", which covers React 18.3.0
- React Aria dependencies are on stable versions (3.x.x) that support React 18
- The dev dependency update to React 18.3.0 aligns with the peer dependency requirements
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if React Aria dependencies are compatible with React 18.3.0
jq -r '.dependencies | to_entries[] | select(.key | contains("@react-aria") or .key | contains("@react-stately")) | "\(.key): \(.value)"' packages/hooks/use-aria-accordion-item/package.json
Length of output: 343
Script:
#!/bin/bash
# Let's try a simpler approach to check package.json content
cat packages/hooks/use-aria-accordion-item/package.json
Length of output: 1454
packages/components/code/package.json (1)
48-48: Verify test utils integration
The addition of test utils is good for improving test coverage. Let's verify its usage in the codebase.
✅ Verification successful
Test utils are properly integrated and used
The test utils package is correctly imported and utilized in packages/components/code/__tests__/code.test.tsx, where it's being used for spying and React warning handling functionalities.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for test files using the new test utils
rg -l "@nextui-org/test-utils" "packages/components/code/**/*.test.*"
Length of output: 146
Script:
#!/bin/bash
# First, let's find test files in the code package
fd "\.test\." "packages/components/code"
# Then, let's check for any imports of test-utils across all files
rg "@nextui-org/test-utils" "packages/components/code"
Length of output: 344
packages/components/image/package.json (1)
51-52: Verify React 18.3.0 stability
While the version update aligns with the PR objectives, we should verify that React 18.3.0 is a stable release suitable for production use.
✅ Verification successful
React 18.3.0 is a stable release and widely adopted in the repository
Based on the verification results:
- React 18.3.0 is a stable release (not marked as prerelease) from April 25, 2024
- The version is consistently used across multiple packages in the repository
- Current open issues in React repository are not specific to version 18.3.0 stability
The version update in the image component's package.json is appropriate and aligns with the project's dependency management strategy.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check React 18.3.0 release information
curl -s "https://api.github.com/repos/facebook/react/releases" | jq '.[] | select(.tag_name=="v18.3.0") | {name, prerelease, created_at}'
# Check for any reported issues
gh api graphql -f query='
{
repository(owner: "facebook", name: "react") {
issues(first: 5, states: OPEN, labels: ["Status: Unconfirmed"], query: "18.3.0 in:title,body") {
nodes {
title
url
createdAt
}
}
}
}'
Length of output: 809
Script:
#!/bin/bash
# Let's try a different approach to check for potential issues with React 18.3.0
gh api graphql -f query='
{
repository(owner: "facebook", name: "react") {
issues(first: 5, states: OPEN, labels: ["Status: Unconfirmed"], orderBy: {field: CREATED_AT, direction: DESC}) {
nodes {
title
url
createdAt
labels(first: 5) {
nodes {
name
}
}
}
}
}
}'
# Also check package.json files across the repository for React version usage
fd package.json --exec grep -l "\"react\": \"18.3.0\""
Length of output: 3845
packages/components/divider/package.json (1)
50-51: LGTM! Version specifications are consistent
The exact versions for React dependencies align with the versioning strategy used across other NextUI components.
packages/core/system-rsc/package.json (1)
41-42: Ensure version consistency across packages
- The React version uses a caret (
^18.3.0) while other packages use exact version (18.3.0). Consider maintaining consistency across all packages. - Verify that tailwind-variants
^0.3.0is compatible with all dependent packages.
packages/components/spacer/package.json (1)
48-48: Changes look good
The updates are consistent with other packages:
- React/React DOM versions match other components
- Addition of test-utils aligns with the testing improvements mentioned in the PR objectives
Also applies to: 50-51
packages/hooks/use-aria-modal-overlay/package.json (1)
48-49: Consider using caret ranges for development dependencies
While pinning to exact versions can provide stability, using caret ranges (^) for development dependencies in a monorepo is often preferred as it:
- Allows for minor version updates containing bug fixes
- Reduces version conflicts between packages
- Maintains flexibility during development
- "react": "18.3.0",
- "react-dom": "18.3.0"
+ "react": "^18.3.0",
+ "react-dom": "^18.3.0"packages/components/kbd/package.json (2)
49-49: LGTM: Good addition of test utilities
Adding @nextui-org/test-utils as a workspace dependency improves testing consistency across components.
51-52: Consider using caret ranges for development dependencies
Similar to other packages, consider using caret ranges for React development dependencies.
packages/hooks/use-aria-accordion/package.json (1)
50-50: LGTM: Appropriate version range specification
Using caret range (^18.3.0) is the recommended approach for development dependencies.
However, consider adding react-dom as a peer dependency since it's typically required alongside React.
packages/hooks/use-aria-link/package.json (1)
49-49: LGTM! Version upgrade maintains semver compatibility.
The change to ^18.3.0 aligns with the project-wide React upgrade while maintaining flexibility for minor version updates in the development environment.
packages/hooks/use-aria-button/package.json (1)
49-49: LGTM! Version upgrade is consistent with other packages.
The change to ^18.3.0 maintains consistency across the NextUI packages while preserving appropriate version flexibility.
packages/components/user/package.json (1)
54-55: Verify React version compatibility with peer dependencies
While updating to React 18.3.0 aligns with the PR objectives, we should ensure this exact version remains compatible with the peer dependency range ">=18 || >=19.0.0-rc.0".
✅ Verification successful
React 18.3.0 is compatible with peer dependency requirements
The exact version 18.3.0 satisfies the peer dependency requirement of ">=18 || >=19.0.0-rc.0". This version is within the supported range and should work correctly with all dependent packages in the workspace.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for potential version conflicts across workspace
fd -e json -x jq -r 'select(.peerDependencies != null) | select(.peerDependencies.react != null) | "\(.name): \(.peerDependencies.react)"' {}
Length of output: 5366
Script:
#!/bin/bash
# Let's check the specific package.json for the user component to verify its peer dependencies
cat packages/components/user/package.json | jq -r '.peerDependencies.react'
Length of output: 97
packages/components/scroll-shadow/package.json (1)
52-53: LGTM: Consistent with other package updates
The React version updates align with the PR objectives and maintain consistency across components.
packages/components/kbd/__tests__/kbd.test.tsx (1)
3-3: LGTM: Good addition of test utilities
Adding test utilities from @nextui-org/test-utils improves test maintainability and standardization.
packages/components/badge/package.json (1)
53-54: Verify React 18.3.0 compatibility across the ecosystem
While updating to React 18.3.0 is good for staying current, let's verify its stability and compatibility with the NextUI ecosystem.
✅ Verification successful
Let me gather more specific information about the React hooks usage to ensure compatibility.
React 18.3.0 upgrade appears safe to proceed
The codebase only uses stable React 18 features, primarily the useId hook which has been stable since React 18.0. No usage of experimental features or unstable patterns was detected. The hooks being used (useId) are part of the stable public API and should continue working in React 18.3.0.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for potential compatibility issues with React 18.3.0
# Check if any workspace packages have conflicting React version requirements
fd -e package.json -x jq -r 'select(.peerDependencies != null) | select(.peerDependencies.react != null) | "\(.name): \(.peerDependencies.react)"'
# Look for React version-specific patterns or APIs in the codebase
rg -l "useId|useSyncExternalStore|useInsertionEffect|startTransition|useTransition"
Length of output: 759
Script:
#!/bin/bash
# Check specific usage of React 18 hooks and patterns
for file in $(rg -l "useId|useSyncExternalStore|useInsertionEffect|startTransition|useTransition"); do
echo "=== $file ==="
rg -A 2 "useId|useSyncExternalStore|useInsertionEffect|startTransition|useTransition" "$file"
done
# Check package.json files for React version specifications in dependencies and devDependencies
fd -e package.json -x jq -r 'select(.dependencies != null or .devDependencies != null) | "\(.name): dependencies.react=\(.dependencies.react // "none"), devDependencies.react=\(.devDependencies.react // "none")"'
Length of output: 6718
packages/components/form/package.json (1)
55-56: Ensure consistent React dependencies with related packages
The form component has dependencies on @react-aria/utils, @react-stately/form, and other React-ecosystem packages. Let's verify their compatibility with React 18.3.0.
✅ Verification successful
React 18.3.0 is compatible with the form component dependencies
The React ecosystem dependencies (@react-aria/utils and @react-stately/form) explicitly support React versions from 16.8.0 up to and including React 19.0.0-rc.1, which means React 18.3.0 is within the supported range. While there is one open issue in react-spectrum regarding NumberField validation in Next.js, it's not directly related to React version compatibility.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check compatibility of React ecosystem dependencies
# Look for React version requirements in dependencies
fd -e package.json -x jq -r 'select(.dependencies != null) | select(.dependencies["@react-aria/utils"] != null or .dependencies["@react-stately/form"] != null or .dependencies["@react-types/form"] != null) | "\(.name): \(.dependencies)"'
# Check if these packages have any known issues with React 18.3.0
gh api graphql -f query='
{
search(query: "repo:adobe/react-spectrum React 18.3.0", type: ISSUE, first: 5) {
nodes {
... on Issue {
title
url
state
}
}
}
}'
Length of output: 610
Script:
#!/bin/bash
# Let's check the specific versions of React ecosystem dependencies
fd -e package.json -x jq -r '.dependencies | select(.["@react-aria/utils"] != null or .["@react-stately/form"] != null) | to_entries[] | select(.key | startswith("@react")) | "\(.key): \(.value)"'
# Also check React peer dependencies of these packages
for pkg in "@react-aria/utils" "@react-stately/form"; do
echo "Checking $pkg:"
npm info $pkg peerDependencies --json 2>/dev/null
done
Length of output: 686
packages/core/theme/package.json (2)
62-62: Review major version bump impact
The update of @types/color from v3 to v4 and strict versioning of dependencies might affect type definitions.
Also applies to: 64-64
54-55: Verify breaking changes in tailwind-variants upgrade
The update from ^0.1.20 to 0.3.0 is significant. The removal of the caret (^) indicates a strict version requirement.
✅ Verification successful
Let me gather more information about the breaking changes in tailwind-variants.
Safe to upgrade tailwind-variants to v0.3.0
Based on the changelog analysis and codebase inspection:
- No breaking changes in v0.3.0 release
- Main changes are bug fixes and improvements:
- Fixed responsive variants for base when slots are present
- Fixed compound variants behavior with undefined values
- Fixed mergeObjects order
- Current usage patterns in the codebase (tv function calls and extends) are compatible with v0.3.0
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for breaking changes in tailwind-variants changelog
gh api repos/nextui-org/tailwind-variants/releases | jq -r '.[].body' | grep -i "breaking"
# Check usage patterns that might be affected
rg -l "tailwind-variants" | xargs rg "tv\(" -A 2
Length of output: 14222
Script:
#!/bin/bash
# Check for specific version releases and their content
gh api repos/nextui-org/tailwind-variants/releases | jq -r '.[] | select(.tag_name | test("v0\\.[23]")) | "\n### \(.tag_name)\n\(.body)"'
# Check for any specific patterns in the usage that might be affected by breaking changes
ast-grep --pattern 'tv({
$$$
extend: $_,
$$$
})'
Length of output: 7387
packages/components/chip/package.json (1)
56-57: Verify React 18.3.0 compatibility
While devDependencies specify exact version 18.3.0, peerDependencies remain flexible (>=18 || >=19.0.0-rc.0). This is good for ecosystem compatibility.
✅ Verification successful
React 18.3.0 usage appears safe and consistent
The verification shows:
- React 18.3.0 is consistently used across the workspace where explicitly specified
- The codebase uses stable React features (useId) that are supported in React 18
- No usage of experimental features that might cause compatibility issues was found
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check React version consistency across workspace
fd package.json | xargs jq -r 'select(.dependencies.react != null) | .name + ": " + .dependencies.react'
# Check for React version-specific features
rg "use(Transition|Suspense|Id)" -A 2
Length of output: 5972
packages/core/system/package.json (1)
44-45: Verify ecosystem compatibility
The React 18.3.0 update needs to be verified against the framer-motion dependency and other workspace packages.
✅ Verification successful
Let me gather more information about the framer-motion dependency and React version across the workspace.
React 18.3.0 update is compatible with the workspace
The update to React 18.3.0 is safe as:
- There's no direct framer-motion dependency in the system package
- All workspace packages have compatible React peer dependencies (
>=18 || >=19.0.0-rc.0) - Only docs and storybook packages explicitly use React 18.3.0, maintaining version consistency
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check framer-motion compatibility with React 18.3.0
jq -r '.peerDependencies["framer-motion"]' package.json
# Verify React usage patterns
rg "import.*from.*'react'" -A 2
Length of output: 847
Script:
#!/bin/bash
# Check if framer-motion is a direct dependency
jq -r '.dependencies["framer-motion"]' packages/core/system/package.json
# Find all package.json files in the workspace and check their React versions
fd package.json --exec jq -r '. | select(.dependencies.react or .peerDependencies.react) | {name: .name, react: (.dependencies.react // .peerDependencies.react)}'
# Search for framer-motion imports and usage
rg "import.*from.*'framer-motion'" -A 2
Length of output: 6379
packages/components/avatar/package.json (1)
56-57: Verify React 19 RC compatibility
While the peer dependencies correctly specify support for React 19 RC (>=19.0.0-rc.0), we should ensure that version 18.3.0 in devDependencies doesn't introduce any compatibility issues with React 19 features used in tests.
✅ Verification successful
React version compatibility verified - no issues found
The Avatar component uses only stable React features (basic hooks like useMemo, standard component patterns, and testing utilities). No React 19-specific features are being used in the implementation or tests. The devDependencies version (18.3.0) is suitable for development and testing purposes, while the peer dependencies correctly handle both React 18 and 19 compatibility.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for React 19 specific features or APIs in the codebase
rg -l "use(Transition|Suspense|Id|SyncExternalStore)" packages/components/avatar/src
Length of output: 86
Script:
#!/bin/bash
# Let's check the actual test files and component implementation for any React features
rg -l "use[A-Z]" packages/components/avatar/
# Also check for any React hooks or features in the implementation
rg -A 5 "^(import|export).*from 'react'" packages/components/avatar/src/
# Check if there are any test files using React 19 specific test utils
rg -l "act|createRoot|renderHook" packages/components/avatar/
Length of output: 1064
Script:
#!/bin/bash
# Let's examine the actual implementation of hooks and imports to verify React feature usage
rg -A 5 "^import.*from 'react'" packages/components/avatar/src/use-avatar.ts packages/components/avatar/src/use-avatar-group.ts
# Check test files for any React 19 specific testing patterns
cat packages/components/avatar/__tests__/avatar.test.tsx
# Examine the actual component implementation
cat packages/components/avatar/src/avatar.tsx
Length of output: 4539
packages/components/progress/package.json (1)
57-58: Maintain version consistency with workspace dependencies
The React version update matches other packages, which is good for consistency. However, ensure that all workspace dependencies (marked with workspace:*) are compatible with React 18.3.0.
✅ Verification successful
React version 18.3.0 is compatible with workspace dependencies
All workspace dependencies in the codebase specify React peer dependency requirements as ">=18 || >=19.0.0-rc.0", which means React 18.3.0 is fully compatible with them. The version update in the progress component's package.json aligns well with the peer dependency requirements across the workspace.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify workspace dependencies compatibility with React 18.3.0
# Check React version requirements in workspace dependencies
echo "Checking workspace dependencies React compatibility..."
fd package.json$ | xargs grep -l "workspace:\\*" | while read -r file; do
echo "Checking $file..."
grep -A 10 "\"peerDependencies\":" "$file" | grep -A 2 "\"react\":"
done
Length of output: 21157
packages/components/snippet/package.json (1)
58-59: Verify framer-motion compatibility with React 18.3.0
The snippet component has framer-motion as a peer dependency. We should verify its compatibility with React 18.3.0, especially since it's using version 11.9.0.
✅ Verification successful
React 18.3.0 is compatible with framer-motion 11.9.0
The verification shows that framer-motion 11.9.0 requires React ^18.0.0 as a peer dependency, which means it's compatible with any React version from 18.0.0 up to (but not including) 19.0.0. Therefore, React 18.3.0 is within the supported range.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check framer-motion compatibility with React 18.3.0
# Check framer-motion version and React peer dependency requirements
echo "Checking framer-motion compatibility..."
curl -s https://registry.npmjs.org/framer-motion/11.9.0 | jq -r '.peerDependencies.react'
# Look for any framer-motion related issues in the codebase
echo "Checking for framer-motion related patterns..."
rg -g '*.{ts,tsx}' 'framer-motion.*react'
Length of output: 333
packages/components/slider/package.json (1)
60-61: Verify React 18.3.0 compatibility with @react-aria dependencies
The update to React 18.3.0 looks good, but let's verify compatibility with the @react-aria dependencies used in this package.
✅ Verification successful
Let me generate the final response based on the verification results.
React 18.3.0 is compatible with the package dependencies
The verification shows that all @react-aria packages in the codebase have peer dependencies that accept React versions >=18 || >=19.0.0-rc.0, which means React 18.3.0 is fully compatible with these dependencies.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if @react-aria packages specify React version constraints
rg -A 5 '"peerDependencies"' $(fd -t f package.json -x dirname {} | grep '@react-aria' | sed 's/$/\/package.json/')
Length of output: 35178
packages/components/breadcrumbs/package.json (1)
59-60: LGTM: Version update consistent with project standards
The React version update to 18.3.0 aligns with the PR objectives and maintains consistency across components.
packages/components/switch/package.json (1)
59-61: Verify react-hook-form compatibility with React 18.3.0
While the React version update is consistent, please verify that react-hook-form@^7.51.3 is fully compatible with React 18.3.0.
✅ Verification successful
React Hook Form is compatible with React 18.3.0
The verification confirms that react-hook-form@7.51.3 lists React ^18 as a compatible peer dependency, which includes React 18.3.0.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check react-hook-form package.json for React version requirements
curl -s https://registry.npmjs.org/react-hook-form/7.51.3 | jq -r '.peerDependencies'
Length of output: 124
packages/components/date-input/package.json (1)
60-61: LGTM! Version updates align with project standards.
The update to exact React versions in devDependencies while maintaining flexible peerDependencies is a good practice.
Let's verify version consistency across workspace packages:
✅ Verification successful
This modified script will:
- Find all package.json files
- Print the file path
- Show React-related dependency lines
- Continue even if some files don't have React dependencies
✅ React version update is consistent across the workspace
The version update to React 18.3.0 in date-input's devDependencies aligns with all other packages in the workspace. All packages maintain:
- Flexible peerDependencies (
>=18 || >=19.0.0-rc.0) - Exact devDependencies (18.3.0)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React version consistency across workspace packages
fd -e package.json -x jq -r '. | select(.devDependencies.react != null) | "\(.name): React \(.devDependencies.react)"'
Length of output: 120
Script:
#!/bin/bash
# Let's try a different approach to check React versions
# First, let's find all package.json files
fd package.json --type f --exec sh -c 'echo "=== $1 ==="; cat "$1" | grep -A1 "\"react\":" || true' sh
Length of output: 13689
packages/hooks/use-aria-multiselect/package.json (1)
58-59: LGTM! Verify compatibility with react-aria dependencies.
The React version update is consistent with the project standards. However, given the extensive use of react-aria packages, it's good practice to verify compatibility.
Let's check compatibility with react-aria dependencies:
✅ Verification successful
React 18.3.0 update is compatible with dependencies
The update to React 18.3.0 is fully compatible with the package's dependencies:
- The peer dependencies explicitly support React versions
>=18 || >=19.0.0-rc.0 - All @react-aria packages being used are from recent stable versions (3.x.x series)
- The specified React version (18.3.0) falls within the supported version range
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check react-aria dependencies compatibility with React 18.3.0
fd -e package.json -x jq -r '. | select(.dependencies["@react-aria/utils"] != null) | "\(.name): @react-aria/utils \(.dependencies["@react-aria/utils"])"'
Length of output: 156
Script:
#!/bin/bash
# Let's check all react-aria related dependencies in the package
cat packages/hooks/use-aria-multiselect/package.json | jq '.dependencies | with_entries(select(.key | startswith("@react-aria")))'
# Also check the specific version requirements for react peer dependencies in react-aria packages
cat packages/hooks/use-aria-multiselect/package.json | jq '.peerDependencies'
Length of output: 534
packages/components/pagination/package.json (1)
57-57: LGTM! Test utilities added and versions updated.
The changes are consistent with the project-wide updates. The addition of test-utils suggests improved test coverage.
Let's verify test coverage across components:
Also applies to: 59-60
✅ Verification successful
Test utilities and test coverage are properly in place
The verification confirms that:
- The pagination component has test coverage with
__tests__/pagination.test.tsx - The test-utils dependency is correctly added to package.json
- The related hook (use-pagination) also has test coverage
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check test-utils adoption across components
fd -e package.json -x jq -r '. | select(.devDependencies["@nextui-org/test-utils"] != null) | "\(.name): has test-utils"'
Length of output: 123
Script:
#!/bin/bash
# Let's try a different approach to check test-utils dependencies
fd -e package.json -x grep -l "@nextui-org/test-utils" {}
# Also check if there are any test files in the pagination component
fd -e test.tsx -e test.ts -p pagination/
# Check the specific package.json content
cat packages/components/pagination/package.json
Length of output: 2147
packages/components/radio/package.json (1)
59-59: LGTM: Test utilities addition
Adding test utilities as a dev dependency is a good practice for maintaining consistent testing patterns across components.
packages/components/button/package.json (1)
62-63: LGTM: Consistent React version update
The React/ReactDOM version update to 18.3.0 maintains consistency with other packages in the monorepo.
packages/components/menu/package.json (1)
63-64: LGTM: React version update aligns with PR objectives
The update to React 18.3.0 in devDependencies while maintaining flexible peerDependencies ensures development consistency without imposing strict version requirements on end users.
packages/components/card/package.json (1)
64-65: LGTM: Consistent React version update
The React version update matches other packages and aligns with the PR objectives.
packages/components/tooltip/package.json (1)
62-62: LGTM: Test utilities addition enhances testing capabilities
The addition of @nextui-org/test-utils aligns with the PR's goal of improving tests across components.
packages/components/drawer/package.json (2)
61-61: LGTM: Test utilities integration
Adding @nextui-org/test-utils as a devDependency aligns with the project's goal of improving test coverage and standardization.
64-65: Verify React version compatibility
The update to React 18.3.0 in devDependencies while maintaining flexible peerDependencies (>=18 || >=19.0.0-rc.0) is a good approach. This allows for development with a specific version while maintaining broad compatibility for end users.
✅ Verification successful
React version compatibility is consistent across components
The verification confirms that the React version configuration is consistent across the codebase. All sampled components, including the drawer, core/react, button, and modal packages:
- Use React 18.3.0 in devDependencies for development
- Maintain flexible peerDependencies of ">=18 || >=19.0.0-rc.0" for end users
This configuration ensures development consistency while maintaining broad compatibility for consumers of the library.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify React version compatibility across workspace
# Check if any packages have conflicting React peer dependencies
fd -e package.json -x jq -r 'select(.peerDependencies != null) | select(.peerDependencies.react != null) | "\(.name): \(.peerDependencies.react)"'
Length of output: 148
Script:
#!/bin/bash
# Let's try a different approach to check React version compatibility
# First, let's check the package.json in the drawer component
cat packages/components/drawer/package.json
# Then, let's find all package.json files that mention React
rg -l "\"react\":" --type json
Length of output: 5471
Script:
#!/bin/bash
# Let's check the peerDependencies and devDependencies of React across multiple components
# Sample a few key components to verify version compatibility
for pkg in packages/components/drawer/package.json packages/core/react/package.json packages/components/button/package.json packages/components/modal/package.json
do
echo "=== $pkg ==="
jq -r '.peerDependencies.react, .devDependencies.react' "$pkg" 2>/dev/null
done
Length of output: 1563
packages/components/listbox/package.json (1)
66-67: Verify React Aria dependencies compatibility
The update to React 18.3.0 looks good, but we should verify compatibility with the React Aria dependencies (@react-aria/utils 3.26.0, @react-aria/listbox 3.13.6, etc.).
✅ Verification successful
React Aria dependencies are compatible with React 18.3.0
The peer dependencies for both @react-aria/utils@3.26.0 and @react-aria/listbox@3.13.6 support React versions ^18.0.0, which includes React 18.3.0. The update is safe to proceed.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React Aria packages compatibility with React 18.3.0
# Fetch React Aria packages' peer dependencies
curl -s "https://registry.npmjs.org/@react-aria/utils/3.26.0" | jq -r '.peerDependencies?.react'
curl -s "https://registry.npmjs.org/@react-aria/listbox/3.13.6" | jq -r '.peerDependencies?.react'
Length of output: 297
packages/components/dropdown/package.json (1)
67-68: Verify framer-motion compatibility
The React 18.3.0 update is consistent with other packages. However, we should verify compatibility between React 18.3.0 and framer-motion 11.9.0.
✅ Verification successful
React 18.3.0 is compatible with framer-motion 11.9.0
The verification confirms that framer-motion 11.9.0 specifies a peer dependency of ^18.0.0 for React, which means it's compatible with React versions from 18.0.0 up to (but not including) 19.0.0. Therefore, React 18.3.0 is within the supported range.
Additionally, no other packages in the workspace have conflicting framer-motion versions that could cause compatibility issues.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check framer-motion compatibility with React 18.3.0
# Fetch framer-motion peer dependencies
curl -s "https://registry.npmjs.org/framer-motion/11.9.0" | jq -r '.peerDependencies?.react'
# Check if any other packages in the workspace use different framer-motion versions
fd -e package.json -x jq -r 'select(.dependencies["framer-motion"] != null or .devDependencies["framer-motion"] != null) | "\(.name): \(.dependencies["framer-motion"] // .devDependencies["framer-motion"])"'
Length of output: 309
packages/components/checkbox/package.json (1)
66-67: LGTM! Verify React 18.3.0 compatibility.
The React version update to 18.3.0 aligns with the PR objectives. The peer dependencies correctly maintain compatibility with both React 18 and 19.0.0-rc.0.
Let's verify the React version compatibility across the monorepo:
✅ Verification successful
Let me verify the peer dependencies to understand if the version mismatches are intentional.
React version update is compatible and follows the monorepo pattern
The version mismatches found are intentional and follow a consistent pattern:
- Component packages (like checkbox) use exact version "18.3.0"
- Utility packages use "^18.3.0" for flexibility
- All packages maintain compatible peer dependencies of ">=18 || >=19.0.0-rc.0"
This structure ensures internal compatibility while maintaining flexibility for consumers.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React version consistency across packages
# Check React versions in all package.json files
fd package.json$ | xargs jq -r 'select(.dependencies.react or .devDependencies.react) | "\(.name): React \(.dependencies.react // .devDependencies.react)"'
# Check for any React version mismatches
fd package.json$ | xargs jq -r 'select(.dependencies.react != "18.3.0" and .devDependencies.react != "18.3.0" and (.dependencies.react or .devDependencies.react)) | "\(.name): Mismatched React version"'
Length of output: 4872
Script:
#!/bin/bash
# Check peer dependencies for React across packages
fd package.json$ | xargs jq -r 'select(.peerDependencies.react) | "\(.name): React peer dependency: \(.peerDependencies.react)"'
Length of output: 5479
packages/components/table/package.json (1)
70-71: Verify React 18.3.0 compatibility and stability
The update to React 18.3.0 in devDependencies while maintaining flexible peerDependencies is a good approach. However, let's verify the stability of this version.
✅ Verification successful
React 18.3.0 version is safe to use
The version is consistently used across the codebase with proper peer dependency ranges (>=18 || >=19.0.0-rc.0), and the codebase shows appropriate usage of React 18 features like useId. The version exists in the npm registry and there are no critical issues reported specifically for version 18.3.0.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check React 18.3.0 compatibility and known issues
# Check if this version exists on npm
curl -s https://registry.npmjs.org/react/18.3.0 | jq '.version'
# Check for related GitHub issues
gh api graphql -f query='
{
search(query: "repo:facebook/react is:issue React 18.3.0", type: ISSUE, first: 5) {
nodes {
... on Issue {
title
state
url
}
}
}
}'
Length of output: 1107
Script:
#!/bin/bash
# Let's check the actual React version requirements across the codebase
fd package.json --exec grep -l "react\":" {} \; | xargs cat | grep "\"react\""
# Also check for any React-specific code patterns that might be version-sensitive
ast-grep --pattern 'import { $_ } from "react"'
# Check for any React 18-specific features usage
rg "useId|useSyncExternalStore|useInsertionEffect|startTransition|useTransition" -A 2
Length of output: 17407
packages/components/date-picker/package.json (1)
70-71: Ensure alignment with framer-motion compatibility
The package has both React 18.3.0 and framer-motion 11.9.0 as devDependencies. Verify that these versions are compatible, especially since framer-motion is a critical peer dependency.
✅ Verification successful
React 18.3.0 is compatible with framer-motion 11.9.0
The framer-motion 11.9.0 package specifies "^18.0.0" as its React peer dependency requirement, which means it's compatible with React versions from 18.0.0 up to (but not including) 19.0.0. Therefore, React 18.3.0 falls within this compatible range.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check framer-motion compatibility with React 18.3.0
# Search for React version requirements in framer-motion
curl -s https://registry.npmjs.org/framer-motion/11.9.0 | jq '.peerDependencies.react'
# Check for related issues
gh api graphql -f query='
{
search(query: "repo:framer/motion React 18.3.0", type: ISSUE, first: 5) {
nodes {
... on Issue {
title
state
url
}
}
}
}'
Length of output: 329
packages/components/navbar/package.json (2)
65-65: LGTM: Test utilities addition
Adding @nextui-org/test-utils as a dev dependency aligns with the PR's goal of improving test coverage and standardization across components.
70-71: Verify React version compatibility
The exact version pinning of React dependencies to 18.3.0 in devDependencies while maintaining flexible peer dependencies is a good approach. However, let's verify this version across the workspace.
✅ Verification successful
React version 18.3.0 is consistently used across the workspace
The verification shows that React version 18.3.0 is consistently used as a devDependency across all packages in the workspace, while maintaining flexible peer dependencies that support both React 18 and upcoming React 19 (>=18 || >=19.0.0-rc.0). This is the recommended approach for library development.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check React version consistency across workspace
fd -e package.json -x jq -r '. | select(.devDependencies.react != null) | "\(.name): \(.devDependencies.react)"'
Length of output: 114
Script:
#!/bin/bash
# Let's try a different approach to check React versions across the workspace
# First, check for React in dependencies
echo "=== React in dependencies ==="
fd -e package.json -x jq -r '. | select(.dependencies.react != null) | "\(.name): \(.dependencies.react)"'
echo -e "\n=== React in devDependencies ==="
fd -e package.json -x jq -r '. | select(.devDependencies.react != null) | "\(.devDependencies.react)"'
echo -e "\n=== React in peerDependencies ==="
fd -e package.json -x jq -r '. | select(.peerDependencies.react != null) | "\(.name): \(.peerDependencies.react)"'
# Also check for react-dom versions
echo -e "\n=== React DOM versions ==="
fd -e package.json -x jq -r '. | select(.dependencies."react-dom" != null or .devDependencies."react-dom" != null or .peerDependencies."react-dom" != null) | "\(.name): dev=\(.devDependencies."react-dom"//"-") peer=\(.peerDependencies."react-dom"//"-") dep=\(.dependencies."react-dom"//"-")"'
Length of output: 927
Script:
#!/bin/bash
# Let's try a simpler approach using grep to find React versions
echo "=== Searching for React versions in package.json files ==="
fd -e package.json -x grep -l "react" {} \; -exec cat {} \; | grep -A2 -B2 '"react":'
echo -e "\n=== Searching for react-dom versions in package.json files ==="
fd -e package.json -x grep -l "react-dom" {} \; -exec cat {} \; | grep -A2 -B2 '"react-dom":'
Length of output: 735
Script:
#!/bin/bash
# Let's try one last approach using find and grep
echo "=== React versions across workspace ==="
find . -name "package.json" -type f -exec sh -c 'echo "File: {}"; grep -A1 -B1 "\"react\":" "{}"' \;
echo -e "\n=== React DOM versions across workspace ==="
find . -name "package.json" -type f -exec sh -c 'echo "File: {}"; grep -A1 -B1 "\"react-dom\":" "{}"' \;
Length of output: 119186
Script:
#!/bin/bash
# Try a simpler approach with ripgrep to find React versions
echo "=== React versions in package.json files ==="
rg -A 1 '"react": "18\.3\.0"' --type json
echo -e "\n=== React peer dependencies ==="
rg '"react": ">=18' --type json
Length of output: 13392
packages/components/accordion/package.json (1)
75-76: LGTM: Consistent React version update
The React dependency updates match the pattern across other components, maintaining consistency in the workspace.
packages/components/modal/package.json (1)
69-69: LGTM! Verify version compatibility
The changes look good:
- Adding test utils enhances testing capabilities
- React 18.3.0 is compatible with peerDependencies constraints
Also applies to: 73-74
✅ Verification successful
The shell script results show that React version compatibility is consistent across the workspace packages. Most packages, including the modal package, specify peerDependencies as "react: >=18 || >=19.0.0-rc.0" and "react-dom: >=18 || >=19.0.0-rc.0". The updated React version 18.3.0 in the modal package falls within this range.
Let me generate the final response:
✅ Version compatibility verified
React 18.3.0 is compatible with the peerDependencies constraints across all workspace packages, which specify support for React >=18 or >=19.0.0-rc.0.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify version compatibility across workspace packages
# Check if all modal's peer dependencies are satisfied by the new versions
# Get all package.json files in the workspace
fd -e json -g "**/package.json" -E "**/node_modules/**" | while read -r pkg; do
echo "Checking $pkg"
jq -r '.peerDependencies | select(. != null) | to_entries | .[] | select(.key | contains("react")) | "\(.key): \(.value)"' "$pkg"
done
Length of output: 28868
packages/components/select/package.json (1)
70-70: LGTM! Changes align with project standards
The updates maintain consistency with other packages in the workspace:
- Test utils for improved testing
- React 18.3.0 aligns with peerDependencies
Also applies to: 78-79
packages/components/drawer/__tests__/drawer.test.tsx (2)
5-5: LGTM: Test utility standardization
Good practice to centralize test utilities in a shared package.
27-29: Verify React 18.3.0 warning handling
The conditional block appears to handle React 18.3.0 specific warnings. Ensure this pattern is consistently applied across all component test suites.
✅ Verification successful
React warning handling is consistently implemented across components
The warning handling pattern using shouldIgnoreReactWarning(spy) is already consistently implemented across multiple component test suites including:
- accordion
- autocomplete
- code
- drawer
- dropdown
- kbd
- modal
- navbar
- pagination
- popover
- select
- spacer
- tabs
- tooltip
- date-picker
The implementation in the drawer component follows the same pattern used throughout the codebase.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for consistent warning handling pattern across test files
rg -l "shouldIgnoreReactWarning\(spy\)" "packages/components/**/__tests__/*.test.tsx"
Length of output: 171
Script:
#!/bin/bash
# First, let's find the correct test files path structure
fd "\.test\.tsx$" packages/components
# Then search for the warning handling pattern
rg "shouldIgnoreReactWarning" -A 2 packages/components
Length of output: 10981
packages/core/react/package.json (1)
99-100: LGTM: React 18.3.0 upgrade
Good practice to use exact versions in devDependencies while keeping peerDependencies flexible. This ensures consistent development while maintaining compatibility for end users.
apps/docs/package.json (3)
78-79: LGTM: Consistent React version upgrade
React version updates are consistently applied in both dependencies and pnpm overrides.
Also applies to: 141-142
97-97: LGTM: tailwind-variants upgrade
Upgrade to ^0.3.0 aligns with PR objectives.
127-127: Verify the necessity of esbuild-plugin-raw
Please clarify the need for adding esbuild-plugin-raw. Is this required for the tailwind-variants upgrade or React 18.3.0 compatibility?
✅ Verification successful
The esbuild-plugin-raw dependency is necessary for MDX content processing
Based on the verification results, the esbuild-plugin-raw package is used in apps/docs/contentlayer.config.js as part of the MDX content processing pipeline. It's configured as an esbuild plugin in the MDX options to handle raw content imports. This is a legitimate dependency for the documentation site's content processing system and is not related to the tailwind-variants upgrade or React 18.3.0 compatibility.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if esbuild-plugin-raw is used in the codebase
rg -l "esbuild-plugin-raw" "apps/docs/**/*.{js,ts,jsx,tsx}"
Length of output: 130
Script:
#!/bin/bash
# Check if esbuild-plugin-raw is used in the codebase with correct path
rg -l "esbuild-plugin-raw"
# Check the next.config.js or similar build config files
fd -e js -e ts "config" apps/docs/
Length of output: 310
Script:
#!/bin/bash
# Check how esbuild-plugin-raw is used in contentlayer.config.js
cat apps/docs/contentlayer.config.js
# Check if there are any raw imports in the codebase
rg -l "import.*raw" apps/docs/
Length of output: 34793
packages/components/pagination/__tests__/pagination.test.tsx (1)
3-3: LGTM! Consistent warning handling implementation.
The addition of @nextui-org/test-utils and the conditional check for React warnings follows the standardized pattern being implemented across the test suite. This change helps prevent false positives from expected React warnings.
Also applies to: 12-17
packages/components/navbar/__tests__/navbar.test.tsx (1)
4-4: LGTM! Consistent test utility implementation.
The implementation of React warning handling matches the standardized pattern, appropriately placed after the user interaction test.
Also applies to: 95-98
package.json (3)
133-134: Verify build tool compatibility.
The significant version jumps in tsup (6.4.0 -> 8.3.5) and tsx (3.8.2 -> 4.19.2) require verification of build outputs.
✅ Verification successful
Build tool compatibility verified - safe to upgrade
The tsup configurations are using basic and stable features (clean, target, format, entry) that are well-supported across major versions. The build setup is straightforward and doesn't utilize any version-specific features that could break with the upgrade from 6.4.0 to 8.3.5. The tsx upgrade is also safe as it's only used indirectly through turbo build commands.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for tsup and tsx configurations
fd -e config.ts -e config.js --exec rg -l "tsup|tsx"
# Check for custom build configurations that might be affected
rg -l "\.tsup\.ts|\.tsup\.js"
Length of output: 2406
Script:
#!/bin/bash
# Let's check the content of a few tsup config files to understand the build configuration
cat ./packages/core/react/tsup.config.ts ./packages/core/system/tsup.config.ts
# Also check package.json build scripts
rg "\"build\":" package.json -A 2
Length of output: 691
136-136: Review TypeScript 5.x breaking changes impact.
The upgrade from TypeScript 4.9.5 to 5.5.0 is a major version jump that could introduce breaking changes.
✅ Verification successful
TypeScript 5.x upgrade appears safe for this codebase
The codebase analysis shows:
- Simple enum usage in pagination that's not affected by TS 5.x changes
- Module declarations are only used in documentation and type definitions
- No const enums found
- Modern TypeScript features like
satisfiesare already in use - No usage of features that had breaking changes in TS 5.x
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for potentially affected TypeScript features
rg -l "enum\s+\w+\s*\{" # Check enum usage (changed in TS 5.0)
rg -l "declare\s+module" # Check module declarations (changed in TS 5.0)
ast-grep --pattern 'const enum $$$' # Check const enums (changed in TS 5.0)
Length of output: 230
Script:
#!/bin/bash
# Let's examine the enum usage in detail
rg -A 5 "enum\s+\w+\s*\{" packages/hooks/use-pagination/src/index.ts
# Check module declarations
rg -A 5 "declare\s+module" apps/docs/global.d.ts apps/docs/content/docs/guide/routing.mdx apps/docs/content/blog/v2.6.0.mdx
# Check for usage of TypeScript 5.0+ specific features
rg -l "satisfies\s+" # Check for satisfies operator
rg -l "using\s+" # Check for using declarations
rg -l "override\s+" # Check for override modifiers
Length of output: 8490
130-130: Verify React 18.3.0 compatibility across the codebase.
The upgrade to React 18.3.0 should be tested thoroughly to ensure compatibility with existing features.
Also applies to: 144-145
✅ Verification successful
Let me check the specific usage of React.version in the identified file.
React 18.3.0 upgrade appears safe to proceed
The codebase has minimal React version dependencies, with only one instance checking for React 19, which won't be affected by the 18.3.0 upgrade. No usage of React 18's concurrent features (useTransition, useDeferredValue) or other version-sensitive APIs was found, suggesting the upgrade should be safe.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for any React.version or REACT_VERSION usage that might need updates
rg -l "React\.version|REACT_VERSION"
# Check for potentially affected React features
ast-grep --pattern 'useTransition($$$)' # New React 18 features
ast-grep --pattern 'useDeferredValue($$$)' # New React 18 features
Length of output: 174
Script:
#!/bin/bash
# Check the context of React.version usage
rg -C 3 "React\.version|REACT_VERSION" packages/utilities/shared-utils/src/functions.ts
# Check for any React 18 specific API usage
ast-grep --pattern 'startTransition($$$)'
ast-grep --pattern 'Suspense($$$)'
ast-grep --pattern 'lazy($$$)'
Length of output: 404
packages/components/popover/__tests__/popover.test.tsx (1)
5-5: LGTM: Import statement added correctly
The new imports from @nextui-org/test-utils are properly added.
packages/components/accordion/__tests__/accordion.test.tsx (2)
4-4: LGTM: Import statement added correctly
The new imports from @nextui-org/test-utils are properly added.
30-33: LGTM: Proper error handling pattern
The implementation correctly uses the early return pattern for handling React warnings.
packages/components/tabs/__tests__/tabs.test.tsx (1)
5-5: LGTM: Import statement added correctly
The new imports from @nextui-org/test-utils are properly added.
packages/components/dropdown/__tests__/dropdown.test.tsx (4)
5-5: LGTM: Test utilities import added correctly
The import of test utilities from @nextui-org/test-utils enhances the test suite's capabilities for handling React warnings and user interactions.
24-24: Consistent use of disableAnimation prop
The disableAnimation prop has been added to prevent animation-related test flakiness. This is a good practice for testing components with animations.
Also applies to: 51-51, 66-66, 104-105, 129-129, 376-376, 550-550, 563-563, 604-604, 642-642, 682-682, 738-738
148-150: Enhanced async handling with act()
User interactions are now properly wrapped with act(), following React testing best practices. This ensures that all state updates are processed before making assertions.
Also applies to: 192-194, 209-211, 246-248, 263-265, 427-429, 463-465, 585-588, 593-595, 725-727, 781-783, 808-810, 816-818, 822-824, 858-860, 866-868
152-154: Improved error handling with shouldIgnoreReactWarning
The addition of conditional React warning checks improves test reliability by handling expected warnings appropriately.
packages/components/autocomplete/__tests__/autocomplete.test.tsx (2)
5-5: LGTM: Test utilities import added correctly
The import of test utilities enhances the test suite's error handling capabilities.
92-96: Proper implementation of React warning handling
The shouldIgnoreReactWarning check is implemented correctly to handle expected React warnings during testing.
packages/components/date-picker/__tests__/date-picker.test.tsx (2)
4-10: LGTM: Comprehensive test utilities import
The import includes both error and warning spies along with other test utilities, providing complete coverage for different types of test scenarios.
487-496: Well-structured error handling with proper cleanup
The implementation includes:
- Separate checks for warnings and errors
- Proper cleanup of spies to prevent test interference
|
Why are |
* chore: org name change (#4596) * chore: update brand name (#4600) * fix(calendar): function components cannot be given refs (#4614) * docs(modal): fix small typos and add clarifying language (#4629) * chore(deps): bump RA versions (#4611) * chore(deps): bump RA versions * chore(deps): bump @internationalized/date * chore(docs): update RA versions * chore(docs): update versions * chore(docs): use string type * chore(deps): update @react-types versions * refactor(docs): undo version change since they will be removed in another PR * feat: tailwind variants upgrade (#4386) * feat: tailwind variants upgrade * chore: restore npmrc * chore: adjust pkgs * fix: versions * fix: lock file * chore(changeset): update package name * chore(deps): use fixed version * fix(test): incorrect package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat: add fn win alt keys (#4638) * feat: add new keys * feat: add new keys * chore: update docs & storybook as well --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(use-image): load images after props change (#4523) * fix(use-image): load image after props change * chore(changeset): add changeset * refactor(use-image): remove unused props * feat(use-image): add test case * fix(use-image): apply useCallback to load & remove status check * chore(changeset): update package name * feat: global labelPlacement prop (#4346) * feat: adding the support for labelPlacement globally * chore: reafctoring * chore: updating the dependency * chore(changeset): update package name * chore: adding Marcus's suggestions --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(form): use native as default validation behavior (#4425) * fix(form): use native as default validation behavior * docs(form): delete explicit validationBehavior=native * test(form): adjusted form test validation behaviors * chore(form): adjusted stories with forms * chore(changeset): changed form default validation behavior to native * chore(changeset): removed packages with only test changes * chore(changeset): change to patch * chore(changeset): update package name * refactor(docs): update package name * refactor(docs): update to heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(spinner): new spinner variants (#4555) * refactor(spinner): add default variant * feature(spinner): add gradient variant * feature(spinner): add dots variant * feature(spinner): add dots-blink variant * feature(spinner): add spinner-bars * chore(spinner): add variants storybook * chore: adding variants to docs * chore: simplyfying the styles and modifying docs * chore: nits * chore: updating the dots and dots-blink animation * chore: nits * chore: adding Marcus' suggestions * chore: adding Marcus's suggestions * chore: adding junior's suggestions --------- Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> * fix: rename wrapper to tab wrapper (#4636) * fix: rename wrapper to tab wrapper * docs: update * docs: update * docs: update * fix: rename wrapper to tab wrapper * refactor: remove feature request from issue template (#4661) * refactor(.github): remove feature request template * refactor(.github): add a link to redirect to discussion (feature request category) * docs(table): include TS examples to show Selection type usage (#4793) * fix(listbox): unexpected scrollShadow on virtualized listbox (#4784) * fix(listbox): add scroll height & scroll top to listbox * fix(use-data-scroll-overflow): handle scrollHeight & scrollTop in virtualization * chore(changeset): add changeset * refactor(theme): replace left & right by start & end to support RTL (#4782) * fix(date-picker): deprecate dateInputClassNames (#4780) * chore(date-picker): add missing slots comments * fix(date-picker): remove dateInputClassNames * fix(date-picker): use classNames instead of dateInputClassNames * chore(docs): add missing attributes * fix(date-picker): use classNames instead of dateInputClassNames * feat(changeset): add changeset * fix(docs): broken type * refactor(navbar): remove dropdown menu width (#4757) * refactor: remove dropdown menu width * refactor: shorter description * refactor: rename instances of NextUI to Hero UI (#4645) * docs: use the correct org for `img.shields.io` license in README * docs: update opencollective org name * docs: use correct org name in site footer * docs: update image urls for heroui pro sections * docs: update laravel installation keywords in route config * docs: add `heroui` tag to `Introducing HeroUI` blog post * fix: use correct names in `plop/components/src` templates * chore: add empty changeset * fix: revert image urls back to `nextuipro.nyc3.cdn.digitaloceanspaces...` * chore: undo footer change * chore: update incorrect brand name * chore(docs): nextui -> heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(input): missing clear button with file input type (#4599) * fix(theme): sync with input theme on labelPlacement (#4597) * fix(theme): sync with input theme on labelPlacement * chore(select): revise width for labelPlacement * chore(changeset): add changeset * test(input): input interaction tests (#4579) * test(input): user interaction tests * test(input): missing act wrappers --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(calendar): rtl navigation (#4565) * fix(calendar): rtl navigation * chore(changeset): fixed reverse behavior of NextButton and PrevButton in the RTL calendar * chore(changeset): update package name * refactor(calendar): prefer isRTL and use className in theme package instead * chore(changeset): add theme package as well * chore(calendar): add min theme package to 2.4.7 --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove unnecessary className passing to tv and make naming consistent (#4558) * refactor: remove unnecessary className passing to tv * refactor(button): move styles to getButtonProps * refactor: rename classNames to styles to keep the naming consistent * fix: deprecation warning triggered by internal onClick (#4557) * fix(use-aria-link): onClick deprecation warning * fix(use-aria-button): onClick deprecation warning * feat(changeset): add changeset * fix(use-aria-button): incorrect prop name * chore(changeset): update package name * ci: add pkg pr new (#4540) * ci: add pkg pr new * ci: add pkg pr new * chore(workflow): update repo name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): remove shouldBlockScroll prop in Tooltip page (#4539) * fix(use-pagination): controlled page after delay (#4536) * fix(use-pagination): add page to dependency for scrollTo * feat(changeset): add changeset * chore(changeset): update package name * fix(tooltip): accessing element.ref was removed in React 19 issue (#4531) * fix(tooltip): accessing element.ref was removed in React 19 issue * chore(changeset): update package name * fix: correctly dismissable default value (#4524) * fix: correctly dismissable default value * fix: correctly dismissable default value * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(theme): input height in innerWrapper in Select (#4512) * fix(select): fix input height #4321 * chore(select): changed package name in changeset to theme * chore(select): updated changeset message * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix: inert value in next15 (#4491) * feat: add post install * feat: add postinstall * feat: add postinstall * fix: type * fix: type * fix: next version * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove cursor-hit in hiddenInputClasses (#4474) * refactor: remove cursor-hit in hiddenInputClasses * Create lazy-ants-exercise.md * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(table): virtualization (#4285) * feat: baseline virtualization for table * merge branch canary * fix: table layout * fix: calc header height w layouteffect to offset padding * Merge branch 'canary' into feat/eng-1633-virtualization-for-table * chore: remove unused files and comments * chore: add missing package * feat: add shouldVirtualize conditional to render virtualized-table * feat: update docs for table * feat: use wrapper to support theme styles * chore: add changeset * chore(changeset): update package name * chore(deps): pnpm-lock.yaml * fix(table): outdated package name * chore(changeset): add issue number * fix(deps): keep the version consistent with other components * fix(table): incorrect displayName * refactor(table): use VirtualizedTemplate * chore(deps): bump `@tanstack/react-virtua` * chore(deps): typecheck issue * fix(table): do not use any type * chore: remove auto virtualization --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat(toast): introduce Toast component (#4437) * feat: initial commit * chore: adding the animation * chore: nits * chore: fixes and adding draft1 of stories * chore: adding the docs draft * chore: adding the swiping interaction for toast removal * chore: adding the tests * fix: improving the progress bar logix * chore: refactoring and refining the animations * fix: making the animations compatible with the positons * chore: fixing the styles * chore: modifying the animations * chore: improving the animations * chore: adding the decorator to the story-book * chore: fixing the animations and positions * fix: handle expand region on touch * feat: adding the promises support * chore: updating the styles * chore: improving styles * chore: styles correction * fix: adding junior's suggestions * chore: correcting styles * fix: fixing the timer behavior * chore: adding the spinner to the toast * chore: full width for mobile * chore: modifying styles * chore: fixing the positions on smaller devices * chore: adding story with description * chore: adding credits for sonner * fix: adding junior's suggestions * chore: adding the exit animation * fix: adding junior's suggestions * chore: improving the swipe animations * fix: fixing the swipe animations on touch * chore: adding tests * chore: adding swipe threshild and initial position variable * fix: fixing autoclose in timeout * chore: modifying the docs * chore: fixing the conflict * chore: adding marcus' suggestions * chore: adding the bottom animations * chore: modying docs * chore: removing nextui references * chore: adding info about the provider * chore: updating the docs * chore: versions in package.json * chore: nits * chore: adding junior's suggestions * chore: nits * fix: applying junior's suggestions * chore: adding junior's suggestions * chore: using domMax * fix: adding Marcus's suggestions * chore: add global toast props and custom close icon * chore: adding the defaultTimout provider prop * chore: modifying defaultTimeout * chore: nits * fix: adding Marcus' suggestions * chore: fixing bg * chore(deps): bump RA deps * fix: fixing the color discrepancy due to the timer * chore: moving the kapan ai to the left side * refactor(toast): update author * chore: nit * chore: improvements * chore: updating the solid variant --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(docs): correct Tab usage example (#4821) * chore(docs): add note itemHeight for virtualization (#4822) * chore(docs): add note itemHeight for virtualization * fix: format * fix(docs): fix horizontal scrolling example in scroll-shadow (#4820) * refactor: update author in package.json (#4800) * feat(button): export PressEvent for onPress event typing (#4819) * fix(docs): failed to install dependencies in StackBlitz (#4639) * chore(Docs): remove step 2 from "Using use-theme-hook" (#4797) * fix(docs): incorrect code Modal placement (#4652) * docs: update DatePicker example to remove "time" label as time selection is not supported in this example (#4443) * feat(button): export PressEvent for onPress event typing * revert unnecessary changes * chore: format --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> * fix(listbox): pass missing press events to usePress (#4812) * fix(listbox): pass missing press events to usePress * feat(listbox): add test case for press event * chore(changeset): add changeset * fix(checkbox): inherit stroke in CheckboxIcon (#4811) * fix: `SelectItem`, `ListboxItem`, and `AutocompleteItem` not to accept `value` props (#4653) * fix(select): `SelectItem` does not accept value props * refactor: do not use the index as `key` * Update .changeset/light-hairs-draw.md * chore: remove unnecessary `value` props * chore: update changeset * refactor: remove unnecessary value prop --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix: pkg package scope (#4823) * fix: pkg package scope * fix: pkg package scope * fix: pkg package scope * fix(theme): border radius in Table when isMultiSelectable (#4808) * fix(theme): border radius in Table when isMultiSelectable * chore(theme): added changeset (#4807) * chore: removing the kapa ai for toast doc page (#4833) * fix(accordion): add data-slot attributes to accordion (#4832) * fix(accordion): add data-slot attributes to accordion * chore --------- Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): update versions (#4836) * docs(themes): adding theme generator (#4626) * chore: adding xylish's contributions + modifying styles * chore: nextui to heroui * chore: colors in theme generator * chore: radiuses, disable-opacity * chore: fixing the configuration box styles * chore: adding the showcase elemtents * chore: modifying styles * chore: adding the fonts * chore: adding the scaling * chore: removing the calendar * feat: adding the border-width * chore: modifying style for mobile * chore: modifying the styles * chore: removing the NextUI references + small bug fix * chore: adding coderabits reviews * fix: borderWidth not getting applied on breadcrumbs and input * chore: rebasing * chore: modifying the styles * chore: updating the styles for the smaller devices * chore: refactoring * chore: improvements * chore: making the fonts workable * chore: making the fonts workable * chore: modifying the swatch according to the theme * chore: adding the default selected template * chore: modifying mobile styles * chore: fixing the popover * chore: nit * fix: fixing the select styles * chore: modifying the mobile styles * chore: modifying the styles * fix: adding junior's suggestions * fix: fixing the breadcrumb * fix: adding junior's suggestions * feat: introduce NumberInput (#4475) * feat(number-field): init structure * feat(deps): add `@nextui-org/button` & `@react-types/button` * feat(theme): export number-field * feat(number-field): storybook init structure * feat(number-field): add NumberFieldHorizontalStepper * feat(number-field): add NumberFieldHorizontalStepper * feat(theme): init number field theme * feat(number-field): number-field draft * refactor(number-field): revise stepper icons * feat(shared-icons): add ChevronLeftIcon * feat(theme): stepperButton styles * feat(theme): number-field styles * fix(number-field): label layout * feat(number-field): vertical stepper wrapper * feat(number-field): use-number-field (wip) * feat(number-field): add data-direction * feat(theme): center the text if it is horizontal stepper * feat(number-field): add HorizontalStepper * feat(number-field): add HideStepper * chore(number-field): revise minValue & defaultValue * feat(docs): init number field structure * fix(theme): outside-left styles * refactor(theme): remove labelPlacement styles * refactor(number-field): remove labelContent logic * refactor(number-field): remove labelPlacement args * feat(number-field): helper text * feat(number-field): revise number field stories * feat(number-field): description * refactor(number-field): revise number field stories * feat(theme): numberFieldLabelClasses * fix(number-field): incorrect button props * fix(number-field): typing issue on stepper buttons * chore(number-field): add aria-label * refactor(number-field): merge props * fix(number-field): pass originalProps instead * chore(number-field): revise Required story args * feat(number-field): add WithStepValue & WithWheelDisabled & revise stories * chore(number-field): add label to Required * feat(docs): number-field doc page * fix(number-field): typing issue * fix(number-field): test cases * fix(number-field): user.keyboard & defaultValue * fix(number-field): should work with defaultValues * chore(number-field): add type: number * chore(number-field): remove hidden related code * fix(number-field): numeric value * chore(changeset): add changeset * feat(deps): add "@nextui-org/number-field" to docs * feat(react): export `@nextui-org/number-field` * feat(changeset): add @nextui-org/react * feat(docs): number-field examples * chore(number-field): use text instead * refactor(number-field): remove unnecessary filled-within * fix(number-field): test case * chore(number-field): remove aria-label for stepper buttons * feat(docs): add incrementAriaLabel & decrementAriaLabel to NumberField * chore(number-field): reorder WithFormatOptions * fix(deps): update number-field's peerDependencies & dependencies * feat(number-field): hidden input for holding numeric vaule * fix(docs): number field title * feat(docs): add format options to number field * chore(docs): revise number field content * chore(number-field): add type to useDOMRef * fix(number-field): clear button * fix(theme): clear button styles * refactor(theme): stepper button styles * chore(number-field): accept stepperButton class * fix(theme): helper wrapper padding * feat(deps): add `@react-aria/i18n` * fix(number-field): use locale from `@react-aria/i18n` * fix(deps): dependency order * fix(docs): incorrect command * chore(docs): remove type=number * chore(theme): add padding to stepper wrapper * fix(number-field): avoid resetting value * fix(number-field): storybook * chore(docs): remove custom impl * chore(docs): update docs code & content * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore: rename to number input * fix(number-input): incorrect import * chore(docs): rename to number input * chore: change to number input * refactor(number-input): change label to amount * fix(docs): use heroui commands * chore(changeset): update package name * refactor(number-input): remove steps * refactor: remove helper text * feat(number-input): label placement * refactor(number-input): rename stepper * fix(theme): isClearable * feat(docs): add label placements * refactor(docs): update number-input content * fix(docs): incorrect file * feat(docs): add lablePlacement * refactor(docs): remove labelPlacement & startContent * refactor(docs): remove helperText * refactor(docs): remove helperText * refactor(docs): revise description * feat(number-input): add data-slot for stepper-wrapper * fix(number-input): test cases * fix(docs): unexpected change * refactor(number-input): update outdated info * fix(docs): coderabbitai comments * refactor: remove validationState * fix(docs): typo * chore(deps): remove unnecessary dep * chore(deps): bump RA versions * chore(number-input): apply latest labelPlacement change * refactor(number-input): update author * refactor(number-input): revise stepper wrapper alignment * refactor(number-input): stepper button styles * chore(number-input): add disableRipple * fix(theme): increase stepper button click area * fix(number-input): sync latest validationBehavior changes * fix(number-input): pass validationBehavior to useAriaNumberInput * chore(docs): add import react * chore(number-input): remove HorizontalStepper story * chore(number-input): enable ripple * fix(number-input): remove number type * refactor(theme): follow input clear button styles * feat(theme): add color for stepperButton * fix(theme): revise stepperButton size for outside & outside-left cases * fix(number-input): typo * chore(docs): update description for wheel * chore(theme): change opacity when pressed * chore(number-input): add disableRipple * Update .changeset/witty-flies-reflect.md * fix(theme): add hover opacity effect --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore(docs): revised tags in doc routes for 2.7.0 (#4777) * chore(docs): remove last version update tags * chore(docs): add updated tag for 2.7.0 * chore(docs): updated table * chore(docs): update search meta * chore(docs): update github info * Merge branch 'canary' into docs/eng-2003 * chore(docs): update routes.json * chore(docs): update meta info * chore: improve theme builder * v2.7.0 * chore: v2.7.0 combined changeset * fix: changeset * fix: peer deps * feat: toast api improved * chore: toast styles improved * fix: toast styles * chore: toast width style changed * fix: changeset release * fix: changeset peerdeps * chore: toast styles improved * refactor(pagination): rtl (#4843) * refactor(pagination): rtl * chore(changeset): add changeset * feat: new spinner variant * fix(docs): popover shouldBlockScroll default value (#4851) * fix(select): select scroll content will close immediately when popover on click (#4849) * chore(select): update select deps * fix(select): select scroll content will close immediately when popover on click * chore(select): add .changeset file * chore(changeset): add issue number --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(calendar): add firstDayOfWeek (#4852) * feat(calendar): add firstDayOfWeek * feat(docs): add firstDayOfWeek in Calendar docs * feat(calendar): add firstDayOfWeek to range calendar * feat(docs): add firstDayOfWeek to API table * feat: add firstDayOfWeek to date picker & date range picker * feat(docs): add firstDayOfWeek * feat(changeset): add changeset * feat: add firstDayOfWeek option in storybook * feat(docs): export firstDayOfWeek * chore(docs): update title * chore: spinner variants updated * feat: v2.7.0 blog * ci(changesets): version packages (#4601) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: manual release --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: millmason <jmsoper@protonmail.com> Co-authored-by: winches <329487092@qq.com> Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> Co-authored-by: Peterl561 <76144929+Peterl561@users.noreply.github.com> Co-authored-by: Paul Ebose <49006567+plbstl@users.noreply.github.com> Co-authored-by: Zarin <thesharifi.maruf@gmail.com> Co-authored-by: Shrinidhi Upadhyaya <shrinidhiupadhyaya1195@gmail.com> Co-authored-by: Avan <layouwen@gmail.com> Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com> Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> Co-authored-by: Adrian Szarapow <63786007+Adee1499@users.noreply.github.com> Co-authored-by: Hova25 <75216176+Hova25@users.noreply.github.com> Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: Tsuki <76603360+sudongyuer@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* chore: org name change (#4596) * chore: update brand name (#4600) * fix(calendar): function components cannot be given refs (#4614) * docs(modal): fix small typos and add clarifying language (#4629) * chore(deps): bump RA versions (#4611) * chore(deps): bump RA versions * chore(deps): bump @internationalized/date * chore(docs): update RA versions * chore(docs): update versions * chore(docs): use string type * chore(deps): update @react-types versions * refactor(docs): undo version change since they will be removed in another PR * feat: tailwind variants upgrade (#4386) * feat: tailwind variants upgrade * chore: restore npmrc * chore: adjust pkgs * fix: versions * fix: lock file * chore(changeset): update package name * chore(deps): use fixed version * fix(test): incorrect package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat: add fn win alt keys (#4638) * feat: add new keys * feat: add new keys * chore: update docs & storybook as well --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(use-image): load images after props change (#4523) * fix(use-image): load image after props change * chore(changeset): add changeset * refactor(use-image): remove unused props * feat(use-image): add test case * fix(use-image): apply useCallback to load & remove status check * chore(changeset): update package name * feat: global labelPlacement prop (#4346) * feat: adding the support for labelPlacement globally * chore: reafctoring * chore: updating the dependency * chore(changeset): update package name * chore: adding Marcus's suggestions --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(form): use native as default validation behavior (#4425) * fix(form): use native as default validation behavior * docs(form): delete explicit validationBehavior=native * test(form): adjusted form test validation behaviors * chore(form): adjusted stories with forms * chore(changeset): changed form default validation behavior to native * chore(changeset): removed packages with only test changes * chore(changeset): change to patch * chore(changeset): update package name * refactor(docs): update package name * refactor(docs): update to heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(spinner): new spinner variants (#4555) * refactor(spinner): add default variant * feature(spinner): add gradient variant * feature(spinner): add dots variant * feature(spinner): add dots-blink variant * feature(spinner): add spinner-bars * chore(spinner): add variants storybook * chore: adding variants to docs * chore: simplyfying the styles and modifying docs * chore: nits * chore: updating the dots and dots-blink animation * chore: nits * chore: adding Marcus' suggestions * chore: adding Marcus's suggestions * chore: adding junior's suggestions --------- Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> * fix: rename wrapper to tab wrapper (#4636) * fix: rename wrapper to tab wrapper * docs: update * docs: update * docs: update * fix: rename wrapper to tab wrapper * refactor: remove feature request from issue template (#4661) * refactor(.github): remove feature request template * refactor(.github): add a link to redirect to discussion (feature request category) * docs(table): include TS examples to show Selection type usage (#4793) * fix(listbox): unexpected scrollShadow on virtualized listbox (#4784) * fix(listbox): add scroll height & scroll top to listbox * fix(use-data-scroll-overflow): handle scrollHeight & scrollTop in virtualization * chore(changeset): add changeset * refactor(theme): replace left & right by start & end to support RTL (#4782) * fix(date-picker): deprecate dateInputClassNames (#4780) * chore(date-picker): add missing slots comments * fix(date-picker): remove dateInputClassNames * fix(date-picker): use classNames instead of dateInputClassNames * chore(docs): add missing attributes * fix(date-picker): use classNames instead of dateInputClassNames * feat(changeset): add changeset * fix(docs): broken type * refactor(navbar): remove dropdown menu width (#4757) * refactor: remove dropdown menu width * refactor: shorter description * refactor: rename instances of NextUI to Hero UI (#4645) * docs: use the correct org for `img.shields.io` license in README * docs: update opencollective org name * docs: use correct org name in site footer * docs: update image urls for heroui pro sections * docs: update laravel installation keywords in route config * docs: add `heroui` tag to `Introducing HeroUI` blog post * fix: use correct names in `plop/components/src` templates * chore: add empty changeset * fix: revert image urls back to `nextuipro.nyc3.cdn.digitaloceanspaces...` * chore: undo footer change * chore: update incorrect brand name * chore(docs): nextui -> heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(input): missing clear button with file input type (#4599) * fix(theme): sync with input theme on labelPlacement (#4597) * fix(theme): sync with input theme on labelPlacement * chore(select): revise width for labelPlacement * chore(changeset): add changeset * test(input): input interaction tests (#4579) * test(input): user interaction tests * test(input): missing act wrappers --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(calendar): rtl navigation (#4565) * fix(calendar): rtl navigation * chore(changeset): fixed reverse behavior of NextButton and PrevButton in the RTL calendar * chore(changeset): update package name * refactor(calendar): prefer isRTL and use className in theme package instead * chore(changeset): add theme package as well * chore(calendar): add min theme package to 2.4.7 --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove unnecessary className passing to tv and make naming consistent (#4558) * refactor: remove unnecessary className passing to tv * refactor(button): move styles to getButtonProps * refactor: rename classNames to styles to keep the naming consistent * fix: deprecation warning triggered by internal onClick (#4557) * fix(use-aria-link): onClick deprecation warning * fix(use-aria-button): onClick deprecation warning * feat(changeset): add changeset * fix(use-aria-button): incorrect prop name * chore(changeset): update package name * ci: add pkg pr new (#4540) * ci: add pkg pr new * ci: add pkg pr new * chore(workflow): update repo name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): remove shouldBlockScroll prop in Tooltip page (#4539) * fix(use-pagination): controlled page after delay (#4536) * fix(use-pagination): add page to dependency for scrollTo * feat(changeset): add changeset * chore(changeset): update package name * fix(tooltip): accessing element.ref was removed in React 19 issue (#4531) * fix(tooltip): accessing element.ref was removed in React 19 issue * chore(changeset): update package name * fix: correctly dismissable default value (#4524) * fix: correctly dismissable default value * fix: correctly dismissable default value * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(theme): input height in innerWrapper in Select (#4512) * fix(select): fix input height #4321 * chore(select): changed package name in changeset to theme * chore(select): updated changeset message * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix: inert value in next15 (#4491) * feat: add post install * feat: add postinstall * feat: add postinstall * fix: type * fix: type * fix: next version * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove cursor-hit in hiddenInputClasses (#4474) * refactor: remove cursor-hit in hiddenInputClasses * Create lazy-ants-exercise.md * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(table): virtualization (#4285) * feat: baseline virtualization for table * merge branch canary * fix: table layout * fix: calc header height w layouteffect to offset padding * Merge branch 'canary' into feat/eng-1633-virtualization-for-table * chore: remove unused files and comments * chore: add missing package * feat: add shouldVirtualize conditional to render virtualized-table * feat: update docs for table * feat: use wrapper to support theme styles * chore: add changeset * chore(changeset): update package name * chore(deps): pnpm-lock.yaml * fix(table): outdated package name * chore(changeset): add issue number * fix(deps): keep the version consistent with other components * fix(table): incorrect displayName * refactor(table): use VirtualizedTemplate * chore(deps): bump `@tanstack/react-virtua` * chore(deps): typecheck issue * fix(table): do not use any type * chore: remove auto virtualization --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat(toast): introduce Toast component (#4437) * feat: initial commit * chore: adding the animation * chore: nits * chore: fixes and adding draft1 of stories * chore: adding the docs draft * chore: adding the swiping interaction for toast removal * chore: adding the tests * fix: improving the progress bar logix * chore: refactoring and refining the animations * fix: making the animations compatible with the positons * chore: fixing the styles * chore: modifying the animations * chore: improving the animations * chore: adding the decorator to the story-book * chore: fixing the animations and positions * fix: handle expand region on touch * feat: adding the promises support * chore: updating the styles * chore: improving styles * chore: styles correction * fix: adding junior's suggestions * chore: correcting styles * fix: fixing the timer behavior * chore: adding the spinner to the toast * chore: full width for mobile * chore: modifying styles * chore: fixing the positions on smaller devices * chore: adding story with description * chore: adding credits for sonner * fix: adding junior's suggestions * chore: adding the exit animation * fix: adding junior's suggestions * chore: improving the swipe animations * fix: fixing the swipe animations on touch * chore: adding tests * chore: adding swipe threshild and initial position variable * fix: fixing autoclose in timeout * chore: modifying the docs * chore: fixing the conflict * chore: adding marcus' suggestions * chore: adding the bottom animations * chore: modying docs * chore: removing nextui references * chore: adding info about the provider * chore: updating the docs * chore: versions in package.json * chore: nits * chore: adding junior's suggestions * chore: nits * fix: applying junior's suggestions * chore: adding junior's suggestions * chore: using domMax * fix: adding Marcus's suggestions * chore: add global toast props and custom close icon * chore: adding the defaultTimout provider prop * chore: modifying defaultTimeout * chore: nits * fix: adding Marcus' suggestions * chore: fixing bg * chore(deps): bump RA deps * fix: fixing the color discrepancy due to the timer * chore: moving the kapan ai to the left side * refactor(toast): update author * chore: nit * chore: improvements * chore: updating the solid variant --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(docs): correct Tab usage example (#4821) * chore(docs): add note itemHeight for virtualization (#4822) * chore(docs): add note itemHeight for virtualization * fix: format * fix(docs): fix horizontal scrolling example in scroll-shadow (#4820) * refactor: update author in package.json (#4800) * feat(button): export PressEvent for onPress event typing (#4819) * fix(docs): failed to install dependencies in StackBlitz (#4639) * chore(Docs): remove step 2 from "Using use-theme-hook" (#4797) * fix(docs): incorrect code Modal placement (#4652) * docs: update DatePicker example to remove "time" label as time selection is not supported in this example (#4443) * feat(button): export PressEvent for onPress event typing * revert unnecessary changes * chore: format --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> * fix(listbox): pass missing press events to usePress (#4812) * fix(listbox): pass missing press events to usePress * feat(listbox): add test case for press event * chore(changeset): add changeset * fix(checkbox): inherit stroke in CheckboxIcon (#4811) * fix: `SelectItem`, `ListboxItem`, and `AutocompleteItem` not to accept `value` props (#4653) * fix(select): `SelectItem` does not accept value props * refactor: do not use the index as `key` * Update .changeset/light-hairs-draw.md * chore: remove unnecessary `value` props * chore: update changeset * refactor: remove unnecessary value prop --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix: pkg package scope (#4823) * fix: pkg package scope * fix: pkg package scope * fix: pkg package scope * fix(theme): border radius in Table when isMultiSelectable (#4808) * fix(theme): border radius in Table when isMultiSelectable * chore(theme): added changeset (#4807) * chore: removing the kapa ai for toast doc page (#4833) * fix(accordion): add data-slot attributes to accordion (#4832) * fix(accordion): add data-slot attributes to accordion * chore --------- Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): update versions (#4836) * docs(themes): adding theme generator (#4626) * chore: adding xylish's contributions + modifying styles * chore: nextui to heroui * chore: colors in theme generator * chore: radiuses, disable-opacity * chore: fixing the configuration box styles * chore: adding the showcase elemtents * chore: modifying styles * chore: adding the fonts * chore: adding the scaling * chore: removing the calendar * feat: adding the border-width * chore: modifying style for mobile * chore: modifying the styles * chore: removing the NextUI references + small bug fix * chore: adding coderabits reviews * fix: borderWidth not getting applied on breadcrumbs and input * chore: rebasing * chore: modifying the styles * chore: updating the styles for the smaller devices * chore: refactoring * chore: improvements * chore: making the fonts workable * chore: making the fonts workable * chore: modifying the swatch according to the theme * chore: adding the default selected template * chore: modifying mobile styles * chore: fixing the popover * chore: nit * fix: fixing the select styles * chore: modifying the mobile styles * chore: modifying the styles * fix: adding junior's suggestions * fix: fixing the breadcrumb * fix: adding junior's suggestions * feat: introduce NumberInput (#4475) * feat(number-field): init structure * feat(deps): add `@nextui-org/button` & `@react-types/button` * feat(theme): export number-field * feat(number-field): storybook init structure * feat(number-field): add NumberFieldHorizontalStepper * feat(number-field): add NumberFieldHorizontalStepper * feat(theme): init number field theme * feat(number-field): number-field draft * refactor(number-field): revise stepper icons * feat(shared-icons): add ChevronLeftIcon * feat(theme): stepperButton styles * feat(theme): number-field styles * fix(number-field): label layout * feat(number-field): vertical stepper wrapper * feat(number-field): use-number-field (wip) * feat(number-field): add data-direction * feat(theme): center the text if it is horizontal stepper * feat(number-field): add HorizontalStepper * feat(number-field): add HideStepper * chore(number-field): revise minValue & defaultValue * feat(docs): init number field structure * fix(theme): outside-left styles * refactor(theme): remove labelPlacement styles * refactor(number-field): remove labelContent logic * refactor(number-field): remove labelPlacement args * feat(number-field): helper text * feat(number-field): revise number field stories * feat(number-field): description * refactor(number-field): revise number field stories * feat(theme): numberFieldLabelClasses * fix(number-field): incorrect button props * fix(number-field): typing issue on stepper buttons * chore(number-field): add aria-label * refactor(number-field): merge props * fix(number-field): pass originalProps instead * chore(number-field): revise Required story args * feat(number-field): add WithStepValue & WithWheelDisabled & revise stories * chore(number-field): add label to Required * feat(docs): number-field doc page * fix(number-field): typing issue * fix(number-field): test cases * fix(number-field): user.keyboard & defaultValue * fix(number-field): should work with defaultValues * chore(number-field): add type: number * chore(number-field): remove hidden related code * fix(number-field): numeric value * chore(changeset): add changeset * feat(deps): add "@nextui-org/number-field" to docs * feat(react): export `@nextui-org/number-field` * feat(changeset): add @nextui-org/react * feat(docs): number-field examples * chore(number-field): use text instead * refactor(number-field): remove unnecessary filled-within * fix(number-field): test case * chore(number-field): remove aria-label for stepper buttons * feat(docs): add incrementAriaLabel & decrementAriaLabel to NumberField * chore(number-field): reorder WithFormatOptions * fix(deps): update number-field's peerDependencies & dependencies * feat(number-field): hidden input for holding numeric vaule * fix(docs): number field title * feat(docs): add format options to number field * chore(docs): revise number field content * chore(number-field): add type to useDOMRef * fix(number-field): clear button * fix(theme): clear button styles * refactor(theme): stepper button styles * chore(number-field): accept stepperButton class * fix(theme): helper wrapper padding * feat(deps): add `@react-aria/i18n` * fix(number-field): use locale from `@react-aria/i18n` * fix(deps): dependency order * fix(docs): incorrect command * chore(docs): remove type=number * chore(theme): add padding to stepper wrapper * fix(number-field): avoid resetting value * fix(number-field): storybook * chore(docs): remove custom impl * chore(docs): update docs code & content * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore: rename to number input * fix(number-input): incorrect import * chore(docs): rename to number input * chore: change to number input * refactor(number-input): change label to amount * fix(docs): use heroui commands * chore(changeset): update package name * refactor(number-input): remove steps * refactor: remove helper text * feat(number-input): label placement * refactor(number-input): rename stepper * fix(theme): isClearable * feat(docs): add label placements * refactor(docs): update number-input content * fix(docs): incorrect file * feat(docs): add lablePlacement * refactor(docs): remove labelPlacement & startContent * refactor(docs): remove helperText * refactor(docs): remove helperText * refactor(docs): revise description * feat(number-input): add data-slot for stepper-wrapper * fix(number-input): test cases * fix(docs): unexpected change * refactor(number-input): update outdated info * fix(docs): coderabbitai comments * refactor: remove validationState * fix(docs): typo * chore(deps): remove unnecessary dep * chore(deps): bump RA versions * chore(number-input): apply latest labelPlacement change * refactor(number-input): update author * refactor(number-input): revise stepper wrapper alignment * refactor(number-input): stepper button styles * chore(number-input): add disableRipple * fix(theme): increase stepper button click area * fix(number-input): sync latest validationBehavior changes * fix(number-input): pass validationBehavior to useAriaNumberInput * chore(docs): add import react * chore(number-input): remove HorizontalStepper story * chore(number-input): enable ripple * fix(number-input): remove number type * refactor(theme): follow input clear button styles * feat(theme): add color for stepperButton * fix(theme): revise stepperButton size for outside & outside-left cases * fix(number-input): typo * chore(docs): update description for wheel * chore(theme): change opacity when pressed * chore(number-input): add disableRipple * Update .changeset/witty-flies-reflect.md * fix(theme): add hover opacity effect --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore(docs): revised tags in doc routes for 2.7.0 (#4777) * chore(docs): remove last version update tags * chore(docs): add updated tag for 2.7.0 * chore(docs): updated table * chore(docs): update search meta * chore(docs): update github info * Merge branch 'canary' into docs/eng-2003 * chore(docs): update routes.json * chore(docs): update meta info * chore: improve theme builder * v2.7.0 * chore: v2.7.0 combined changeset * fix: changeset * fix: peer deps * feat: toast api improved * chore: toast styles improved * fix: toast styles * chore: toast width style changed * fix: changeset release * fix: changeset peerdeps * chore: toast styles improved * refactor(pagination): rtl (#4843) * refactor(pagination): rtl * chore(changeset): add changeset * feat: new spinner variant * fix(docs): popover shouldBlockScroll default value (#4851) * fix(select): select scroll content will close immediately when popover on click (#4849) * chore(select): update select deps * fix(select): select scroll content will close immediately when popover on click * chore(select): add .changeset file * chore(changeset): add issue number --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(calendar): add firstDayOfWeek (#4852) * feat(calendar): add firstDayOfWeek * feat(docs): add firstDayOfWeek in Calendar docs * feat(calendar): add firstDayOfWeek to range calendar * feat(docs): add firstDayOfWeek to API table * feat: add firstDayOfWeek to date picker & date range picker * feat(docs): add firstDayOfWeek * feat(changeset): add changeset * feat: add firstDayOfWeek option in storybook * feat(docs): export firstDayOfWeek * chore(docs): update title * chore: spinner variants updated * feat: v2.7.0 blog * ci(changesets): version packages (#4601) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: manual release * fix(toast): fixing maxVisibleToasts, solid variant promise, promise timer (#4881) * fix: maxVisibleToasts functionality * chore: adding the changeset * fix: starting the toast timer when the promise is resolved * fix: spinner invisible in solid variants * fix(toast): shouldShowTimeoutProgess typo (#4858) * fix(toast): shouldShowTimeoutProgess typo * fix(toast): shouldShowTimeoutProgess typo * fix(select): pass form prop to hidden-select (#4854) * fix(select): pass form prop to hidden-select * chore(select): changeset * fix(spinner): Attempted to call useProviderContext() from the server (#4904) * fix(spinner): add banner in tsup.config.ts * chore(changeset): add changeset * chore(docs): update breaking changes in blog * chore(docs): handled in PR4905 * fix(number-input): onChange event in number input (#4907) * fix(number-input): onChange event in number input * chore(number-input): remove duplicate test case * fix(breadcrumb): broken start & end content (#4921) (#4922) * refactor: build process (#4909) * chore: update component description * chore: exclude stories-utils & test-utils * chore(utilities): remove unused info * chore(deps): pnpm-lock.yaml * fix: incorrect system & theme version in peerDependencies (#4901) * fix: incorrect system & theme version in peerDependencies * fix: incorrect system & theme version in peerDependencies * chore(changeset): add changeset * fix(changeset): remove `@heroui/stories-utils` and `@heroui/test-utils` from ignore list (#4939) * fix(docs): include .npmrc in sandbox (#4951) * fix(input): esc key to clear input value (#4892) * chore: theme generator credits * fix: blog date and spinner default variant * fix: #4850 Solve Pressing ESC doesn't clear input value * fix: #4850 code review change * fix: undo changes in apps/docs/content/blog/v2.7.0.mdx and add a test case for my changes * fix: run through the test cases successfully * fix: change md content * fix: using isClearable not clear the value * fix: add number-input clearable esc clear * fix: edit review problem * fix: delete unless file * chore(changeset): update changeset * fix: add inputProps.onKeyDown * fix: pressing ESC key in a read-only input not clear --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: աӄա <wingkwong.code@gmail.com> * ci(changesets): version packages (#4896) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * v2.7.4 --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: millmason <jmsoper@protonmail.com> Co-authored-by: winches <329487092@qq.com> Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> Co-authored-by: Peterl561 <76144929+Peterl561@users.noreply.github.com> Co-authored-by: Paul Ebose <49006567+plbstl@users.noreply.github.com> Co-authored-by: Zarin <thesharifi.maruf@gmail.com> Co-authored-by: Shrinidhi Upadhyaya <shrinidhiupadhyaya1195@gmail.com> Co-authored-by: Avan <layouwen@gmail.com> Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com> Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> Co-authored-by: Adrian Szarapow <63786007+Adee1499@users.noreply.github.com> Co-authored-by: Hova25 <75216176+Hova25@users.noreply.github.com> Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: Tsuki <76603360+sudongyuer@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Steve Mosley <steve@starter4ten.com> Co-authored-by: LinYongLu <88522000+linyonglu@users.noreply.github.com>
* chore: org name change (#4596) * chore: update brand name (#4600) * fix(calendar): function components cannot be given refs (#4614) * docs(modal): fix small typos and add clarifying language (#4629) * chore(deps): bump RA versions (#4611) * chore(deps): bump RA versions * chore(deps): bump @internationalized/date * chore(docs): update RA versions * chore(docs): update versions * chore(docs): use string type * chore(deps): update @react-types versions * refactor(docs): undo version change since they will be removed in another PR * feat: tailwind variants upgrade (#4386) * feat: tailwind variants upgrade * chore: restore npmrc * chore: adjust pkgs * fix: versions * fix: lock file * chore(changeset): update package name * chore(deps): use fixed version * fix(test): incorrect package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat: add fn win alt keys (#4638) * feat: add new keys * feat: add new keys * chore: update docs & storybook as well --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(use-image): load images after props change (#4523) * fix(use-image): load image after props change * chore(changeset): add changeset * refactor(use-image): remove unused props * feat(use-image): add test case * fix(use-image): apply useCallback to load & remove status check * chore(changeset): update package name * feat: global labelPlacement prop (#4346) * feat: adding the support for labelPlacement globally * chore: reafctoring * chore: updating the dependency * chore(changeset): update package name * chore: adding Marcus's suggestions --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(form): use native as default validation behavior (#4425) * fix(form): use native as default validation behavior * docs(form): delete explicit validationBehavior=native * test(form): adjusted form test validation behaviors * chore(form): adjusted stories with forms * chore(changeset): changed form default validation behavior to native * chore(changeset): removed packages with only test changes * chore(changeset): change to patch * chore(changeset): update package name * refactor(docs): update package name * refactor(docs): update to heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(spinner): new spinner variants (#4555) * refactor(spinner): add default variant * feature(spinner): add gradient variant * feature(spinner): add dots variant * feature(spinner): add dots-blink variant * feature(spinner): add spinner-bars * chore(spinner): add variants storybook * chore: adding variants to docs * chore: simplyfying the styles and modifying docs * chore: nits * chore: updating the dots and dots-blink animation * chore: nits * chore: adding Marcus' suggestions * chore: adding Marcus's suggestions * chore: adding junior's suggestions --------- Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> * fix: rename wrapper to tab wrapper (#4636) * fix: rename wrapper to tab wrapper * docs: update * docs: update * docs: update * fix: rename wrapper to tab wrapper * refactor: remove feature request from issue template (#4661) * refactor(.github): remove feature request template * refactor(.github): add a link to redirect to discussion (feature request category) * docs(table): include TS examples to show Selection type usage (#4793) * fix(listbox): unexpected scrollShadow on virtualized listbox (#4784) * fix(listbox): add scroll height & scroll top to listbox * fix(use-data-scroll-overflow): handle scrollHeight & scrollTop in virtualization * chore(changeset): add changeset * refactor(theme): replace left & right by start & end to support RTL (#4782) * fix(date-picker): deprecate dateInputClassNames (#4780) * chore(date-picker): add missing slots comments * fix(date-picker): remove dateInputClassNames * fix(date-picker): use classNames instead of dateInputClassNames * chore(docs): add missing attributes * fix(date-picker): use classNames instead of dateInputClassNames * feat(changeset): add changeset * fix(docs): broken type * refactor(navbar): remove dropdown menu width (#4757) * refactor: remove dropdown menu width * refactor: shorter description * refactor: rename instances of NextUI to Hero UI (#4645) * docs: use the correct org for `img.shields.io` license in README * docs: update opencollective org name * docs: use correct org name in site footer * docs: update image urls for heroui pro sections * docs: update laravel installation keywords in route config * docs: add `heroui` tag to `Introducing HeroUI` blog post * fix: use correct names in `plop/components/src` templates * chore: add empty changeset * fix: revert image urls back to `nextuipro.nyc3.cdn.digitaloceanspaces...` * chore: undo footer change * chore: update incorrect brand name * chore(docs): nextui -> heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(input): missing clear button with file input type (#4599) * fix(theme): sync with input theme on labelPlacement (#4597) * fix(theme): sync with input theme on labelPlacement * chore(select): revise width for labelPlacement * chore(changeset): add changeset * test(input): input interaction tests (#4579) * test(input): user interaction tests * test(input): missing act wrappers --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(calendar): rtl navigation (#4565) * fix(calendar): rtl navigation * chore(changeset): fixed reverse behavior of NextButton and PrevButton in the RTL calendar * chore(changeset): update package name * refactor(calendar): prefer isRTL and use className in theme package instead * chore(changeset): add theme package as well * chore(calendar): add min theme package to 2.4.7 --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove unnecessary className passing to tv and make naming consistent (#4558) * refactor: remove unnecessary className passing to tv * refactor(button): move styles to getButtonProps * refactor: rename classNames to styles to keep the naming consistent * fix: deprecation warning triggered by internal onClick (#4557) * fix(use-aria-link): onClick deprecation warning * fix(use-aria-button): onClick deprecation warning * feat(changeset): add changeset * fix(use-aria-button): incorrect prop name * chore(changeset): update package name * ci: add pkg pr new (#4540) * ci: add pkg pr new * ci: add pkg pr new * chore(workflow): update repo name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): remove shouldBlockScroll prop in Tooltip page (#4539) * fix(use-pagination): controlled page after delay (#4536) * fix(use-pagination): add page to dependency for scrollTo * feat(changeset): add changeset * chore(changeset): update package name * fix(tooltip): accessing element.ref was removed in React 19 issue (#4531) * fix(tooltip): accessing element.ref was removed in React 19 issue * chore(changeset): update package name * fix: correctly dismissable default value (#4524) * fix: correctly dismissable default value * fix: correctly dismissable default value * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(theme): input height in innerWrapper in Select (#4512) * fix(select): fix input height #4321 * chore(select): changed package name in changeset to theme * chore(select): updated changeset message * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix: inert value in next15 (#4491) * feat: add post install * feat: add postinstall * feat: add postinstall * fix: type * fix: type * fix: next version * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove cursor-hit in hiddenInputClasses (#4474) * refactor: remove cursor-hit in hiddenInputClasses * Create lazy-ants-exercise.md * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(table): virtualization (#4285) * feat: baseline virtualization for table * merge branch canary * fix: table layout * fix: calc header height w layouteffect to offset padding * Merge branch 'canary' into feat/eng-1633-virtualization-for-table * chore: remove unused files and comments * chore: add missing package * feat: add shouldVirtualize conditional to render virtualized-table * feat: update docs for table * feat: use wrapper to support theme styles * chore: add changeset * chore(changeset): update package name * chore(deps): pnpm-lock.yaml * fix(table): outdated package name * chore(changeset): add issue number * fix(deps): keep the version consistent with other components * fix(table): incorrect displayName * refactor(table): use VirtualizedTemplate * chore(deps): bump `@tanstack/react-virtua` * chore(deps): typecheck issue * fix(table): do not use any type * chore: remove auto virtualization --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat(toast): introduce Toast component (#4437) * feat: initial commit * chore: adding the animation * chore: nits * chore: fixes and adding draft1 of stories * chore: adding the docs draft * chore: adding the swiping interaction for toast removal * chore: adding the tests * fix: improving the progress bar logix * chore: refactoring and refining the animations * fix: making the animations compatible with the positons * chore: fixing the styles * chore: modifying the animations * chore: improving the animations * chore: adding the decorator to the story-book * chore: fixing the animations and positions * fix: handle expand region on touch * feat: adding the promises support * chore: updating the styles * chore: improving styles * chore: styles correction * fix: adding junior's suggestions * chore: correcting styles * fix: fixing the timer behavior * chore: adding the spinner to the toast * chore: full width for mobile * chore: modifying styles * chore: fixing the positions on smaller devices * chore: adding story with description * chore: adding credits for sonner * fix: adding junior's suggestions * chore: adding the exit animation * fix: adding junior's suggestions * chore: improving the swipe animations * fix: fixing the swipe animations on touch * chore: adding tests * chore: adding swipe threshild and initial position variable * fix: fixing autoclose in timeout * chore: modifying the docs * chore: fixing the conflict * chore: adding marcus' suggestions * chore: adding the bottom animations * chore: modying docs * chore: removing nextui references * chore: adding info about the provider * chore: updating the docs * chore: versions in package.json * chore: nits * chore: adding junior's suggestions * chore: nits * fix: applying junior's suggestions * chore: adding junior's suggestions * chore: using domMax * fix: adding Marcus's suggestions * chore: add global toast props and custom close icon * chore: adding the defaultTimout provider prop * chore: modifying defaultTimeout * chore: nits * fix: adding Marcus' suggestions * chore: fixing bg * chore(deps): bump RA deps * fix: fixing the color discrepancy due to the timer * chore: moving the kapan ai to the left side * refactor(toast): update author * chore: nit * chore: improvements * chore: updating the solid variant --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(docs): correct Tab usage example (#4821) * chore(docs): add note itemHeight for virtualization (#4822) * chore(docs): add note itemHeight for virtualization * fix: format * fix(docs): fix horizontal scrolling example in scroll-shadow (#4820) * refactor: update author in package.json (#4800) * feat(button): export PressEvent for onPress event typing (#4819) * fix(docs): failed to install dependencies in StackBlitz (#4639) * chore(Docs): remove step 2 from "Using use-theme-hook" (#4797) * fix(docs): incorrect code Modal placement (#4652) * docs: update DatePicker example to remove "time" label as time selection is not supported in this example (#4443) * feat(button): export PressEvent for onPress event typing * revert unnecessary changes * chore: format --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> * fix(listbox): pass missing press events to usePress (#4812) * fix(listbox): pass missing press events to usePress * feat(listbox): add test case for press event * chore(changeset): add changeset * fix(checkbox): inherit stroke in CheckboxIcon (#4811) * fix: `SelectItem`, `ListboxItem`, and `AutocompleteItem` not to accept `value` props (#4653) * fix(select): `SelectItem` does not accept value props * refactor: do not use the index as `key` * Update .changeset/light-hairs-draw.md * chore: remove unnecessary `value` props * chore: update changeset * refactor: remove unnecessary value prop --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix: pkg package scope (#4823) * fix: pkg package scope * fix: pkg package scope * fix: pkg package scope * fix(theme): border radius in Table when isMultiSelectable (#4808) * fix(theme): border radius in Table when isMultiSelectable * chore(theme): added changeset (#4807) * chore: removing the kapa ai for toast doc page (#4833) * fix(accordion): add data-slot attributes to accordion (#4832) * fix(accordion): add data-slot attributes to accordion * chore --------- Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): update versions (#4836) * docs(themes): adding theme generator (#4626) * chore: adding xylish's contributions + modifying styles * chore: nextui to heroui * chore: colors in theme generator * chore: radiuses, disable-opacity * chore: fixing the configuration box styles * chore: adding the showcase elemtents * chore: modifying styles * chore: adding the fonts * chore: adding the scaling * chore: removing the calendar * feat: adding the border-width * chore: modifying style for mobile * chore: modifying the styles * chore: removing the NextUI references + small bug fix * chore: adding coderabits reviews * fix: borderWidth not getting applied on breadcrumbs and input * chore: rebasing * chore: modifying the styles * chore: updating the styles for the smaller devices * chore: refactoring * chore: improvements * chore: making the fonts workable * chore: making the fonts workable * chore: modifying the swatch according to the theme * chore: adding the default selected template * chore: modifying mobile styles * chore: fixing the popover * chore: nit * fix: fixing the select styles * chore: modifying the mobile styles * chore: modifying the styles * fix: adding junior's suggestions * fix: fixing the breadcrumb * fix: adding junior's suggestions * feat: introduce NumberInput (#4475) * feat(number-field): init structure * feat(deps): add `@nextui-org/button` & `@react-types/button` * feat(theme): export number-field * feat(number-field): storybook init structure * feat(number-field): add NumberFieldHorizontalStepper * feat(number-field): add NumberFieldHorizontalStepper * feat(theme): init number field theme * feat(number-field): number-field draft * refactor(number-field): revise stepper icons * feat(shared-icons): add ChevronLeftIcon * feat(theme): stepperButton styles * feat(theme): number-field styles * fix(number-field): label layout * feat(number-field): vertical stepper wrapper * feat(number-field): use-number-field (wip) * feat(number-field): add data-direction * feat(theme): center the text if it is horizontal stepper * feat(number-field): add HorizontalStepper * feat(number-field): add HideStepper * chore(number-field): revise minValue & defaultValue * feat(docs): init number field structure * fix(theme): outside-left styles * refactor(theme): remove labelPlacement styles * refactor(number-field): remove labelContent logic * refactor(number-field): remove labelPlacement args * feat(number-field): helper text * feat(number-field): revise number field stories * feat(number-field): description * refactor(number-field): revise number field stories * feat(theme): numberFieldLabelClasses * fix(number-field): incorrect button props * fix(number-field): typing issue on stepper buttons * chore(number-field): add aria-label * refactor(number-field): merge props * fix(number-field): pass originalProps instead * chore(number-field): revise Required story args * feat(number-field): add WithStepValue & WithWheelDisabled & revise stories * chore(number-field): add label to Required * feat(docs): number-field doc page * fix(number-field): typing issue * fix(number-field): test cases * fix(number-field): user.keyboard & defaultValue * fix(number-field): should work with defaultValues * chore(number-field): add type: number * chore(number-field): remove hidden related code * fix(number-field): numeric value * chore(changeset): add changeset * feat(deps): add "@nextui-org/number-field" to docs * feat(react): export `@nextui-org/number-field` * feat(changeset): add @nextui-org/react * feat(docs): number-field examples * chore(number-field): use text instead * refactor(number-field): remove unnecessary filled-within * fix(number-field): test case * chore(number-field): remove aria-label for stepper buttons * feat(docs): add incrementAriaLabel & decrementAriaLabel to NumberField * chore(number-field): reorder WithFormatOptions * fix(deps): update number-field's peerDependencies & dependencies * feat(number-field): hidden input for holding numeric vaule * fix(docs): number field title * feat(docs): add format options to number field * chore(docs): revise number field content * chore(number-field): add type to useDOMRef * fix(number-field): clear button * fix(theme): clear button styles * refactor(theme): stepper button styles * chore(number-field): accept stepperButton class * fix(theme): helper wrapper padding * feat(deps): add `@react-aria/i18n` * fix(number-field): use locale from `@react-aria/i18n` * fix(deps): dependency order * fix(docs): incorrect command * chore(docs): remove type=number * chore(theme): add padding to stepper wrapper * fix(number-field): avoid resetting value * fix(number-field): storybook * chore(docs): remove custom impl * chore(docs): update docs code & content * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore: rename to number input * fix(number-input): incorrect import * chore(docs): rename to number input * chore: change to number input * refactor(number-input): change label to amount * fix(docs): use heroui commands * chore(changeset): update package name * refactor(number-input): remove steps * refactor: remove helper text * feat(number-input): label placement * refactor(number-input): rename stepper * fix(theme): isClearable * feat(docs): add label placements * refactor(docs): update number-input content * fix(docs): incorrect file * feat(docs): add lablePlacement * refactor(docs): remove labelPlacement & startContent * refactor(docs): remove helperText * refactor(docs): remove helperText * refactor(docs): revise description * feat(number-input): add data-slot for stepper-wrapper * fix(number-input): test cases * fix(docs): unexpected change * refactor(number-input): update outdated info * fix(docs): coderabbitai comments * refactor: remove validationState * fix(docs): typo * chore(deps): remove unnecessary dep * chore(deps): bump RA versions * chore(number-input): apply latest labelPlacement change * refactor(number-input): update author * refactor(number-input): revise stepper wrapper alignment * refactor(number-input): stepper button styles * chore(number-input): add disableRipple * fix(theme): increase stepper button click area * fix(number-input): sync latest validationBehavior changes * fix(number-input): pass validationBehavior to useAriaNumberInput * chore(docs): add import react * chore(number-input): remove HorizontalStepper story * chore(number-input): enable ripple * fix(number-input): remove number type * refactor(theme): follow input clear button styles * feat(theme): add color for stepperButton * fix(theme): revise stepperButton size for outside & outside-left cases * fix(number-input): typo * chore(docs): update description for wheel * chore(theme): change opacity when pressed * chore(number-input): add disableRipple * Update .changeset/witty-flies-reflect.md * fix(theme): add hover opacity effect --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore(docs): revised tags in doc routes for 2.7.0 (#4777) * chore(docs): remove last version update tags * chore(docs): add updated tag for 2.7.0 * chore(docs): updated table * chore(docs): update search meta * chore(docs): update github info * Merge branch 'canary' into docs/eng-2003 * chore(docs): update routes.json * chore(docs): update meta info * chore: improve theme builder * v2.7.0 * chore: v2.7.0 combined changeset * fix: changeset * fix: peer deps * feat: toast api improved * chore: toast styles improved * fix: toast styles * chore: toast width style changed * fix: changeset release * fix: changeset peerdeps * chore: toast styles improved * refactor(pagination): rtl (#4843) * refactor(pagination): rtl * chore(changeset): add changeset * feat: new spinner variant * fix(docs): popover shouldBlockScroll default value (#4851) * fix(select): select scroll content will close immediately when popover on click (#4849) * chore(select): update select deps * fix(select): select scroll content will close immediately when popover on click * chore(select): add .changeset file * chore(changeset): add issue number --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(calendar): add firstDayOfWeek (#4852) * feat(calendar): add firstDayOfWeek * feat(docs): add firstDayOfWeek in Calendar docs * feat(calendar): add firstDayOfWeek to range calendar * feat(docs): add firstDayOfWeek to API table * feat: add firstDayOfWeek to date picker & date range picker * feat(docs): add firstDayOfWeek * feat(changeset): add changeset * feat: add firstDayOfWeek option in storybook * feat(docs): export firstDayOfWeek * chore(docs): update title * chore: spinner variants updated * feat: v2.7.0 blog * ci(changesets): version packages (#4601) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: manual release * fix(toast): fixing maxVisibleToasts, solid variant promise, promise timer (#4881) * fix: maxVisibleToasts functionality * chore: adding the changeset * fix: starting the toast timer when the promise is resolved * fix: spinner invisible in solid variants * fix(toast): shouldShowTimeoutProgess typo (#4858) * fix(toast): shouldShowTimeoutProgess typo * fix(toast): shouldShowTimeoutProgess typo * fix(select): pass form prop to hidden-select (#4854) * fix(select): pass form prop to hidden-select * chore(select): changeset * fix(spinner): Attempted to call useProviderContext() from the server (#4904) * fix(spinner): add banner in tsup.config.ts * chore(changeset): add changeset * chore(docs): update breaking changes in blog * chore(docs): handled in PR4905 * fix(number-input): onChange event in number input (#4907) * fix(number-input): onChange event in number input * chore(number-input): remove duplicate test case * fix(breadcrumb): broken start & end content (#4921) (#4922) * refactor: build process (#4909) * chore: update component description * chore: exclude stories-utils & test-utils * chore(utilities): remove unused info * chore(deps): pnpm-lock.yaml * fix: incorrect system & theme version in peerDependencies (#4901) * fix: incorrect system & theme version in peerDependencies * fix: incorrect system & theme version in peerDependencies * chore(changeset): add changeset * fix(changeset): remove `@heroui/stories-utils` and `@heroui/test-utils` from ignore list (#4939) * fix(docs): include .npmrc in sandbox (#4951) * fix(input): esc key to clear input value (#4892) * chore: theme generator credits * fix: blog date and spinner default variant * fix: #4850 Solve Pressing ESC doesn't clear input value * fix: #4850 code review change * fix: undo changes in apps/docs/content/blog/v2.7.0.mdx and add a test case for my changes * fix: run through the test cases successfully * fix: change md content * fix: using isClearable not clear the value * fix: add number-input clearable esc clear * fix: edit review problem * fix: delete unless file * chore(changeset): update changeset * fix: add inputProps.onKeyDown * fix: pressing ESC key in a read-only input not clear --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: աӄա <wingkwong.code@gmail.com> * ci(changesets): version packages (#4896) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * v2.7.4 * chore(deps): bump turbo version (#4958) * chore(deps): bump turbo version * chore(root): update turbo.json * fix(docs): typecheck errors * fix(docs): typecheck errors * fix(deps): bump react-aria versions (#4998) * fix(deps): bump react-aria versions * chore(changeset): add changeset * chore(hooks): sync with RA's useButton * fix(use-aria-button): support aria-current * fix(docs): remove priority prop * fix(toast): remove priority queue & animation * fix(toast): remove deprecated logic * fix(popover): avoid passing preventFocusOnPress to non heroui button * fix: sync with UsePopover * fix(popover): prevent submenus from closing on scroll * fix(tests): test cases related to press refactoring * fix(toast): toast should appear above overlay and adding regionProps to ToastProvider (#5001) * fix: toast should be above the modal * fix: renaming the loadingIcon to loadingComponent * chore: adding changeset * chore: fixing conflicts * chore: adding the region props * fix: adding Marcus' suggestions * fix: marcus' suggestions * Revert "fix: renaming the loadingIcon to loadingComponent" This reverts commit 4c6bf32. * chore: adding marcus' suggestions * fix(number-stepper): stepper button pseudo height (#4968) * fix(progress): incorrect size in indeterminate storybook (#4967) * fix: shouldShowTimeoutProgress typo (#4961) * chore(workflows): update runner (#4960) * fix: a small eye icon for password input in edge(#4927) (#4950) * fix(progress): add RTL support to the progress component (#4911) * fix(progress): add RTL support to the progress component (#4908) * docs(progress): add changeset notes * refactor: resolved code review notes * refactor: removed unnecessary change * refactor: undo unnecessary change * fix: build * fix(toast): unexpected toast animation (#5003) * fix(deps): use RA beta toast * chore(toast): remove non-existing wrapUpdate * chore(changeset): add changeset * ci(changesets): version packages (#5002) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: millmason <jmsoper@protonmail.com> Co-authored-by: winches <329487092@qq.com> Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> Co-authored-by: Peterl561 <76144929+Peterl561@users.noreply.github.com> Co-authored-by: Paul Ebose <49006567+plbstl@users.noreply.github.com> Co-authored-by: Zarin <thesharifi.maruf@gmail.com> Co-authored-by: Shrinidhi Upadhyaya <shrinidhiupadhyaya1195@gmail.com> Co-authored-by: Avan <layouwen@gmail.com> Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com> Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> Co-authored-by: Adrian Szarapow <63786007+Adee1499@users.noreply.github.com> Co-authored-by: Hova25 <75216176+Hova25@users.noreply.github.com> Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: Tsuki <76603360+sudongyuer@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Steve Mosley <steve@starter4ten.com> Co-authored-by: LinYongLu <88522000+linyonglu@users.noreply.github.com> Co-authored-by: Waleed Asender <waleed.asender@mobasher.sa>
* chore: org name change (#4596) * chore: update brand name (#4600) * fix(calendar): function components cannot be given refs (#4614) * docs(modal): fix small typos and add clarifying language (#4629) * chore(deps): bump RA versions (#4611) * chore(deps): bump RA versions * chore(deps): bump @internationalized/date * chore(docs): update RA versions * chore(docs): update versions * chore(docs): use string type * chore(deps): update @react-types versions * refactor(docs): undo version change since they will be removed in another PR * feat: tailwind variants upgrade (#4386) * feat: tailwind variants upgrade * chore: restore npmrc * chore: adjust pkgs * fix: versions * fix: lock file * chore(changeset): update package name * chore(deps): use fixed version * fix(test): incorrect package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat: add fn win alt keys (#4638) * feat: add new keys * feat: add new keys * chore: update docs & storybook as well --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(use-image): load images after props change (#4523) * fix(use-image): load image after props change * chore(changeset): add changeset * refactor(use-image): remove unused props * feat(use-image): add test case * fix(use-image): apply useCallback to load & remove status check * chore(changeset): update package name * feat: global labelPlacement prop (#4346) * feat: adding the support for labelPlacement globally * chore: reafctoring * chore: updating the dependency * chore(changeset): update package name * chore: adding Marcus's suggestions --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(form): use native as default validation behavior (#4425) * fix(form): use native as default validation behavior * docs(form): delete explicit validationBehavior=native * test(form): adjusted form test validation behaviors * chore(form): adjusted stories with forms * chore(changeset): changed form default validation behavior to native * chore(changeset): removed packages with only test changes * chore(changeset): change to patch * chore(changeset): update package name * refactor(docs): update package name * refactor(docs): update to heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(spinner): new spinner variants (#4555) * refactor(spinner): add default variant * feature(spinner): add gradient variant * feature(spinner): add dots variant * feature(spinner): add dots-blink variant * feature(spinner): add spinner-bars * chore(spinner): add variants storybook * chore: adding variants to docs * chore: simplyfying the styles and modifying docs * chore: nits * chore: updating the dots and dots-blink animation * chore: nits * chore: adding Marcus' suggestions * chore: adding Marcus's suggestions * chore: adding junior's suggestions --------- Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> * fix: rename wrapper to tab wrapper (#4636) * fix: rename wrapper to tab wrapper * docs: update * docs: update * docs: update * fix: rename wrapper to tab wrapper * refactor: remove feature request from issue template (#4661) * refactor(.github): remove feature request template * refactor(.github): add a link to redirect to discussion (feature request category) * docs(table): include TS examples to show Selection type usage (#4793) * fix(listbox): unexpected scrollShadow on virtualized listbox (#4784) * fix(listbox): add scroll height & scroll top to listbox * fix(use-data-scroll-overflow): handle scrollHeight & scrollTop in virtualization * chore(changeset): add changeset * refactor(theme): replace left & right by start & end to support RTL (#4782) * fix(date-picker): deprecate dateInputClassNames (#4780) * chore(date-picker): add missing slots comments * fix(date-picker): remove dateInputClassNames * fix(date-picker): use classNames instead of dateInputClassNames * chore(docs): add missing attributes * fix(date-picker): use classNames instead of dateInputClassNames * feat(changeset): add changeset * fix(docs): broken type * refactor(navbar): remove dropdown menu width (#4757) * refactor: remove dropdown menu width * refactor: shorter description * refactor: rename instances of NextUI to Hero UI (#4645) * docs: use the correct org for `img.shields.io` license in README * docs: update opencollective org name * docs: use correct org name in site footer * docs: update image urls for heroui pro sections * docs: update laravel installation keywords in route config * docs: add `heroui` tag to `Introducing HeroUI` blog post * fix: use correct names in `plop/components/src` templates * chore: add empty changeset * fix: revert image urls back to `nextuipro.nyc3.cdn.digitaloceanspaces...` * chore: undo footer change * chore: update incorrect brand name * chore(docs): nextui -> heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(input): missing clear button with file input type (#4599) * fix(theme): sync with input theme on labelPlacement (#4597) * fix(theme): sync with input theme on labelPlacement * chore(select): revise width for labelPlacement * chore(changeset): add changeset * test(input): input interaction tests (#4579) * test(input): user interaction tests * test(input): missing act wrappers --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(calendar): rtl navigation (#4565) * fix(calendar): rtl navigation * chore(changeset): fixed reverse behavior of NextButton and PrevButton in the RTL calendar * chore(changeset): update package name * refactor(calendar): prefer isRTL and use className in theme package instead * chore(changeset): add theme package as well * chore(calendar): add min theme package to 2.4.7 --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove unnecessary className passing to tv and make naming consistent (#4558) * refactor: remove unnecessary className passing to tv * refactor(button): move styles to getButtonProps * refactor: rename classNames to styles to keep the naming consistent * fix: deprecation warning triggered by internal onClick (#4557) * fix(use-aria-link): onClick deprecation warning * fix(use-aria-button): onClick deprecation warning * feat(changeset): add changeset * fix(use-aria-button): incorrect prop name * chore(changeset): update package name * ci: add pkg pr new (#4540) * ci: add pkg pr new * ci: add pkg pr new * chore(workflow): update repo name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): remove shouldBlockScroll prop in Tooltip page (#4539) * fix(use-pagination): controlled page after delay (#4536) * fix(use-pagination): add page to dependency for scrollTo * feat(changeset): add changeset * chore(changeset): update package name * fix(tooltip): accessing element.ref was removed in React 19 issue (#4531) * fix(tooltip): accessing element.ref was removed in React 19 issue * chore(changeset): update package name * fix: correctly dismissable default value (#4524) * fix: correctly dismissable default value * fix: correctly dismissable default value * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(theme): input height in innerWrapper in Select (#4512) * fix(select): fix input height #4321 * chore(select): changed package name in changeset to theme * chore(select): updated changeset message * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix: inert value in next15 (#4491) * feat: add post install * feat: add postinstall * feat: add postinstall * fix: type * fix: type * fix: next version * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove cursor-hit in hiddenInputClasses (#4474) * refactor: remove cursor-hit in hiddenInputClasses * Create lazy-ants-exercise.md * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(table): virtualization (#4285) * feat: baseline virtualization for table * merge branch canary * fix: table layout * fix: calc header height w layouteffect to offset padding * Merge branch 'canary' into feat/eng-1633-virtualization-for-table * chore: remove unused files and comments * chore: add missing package * feat: add shouldVirtualize conditional to render virtualized-table * feat: update docs for table * feat: use wrapper to support theme styles * chore: add changeset * chore(changeset): update package name * chore(deps): pnpm-lock.yaml * fix(table): outdated package name * chore(changeset): add issue number * fix(deps): keep the version consistent with other components * fix(table): incorrect displayName * refactor(table): use VirtualizedTemplate * chore(deps): bump `@tanstack/react-virtua` * chore(deps): typecheck issue * fix(table): do not use any type * chore: remove auto virtualization --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat(toast): introduce Toast component (#4437) * feat: initial commit * chore: adding the animation * chore: nits * chore: fixes and adding draft1 of stories * chore: adding the docs draft * chore: adding the swiping interaction for toast removal * chore: adding the tests * fix: improving the progress bar logix * chore: refactoring and refining the animations * fix: making the animations compatible with the positons * chore: fixing the styles * chore: modifying the animations * chore: improving the animations * chore: adding the decorator to the story-book * chore: fixing the animations and positions * fix: handle expand region on touch * feat: adding the promises support * chore: updating the styles * chore: improving styles * chore: styles correction * fix: adding junior's suggestions * chore: correcting styles * fix: fixing the timer behavior * chore: adding the spinner to the toast * chore: full width for mobile * chore: modifying styles * chore: fixing the positions on smaller devices * chore: adding story with description * chore: adding credits for sonner * fix: adding junior's suggestions * chore: adding the exit animation * fix: adding junior's suggestions * chore: improving the swipe animations * fix: fixing the swipe animations on touch * chore: adding tests * chore: adding swipe threshild and initial position variable * fix: fixing autoclose in timeout * chore: modifying the docs * chore: fixing the conflict * chore: adding marcus' suggestions * chore: adding the bottom animations * chore: modying docs * chore: removing nextui references * chore: adding info about the provider * chore: updating the docs * chore: versions in package.json * chore: nits * chore: adding junior's suggestions * chore: nits * fix: applying junior's suggestions * chore: adding junior's suggestions * chore: using domMax * fix: adding Marcus's suggestions * chore: add global toast props and custom close icon * chore: adding the defaultTimout provider prop * chore: modifying defaultTimeout * chore: nits * fix: adding Marcus' suggestions * chore: fixing bg * chore(deps): bump RA deps * fix: fixing the color discrepancy due to the timer * chore: moving the kapan ai to the left side * refactor(toast): update author * chore: nit * chore: improvements * chore: updating the solid variant --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(docs): correct Tab usage example (#4821) * chore(docs): add note itemHeight for virtualization (#4822) * chore(docs): add note itemHeight for virtualization * fix: format * fix(docs): fix horizontal scrolling example in scroll-shadow (#4820) * refactor: update author in package.json (#4800) * feat(button): export PressEvent for onPress event typing (#4819) * fix(docs): failed to install dependencies in StackBlitz (#4639) * chore(Docs): remove step 2 from "Using use-theme-hook" (#4797) * fix(docs): incorrect code Modal placement (#4652) * docs: update DatePicker example to remove "time" label as time selection is not supported in this example (#4443) * feat(button): export PressEvent for onPress event typing * revert unnecessary changes * chore: format --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> * fix(listbox): pass missing press events to usePress (#4812) * fix(listbox): pass missing press events to usePress * feat(listbox): add test case for press event * chore(changeset): add changeset * fix(checkbox): inherit stroke in CheckboxIcon (#4811) * fix: `SelectItem`, `ListboxItem`, and `AutocompleteItem` not to accept `value` props (#4653) * fix(select): `SelectItem` does not accept value props * refactor: do not use the index as `key` * Update .changeset/light-hairs-draw.md * chore: remove unnecessary `value` props * chore: update changeset * refactor: remove unnecessary value prop --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix: pkg package scope (#4823) * fix: pkg package scope * fix: pkg package scope * fix: pkg package scope * fix(theme): border radius in Table when isMultiSelectable (#4808) * fix(theme): border radius in Table when isMultiSelectable * chore(theme): added changeset (#4807) * chore: removing the kapa ai for toast doc page (#4833) * fix(accordion): add data-slot attributes to accordion (#4832) * fix(accordion): add data-slot attributes to accordion * chore --------- Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): update versions (#4836) * docs(themes): adding theme generator (#4626) * chore: adding xylish's contributions + modifying styles * chore: nextui to heroui * chore: colors in theme generator * chore: radiuses, disable-opacity * chore: fixing the configuration box styles * chore: adding the showcase elemtents * chore: modifying styles * chore: adding the fonts * chore: adding the scaling * chore: removing the calendar * feat: adding the border-width * chore: modifying style for mobile * chore: modifying the styles * chore: removing the NextUI references + small bug fix * chore: adding coderabits reviews * fix: borderWidth not getting applied on breadcrumbs and input * chore: rebasing * chore: modifying the styles * chore: updating the styles for the smaller devices * chore: refactoring * chore: improvements * chore: making the fonts workable * chore: making the fonts workable * chore: modifying the swatch according to the theme * chore: adding the default selected template * chore: modifying mobile styles * chore: fixing the popover * chore: nit * fix: fixing the select styles * chore: modifying the mobile styles * chore: modifying the styles * fix: adding junior's suggestions * fix: fixing the breadcrumb * fix: adding junior's suggestions * feat: introduce NumberInput (#4475) * feat(number-field): init structure * feat(deps): add `@nextui-org/button` & `@react-types/button` * feat(theme): export number-field * feat(number-field): storybook init structure * feat(number-field): add NumberFieldHorizontalStepper * feat(number-field): add NumberFieldHorizontalStepper * feat(theme): init number field theme * feat(number-field): number-field draft * refactor(number-field): revise stepper icons * feat(shared-icons): add ChevronLeftIcon * feat(theme): stepperButton styles * feat(theme): number-field styles * fix(number-field): label layout * feat(number-field): vertical stepper wrapper * feat(number-field): use-number-field (wip) * feat(number-field): add data-direction * feat(theme): center the text if it is horizontal stepper * feat(number-field): add HorizontalStepper * feat(number-field): add HideStepper * chore(number-field): revise minValue & defaultValue * feat(docs): init number field structure * fix(theme): outside-left styles * refactor(theme): remove labelPlacement styles * refactor(number-field): remove labelContent logic * refactor(number-field): remove labelPlacement args * feat(number-field): helper text * feat(number-field): revise number field stories * feat(number-field): description * refactor(number-field): revise number field stories * feat(theme): numberFieldLabelClasses * fix(number-field): incorrect button props * fix(number-field): typing issue on stepper buttons * chore(number-field): add aria-label * refactor(number-field): merge props * fix(number-field): pass originalProps instead * chore(number-field): revise Required story args * feat(number-field): add WithStepValue & WithWheelDisabled & revise stories * chore(number-field): add label to Required * feat(docs): number-field doc page * fix(number-field): typing issue * fix(number-field): test cases * fix(number-field): user.keyboard & defaultValue * fix(number-field): should work with defaultValues * chore(number-field): add type: number * chore(number-field): remove hidden related code * fix(number-field): numeric value * chore(changeset): add changeset * feat(deps): add "@nextui-org/number-field" to docs * feat(react): export `@nextui-org/number-field` * feat(changeset): add @nextui-org/react * feat(docs): number-field examples * chore(number-field): use text instead * refactor(number-field): remove unnecessary filled-within * fix(number-field): test case * chore(number-field): remove aria-label for stepper buttons * feat(docs): add incrementAriaLabel & decrementAriaLabel to NumberField * chore(number-field): reorder WithFormatOptions * fix(deps): update number-field's peerDependencies & dependencies * feat(number-field): hidden input for holding numeric vaule * fix(docs): number field title * feat(docs): add format options to number field * chore(docs): revise number field content * chore(number-field): add type to useDOMRef * fix(number-field): clear button * fix(theme): clear button styles * refactor(theme): stepper button styles * chore(number-field): accept stepperButton class * fix(theme): helper wrapper padding * feat(deps): add `@react-aria/i18n` * fix(number-field): use locale from `@react-aria/i18n` * fix(deps): dependency order * fix(docs): incorrect command * chore(docs): remove type=number * chore(theme): add padding to stepper wrapper * fix(number-field): avoid resetting value * fix(number-field): storybook * chore(docs): remove custom impl * chore(docs): update docs code & content * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore: rename to number input * fix(number-input): incorrect import * chore(docs): rename to number input * chore: change to number input * refactor(number-input): change label to amount * fix(docs): use heroui commands * chore(changeset): update package name * refactor(number-input): remove steps * refactor: remove helper text * feat(number-input): label placement * refactor(number-input): rename stepper * fix(theme): isClearable * feat(docs): add label placements * refactor(docs): update number-input content * fix(docs): incorrect file * feat(docs): add lablePlacement * refactor(docs): remove labelPlacement & startContent * refactor(docs): remove helperText * refactor(docs): remove helperText * refactor(docs): revise description * feat(number-input): add data-slot for stepper-wrapper * fix(number-input): test cases * fix(docs): unexpected change * refactor(number-input): update outdated info * fix(docs): coderabbitai comments * refactor: remove validationState * fix(docs): typo * chore(deps): remove unnecessary dep * chore(deps): bump RA versions * chore(number-input): apply latest labelPlacement change * refactor(number-input): update author * refactor(number-input): revise stepper wrapper alignment * refactor(number-input): stepper button styles * chore(number-input): add disableRipple * fix(theme): increase stepper button click area * fix(number-input): sync latest validationBehavior changes * fix(number-input): pass validationBehavior to useAriaNumberInput * chore(docs): add import react * chore(number-input): remove HorizontalStepper story * chore(number-input): enable ripple * fix(number-input): remove number type * refactor(theme): follow input clear button styles * feat(theme): add color for stepperButton * fix(theme): revise stepperButton size for outside & outside-left cases * fix(number-input): typo * chore(docs): update description for wheel * chore(theme): change opacity when pressed * chore(number-input): add disableRipple * Update .changeset/witty-flies-reflect.md * fix(theme): add hover opacity effect --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore(docs): revised tags in doc routes for 2.7.0 (#4777) * chore(docs): remove last version update tags * chore(docs): add updated tag for 2.7.0 * chore(docs): updated table * chore(docs): update search meta * chore(docs): update github info * Merge branch 'canary' into docs/eng-2003 * chore(docs): update routes.json * chore(docs): update meta info * chore: improve theme builder * v2.7.0 * chore: v2.7.0 combined changeset * fix: changeset * fix: peer deps * feat: toast api improved * chore: toast styles improved * fix: toast styles * chore: toast width style changed * fix: changeset release * fix: changeset peerdeps * chore: toast styles improved * refactor(pagination): rtl (#4843) * refactor(pagination): rtl * chore(changeset): add changeset * feat: new spinner variant * fix(docs): popover shouldBlockScroll default value (#4851) * fix(select): select scroll content will close immediately when popover on click (#4849) * chore(select): update select deps * fix(select): select scroll content will close immediately when popover on click * chore(select): add .changeset file * chore(changeset): add issue number --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(calendar): add firstDayOfWeek (#4852) * feat(calendar): add firstDayOfWeek * feat(docs): add firstDayOfWeek in Calendar docs * feat(calendar): add firstDayOfWeek to range calendar * feat(docs): add firstDayOfWeek to API table * feat: add firstDayOfWeek to date picker & date range picker * feat(docs): add firstDayOfWeek * feat(changeset): add changeset * feat: add firstDayOfWeek option in storybook * feat(docs): export firstDayOfWeek * chore(docs): update title * chore: spinner variants updated * feat: v2.7.0 blog * ci(changesets): version packages (#4601) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: manual release * fix(toast): fixing maxVisibleToasts, solid variant promise, promise timer (#4881) * fix: maxVisibleToasts functionality * chore: adding the changeset * fix: starting the toast timer when the promise is resolved * fix: spinner invisible in solid variants * fix(toast): shouldShowTimeoutProgess typo (#4858) * fix(toast): shouldShowTimeoutProgess typo * fix(toast): shouldShowTimeoutProgess typo * fix(select): pass form prop to hidden-select (#4854) * fix(select): pass form prop to hidden-select * chore(select): changeset * fix(spinner): Attempted to call useProviderContext() from the server (#4904) * fix(spinner): add banner in tsup.config.ts * chore(changeset): add changeset * chore(docs): update breaking changes in blog * chore(docs): handled in PR4905 * fix(number-input): onChange event in number input (#4907) * fix(number-input): onChange event in number input * chore(number-input): remove duplicate test case * fix(breadcrumb): broken start & end content (#4921) (#4922) * refactor: build process (#4909) * chore: update component description * chore: exclude stories-utils & test-utils * chore(utilities): remove unused info * chore(deps): pnpm-lock.yaml * fix: incorrect system & theme version in peerDependencies (#4901) * fix: incorrect system & theme version in peerDependencies * fix: incorrect system & theme version in peerDependencies * chore(changeset): add changeset * fix(changeset): remove `@heroui/stories-utils` and `@heroui/test-utils` from ignore list (#4939) * fix(docs): include .npmrc in sandbox (#4951) * fix(input): esc key to clear input value (#4892) * chore: theme generator credits * fix: blog date and spinner default variant * fix: #4850 Solve Pressing ESC doesn't clear input value * fix: #4850 code review change * fix: undo changes in apps/docs/content/blog/v2.7.0.mdx and add a test case for my changes * fix: run through the test cases successfully * fix: change md content * fix: using isClearable not clear the value * fix: add number-input clearable esc clear * fix: edit review problem * fix: delete unless file * chore(changeset): update changeset * fix: add inputProps.onKeyDown * fix: pressing ESC key in a read-only input not clear --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: աӄա <wingkwong.code@gmail.com> * ci(changesets): version packages (#4896) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * v2.7.4 * chore(deps): bump turbo version (#4958) * chore(deps): bump turbo version * chore(root): update turbo.json * fix(docs): typecheck errors * fix(docs): typecheck errors * fix(deps): bump react-aria versions (#4998) * fix(deps): bump react-aria versions * chore(changeset): add changeset * chore(hooks): sync with RA's useButton * fix(use-aria-button): support aria-current * fix(docs): remove priority prop * fix(toast): remove priority queue & animation * fix(toast): remove deprecated logic * fix(popover): avoid passing preventFocusOnPress to non heroui button * fix: sync with UsePopover * fix(popover): prevent submenus from closing on scroll * fix(tests): test cases related to press refactoring * fix(toast): toast should appear above overlay and adding regionProps to ToastProvider (#5001) * fix: toast should be above the modal * fix: renaming the loadingIcon to loadingComponent * chore: adding changeset * chore: fixing conflicts * chore: adding the region props * fix: adding Marcus' suggestions * fix: marcus' suggestions * Revert "fix: renaming the loadingIcon to loadingComponent" This reverts commit 4c6bf32. * chore: adding marcus' suggestions * fix(number-stepper): stepper button pseudo height (#4968) * fix(progress): incorrect size in indeterminate storybook (#4967) * fix: shouldShowTimeoutProgress typo (#4961) * chore(workflows): update runner (#4960) * fix: a small eye icon for password input in edge(#4927) (#4950) * fix(progress): add RTL support to the progress component (#4911) * fix(progress): add RTL support to the progress component (#4908) * docs(progress): add changeset notes * refactor: resolved code review notes * refactor: removed unnecessary change * refactor: undo unnecessary change * fix: build * fix(toast): unexpected toast animation (#5003) * fix(deps): use RA beta toast * chore(toast): remove non-existing wrapUpdate * chore(changeset): add changeset * ci(changesets): version packages (#5002) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat: open in chat button in doc examples (#4996) * feat: open in chat button in doc examples * feat: pass dependencies in open in chat * fix: open in chat error handling * chore: small adjustment --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: open in chat improvements * chore: remove ripple from the open in chat button * fix(docs): open in chat (#5018) * fix: open in chat ignore react imports * fix: open in chat utm params * fix: open in chat utm source --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: millmason <jmsoper@protonmail.com> Co-authored-by: winches <329487092@qq.com> Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> Co-authored-by: Peterl561 <76144929+Peterl561@users.noreply.github.com> Co-authored-by: Paul Ebose <49006567+plbstl@users.noreply.github.com> Co-authored-by: Zarin <thesharifi.maruf@gmail.com> Co-authored-by: Shrinidhi Upadhyaya <shrinidhiupadhyaya1195@gmail.com> Co-authored-by: Avan <layouwen@gmail.com> Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com> Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> Co-authored-by: Adrian Szarapow <63786007+Adee1499@users.noreply.github.com> Co-authored-by: Hova25 <75216176+Hova25@users.noreply.github.com> Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: Tsuki <76603360+sudongyuer@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Steve Mosley <steve@starter4ten.com> Co-authored-by: LinYongLu <88522000+linyonglu@users.noreply.github.com> Co-authored-by: Waleed Asender <waleed.asender@mobasher.sa>
* chore: org name change (#4596) * chore: update brand name (#4600) * fix(calendar): function components cannot be given refs (#4614) * docs(modal): fix small typos and add clarifying language (#4629) * chore(deps): bump RA versions (#4611) * chore(deps): bump RA versions * chore(deps): bump @internationalized/date * chore(docs): update RA versions * chore(docs): update versions * chore(docs): use string type * chore(deps): update @react-types versions * refactor(docs): undo version change since they will be removed in another PR * feat: tailwind variants upgrade (#4386) * feat: tailwind variants upgrade * chore: restore npmrc * chore: adjust pkgs * fix: versions * fix: lock file * chore(changeset): update package name * chore(deps): use fixed version * fix(test): incorrect package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat: add fn win alt keys (#4638) * feat: add new keys * feat: add new keys * chore: update docs & storybook as well --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(use-image): load images after props change (#4523) * fix(use-image): load image after props change * chore(changeset): add changeset * refactor(use-image): remove unused props * feat(use-image): add test case * fix(use-image): apply useCallback to load & remove status check * chore(changeset): update package name * feat: global labelPlacement prop (#4346) * feat: adding the support for labelPlacement globally * chore: reafctoring * chore: updating the dependency * chore(changeset): update package name * chore: adding Marcus's suggestions --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(form): use native as default validation behavior (#4425) * fix(form): use native as default validation behavior * docs(form): delete explicit validationBehavior=native * test(form): adjusted form test validation behaviors * chore(form): adjusted stories with forms * chore(changeset): changed form default validation behavior to native * chore(changeset): removed packages with only test changes * chore(changeset): change to patch * chore(changeset): update package name * refactor(docs): update package name * refactor(docs): update to heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(spinner): new spinner variants (#4555) * refactor(spinner): add default variant * feature(spinner): add gradient variant * feature(spinner): add dots variant * feature(spinner): add dots-blink variant * feature(spinner): add spinner-bars * chore(spinner): add variants storybook * chore: adding variants to docs * chore: simplyfying the styles and modifying docs * chore: nits * chore: updating the dots and dots-blink animation * chore: nits * chore: adding Marcus' suggestions * chore: adding Marcus's suggestions * chore: adding junior's suggestions --------- Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> * fix: rename wrapper to tab wrapper (#4636) * fix: rename wrapper to tab wrapper * docs: update * docs: update * docs: update * fix: rename wrapper to tab wrapper * refactor: remove feature request from issue template (#4661) * refactor(.github): remove feature request template * refactor(.github): add a link to redirect to discussion (feature request category) * docs(table): include TS examples to show Selection type usage (#4793) * fix(listbox): unexpected scrollShadow on virtualized listbox (#4784) * fix(listbox): add scroll height & scroll top to listbox * fix(use-data-scroll-overflow): handle scrollHeight & scrollTop in virtualization * chore(changeset): add changeset * refactor(theme): replace left & right by start & end to support RTL (#4782) * fix(date-picker): deprecate dateInputClassNames (#4780) * chore(date-picker): add missing slots comments * fix(date-picker): remove dateInputClassNames * fix(date-picker): use classNames instead of dateInputClassNames * chore(docs): add missing attributes * fix(date-picker): use classNames instead of dateInputClassNames * feat(changeset): add changeset * fix(docs): broken type * refactor(navbar): remove dropdown menu width (#4757) * refactor: remove dropdown menu width * refactor: shorter description * refactor: rename instances of NextUI to Hero UI (#4645) * docs: use the correct org for `img.shields.io` license in README * docs: update opencollective org name * docs: use correct org name in site footer * docs: update image urls for heroui pro sections * docs: update laravel installation keywords in route config * docs: add `heroui` tag to `Introducing HeroUI` blog post * fix: use correct names in `plop/components/src` templates * chore: add empty changeset * fix: revert image urls back to `nextuipro.nyc3.cdn.digitaloceanspaces...` * chore: undo footer change * chore: update incorrect brand name * chore(docs): nextui -> heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(input): missing clear button with file input type (#4599) * fix(theme): sync with input theme on labelPlacement (#4597) * fix(theme): sync with input theme on labelPlacement * chore(select): revise width for labelPlacement * chore(changeset): add changeset * test(input): input interaction tests (#4579) * test(input): user interaction tests * test(input): missing act wrappers --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(calendar): rtl navigation (#4565) * fix(calendar): rtl navigation * chore(changeset): fixed reverse behavior of NextButton and PrevButton in the RTL calendar * chore(changeset): update package name * refactor(calendar): prefer isRTL and use className in theme package instead * chore(changeset): add theme package as well * chore(calendar): add min theme package to 2.4.7 --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove unnecessary className passing to tv and make naming consistent (#4558) * refactor: remove unnecessary className passing to tv * refactor(button): move styles to getButtonProps * refactor: rename classNames to styles to keep the naming consistent * fix: deprecation warning triggered by internal onClick (#4557) * fix(use-aria-link): onClick deprecation warning * fix(use-aria-button): onClick deprecation warning * feat(changeset): add changeset * fix(use-aria-button): incorrect prop name * chore(changeset): update package name * ci: add pkg pr new (#4540) * ci: add pkg pr new * ci: add pkg pr new * chore(workflow): update repo name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): remove shouldBlockScroll prop in Tooltip page (#4539) * fix(use-pagination): controlled page after delay (#4536) * fix(use-pagination): add page to dependency for scrollTo * feat(changeset): add changeset * chore(changeset): update package name * fix(tooltip): accessing element.ref was removed in React 19 issue (#4531) * fix(tooltip): accessing element.ref was removed in React 19 issue * chore(changeset): update package name * fix: correctly dismissable default value (#4524) * fix: correctly dismissable default value * fix: correctly dismissable default value * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(theme): input height in innerWrapper in Select (#4512) * fix(select): fix input height #4321 * chore(select): changed package name in changeset to theme * chore(select): updated changeset message * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix: inert value in next15 (#4491) * feat: add post install * feat: add postinstall * feat: add postinstall * fix: type * fix: type * fix: next version * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove cursor-hit in hiddenInputClasses (#4474) * refactor: remove cursor-hit in hiddenInputClasses * Create lazy-ants-exercise.md * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(table): virtualization (#4285) * feat: baseline virtualization for table * merge branch canary * fix: table layout * fix: calc header height w layouteffect to offset padding * Merge branch 'canary' into feat/eng-1633-virtualization-for-table * chore: remove unused files and comments * chore: add missing package * feat: add shouldVirtualize conditional to render virtualized-table * feat: update docs for table * feat: use wrapper to support theme styles * chore: add changeset * chore(changeset): update package name * chore(deps): pnpm-lock.yaml * fix(table): outdated package name * chore(changeset): add issue number * fix(deps): keep the version consistent with other components * fix(table): incorrect displayName * refactor(table): use VirtualizedTemplate * chore(deps): bump `@tanstack/react-virtua` * chore(deps): typecheck issue * fix(table): do not use any type * chore: remove auto virtualization --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat(toast): introduce Toast component (#4437) * feat: initial commit * chore: adding the animation * chore: nits * chore: fixes and adding draft1 of stories * chore: adding the docs draft * chore: adding the swiping interaction for toast removal * chore: adding the tests * fix: improving the progress bar logix * chore: refactoring and refining the animations * fix: making the animations compatible with the positons * chore: fixing the styles * chore: modifying the animations * chore: improving the animations * chore: adding the decorator to the story-book * chore: fixing the animations and positions * fix: handle expand region on touch * feat: adding the promises support * chore: updating the styles * chore: improving styles * chore: styles correction * fix: adding junior's suggestions * chore: correcting styles * fix: fixing the timer behavior * chore: adding the spinner to the toast * chore: full width for mobile * chore: modifying styles * chore: fixing the positions on smaller devices * chore: adding story with description * chore: adding credits for sonner * fix: adding junior's suggestions * chore: adding the exit animation * fix: adding junior's suggestions * chore: improving the swipe animations * fix: fixing the swipe animations on touch * chore: adding tests * chore: adding swipe threshild and initial position variable * fix: fixing autoclose in timeout * chore: modifying the docs * chore: fixing the conflict * chore: adding marcus' suggestions * chore: adding the bottom animations * chore: modying docs * chore: removing nextui references * chore: adding info about the provider * chore: updating the docs * chore: versions in package.json * chore: nits * chore: adding junior's suggestions * chore: nits * fix: applying junior's suggestions * chore: adding junior's suggestions * chore: using domMax * fix: adding Marcus's suggestions * chore: add global toast props and custom close icon * chore: adding the defaultTimout provider prop * chore: modifying defaultTimeout * chore: nits * fix: adding Marcus' suggestions * chore: fixing bg * chore(deps): bump RA deps * fix: fixing the color discrepancy due to the timer * chore: moving the kapan ai to the left side * refactor(toast): update author * chore: nit * chore: improvements * chore: updating the solid variant --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(docs): correct Tab usage example (#4821) * chore(docs): add note itemHeight for virtualization (#4822) * chore(docs): add note itemHeight for virtualization * fix: format * fix(docs): fix horizontal scrolling example in scroll-shadow (#4820) * refactor: update author in package.json (#4800) * feat(button): export PressEvent for onPress event typing (#4819) * fix(docs): failed to install dependencies in StackBlitz (#4639) * chore(Docs): remove step 2 from "Using use-theme-hook" (#4797) * fix(docs): incorrect code Modal placement (#4652) * docs: update DatePicker example to remove "time" label as time selection is not supported in this example (#4443) * feat(button): export PressEvent for onPress event typing * revert unnecessary changes * chore: format --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> * fix(listbox): pass missing press events to usePress (#4812) * fix(listbox): pass missing press events to usePress * feat(listbox): add test case for press event * chore(changeset): add changeset * fix(checkbox): inherit stroke in CheckboxIcon (#4811) * fix: `SelectItem`, `ListboxItem`, and `AutocompleteItem` not to accept `value` props (#4653) * fix(select): `SelectItem` does not accept value props * refactor: do not use the index as `key` * Update .changeset/light-hairs-draw.md * chore: remove unnecessary `value` props * chore: update changeset * refactor: remove unnecessary value prop --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix: pkg package scope (#4823) * fix: pkg package scope * fix: pkg package scope * fix: pkg package scope * fix(theme): border radius in Table when isMultiSelectable (#4808) * fix(theme): border radius in Table when isMultiSelectable * chore(theme): added changeset (#4807) * chore: removing the kapa ai for toast doc page (#4833) * fix(accordion): add data-slot attributes to accordion (#4832) * fix(accordion): add data-slot attributes to accordion * chore --------- Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): update versions (#4836) * docs(themes): adding theme generator (#4626) * chore: adding xylish's contributions + modifying styles * chore: nextui to heroui * chore: colors in theme generator * chore: radiuses, disable-opacity * chore: fixing the configuration box styles * chore: adding the showcase elemtents * chore: modifying styles * chore: adding the fonts * chore: adding the scaling * chore: removing the calendar * feat: adding the border-width * chore: modifying style for mobile * chore: modifying the styles * chore: removing the NextUI references + small bug fix * chore: adding coderabits reviews * fix: borderWidth not getting applied on breadcrumbs and input * chore: rebasing * chore: modifying the styles * chore: updating the styles for the smaller devices * chore: refactoring * chore: improvements * chore: making the fonts workable * chore: making the fonts workable * chore: modifying the swatch according to the theme * chore: adding the default selected template * chore: modifying mobile styles * chore: fixing the popover * chore: nit * fix: fixing the select styles * chore: modifying the mobile styles * chore: modifying the styles * fix: adding junior's suggestions * fix: fixing the breadcrumb * fix: adding junior's suggestions * feat: introduce NumberInput (#4475) * feat(number-field): init structure * feat(deps): add `@nextui-org/button` & `@react-types/button` * feat(theme): export number-field * feat(number-field): storybook init structure * feat(number-field): add NumberFieldHorizontalStepper * feat(number-field): add NumberFieldHorizontalStepper * feat(theme): init number field theme * feat(number-field): number-field draft * refactor(number-field): revise stepper icons * feat(shared-icons): add ChevronLeftIcon * feat(theme): stepperButton styles * feat(theme): number-field styles * fix(number-field): label layout * feat(number-field): vertical stepper wrapper * feat(number-field): use-number-field (wip) * feat(number-field): add data-direction * feat(theme): center the text if it is horizontal stepper * feat(number-field): add HorizontalStepper * feat(number-field): add HideStepper * chore(number-field): revise minValue & defaultValue * feat(docs): init number field structure * fix(theme): outside-left styles * refactor(theme): remove labelPlacement styles * refactor(number-field): remove labelContent logic * refactor(number-field): remove labelPlacement args * feat(number-field): helper text * feat(number-field): revise number field stories * feat(number-field): description * refactor(number-field): revise number field stories * feat(theme): numberFieldLabelClasses * fix(number-field): incorrect button props * fix(number-field): typing issue on stepper buttons * chore(number-field): add aria-label * refactor(number-field): merge props * fix(number-field): pass originalProps instead * chore(number-field): revise Required story args * feat(number-field): add WithStepValue & WithWheelDisabled & revise stories * chore(number-field): add label to Required * feat(docs): number-field doc page * fix(number-field): typing issue * fix(number-field): test cases * fix(number-field): user.keyboard & defaultValue * fix(number-field): should work with defaultValues * chore(number-field): add type: number * chore(number-field): remove hidden related code * fix(number-field): numeric value * chore(changeset): add changeset * feat(deps): add "@nextui-org/number-field" to docs * feat(react): export `@nextui-org/number-field` * feat(changeset): add @nextui-org/react * feat(docs): number-field examples * chore(number-field): use text instead * refactor(number-field): remove unnecessary filled-within * fix(number-field): test case * chore(number-field): remove aria-label for stepper buttons * feat(docs): add incrementAriaLabel & decrementAriaLabel to NumberField * chore(number-field): reorder WithFormatOptions * fix(deps): update number-field's peerDependencies & dependencies * feat(number-field): hidden input for holding numeric vaule * fix(docs): number field title * feat(docs): add format options to number field * chore(docs): revise number field content * chore(number-field): add type to useDOMRef * fix(number-field): clear button * fix(theme): clear button styles * refactor(theme): stepper button styles * chore(number-field): accept stepperButton class * fix(theme): helper wrapper padding * feat(deps): add `@react-aria/i18n` * fix(number-field): use locale from `@react-aria/i18n` * fix(deps): dependency order * fix(docs): incorrect command * chore(docs): remove type=number * chore(theme): add padding to stepper wrapper * fix(number-field): avoid resetting value * fix(number-field): storybook * chore(docs): remove custom impl * chore(docs): update docs code & content * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore: rename to number input * fix(number-input): incorrect import * chore(docs): rename to number input * chore: change to number input * refactor(number-input): change label to amount * fix(docs): use heroui commands * chore(changeset): update package name * refactor(number-input): remove steps * refactor: remove helper text * feat(number-input): label placement * refactor(number-input): rename stepper * fix(theme): isClearable * feat(docs): add label placements * refactor(docs): update number-input content * fix(docs): incorrect file * feat(docs): add lablePlacement * refactor(docs): remove labelPlacement & startContent * refactor(docs): remove helperText * refactor(docs): remove helperText * refactor(docs): revise description * feat(number-input): add data-slot for stepper-wrapper * fix(number-input): test cases * fix(docs): unexpected change * refactor(number-input): update outdated info * fix(docs): coderabbitai comments * refactor: remove validationState * fix(docs): typo * chore(deps): remove unnecessary dep * chore(deps): bump RA versions * chore(number-input): apply latest labelPlacement change * refactor(number-input): update author * refactor(number-input): revise stepper wrapper alignment * refactor(number-input): stepper button styles * chore(number-input): add disableRipple * fix(theme): increase stepper button click area * fix(number-input): sync latest validationBehavior changes * fix(number-input): pass validationBehavior to useAriaNumberInput * chore(docs): add import react * chore(number-input): remove HorizontalStepper story * chore(number-input): enable ripple * fix(number-input): remove number type * refactor(theme): follow input clear button styles * feat(theme): add color for stepperButton * fix(theme): revise stepperButton size for outside & outside-left cases * fix(number-input): typo * chore(docs): update description for wheel * chore(theme): change opacity when pressed * chore(number-input): add disableRipple * Update .changeset/witty-flies-reflect.md * fix(theme): add hover opacity effect --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore(docs): revised tags in doc routes for 2.7.0 (#4777) * chore(docs): remove last version update tags * chore(docs): add updated tag for 2.7.0 * chore(docs): updated table * chore(docs): update search meta * chore(docs): update github info * Merge branch 'canary' into docs/eng-2003 * chore(docs): update routes.json * chore(docs): update meta info * chore: improve theme builder * v2.7.0 * chore: v2.7.0 combined changeset * fix: changeset * fix: peer deps * feat: toast api improved * chore: toast styles improved * fix: toast styles * chore: toast width style changed * fix: changeset release * fix: changeset peerdeps * chore: toast styles improved * refactor(pagination): rtl (#4843) * refactor(pagination): rtl * chore(changeset): add changeset * feat: new spinner variant * fix(docs): popover shouldBlockScroll default value (#4851) * fix(select): select scroll content will close immediately when popover on click (#4849) * chore(select): update select deps * fix(select): select scroll content will close immediately when popover on click * chore(select): add .changeset file * chore(changeset): add issue number --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(calendar): add firstDayOfWeek (#4852) * feat(calendar): add firstDayOfWeek * feat(docs): add firstDayOfWeek in Calendar docs * feat(calendar): add firstDayOfWeek to range calendar * feat(docs): add firstDayOfWeek to API table * feat: add firstDayOfWeek to date picker & date range picker * feat(docs): add firstDayOfWeek * feat(changeset): add changeset * feat: add firstDayOfWeek option in storybook * feat(docs): export firstDayOfWeek * chore(docs): update title * chore: spinner variants updated * feat: v2.7.0 blog * ci(changesets): version packages (#4601) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: manual release * fix(toast): fixing maxVisibleToasts, solid variant promise, promise timer (#4881) * fix: maxVisibleToasts functionality * chore: adding the changeset * fix: starting the toast timer when the promise is resolved * fix: spinner invisible in solid variants * fix(toast): shouldShowTimeoutProgess typo (#4858) * fix(toast): shouldShowTimeoutProgess typo * fix(toast): shouldShowTimeoutProgess typo * fix(select): pass form prop to hidden-select (#4854) * fix(select): pass form prop to hidden-select * chore(select): changeset * fix(spinner): Attempted to call useProviderContext() from the server (#4904) * fix(spinner): add banner in tsup.config.ts * chore(changeset): add changeset * chore(docs): update breaking changes in blog * chore(docs): handled in PR4905 * fix(number-input): onChange event in number input (#4907) * fix(number-input): onChange event in number input * chore(number-input): remove duplicate test case * fix(breadcrumb): broken start & end content (#4921) (#4922) * refactor: build process (#4909) * chore: update component description * chore: exclude stories-utils & test-utils * chore(utilities): remove unused info * chore(deps): pnpm-lock.yaml * fix: incorrect system & theme version in peerDependencies (#4901) * fix: incorrect system & theme version in peerDependencies * fix: incorrect system & theme version in peerDependencies * chore(changeset): add changeset * fix(changeset): remove `@heroui/stories-utils` and `@heroui/test-utils` from ignore list (#4939) * fix(docs): include .npmrc in sandbox (#4951) * fix(input): esc key to clear input value (#4892) * chore: theme generator credits * fix: blog date and spinner default variant * fix: #4850 Solve Pressing ESC doesn't clear input value * fix: #4850 code review change * fix: undo changes in apps/docs/content/blog/v2.7.0.mdx and add a test case for my changes * fix: run through the test cases successfully * fix: change md content * fix: using isClearable not clear the value * fix: add number-input clearable esc clear * fix: edit review problem * fix: delete unless file * chore(changeset): update changeset * fix: add inputProps.onKeyDown * fix: pressing ESC key in a read-only input not clear --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: աӄա <wingkwong.code@gmail.com> * ci(changesets): version packages (#4896) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * v2.7.4 * chore(deps): bump turbo version (#4958) * chore(deps): bump turbo version * chore(root): update turbo.json * fix(docs): typecheck errors * fix(docs): typecheck errors * fix(deps): bump react-aria versions (#4998) * fix(deps): bump react-aria versions * chore(changeset): add changeset * chore(hooks): sync with RA's useButton * fix(use-aria-button): support aria-current * fix(docs): remove priority prop * fix(toast): remove priority queue & animation * fix(toast): remove deprecated logic * fix(popover): avoid passing preventFocusOnPress to non heroui button * fix: sync with UsePopover * fix(popover): prevent submenus from closing on scroll * fix(tests): test cases related to press refactoring * fix(toast): toast should appear above overlay and adding regionProps to ToastProvider (#5001) * fix: toast should be above the modal * fix: renaming the loadingIcon to loadingComponent * chore: adding changeset * chore: fixing conflicts * chore: adding the region props * fix: adding Marcus' suggestions * fix: marcus' suggestions * Revert "fix: renaming the loadingIcon to loadingComponent" This reverts commit 4c6bf32. * chore: adding marcus' suggestions * fix(number-stepper): stepper button pseudo height (#4968) * fix(progress): incorrect size in indeterminate storybook (#4967) * fix: shouldShowTimeoutProgress typo (#4961) * chore(workflows): update runner (#4960) * fix: a small eye icon for password input in edge(#4927) (#4950) * fix(progress): add RTL support to the progress component (#4911) * fix(progress): add RTL support to the progress component (#4908) * docs(progress): add changeset notes * refactor: resolved code review notes * refactor: removed unnecessary change * refactor: undo unnecessary change * fix: build * fix(toast): unexpected toast animation (#5003) * fix(deps): use RA beta toast * chore(toast): remove non-existing wrapUpdate * chore(changeset): add changeset * ci(changesets): version packages (#5002) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat: open in chat button in doc examples (#4996) * feat: open in chat button in doc examples * feat: pass dependencies in open in chat * fix: open in chat error handling * chore: small adjustment --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: open in chat improvements * chore: remove ripple from the open in chat button * fix(docs): open in chat (#5018) * fix: open in chat ignore react imports * fix: open in chat utm params * fix: open in chat utm source * fix(docs): open in chat improvements (#5035) * fix(docs): parse dependency match imported components against heroui * fix(docs): center open in chat components --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: millmason <jmsoper@protonmail.com> Co-authored-by: winches <329487092@qq.com> Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> Co-authored-by: Peterl561 <76144929+Peterl561@users.noreply.github.com> Co-authored-by: Paul Ebose <49006567+plbstl@users.noreply.github.com> Co-authored-by: Zarin <thesharifi.maruf@gmail.com> Co-authored-by: Shrinidhi Upadhyaya <shrinidhiupadhyaya1195@gmail.com> Co-authored-by: Avan <layouwen@gmail.com> Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com> Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> Co-authored-by: Adrian Szarapow <63786007+Adee1499@users.noreply.github.com> Co-authored-by: Hova25 <75216176+Hova25@users.noreply.github.com> Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: Tsuki <76603360+sudongyuer@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Steve Mosley <steve@starter4ten.com> Co-authored-by: LinYongLu <88522000+linyonglu@users.noreply.github.com> Co-authored-by: Waleed Asender <waleed.asender@mobasher.sa>
* chore: org name change (#4596) * chore: update brand name (#4600) * fix(calendar): function components cannot be given refs (#4614) * docs(modal): fix small typos and add clarifying language (#4629) * chore(deps): bump RA versions (#4611) * chore(deps): bump RA versions * chore(deps): bump @internationalized/date * chore(docs): update RA versions * chore(docs): update versions * chore(docs): use string type * chore(deps): update @react-types versions * refactor(docs): undo version change since they will be removed in another PR * feat: tailwind variants upgrade (#4386) * feat: tailwind variants upgrade * chore: restore npmrc * chore: adjust pkgs * fix: versions * fix: lock file * chore(changeset): update package name * chore(deps): use fixed version * fix(test): incorrect package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat: add fn win alt keys (#4638) * feat: add new keys * feat: add new keys * chore: update docs & storybook as well --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(use-image): load images after props change (#4523) * fix(use-image): load image after props change * chore(changeset): add changeset * refactor(use-image): remove unused props * feat(use-image): add test case * fix(use-image): apply useCallback to load & remove status check * chore(changeset): update package name * feat: global labelPlacement prop (#4346) * feat: adding the support for labelPlacement globally * chore: reafctoring * chore: updating the dependency * chore(changeset): update package name * chore: adding Marcus's suggestions --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(form): use native as default validation behavior (#4425) * fix(form): use native as default validation behavior * docs(form): delete explicit validationBehavior=native * test(form): adjusted form test validation behaviors * chore(form): adjusted stories with forms * chore(changeset): changed form default validation behavior to native * chore(changeset): removed packages with only test changes * chore(changeset): change to patch * chore(changeset): update package name * refactor(docs): update package name * refactor(docs): update to heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(spinner): new spinner variants (#4555) * refactor(spinner): add default variant * feature(spinner): add gradient variant * feature(spinner): add dots variant * feature(spinner): add dots-blink variant * feature(spinner): add spinner-bars * chore(spinner): add variants storybook * chore: adding variants to docs * chore: simplyfying the styles and modifying docs * chore: nits * chore: updating the dots and dots-blink animation * chore: nits * chore: adding Marcus' suggestions * chore: adding Marcus's suggestions * chore: adding junior's suggestions --------- Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> * fix: rename wrapper to tab wrapper (#4636) * fix: rename wrapper to tab wrapper * docs: update * docs: update * docs: update * fix: rename wrapper to tab wrapper * refactor: remove feature request from issue template (#4661) * refactor(.github): remove feature request template * refactor(.github): add a link to redirect to discussion (feature request category) * docs(table): include TS examples to show Selection type usage (#4793) * fix(listbox): unexpected scrollShadow on virtualized listbox (#4784) * fix(listbox): add scroll height & scroll top to listbox * fix(use-data-scroll-overflow): handle scrollHeight & scrollTop in virtualization * chore(changeset): add changeset * refactor(theme): replace left & right by start & end to support RTL (#4782) * fix(date-picker): deprecate dateInputClassNames (#4780) * chore(date-picker): add missing slots comments * fix(date-picker): remove dateInputClassNames * fix(date-picker): use classNames instead of dateInputClassNames * chore(docs): add missing attributes * fix(date-picker): use classNames instead of dateInputClassNames * feat(changeset): add changeset * fix(docs): broken type * refactor(navbar): remove dropdown menu width (#4757) * refactor: remove dropdown menu width * refactor: shorter description * refactor: rename instances of NextUI to Hero UI (#4645) * docs: use the correct org for `img.shields.io` license in README * docs: update opencollective org name * docs: use correct org name in site footer * docs: update image urls for heroui pro sections * docs: update laravel installation keywords in route config * docs: add `heroui` tag to `Introducing HeroUI` blog post * fix: use correct names in `plop/components/src` templates * chore: add empty changeset * fix: revert image urls back to `nextuipro.nyc3.cdn.digitaloceanspaces...` * chore: undo footer change * chore: update incorrect brand name * chore(docs): nextui -> heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(input): missing clear button with file input type (#4599) * fix(theme): sync with input theme on labelPlacement (#4597) * fix(theme): sync with input theme on labelPlacement * chore(select): revise width for labelPlacement * chore(changeset): add changeset * test(input): input interaction tests (#4579) * test(input): user interaction tests * test(input): missing act wrappers --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(calendar): rtl navigation (#4565) * fix(calendar): rtl navigation * chore(changeset): fixed reverse behavior of NextButton and PrevButton in the RTL calendar * chore(changeset): update package name * refactor(calendar): prefer isRTL and use className in theme package instead * chore(changeset): add theme package as well * chore(calendar): add min theme package to 2.4.7 --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove unnecessary className passing to tv and make naming consistent (#4558) * refactor: remove unnecessary className passing to tv * refactor(button): move styles to getButtonProps * refactor: rename classNames to styles to keep the naming consistent * fix: deprecation warning triggered by internal onClick (#4557) * fix(use-aria-link): onClick deprecation warning * fix(use-aria-button): onClick deprecation warning * feat(changeset): add changeset * fix(use-aria-button): incorrect prop name * chore(changeset): update package name * ci: add pkg pr new (#4540) * ci: add pkg pr new * ci: add pkg pr new * chore(workflow): update repo name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): remove shouldBlockScroll prop in Tooltip page (#4539) * fix(use-pagination): controlled page after delay (#4536) * fix(use-pagination): add page to dependency for scrollTo * feat(changeset): add changeset * chore(changeset): update package name * fix(tooltip): accessing element.ref was removed in React 19 issue (#4531) * fix(tooltip): accessing element.ref was removed in React 19 issue * chore(changeset): update package name * fix: correctly dismissable default value (#4524) * fix: correctly dismissable default value * fix: correctly dismissable default value * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(theme): input height in innerWrapper in Select (#4512) * fix(select): fix input height #4321 * chore(select): changed package name in changeset to theme * chore(select): updated changeset message * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix: inert value in next15 (#4491) * feat: add post install * feat: add postinstall * feat: add postinstall * fix: type * fix: type * fix: next version * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove cursor-hit in hiddenInputClasses (#4474) * refactor: remove cursor-hit in hiddenInputClasses * Create lazy-ants-exercise.md * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(table): virtualization (#4285) * feat: baseline virtualization for table * merge branch canary * fix: table layout * fix: calc header height w layouteffect to offset padding * Merge branch 'canary' into feat/eng-1633-virtualization-for-table * chore: remove unused files and comments * chore: add missing package * feat: add shouldVirtualize conditional to render virtualized-table * feat: update docs for table * feat: use wrapper to support theme styles * chore: add changeset * chore(changeset): update package name * chore(deps): pnpm-lock.yaml * fix(table): outdated package name * chore(changeset): add issue number * fix(deps): keep the version consistent with other components * fix(table): incorrect displayName * refactor(table): use VirtualizedTemplate * chore(deps): bump `@tanstack/react-virtua` * chore(deps): typecheck issue * fix(table): do not use any type * chore: remove auto virtualization --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat(toast): introduce Toast component (#4437) * feat: initial commit * chore: adding the animation * chore: nits * chore: fixes and adding draft1 of stories * chore: adding the docs draft * chore: adding the swiping interaction for toast removal * chore: adding the tests * fix: improving the progress bar logix * chore: refactoring and refining the animations * fix: making the animations compatible with the positons * chore: fixing the styles * chore: modifying the animations * chore: improving the animations * chore: adding the decorator to the story-book * chore: fixing the animations and positions * fix: handle expand region on touch * feat: adding the promises support * chore: updating the styles * chore: improving styles * chore: styles correction * fix: adding junior's suggestions * chore: correcting styles * fix: fixing the timer behavior * chore: adding the spinner to the toast * chore: full width for mobile * chore: modifying styles * chore: fixing the positions on smaller devices * chore: adding story with description * chore: adding credits for sonner * fix: adding junior's suggestions * chore: adding the exit animation * fix: adding junior's suggestions * chore: improving the swipe animations * fix: fixing the swipe animations on touch * chore: adding tests * chore: adding swipe threshild and initial position variable * fix: fixing autoclose in timeout * chore: modifying the docs * chore: fixing the conflict * chore: adding marcus' suggestions * chore: adding the bottom animations * chore: modying docs * chore: removing nextui references * chore: adding info about the provider * chore: updating the docs * chore: versions in package.json * chore: nits * chore: adding junior's suggestions * chore: nits * fix: applying junior's suggestions * chore: adding junior's suggestions * chore: using domMax * fix: adding Marcus's suggestions * chore: add global toast props and custom close icon * chore: adding the defaultTimout provider prop * chore: modifying defaultTimeout * chore: nits * fix: adding Marcus' suggestions * chore: fixing bg * chore(deps): bump RA deps * fix: fixing the color discrepancy due to the timer * chore: moving the kapan ai to the left side * refactor(toast): update author * chore: nit * chore: improvements * chore: updating the solid variant --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(docs): correct Tab usage example (#4821) * chore(docs): add note itemHeight for virtualization (#4822) * chore(docs): add note itemHeight for virtualization * fix: format * fix(docs): fix horizontal scrolling example in scroll-shadow (#4820) * refactor: update author in package.json (#4800) * feat(button): export PressEvent for onPress event typing (#4819) * fix(docs): failed to install dependencies in StackBlitz (#4639) * chore(Docs): remove step 2 from "Using use-theme-hook" (#4797) * fix(docs): incorrect code Modal placement (#4652) * docs: update DatePicker example to remove "time" label as time selection is not supported in this example (#4443) * feat(button): export PressEvent for onPress event typing * revert unnecessary changes * chore: format --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> * fix(listbox): pass missing press events to usePress (#4812) * fix(listbox): pass missing press events to usePress * feat(listbox): add test case for press event * chore(changeset): add changeset * fix(checkbox): inherit stroke in CheckboxIcon (#4811) * fix: `SelectItem`, `ListboxItem`, and `AutocompleteItem` not to accept `value` props (#4653) * fix(select): `SelectItem` does not accept value props * refactor: do not use the index as `key` * Update .changeset/light-hairs-draw.md * chore: remove unnecessary `value` props * chore: update changeset * refactor: remove unnecessary value prop --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix: pkg package scope (#4823) * fix: pkg package scope * fix: pkg package scope * fix: pkg package scope * fix(theme): border radius in Table when isMultiSelectable (#4808) * fix(theme): border radius in Table when isMultiSelectable * chore(theme): added changeset (#4807) * chore: removing the kapa ai for toast doc page (#4833) * fix(accordion): add data-slot attributes to accordion (#4832) * fix(accordion): add data-slot attributes to accordion * chore --------- Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): update versions (#4836) * docs(themes): adding theme generator (#4626) * chore: adding xylish's contributions + modifying styles * chore: nextui to heroui * chore: colors in theme generator * chore: radiuses, disable-opacity * chore: fixing the configuration box styles * chore: adding the showcase elemtents * chore: modifying styles * chore: adding the fonts * chore: adding the scaling * chore: removing the calendar * feat: adding the border-width * chore: modifying style for mobile * chore: modifying the styles * chore: removing the NextUI references + small bug fix * chore: adding coderabits reviews * fix: borderWidth not getting applied on breadcrumbs and input * chore: rebasing * chore: modifying the styles * chore: updating the styles for the smaller devices * chore: refactoring * chore: improvements * chore: making the fonts workable * chore: making the fonts workable * chore: modifying the swatch according to the theme * chore: adding the default selected template * chore: modifying mobile styles * chore: fixing the popover * chore: nit * fix: fixing the select styles * chore: modifying the mobile styles * chore: modifying the styles * fix: adding junior's suggestions * fix: fixing the breadcrumb * fix: adding junior's suggestions * feat: introduce NumberInput (#4475) * feat(number-field): init structure * feat(deps): add `@nextui-org/button` & `@react-types/button` * feat(theme): export number-field * feat(number-field): storybook init structure * feat(number-field): add NumberFieldHorizontalStepper * feat(number-field): add NumberFieldHorizontalStepper * feat(theme): init number field theme * feat(number-field): number-field draft * refactor(number-field): revise stepper icons * feat(shared-icons): add ChevronLeftIcon * feat(theme): stepperButton styles * feat(theme): number-field styles * fix(number-field): label layout * feat(number-field): vertical stepper wrapper * feat(number-field): use-number-field (wip) * feat(number-field): add data-direction * feat(theme): center the text if it is horizontal stepper * feat(number-field): add HorizontalStepper * feat(number-field): add HideStepper * chore(number-field): revise minValue & defaultValue * feat(docs): init number field structure * fix(theme): outside-left styles * refactor(theme): remove labelPlacement styles * refactor(number-field): remove labelContent logic * refactor(number-field): remove labelPlacement args * feat(number-field): helper text * feat(number-field): revise number field stories * feat(number-field): description * refactor(number-field): revise number field stories * feat(theme): numberFieldLabelClasses * fix(number-field): incorrect button props * fix(number-field): typing issue on stepper buttons * chore(number-field): add aria-label * refactor(number-field): merge props * fix(number-field): pass originalProps instead * chore(number-field): revise Required story args * feat(number-field): add WithStepValue & WithWheelDisabled & revise stories * chore(number-field): add label to Required * feat(docs): number-field doc page * fix(number-field): typing issue * fix(number-field): test cases * fix(number-field): user.keyboard & defaultValue * fix(number-field): should work with defaultValues * chore(number-field): add type: number * chore(number-field): remove hidden related code * fix(number-field): numeric value * chore(changeset): add changeset * feat(deps): add "@nextui-org/number-field" to docs * feat(react): export `@nextui-org/number-field` * feat(changeset): add @nextui-org/react * feat(docs): number-field examples * chore(number-field): use text instead * refactor(number-field): remove unnecessary filled-within * fix(number-field): test case * chore(number-field): remove aria-label for stepper buttons * feat(docs): add incrementAriaLabel & decrementAriaLabel to NumberField * chore(number-field): reorder WithFormatOptions * fix(deps): update number-field's peerDependencies & dependencies * feat(number-field): hidden input for holding numeric vaule * fix(docs): number field title * feat(docs): add format options to number field * chore(docs): revise number field content * chore(number-field): add type to useDOMRef * fix(number-field): clear button * fix(theme): clear button styles * refactor(theme): stepper button styles * chore(number-field): accept stepperButton class * fix(theme): helper wrapper padding * feat(deps): add `@react-aria/i18n` * fix(number-field): use locale from `@react-aria/i18n` * fix(deps): dependency order * fix(docs): incorrect command * chore(docs): remove type=number * chore(theme): add padding to stepper wrapper * fix(number-field): avoid resetting value * fix(number-field): storybook * chore(docs): remove custom impl * chore(docs): update docs code & content * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore: rename to number input * fix(number-input): incorrect import * chore(docs): rename to number input * chore: change to number input * refactor(number-input): change label to amount * fix(docs): use heroui commands * chore(changeset): update package name * refactor(number-input): remove steps * refactor: remove helper text * feat(number-input): label placement * refactor(number-input): rename stepper * fix(theme): isClearable * feat(docs): add label placements * refactor(docs): update number-input content * fix(docs): incorrect file * feat(docs): add lablePlacement * refactor(docs): remove labelPlacement & startContent * refactor(docs): remove helperText * refactor(docs): remove helperText * refactor(docs): revise description * feat(number-input): add data-slot for stepper-wrapper * fix(number-input): test cases * fix(docs): unexpected change * refactor(number-input): update outdated info * fix(docs): coderabbitai comments * refactor: remove validationState * fix(docs): typo * chore(deps): remove unnecessary dep * chore(deps): bump RA versions * chore(number-input): apply latest labelPlacement change * refactor(number-input): update author * refactor(number-input): revise stepper wrapper alignment * refactor(number-input): stepper button styles * chore(number-input): add disableRipple * fix(theme): increase stepper button click area * fix(number-input): sync latest validationBehavior changes * fix(number-input): pass validationBehavior to useAriaNumberInput * chore(docs): add import react * chore(number-input): remove HorizontalStepper story * chore(number-input): enable ripple * fix(number-input): remove number type * refactor(theme): follow input clear button styles * feat(theme): add color for stepperButton * fix(theme): revise stepperButton size for outside & outside-left cases * fix(number-input): typo * chore(docs): update description for wheel * chore(theme): change opacity when pressed * chore(number-input): add disableRipple * Update .changeset/witty-flies-reflect.md * fix(theme): add hover opacity effect --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore(docs): revised tags in doc routes for 2.7.0 (#4777) * chore(docs): remove last version update tags * chore(docs): add updated tag for 2.7.0 * chore(docs): updated table * chore(docs): update search meta * chore(docs): update github info * Merge branch 'canary' into docs/eng-2003 * chore(docs): update routes.json * chore(docs): update meta info * chore: improve theme builder * v2.7.0 * chore: v2.7.0 combined changeset * fix: changeset * fix: peer deps * feat: toast api improved * chore: toast styles improved * fix: toast styles * chore: toast width style changed * fix: changeset release * fix: changeset peerdeps * chore: toast styles improved * refactor(pagination): rtl (#4843) * refactor(pagination): rtl * chore(changeset): add changeset * feat: new spinner variant * fix(docs): popover shouldBlockScroll default value (#4851) * fix(select): select scroll content will close immediately when popover on click (#4849) * chore(select): update select deps * fix(select): select scroll content will close immediately when popover on click * chore(select): add .changeset file * chore(changeset): add issue number --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(calendar): add firstDayOfWeek (#4852) * feat(calendar): add firstDayOfWeek * feat(docs): add firstDayOfWeek in Calendar docs * feat(calendar): add firstDayOfWeek to range calendar * feat(docs): add firstDayOfWeek to API table * feat: add firstDayOfWeek to date picker & date range picker * feat(docs): add firstDayOfWeek * feat(changeset): add changeset * feat: add firstDayOfWeek option in storybook * feat(docs): export firstDayOfWeek * chore(docs): update title * chore: spinner variants updated * feat: v2.7.0 blog * ci(changesets): version packages (#4601) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: manual release * fix(toast): fixing maxVisibleToasts, solid variant promise, promise timer (#4881) * fix: maxVisibleToasts functionality * chore: adding the changeset * fix: starting the toast timer when the promise is resolved * fix: spinner invisible in solid variants * fix(toast): shouldShowTimeoutProgess typo (#4858) * fix(toast): shouldShowTimeoutProgess typo * fix(toast): shouldShowTimeoutProgess typo * fix(select): pass form prop to hidden-select (#4854) * fix(select): pass form prop to hidden-select * chore(select): changeset * fix(spinner): Attempted to call useProviderContext() from the server (#4904) * fix(spinner): add banner in tsup.config.ts * chore(changeset): add changeset * chore(docs): update breaking changes in blog * chore(docs): handled in PR4905 * fix(number-input): onChange event in number input (#4907) * fix(number-input): onChange event in number input * chore(number-input): remove duplicate test case * fix(breadcrumb): broken start & end content (#4921) (#4922) * refactor: build process (#4909) * chore: update component description * chore: exclude stories-utils & test-utils * chore(utilities): remove unused info * chore(deps): pnpm-lock.yaml * fix: incorrect system & theme version in peerDependencies (#4901) * fix: incorrect system & theme version in peerDependencies * fix: incorrect system & theme version in peerDependencies * chore(changeset): add changeset * fix(changeset): remove `@heroui/stories-utils` and `@heroui/test-utils` from ignore list (#4939) * fix(docs): include .npmrc in sandbox (#4951) * fix(input): esc key to clear input value (#4892) * chore: theme generator credits * fix: blog date and spinner default variant * fix: #4850 Solve Pressing ESC doesn't clear input value * fix: #4850 code review change * fix: undo changes in apps/docs/content/blog/v2.7.0.mdx and add a test case for my changes * fix: run through the test cases successfully * fix: change md content * fix: using isClearable not clear the value * fix: add number-input clearable esc clear * fix: edit review problem * fix: delete unless file * chore(changeset): update changeset * fix: add inputProps.onKeyDown * fix: pressing ESC key in a read-only input not clear --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: աӄա <wingkwong.code@gmail.com> * ci(changesets): version packages (#4896) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * v2.7.4 * chore(deps): bump turbo version (#4958) * chore(deps): bump turbo version * chore(root): update turbo.json * fix(docs): typecheck errors * fix(docs): typecheck errors * fix(deps): bump react-aria versions (#4998) * fix(deps): bump react-aria versions * chore(changeset): add changeset * chore(hooks): sync with RA's useButton * fix(use-aria-button): support aria-current * fix(docs): remove priority prop * fix(toast): remove priority queue & animation * fix(toast): remove deprecated logic * fix(popover): avoid passing preventFocusOnPress to non heroui button * fix: sync with UsePopover * fix(popover): prevent submenus from closing on scroll * fix(tests): test cases related to press refactoring * fix(toast): toast should appear above overlay and adding regionProps to ToastProvider (#5001) * fix: toast should be above the modal * fix: renaming the loadingIcon to loadingComponent * chore: adding changeset * chore: fixing conflicts * chore: adding the region props * fix: adding Marcus' suggestions * fix: marcus' suggestions * Revert "fix: renaming the loadingIcon to loadingComponent" This reverts commit 4c6bf32. * chore: adding marcus' suggestions * fix(number-stepper): stepper button pseudo height (#4968) * fix(progress): incorrect size in indeterminate storybook (#4967) * fix: shouldShowTimeoutProgress typo (#4961) * chore(workflows): update runner (#4960) * fix: a small eye icon for password input in edge(#4927) (#4950) * fix(progress): add RTL support to the progress component (#4911) * fix(progress): add RTL support to the progress component (#4908) * docs(progress): add changeset notes * refactor: resolved code review notes * refactor: removed unnecessary change * refactor: undo unnecessary change * fix: build * fix(toast): unexpected toast animation (#5003) * fix(deps): use RA beta toast * chore(toast): remove non-existing wrapUpdate * chore(changeset): add changeset * ci(changesets): version packages (#5002) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat: open in chat button in doc examples (#4996) * feat: open in chat button in doc examples * feat: pass dependencies in open in chat * fix: open in chat error handling * chore: small adjustment --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: open in chat improvements * chore: remove ripple from the open in chat button * fix(docs): open in chat (#5018) * fix: open in chat ignore react imports * fix: open in chat utm params * fix: open in chat utm source * fix(docs): open in chat improvements (#5035) * fix(docs): parse dependency match imported components against heroui * fix(docs): center open in chat components * fix: open in new tab not working in ios (#5037) --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: millmason <jmsoper@protonmail.com> Co-authored-by: winches <329487092@qq.com> Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> Co-authored-by: Peterl561 <76144929+Peterl561@users.noreply.github.com> Co-authored-by: Paul Ebose <49006567+plbstl@users.noreply.github.com> Co-authored-by: Zarin <thesharifi.maruf@gmail.com> Co-authored-by: Shrinidhi Upadhyaya <shrinidhiupadhyaya1195@gmail.com> Co-authored-by: Avan <layouwen@gmail.com> Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com> Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> Co-authored-by: Adrian Szarapow <63786007+Adee1499@users.noreply.github.com> Co-authored-by: Hova25 <75216176+Hova25@users.noreply.github.com> Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: Tsuki <76603360+sudongyuer@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Steve Mosley <steve@starter4ten.com> Co-authored-by: LinYongLu <88522000+linyonglu@users.noreply.github.com> Co-authored-by: Waleed Asender <waleed.asender@mobasher.sa>
* chore: org name change (#4596) * chore: update brand name (#4600) * fix(calendar): function components cannot be given refs (#4614) * docs(modal): fix small typos and add clarifying language (#4629) * chore(deps): bump RA versions (#4611) * chore(deps): bump RA versions * chore(deps): bump @internationalized/date * chore(docs): update RA versions * chore(docs): update versions * chore(docs): use string type * chore(deps): update @react-types versions * refactor(docs): undo version change since they will be removed in another PR * feat: tailwind variants upgrade (#4386) * feat: tailwind variants upgrade * chore: restore npmrc * chore: adjust pkgs * fix: versions * fix: lock file * chore(changeset): update package name * chore(deps): use fixed version * fix(test): incorrect package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat: add fn win alt keys (#4638) * feat: add new keys * feat: add new keys * chore: update docs & storybook as well --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(use-image): load images after props change (#4523) * fix(use-image): load image after props change * chore(changeset): add changeset * refactor(use-image): remove unused props * feat(use-image): add test case * fix(use-image): apply useCallback to load & remove status check * chore(changeset): update package name * feat: global labelPlacement prop (#4346) * feat: adding the support for labelPlacement globally * chore: reafctoring * chore: updating the dependency * chore(changeset): update package name * chore: adding Marcus's suggestions --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(form): use native as default validation behavior (#4425) * fix(form): use native as default validation behavior * docs(form): delete explicit validationBehavior=native * test(form): adjusted form test validation behaviors * chore(form): adjusted stories with forms * chore(changeset): changed form default validation behavior to native * chore(changeset): removed packages with only test changes * chore(changeset): change to patch * chore(changeset): update package name * refactor(docs): update package name * refactor(docs): update to heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(spinner): new spinner variants (#4555) * refactor(spinner): add default variant * feature(spinner): add gradient variant * feature(spinner): add dots variant * feature(spinner): add dots-blink variant * feature(spinner): add spinner-bars * chore(spinner): add variants storybook * chore: adding variants to docs * chore: simplyfying the styles and modifying docs * chore: nits * chore: updating the dots and dots-blink animation * chore: nits * chore: adding Marcus' suggestions * chore: adding Marcus's suggestions * chore: adding junior's suggestions --------- Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> * fix: rename wrapper to tab wrapper (#4636) * fix: rename wrapper to tab wrapper * docs: update * docs: update * docs: update * fix: rename wrapper to tab wrapper * refactor: remove feature request from issue template (#4661) * refactor(.github): remove feature request template * refactor(.github): add a link to redirect to discussion (feature request category) * docs(table): include TS examples to show Selection type usage (#4793) * fix(listbox): unexpected scrollShadow on virtualized listbox (#4784) * fix(listbox): add scroll height & scroll top to listbox * fix(use-data-scroll-overflow): handle scrollHeight & scrollTop in virtualization * chore(changeset): add changeset * refactor(theme): replace left & right by start & end to support RTL (#4782) * fix(date-picker): deprecate dateInputClassNames (#4780) * chore(date-picker): add missing slots comments * fix(date-picker): remove dateInputClassNames * fix(date-picker): use classNames instead of dateInputClassNames * chore(docs): add missing attributes * fix(date-picker): use classNames instead of dateInputClassNames * feat(changeset): add changeset * fix(docs): broken type * refactor(navbar): remove dropdown menu width (#4757) * refactor: remove dropdown menu width * refactor: shorter description * refactor: rename instances of NextUI to Hero UI (#4645) * docs: use the correct org for `img.shields.io` license in README * docs: update opencollective org name * docs: use correct org name in site footer * docs: update image urls for heroui pro sections * docs: update laravel installation keywords in route config * docs: add `heroui` tag to `Introducing HeroUI` blog post * fix: use correct names in `plop/components/src` templates * chore: add empty changeset * fix: revert image urls back to `nextuipro.nyc3.cdn.digitaloceanspaces...` * chore: undo footer change * chore: update incorrect brand name * chore(docs): nextui -> heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(input): missing clear button with file input type (#4599) * fix(theme): sync with input theme on labelPlacement (#4597) * fix(theme): sync with input theme on labelPlacement * chore(select): revise width for labelPlacement * chore(changeset): add changeset * test(input): input interaction tests (#4579) * test(input): user interaction tests * test(input): missing act wrappers --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(calendar): rtl navigation (#4565) * fix(calendar): rtl navigation * chore(changeset): fixed reverse behavior of NextButton and PrevButton in the RTL calendar * chore(changeset): update package name * refactor(calendar): prefer isRTL and use className in theme package instead * chore(changeset): add theme package as well * chore(calendar): add min theme package to 2.4.7 --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove unnecessary className passing to tv and make naming consistent (#4558) * refactor: remove unnecessary className passing to tv * refactor(button): move styles to getButtonProps * refactor: rename classNames to styles to keep the naming consistent * fix: deprecation warning triggered by internal onClick (#4557) * fix(use-aria-link): onClick deprecation warning * fix(use-aria-button): onClick deprecation warning * feat(changeset): add changeset * fix(use-aria-button): incorrect prop name * chore(changeset): update package name * ci: add pkg pr new (#4540) * ci: add pkg pr new * ci: add pkg pr new * chore(workflow): update repo name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): remove shouldBlockScroll prop in Tooltip page (#4539) * fix(use-pagination): controlled page after delay (#4536) * fix(use-pagination): add page to dependency for scrollTo * feat(changeset): add changeset * chore(changeset): update package name * fix(tooltip): accessing element.ref was removed in React 19 issue (#4531) * fix(tooltip): accessing element.ref was removed in React 19 issue * chore(changeset): update package name * fix: correctly dismissable default value (#4524) * fix: correctly dismissable default value * fix: correctly dismissable default value * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(theme): input height in innerWrapper in Select (#4512) * fix(select): fix input height #4321 * chore(select): changed package name in changeset to theme * chore(select): updated changeset message * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix: inert value in next15 (#4491) * feat: add post install * feat: add postinstall * feat: add postinstall * fix: type * fix: type * fix: next version * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove cursor-hit in hiddenInputClasses (#4474) * refactor: remove cursor-hit in hiddenInputClasses * Create lazy-ants-exercise.md * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(table): virtualization (#4285) * feat: baseline virtualization for table * merge branch canary * fix: table layout * fix: calc header height w layouteffect to offset padding * Merge branch 'canary' into feat/eng-1633-virtualization-for-table * chore: remove unused files and comments * chore: add missing package * feat: add shouldVirtualize conditional to render virtualized-table * feat: update docs for table * feat: use wrapper to support theme styles * chore: add changeset * chore(changeset): update package name * chore(deps): pnpm-lock.yaml * fix(table): outdated package name * chore(changeset): add issue number * fix(deps): keep the version consistent with other components * fix(table): incorrect displayName * refactor(table): use VirtualizedTemplate * chore(deps): bump `@tanstack/react-virtua` * chore(deps): typecheck issue * fix(table): do not use any type * chore: remove auto virtualization --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat(toast): introduce Toast component (#4437) * feat: initial commit * chore: adding the animation * chore: nits * chore: fixes and adding draft1 of stories * chore: adding the docs draft * chore: adding the swiping interaction for toast removal * chore: adding the tests * fix: improving the progress bar logix * chore: refactoring and refining the animations * fix: making the animations compatible with the positons * chore: fixing the styles * chore: modifying the animations * chore: improving the animations * chore: adding the decorator to the story-book * chore: fixing the animations and positions * fix: handle expand region on touch * feat: adding the promises support * chore: updating the styles * chore: improving styles * chore: styles correction * fix: adding junior's suggestions * chore: correcting styles * fix: fixing the timer behavior * chore: adding the spinner to the toast * chore: full width for mobile * chore: modifying styles * chore: fixing the positions on smaller devices * chore: adding story with description * chore: adding credits for sonner * fix: adding junior's suggestions * chore: adding the exit animation * fix: adding junior's suggestions * chore: improving the swipe animations * fix: fixing the swipe animations on touch * chore: adding tests * chore: adding swipe threshild and initial position variable * fix: fixing autoclose in timeout * chore: modifying the docs * chore: fixing the conflict * chore: adding marcus' suggestions * chore: adding the bottom animations * chore: modying docs * chore: removing nextui references * chore: adding info about the provider * chore: updating the docs * chore: versions in package.json * chore: nits * chore: adding junior's suggestions * chore: nits * fix: applying junior's suggestions * chore: adding junior's suggestions * chore: using domMax * fix: adding Marcus's suggestions * chore: add global toast props and custom close icon * chore: adding the defaultTimout provider prop * chore: modifying defaultTimeout * chore: nits * fix: adding Marcus' suggestions * chore: fixing bg * chore(deps): bump RA deps * fix: fixing the color discrepancy due to the timer * chore: moving the kapan ai to the left side * refactor(toast): update author * chore: nit * chore: improvements * chore: updating the solid variant --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(docs): correct Tab usage example (#4821) * chore(docs): add note itemHeight for virtualization (#4822) * chore(docs): add note itemHeight for virtualization * fix: format * fix(docs): fix horizontal scrolling example in scroll-shadow (#4820) * refactor: update author in package.json (#4800) * feat(button): export PressEvent for onPress event typing (#4819) * fix(docs): failed to install dependencies in StackBlitz (#4639) * chore(Docs): remove step 2 from "Using use-theme-hook" (#4797) * fix(docs): incorrect code Modal placement (#4652) * docs: update DatePicker example to remove "time" label as time selection is not supported in this example (#4443) * feat(button): export PressEvent for onPress event typing * revert unnecessary changes * chore: format --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> * fix(listbox): pass missing press events to usePress (#4812) * fix(listbox): pass missing press events to usePress * feat(listbox): add test case for press event * chore(changeset): add changeset * fix(checkbox): inherit stroke in CheckboxIcon (#4811) * fix: `SelectItem`, `ListboxItem`, and `AutocompleteItem` not to accept `value` props (#4653) * fix(select): `SelectItem` does not accept value props * refactor: do not use the index as `key` * Update .changeset/light-hairs-draw.md * chore: remove unnecessary `value` props * chore: update changeset * refactor: remove unnecessary value prop --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix: pkg package scope (#4823) * fix: pkg package scope * fix: pkg package scope * fix: pkg package scope * fix(theme): border radius in Table when isMultiSelectable (#4808) * fix(theme): border radius in Table when isMultiSelectable * chore(theme): added changeset (#4807) * chore: removing the kapa ai for toast doc page (#4833) * fix(accordion): add data-slot attributes to accordion (#4832) * fix(accordion): add data-slot attributes to accordion * chore --------- Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): update versions (#4836) * docs(themes): adding theme generator (#4626) * chore: adding xylish's contributions + modifying styles * chore: nextui to heroui * chore: colors in theme generator * chore: radiuses, disable-opacity * chore: fixing the configuration box styles * chore: adding the showcase elemtents * chore: modifying styles * chore: adding the fonts * chore: adding the scaling * chore: removing the calendar * feat: adding the border-width * chore: modifying style for mobile * chore: modifying the styles * chore: removing the NextUI references + small bug fix * chore: adding coderabits reviews * fix: borderWidth not getting applied on breadcrumbs and input * chore: rebasing * chore: modifying the styles * chore: updating the styles for the smaller devices * chore: refactoring * chore: improvements * chore: making the fonts workable * chore: making the fonts workable * chore: modifying the swatch according to the theme * chore: adding the default selected template * chore: modifying mobile styles * chore: fixing the popover * chore: nit * fix: fixing the select styles * chore: modifying the mobile styles * chore: modifying the styles * fix: adding junior's suggestions * fix: fixing the breadcrumb * fix: adding junior's suggestions * feat: introduce NumberInput (#4475) * feat(number-field): init structure * feat(deps): add `@nextui-org/button` & `@react-types/button` * feat(theme): export number-field * feat(number-field): storybook init structure * feat(number-field): add NumberFieldHorizontalStepper * feat(number-field): add NumberFieldHorizontalStepper * feat(theme): init number field theme * feat(number-field): number-field draft * refactor(number-field): revise stepper icons * feat(shared-icons): add ChevronLeftIcon * feat(theme): stepperButton styles * feat(theme): number-field styles * fix(number-field): label layout * feat(number-field): vertical stepper wrapper * feat(number-field): use-number-field (wip) * feat(number-field): add data-direction * feat(theme): center the text if it is horizontal stepper * feat(number-field): add HorizontalStepper * feat(number-field): add HideStepper * chore(number-field): revise minValue & defaultValue * feat(docs): init number field structure * fix(theme): outside-left styles * refactor(theme): remove labelPlacement styles * refactor(number-field): remove labelContent logic * refactor(number-field): remove labelPlacement args * feat(number-field): helper text * feat(number-field): revise number field stories * feat(number-field): description * refactor(number-field): revise number field stories * feat(theme): numberFieldLabelClasses * fix(number-field): incorrect button props * fix(number-field): typing issue on stepper buttons * chore(number-field): add aria-label * refactor(number-field): merge props * fix(number-field): pass originalProps instead * chore(number-field): revise Required story args * feat(number-field): add WithStepValue & WithWheelDisabled & revise stories * chore(number-field): add label to Required * feat(docs): number-field doc page * fix(number-field): typing issue * fix(number-field): test cases * fix(number-field): user.keyboard & defaultValue * fix(number-field): should work with defaultValues * chore(number-field): add type: number * chore(number-field): remove hidden related code * fix(number-field): numeric value * chore(changeset): add changeset * feat(deps): add "@nextui-org/number-field" to docs * feat(react): export `@nextui-org/number-field` * feat(changeset): add @nextui-org/react * feat(docs): number-field examples * chore(number-field): use text instead * refactor(number-field): remove unnecessary filled-within * fix(number-field): test case * chore(number-field): remove aria-label for stepper buttons * feat(docs): add incrementAriaLabel & decrementAriaLabel to NumberField * chore(number-field): reorder WithFormatOptions * fix(deps): update number-field's peerDependencies & dependencies * feat(number-field): hidden input for holding numeric vaule * fix(docs): number field title * feat(docs): add format options to number field * chore(docs): revise number field content * chore(number-field): add type to useDOMRef * fix(number-field): clear button * fix(theme): clear button styles * refactor(theme): stepper button styles * chore(number-field): accept stepperButton class * fix(theme): helper wrapper padding * feat(deps): add `@react-aria/i18n` * fix(number-field): use locale from `@react-aria/i18n` * fix(deps): dependency order * fix(docs): incorrect command * chore(docs): remove type=number * chore(theme): add padding to stepper wrapper * fix(number-field): avoid resetting value * fix(number-field): storybook * chore(docs): remove custom impl * chore(docs): update docs code & content * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore: rename to number input * fix(number-input): incorrect import * chore(docs): rename to number input * chore: change to number input * refactor(number-input): change label to amount * fix(docs): use heroui commands * chore(changeset): update package name * refactor(number-input): remove steps * refactor: remove helper text * feat(number-input): label placement * refactor(number-input): rename stepper * fix(theme): isClearable * feat(docs): add label placements * refactor(docs): update number-input content * fix(docs): incorrect file * feat(docs): add lablePlacement * refactor(docs): remove labelPlacement & startContent * refactor(docs): remove helperText * refactor(docs): remove helperText * refactor(docs): revise description * feat(number-input): add data-slot for stepper-wrapper * fix(number-input): test cases * fix(docs): unexpected change * refactor(number-input): update outdated info * fix(docs): coderabbitai comments * refactor: remove validationState * fix(docs): typo * chore(deps): remove unnecessary dep * chore(deps): bump RA versions * chore(number-input): apply latest labelPlacement change * refactor(number-input): update author * refactor(number-input): revise stepper wrapper alignment * refactor(number-input): stepper button styles * chore(number-input): add disableRipple * fix(theme): increase stepper button click area * fix(number-input): sync latest validationBehavior changes * fix(number-input): pass validationBehavior to useAriaNumberInput * chore(docs): add import react * chore(number-input): remove HorizontalStepper story * chore(number-input): enable ripple * fix(number-input): remove number type * refactor(theme): follow input clear button styles * feat(theme): add color for stepperButton * fix(theme): revise stepperButton size for outside & outside-left cases * fix(number-input): typo * chore(docs): update description for wheel * chore(theme): change opacity when pressed * chore(number-input): add disableRipple * Update .changeset/witty-flies-reflect.md * fix(theme): add hover opacity effect --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore(docs): revised tags in doc routes for 2.7.0 (#4777) * chore(docs): remove last version update tags * chore(docs): add updated tag for 2.7.0 * chore(docs): updated table * chore(docs): update search meta * chore(docs): update github info * Merge branch 'canary' into docs/eng-2003 * chore(docs): update routes.json * chore(docs): update meta info * chore: improve theme builder * v2.7.0 * chore: v2.7.0 combined changeset * fix: changeset * fix: peer deps * feat: toast api improved * chore: toast styles improved * fix: toast styles * chore: toast width style changed * fix: changeset release * fix: changeset peerdeps * chore: toast styles improved * refactor(pagination): rtl (#4843) * refactor(pagination): rtl * chore(changeset): add changeset * feat: new spinner variant * fix(docs): popover shouldBlockScroll default value (#4851) * fix(select): select scroll content will close immediately when popover on click (#4849) * chore(select): update select deps * fix(select): select scroll content will close immediately when popover on click * chore(select): add .changeset file * chore(changeset): add issue number --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(calendar): add firstDayOfWeek (#4852) * feat(calendar): add firstDayOfWeek * feat(docs): add firstDayOfWeek in Calendar docs * feat(calendar): add firstDayOfWeek to range calendar * feat(docs): add firstDayOfWeek to API table * feat: add firstDayOfWeek to date picker & date range picker * feat(docs): add firstDayOfWeek * feat(changeset): add changeset * feat: add firstDayOfWeek option in storybook * feat(docs): export firstDayOfWeek * chore(docs): update title * chore: spinner variants updated * feat: v2.7.0 blog * ci(changesets): version packages (#4601) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: manual release * fix(toast): fixing maxVisibleToasts, solid variant promise, promise timer (#4881) * fix: maxVisibleToasts functionality * chore: adding the changeset * fix: starting the toast timer when the promise is resolved * fix: spinner invisible in solid variants * fix(toast): shouldShowTimeoutProgess typo (#4858) * fix(toast): shouldShowTimeoutProgess typo * fix(toast): shouldShowTimeoutProgess typo * fix(select): pass form prop to hidden-select (#4854) * fix(select): pass form prop to hidden-select * chore(select): changeset * fix(spinner): Attempted to call useProviderContext() from the server (#4904) * fix(spinner): add banner in tsup.config.ts * chore(changeset): add changeset * chore(docs): update breaking changes in blog * chore(docs): handled in PR4905 * fix(number-input): onChange event in number input (#4907) * fix(number-input): onChange event in number input * chore(number-input): remove duplicate test case * fix(breadcrumb): broken start & end content (#4921) (#4922) * refactor: build process (#4909) * chore: update component description * chore: exclude stories-utils & test-utils * chore(utilities): remove unused info * chore(deps): pnpm-lock.yaml * fix: incorrect system & theme version in peerDependencies (#4901) * fix: incorrect system & theme version in peerDependencies * fix: incorrect system & theme version in peerDependencies * chore(changeset): add changeset * fix(changeset): remove `@heroui/stories-utils` and `@heroui/test-utils` from ignore list (#4939) * fix(docs): include .npmrc in sandbox (#4951) * fix(input): esc key to clear input value (#4892) * chore: theme generator credits * fix: blog date and spinner default variant * fix: #4850 Solve Pressing ESC doesn't clear input value * fix: #4850 code review change * fix: undo changes in apps/docs/content/blog/v2.7.0.mdx and add a test case for my changes * fix: run through the test cases successfully * fix: change md content * fix: using isClearable not clear the value * fix: add number-input clearable esc clear * fix: edit review problem * fix: delete unless file * chore(changeset): update changeset * fix: add inputProps.onKeyDown * fix: pressing ESC key in a read-only input not clear --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: աӄա <wingkwong.code@gmail.com> * ci(changesets): version packages (#4896) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * v2.7.4 * chore(deps): bump turbo version (#4958) * chore(deps): bump turbo version * chore(root): update turbo.json * fix(docs): typecheck errors * fix(docs): typecheck errors * fix(deps): bump react-aria versions (#4998) * fix(deps): bump react-aria versions * chore(changeset): add changeset * chore(hooks): sync with RA's useButton * fix(use-aria-button): support aria-current * fix(docs): remove priority prop * fix(toast): remove priority queue & animation * fix(toast): remove deprecated logic * fix(popover): avoid passing preventFocusOnPress to non heroui button * fix: sync with UsePopover * fix(popover): prevent submenus from closing on scroll * fix(tests): test cases related to press refactoring * fix(toast): toast should appear above overlay and adding regionProps to ToastProvider (#5001) * fix: toast should be above the modal * fix: renaming the loadingIcon to loadingComponent * chore: adding changeset * chore: fixing conflicts * chore: adding the region props * fix: adding Marcus' suggestions * fix: marcus' suggestions * Revert "fix: renaming the loadingIcon to loadingComponent" This reverts commit 4c6bf32. * chore: adding marcus' suggestions * fix(number-stepper): stepper button pseudo height (#4968) * fix(progress): incorrect size in indeterminate storybook (#4967) * fix: shouldShowTimeoutProgress typo (#4961) * chore(workflows): update runner (#4960) * fix: a small eye icon for password input in edge(#4927) (#4950) * fix(progress): add RTL support to the progress component (#4911) * fix(progress): add RTL support to the progress component (#4908) * docs(progress): add changeset notes * refactor: resolved code review notes * refactor: removed unnecessary change * refactor: undo unnecessary change * fix: build * fix(toast): unexpected toast animation (#5003) * fix(deps): use RA beta toast * chore(toast): remove non-existing wrapUpdate * chore(changeset): add changeset * ci(changesets): version packages (#5002) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat: open in chat button in doc examples (#4996) * feat: open in chat button in doc examples * feat: pass dependencies in open in chat * fix: open in chat error handling * chore: small adjustment --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: open in chat improvements * chore: remove ripple from the open in chat button * fix(docs): open in chat (#5018) * fix: open in chat ignore react imports * fix: open in chat utm params * fix: open in chat utm source * fix(docs): open in chat improvements (#5035) * fix(docs): parse dependency match imported components against heroui * fix(docs): center open in chat components * fix: open in new tab not working in ios (#5037) * fix(docs): dependency parse wrong react scope (#5043) --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: millmason <jmsoper@protonmail.com> Co-authored-by: winches <329487092@qq.com> Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> Co-authored-by: Peterl561 <76144929+Peterl561@users.noreply.github.com> Co-authored-by: Paul Ebose <49006567+plbstl@users.noreply.github.com> Co-authored-by: Zarin <thesharifi.maruf@gmail.com> Co-authored-by: Shrinidhi Upadhyaya <shrinidhiupadhyaya1195@gmail.com> Co-authored-by: Avan <layouwen@gmail.com> Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com> Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> Co-authored-by: Adrian Szarapow <63786007+Adee1499@users.noreply.github.com> Co-authored-by: Hova25 <75216176+Hova25@users.noreply.github.com> Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: Tsuki <76603360+sudongyuer@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Steve Mosley <steve@starter4ten.com> Co-authored-by: LinYongLu <88522000+linyonglu@users.noreply.github.com> Co-authored-by: Waleed Asender <waleed.asender@mobasher.sa>
* chore: org name change (#4596) * chore: update brand name (#4600) * fix(calendar): function components cannot be given refs (#4614) * docs(modal): fix small typos and add clarifying language (#4629) * chore(deps): bump RA versions (#4611) * chore(deps): bump RA versions * chore(deps): bump @internationalized/date * chore(docs): update RA versions * chore(docs): update versions * chore(docs): use string type * chore(deps): update @react-types versions * refactor(docs): undo version change since they will be removed in another PR * feat: tailwind variants upgrade (#4386) * feat: tailwind variants upgrade * chore: restore npmrc * chore: adjust pkgs * fix: versions * fix: lock file * chore(changeset): update package name * chore(deps): use fixed version * fix(test): incorrect package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat: add fn win alt keys (#4638) * feat: add new keys * feat: add new keys * chore: update docs & storybook as well --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(use-image): load images after props change (#4523) * fix(use-image): load image after props change * chore(changeset): add changeset * refactor(use-image): remove unused props * feat(use-image): add test case * fix(use-image): apply useCallback to load & remove status check * chore(changeset): update package name * feat: global labelPlacement prop (#4346) * feat: adding the support for labelPlacement globally * chore: reafctoring * chore: updating the dependency * chore(changeset): update package name * chore: adding Marcus's suggestions --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(form): use native as default validation behavior (#4425) * fix(form): use native as default validation behavior * docs(form): delete explicit validationBehavior=native * test(form): adjusted form test validation behaviors * chore(form): adjusted stories with forms * chore(changeset): changed form default validation behavior to native * chore(changeset): removed packages with only test changes * chore(changeset): change to patch * chore(changeset): update package name * refactor(docs): update package name * refactor(docs): update to heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(spinner): new spinner variants (#4555) * refactor(spinner): add default variant * feature(spinner): add gradient variant * feature(spinner): add dots variant * feature(spinner): add dots-blink variant * feature(spinner): add spinner-bars * chore(spinner): add variants storybook * chore: adding variants to docs * chore: simplyfying the styles and modifying docs * chore: nits * chore: updating the dots and dots-blink animation * chore: nits * chore: adding Marcus' suggestions * chore: adding Marcus's suggestions * chore: adding junior's suggestions --------- Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> * fix: rename wrapper to tab wrapper (#4636) * fix: rename wrapper to tab wrapper * docs: update * docs: update * docs: update * fix: rename wrapper to tab wrapper * refactor: remove feature request from issue template (#4661) * refactor(.github): remove feature request template * refactor(.github): add a link to redirect to discussion (feature request category) * docs(table): include TS examples to show Selection type usage (#4793) * fix(listbox): unexpected scrollShadow on virtualized listbox (#4784) * fix(listbox): add scroll height & scroll top to listbox * fix(use-data-scroll-overflow): handle scrollHeight & scrollTop in virtualization * chore(changeset): add changeset * refactor(theme): replace left & right by start & end to support RTL (#4782) * fix(date-picker): deprecate dateInputClassNames (#4780) * chore(date-picker): add missing slots comments * fix(date-picker): remove dateInputClassNames * fix(date-picker): use classNames instead of dateInputClassNames * chore(docs): add missing attributes * fix(date-picker): use classNames instead of dateInputClassNames * feat(changeset): add changeset * fix(docs): broken type * refactor(navbar): remove dropdown menu width (#4757) * refactor: remove dropdown menu width * refactor: shorter description * refactor: rename instances of NextUI to Hero UI (#4645) * docs: use the correct org for `img.shields.io` license in README * docs: update opencollective org name * docs: use correct org name in site footer * docs: update image urls for heroui pro sections * docs: update laravel installation keywords in route config * docs: add `heroui` tag to `Introducing HeroUI` blog post * fix: use correct names in `plop/components/src` templates * chore: add empty changeset * fix: revert image urls back to `nextuipro.nyc3.cdn.digitaloceanspaces...` * chore: undo footer change * chore: update incorrect brand name * chore(docs): nextui -> heroui --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(input): missing clear button with file input type (#4599) * fix(theme): sync with input theme on labelPlacement (#4597) * fix(theme): sync with input theme on labelPlacement * chore(select): revise width for labelPlacement * chore(changeset): add changeset * test(input): input interaction tests (#4579) * test(input): user interaction tests * test(input): missing act wrappers --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(calendar): rtl navigation (#4565) * fix(calendar): rtl navigation * chore(changeset): fixed reverse behavior of NextButton and PrevButton in the RTL calendar * chore(changeset): update package name * refactor(calendar): prefer isRTL and use className in theme package instead * chore(changeset): add theme package as well * chore(calendar): add min theme package to 2.4.7 --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove unnecessary className passing to tv and make naming consistent (#4558) * refactor: remove unnecessary className passing to tv * refactor(button): move styles to getButtonProps * refactor: rename classNames to styles to keep the naming consistent * fix: deprecation warning triggered by internal onClick (#4557) * fix(use-aria-link): onClick deprecation warning * fix(use-aria-button): onClick deprecation warning * feat(changeset): add changeset * fix(use-aria-button): incorrect prop name * chore(changeset): update package name * ci: add pkg pr new (#4540) * ci: add pkg pr new * ci: add pkg pr new * chore(workflow): update repo name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): remove shouldBlockScroll prop in Tooltip page (#4539) * fix(use-pagination): controlled page after delay (#4536) * fix(use-pagination): add page to dependency for scrollTo * feat(changeset): add changeset * chore(changeset): update package name * fix(tooltip): accessing element.ref was removed in React 19 issue (#4531) * fix(tooltip): accessing element.ref was removed in React 19 issue * chore(changeset): update package name * fix: correctly dismissable default value (#4524) * fix: correctly dismissable default value * fix: correctly dismissable default value * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix(theme): input height in innerWrapper in Select (#4512) * fix(select): fix input height #4321 * chore(select): changed package name in changeset to theme * chore(select): updated changeset message * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * fix: inert value in next15 (#4491) * feat: add post install * feat: add postinstall * feat: add postinstall * fix: type * fix: type * fix: next version * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * refactor: remove cursor-hit in hiddenInputClasses (#4474) * refactor: remove cursor-hit in hiddenInputClasses * Create lazy-ants-exercise.md * chore(changeset): update package name --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(table): virtualization (#4285) * feat: baseline virtualization for table * merge branch canary * fix: table layout * fix: calc header height w layouteffect to offset padding * Merge branch 'canary' into feat/eng-1633-virtualization-for-table * chore: remove unused files and comments * chore: add missing package * feat: add shouldVirtualize conditional to render virtualized-table * feat: update docs for table * feat: use wrapper to support theme styles * chore: add changeset * chore(changeset): update package name * chore(deps): pnpm-lock.yaml * fix(table): outdated package name * chore(changeset): add issue number * fix(deps): keep the version consistent with other components * fix(table): incorrect displayName * refactor(table): use VirtualizedTemplate * chore(deps): bump `@tanstack/react-virtua` * chore(deps): typecheck issue * fix(table): do not use any type * chore: remove auto virtualization --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat(toast): introduce Toast component (#4437) * feat: initial commit * chore: adding the animation * chore: nits * chore: fixes and adding draft1 of stories * chore: adding the docs draft * chore: adding the swiping interaction for toast removal * chore: adding the tests * fix: improving the progress bar logix * chore: refactoring and refining the animations * fix: making the animations compatible with the positons * chore: fixing the styles * chore: modifying the animations * chore: improving the animations * chore: adding the decorator to the story-book * chore: fixing the animations and positions * fix: handle expand region on touch * feat: adding the promises support * chore: updating the styles * chore: improving styles * chore: styles correction * fix: adding junior's suggestions * chore: correcting styles * fix: fixing the timer behavior * chore: adding the spinner to the toast * chore: full width for mobile * chore: modifying styles * chore: fixing the positions on smaller devices * chore: adding story with description * chore: adding credits for sonner * fix: adding junior's suggestions * chore: adding the exit animation * fix: adding junior's suggestions * chore: improving the swipe animations * fix: fixing the swipe animations on touch * chore: adding tests * chore: adding swipe threshild and initial position variable * fix: fixing autoclose in timeout * chore: modifying the docs * chore: fixing the conflict * chore: adding marcus' suggestions * chore: adding the bottom animations * chore: modying docs * chore: removing nextui references * chore: adding info about the provider * chore: updating the docs * chore: versions in package.json * chore: nits * chore: adding junior's suggestions * chore: nits * fix: applying junior's suggestions * chore: adding junior's suggestions * chore: using domMax * fix: adding Marcus's suggestions * chore: add global toast props and custom close icon * chore: adding the defaultTimout provider prop * chore: modifying defaultTimeout * chore: nits * fix: adding Marcus' suggestions * chore: fixing bg * chore(deps): bump RA deps * fix: fixing the color discrepancy due to the timer * chore: moving the kapan ai to the left side * refactor(toast): update author * chore: nit * chore: improvements * chore: updating the solid variant --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(docs): correct Tab usage example (#4821) * chore(docs): add note itemHeight for virtualization (#4822) * chore(docs): add note itemHeight for virtualization * fix: format * fix(docs): fix horizontal scrolling example in scroll-shadow (#4820) * refactor: update author in package.json (#4800) * feat(button): export PressEvent for onPress event typing (#4819) * fix(docs): failed to install dependencies in StackBlitz (#4639) * chore(Docs): remove step 2 from "Using use-theme-hook" (#4797) * fix(docs): incorrect code Modal placement (#4652) * docs: update DatePicker example to remove "time" label as time selection is not supported in this example (#4443) * feat(button): export PressEvent for onPress event typing * revert unnecessary changes * chore: format --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> * fix(listbox): pass missing press events to usePress (#4812) * fix(listbox): pass missing press events to usePress * feat(listbox): add test case for press event * chore(changeset): add changeset * fix(checkbox): inherit stroke in CheckboxIcon (#4811) * fix: `SelectItem`, `ListboxItem`, and `AutocompleteItem` not to accept `value` props (#4653) * fix(select): `SelectItem` does not accept value props * refactor: do not use the index as `key` * Update .changeset/light-hairs-draw.md * chore: remove unnecessary `value` props * chore: update changeset * refactor: remove unnecessary value prop --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix: pkg package scope (#4823) * fix: pkg package scope * fix: pkg package scope * fix: pkg package scope * fix(theme): border radius in Table when isMultiSelectable (#4808) * fix(theme): border radius in Table when isMultiSelectable * chore(theme): added changeset (#4807) * chore: removing the kapa ai for toast doc page (#4833) * fix(accordion): add data-slot attributes to accordion (#4832) * fix(accordion): add data-slot attributes to accordion * chore --------- Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: աӄա <wingkwong.code@gmail.com> * chore(docs): update versions (#4836) * docs(themes): adding theme generator (#4626) * chore: adding xylish's contributions + modifying styles * chore: nextui to heroui * chore: colors in theme generator * chore: radiuses, disable-opacity * chore: fixing the configuration box styles * chore: adding the showcase elemtents * chore: modifying styles * chore: adding the fonts * chore: adding the scaling * chore: removing the calendar * feat: adding the border-width * chore: modifying style for mobile * chore: modifying the styles * chore: removing the NextUI references + small bug fix * chore: adding coderabits reviews * fix: borderWidth not getting applied on breadcrumbs and input * chore: rebasing * chore: modifying the styles * chore: updating the styles for the smaller devices * chore: refactoring * chore: improvements * chore: making the fonts workable * chore: making the fonts workable * chore: modifying the swatch according to the theme * chore: adding the default selected template * chore: modifying mobile styles * chore: fixing the popover * chore: nit * fix: fixing the select styles * chore: modifying the mobile styles * chore: modifying the styles * fix: adding junior's suggestions * fix: fixing the breadcrumb * fix: adding junior's suggestions * feat: introduce NumberInput (#4475) * feat(number-field): init structure * feat(deps): add `@nextui-org/button` & `@react-types/button` * feat(theme): export number-field * feat(number-field): storybook init structure * feat(number-field): add NumberFieldHorizontalStepper * feat(number-field): add NumberFieldHorizontalStepper * feat(theme): init number field theme * feat(number-field): number-field draft * refactor(number-field): revise stepper icons * feat(shared-icons): add ChevronLeftIcon * feat(theme): stepperButton styles * feat(theme): number-field styles * fix(number-field): label layout * feat(number-field): vertical stepper wrapper * feat(number-field): use-number-field (wip) * feat(number-field): add data-direction * feat(theme): center the text if it is horizontal stepper * feat(number-field): add HorizontalStepper * feat(number-field): add HideStepper * chore(number-field): revise minValue & defaultValue * feat(docs): init number field structure * fix(theme): outside-left styles * refactor(theme): remove labelPlacement styles * refactor(number-field): remove labelContent logic * refactor(number-field): remove labelPlacement args * feat(number-field): helper text * feat(number-field): revise number field stories * feat(number-field): description * refactor(number-field): revise number field stories * feat(theme): numberFieldLabelClasses * fix(number-field): incorrect button props * fix(number-field): typing issue on stepper buttons * chore(number-field): add aria-label * refactor(number-field): merge props * fix(number-field): pass originalProps instead * chore(number-field): revise Required story args * feat(number-field): add WithStepValue & WithWheelDisabled & revise stories * chore(number-field): add label to Required * feat(docs): number-field doc page * fix(number-field): typing issue * fix(number-field): test cases * fix(number-field): user.keyboard & defaultValue * fix(number-field): should work with defaultValues * chore(number-field): add type: number * chore(number-field): remove hidden related code * fix(number-field): numeric value * chore(changeset): add changeset * feat(deps): add "@nextui-org/number-field" to docs * feat(react): export `@nextui-org/number-field` * feat(changeset): add @nextui-org/react * feat(docs): number-field examples * chore(number-field): use text instead * refactor(number-field): remove unnecessary filled-within * fix(number-field): test case * chore(number-field): remove aria-label for stepper buttons * feat(docs): add incrementAriaLabel & decrementAriaLabel to NumberField * chore(number-field): reorder WithFormatOptions * fix(deps): update number-field's peerDependencies & dependencies * feat(number-field): hidden input for holding numeric vaule * fix(docs): number field title * feat(docs): add format options to number field * chore(docs): revise number field content * chore(number-field): add type to useDOMRef * fix(number-field): clear button * fix(theme): clear button styles * refactor(theme): stepper button styles * chore(number-field): accept stepperButton class * fix(theme): helper wrapper padding * feat(deps): add `@react-aria/i18n` * fix(number-field): use locale from `@react-aria/i18n` * fix(deps): dependency order * fix(docs): incorrect command * chore(docs): remove type=number * chore(theme): add padding to stepper wrapper * fix(number-field): avoid resetting value * fix(number-field): storybook * chore(docs): remove custom impl * chore(docs): update docs code & content * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore(number-field): migrate to heroui * chore: rename to number input * fix(number-input): incorrect import * chore(docs): rename to number input * chore: change to number input * refactor(number-input): change label to amount * fix(docs): use heroui commands * chore(changeset): update package name * refactor(number-input): remove steps * refactor: remove helper text * feat(number-input): label placement * refactor(number-input): rename stepper * fix(theme): isClearable * feat(docs): add label placements * refactor(docs): update number-input content * fix(docs): incorrect file * feat(docs): add lablePlacement * refactor(docs): remove labelPlacement & startContent * refactor(docs): remove helperText * refactor(docs): remove helperText * refactor(docs): revise description * feat(number-input): add data-slot for stepper-wrapper * fix(number-input): test cases * fix(docs): unexpected change * refactor(number-input): update outdated info * fix(docs): coderabbitai comments * refactor: remove validationState * fix(docs): typo * chore(deps): remove unnecessary dep * chore(deps): bump RA versions * chore(number-input): apply latest labelPlacement change * refactor(number-input): update author * refactor(number-input): revise stepper wrapper alignment * refactor(number-input): stepper button styles * chore(number-input): add disableRipple * fix(theme): increase stepper button click area * fix(number-input): sync latest validationBehavior changes * fix(number-input): pass validationBehavior to useAriaNumberInput * chore(docs): add import react * chore(number-input): remove HorizontalStepper story * chore(number-input): enable ripple * fix(number-input): remove number type * refactor(theme): follow input clear button styles * feat(theme): add color for stepperButton * fix(theme): revise stepperButton size for outside & outside-left cases * fix(number-input): typo * chore(docs): update description for wheel * chore(theme): change opacity when pressed * chore(number-input): add disableRipple * Update .changeset/witty-flies-reflect.md * fix(theme): add hover opacity effect --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore(docs): revised tags in doc routes for 2.7.0 (#4777) * chore(docs): remove last version update tags * chore(docs): add updated tag for 2.7.0 * chore(docs): updated table * chore(docs): update search meta * chore(docs): update github info * Merge branch 'canary' into docs/eng-2003 * chore(docs): update routes.json * chore(docs): update meta info * chore: improve theme builder * v2.7.0 * chore: v2.7.0 combined changeset * fix: changeset * fix: peer deps * feat: toast api improved * chore: toast styles improved * fix: toast styles * chore: toast width style changed * fix: changeset release * fix: changeset peerdeps * chore: toast styles improved * refactor(pagination): rtl (#4843) * refactor(pagination): rtl * chore(changeset): add changeset * feat: new spinner variant * fix(docs): popover shouldBlockScroll default value (#4851) * fix(select): select scroll content will close immediately when popover on click (#4849) * chore(select): update select deps * fix(select): select scroll content will close immediately when popover on click * chore(select): add .changeset file * chore(changeset): add issue number --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * feat(calendar): add firstDayOfWeek (#4852) * feat(calendar): add firstDayOfWeek * feat(docs): add firstDayOfWeek in Calendar docs * feat(calendar): add firstDayOfWeek to range calendar * feat(docs): add firstDayOfWeek to API table * feat: add firstDayOfWeek to date picker & date range picker * feat(docs): add firstDayOfWeek * feat(changeset): add changeset * feat: add firstDayOfWeek option in storybook * feat(docs): export firstDayOfWeek * chore(docs): update title * chore: spinner variants updated * feat: v2.7.0 blog * ci(changesets): version packages (#4601) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: manual release * fix(toast): fixing maxVisibleToasts, solid variant promise, promise timer (#4881) * fix: maxVisibleToasts functionality * chore: adding the changeset * fix: starting the toast timer when the promise is resolved * fix: spinner invisible in solid variants * fix(toast): shouldShowTimeoutProgess typo (#4858) * fix(toast): shouldShowTimeoutProgess typo * fix(toast): shouldShowTimeoutProgess typo * fix(select): pass form prop to hidden-select (#4854) * fix(select): pass form prop to hidden-select * chore(select): changeset * fix(spinner): Attempted to call useProviderContext() from the server (#4904) * fix(spinner): add banner in tsup.config.ts * chore(changeset): add changeset * chore(docs): update breaking changes in blog * chore(docs): handled in PR4905 * fix(number-input): onChange event in number input (#4907) * fix(number-input): onChange event in number input * chore(number-input): remove duplicate test case * fix(breadcrumb): broken start & end content (#4921) (#4922) * refactor: build process (#4909) * chore: update component description * chore: exclude stories-utils & test-utils * chore(utilities): remove unused info * chore(deps): pnpm-lock.yaml * fix: incorrect system & theme version in peerDependencies (#4901) * fix: incorrect system & theme version in peerDependencies * fix: incorrect system & theme version in peerDependencies * chore(changeset): add changeset * fix(changeset): remove `@heroui/stories-utils` and `@heroui/test-utils` from ignore list (#4939) * fix(docs): include .npmrc in sandbox (#4951) * fix(input): esc key to clear input value (#4892) * chore: theme generator credits * fix: blog date and spinner default variant * fix: #4850 Solve Pressing ESC doesn't clear input value * fix: #4850 code review change * fix: undo changes in apps/docs/content/blog/v2.7.0.mdx and add a test case for my changes * fix: run through the test cases successfully * fix: change md content * fix: using isClearable not clear the value * fix: add number-input clearable esc clear * fix: edit review problem * fix: delete unless file * chore(changeset): update changeset * fix: add inputProps.onKeyDown * fix: pressing ESC key in a read-only input not clear --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> Co-authored-by: աӄա <wingkwong.code@gmail.com> * ci(changesets): version packages (#4896) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * v2.7.4 * chore(deps): bump turbo version (#4958) * chore(deps): bump turbo version * chore(root): update turbo.json * fix(docs): typecheck errors * fix(docs): typecheck errors * fix(deps): bump react-aria versions (#4998) * fix(deps): bump react-aria versions * chore(changeset): add changeset * chore(hooks): sync with RA's useButton * fix(use-aria-button): support aria-current * fix(docs): remove priority prop * fix(toast): remove priority queue & animation * fix(toast): remove deprecated logic * fix(popover): avoid passing preventFocusOnPress to non heroui button * fix: sync with UsePopover * fix(popover): prevent submenus from closing on scroll * fix(tests): test cases related to press refactoring * fix(toast): toast should appear above overlay and adding regionProps to ToastProvider (#5001) * fix: toast should be above the modal * fix: renaming the loadingIcon to loadingComponent * chore: adding changeset * chore: fixing conflicts * chore: adding the region props * fix: adding Marcus' suggestions * fix: marcus' suggestions * Revert "fix: renaming the loadingIcon to loadingComponent" This reverts commit 4c6bf32. * chore: adding marcus' suggestions * fix(number-stepper): stepper button pseudo height (#4968) * fix(progress): incorrect size in indeterminate storybook (#4967) * fix: shouldShowTimeoutProgress typo (#4961) * chore(workflows): update runner (#4960) * fix: a small eye icon for password input in edge(#4927) (#4950) * fix(progress): add RTL support to the progress component (#4911) * fix(progress): add RTL support to the progress component (#4908) * docs(progress): add changeset notes * refactor: resolved code review notes * refactor: removed unnecessary change * refactor: undo unnecessary change * fix: build * fix(toast): unexpected toast animation (#5003) * fix(deps): use RA beta toast * chore(toast): remove non-existing wrapUpdate * chore(changeset): add changeset * ci(changesets): version packages (#5002) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * feat: open in chat button in doc examples (#4996) * feat: open in chat button in doc examples * feat: pass dependencies in open in chat * fix: open in chat error handling * chore: small adjustment --------- Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * chore: open in chat improvements * chore: remove ripple from the open in chat button * fix(docs): open in chat (#5018) * fix: open in chat ignore react imports * fix: open in chat utm params * fix: open in chat utm source * fix(docs): open in chat improvements (#5035) * fix(docs): parse dependency match imported components against heroui * fix(docs): center open in chat components * fix: open in new tab not working in ios (#5037) * fix(docs): dependency parse wrong react scope (#5043) * refactor(docs): remove unused variable in tailwind.config.js (#5070) * fix(root): add test timeout (#5071) * docs: sync api from heroui-cli v1.2.2 (#5111) Co-authored-by: GitHub Action <action@github.com> * chore(deps): bump RA versions (#5060) * chore(deps): bump RA versions * chore(root): add test timeout * fix(docs): remove misused color in listbox radio-group (#5011) Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(number-input): add missing dependencies to stepper button props (#5097) * fix(input): revise styles in color type (#5098) * chore(input): include data-type * fix(input): input with type=color style * chore(toast): making toast compatible with latest RA (#5034) * chore: making the toast compatible with latest RA * fix: making the description prop as ReactNode * chore: updating toast docs * fix: fixing tests * chore(deps): update theme peerDependencies --------- Co-authored-by: WK Wong <wingkwong.code@gmail.com> Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> * fix(docs): typo in `selectorIcon` for date and date range pickers (#5013) Co-authored-by: WK Wong <wingkwong.code@gmail.com> * fix(slider): slider display when `hideThumb` is `true` (#5087) * fix(slider): track fill start & end * fix(theme): revise slider display with `hideThumb` * fix(theme): handle isVertical case * fix(slider): handle range case * refactor(theme): simplify thumb related styles * chore(changeset): add changeset * chore(docs): update RA i18n version (#5122) * fix(toast): enable proper exit animations (#5121) * fix(toast): enable proper exit animations • Use LazyMotion and AnimatePresence in ToastProvider to support exit animations. • Simplify Toast by removing redundant LazyMotion wrapper. • Add motionProps to stories for easier animation customization. * chore(changeset): add changeset for ToastProvider exit animations * chore(toast): clean up stories by removing motionProps argument * chore(docs): revert `CONTRIBUTING.md` and `toast.stories.tsx`to initial state * chore: update stars count * fix(button): fixing the icon shift in safari (#5051) * fix: fixing the issue for icon shift in safari * chore: changing the solution to be cross browser compatible * chore: add twv4 docs * fix: codeblock on diff changes * refactor(docs): remove clearbit from remotePatterns (#5148) * fix(select): select label (#5147) * fix(select): label should be outside when there is a placeholder * fix(theme): remove pointer-events-none & revise style when there is helper * chore(changeset): add changeset * fix(select): add hasLabelOutside * fix(theme): pointer-events * fix(select): revise hasLabelOutside * fix(use-data-scroll-overflow): missing checkOverflow (#5139) * fix(tooltip): tooltip stays open on fast movement (#4482) * fix(components): fix tooltip staying open, add keys, fix AnimatePresence * chore(changeset) add changeset for tooltip retention fix * chore(changeset) update changeset text based on codebrabbit feedback * chore(changeset): update changset message * fix(tooltip): lint * chore(changeset): update package name * fix(tooltip): change LazyMotion level, specify keys * Merge branch 'canary' into pr/4482 * chore(tooltip): clean up code structure * Merge branch 'canary' into pr/4482 --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> * ci(changesets): version packages (#5120) Co-authored-by: Junior Garcia <jrgarciadev@gmail.com> --------- Co-authored-by: աӄա <wingkwong.code@gmail.com> Co-authored-by: millmason <jmsoper@protonmail.com> Co-authored-by: winches <329487092@qq.com> Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com> Co-authored-by: Peterl561 <76144929+Peterl561@users.noreply.github.com> Co-authored-by: Paul Ebose <49006567+plbstl@users.noreply.github.com> Co-authored-by: Zarin <thesharifi.maruf@gmail.com> Co-authored-by: Shrinidhi Upadhyaya <shrinidhiupadhyaya1195@gmail.com> Co-authored-by: Avan <layouwen@gmail.com> Co-authored-by: Vincentius Roger Kuswara <vincentiusrkuswara@gmail.com> Co-authored-by: Ryo Matsukawa <76232929+ryo-manba@users.noreply.github.com> Co-authored-by: Praharsh Bhatt <30700808+praharshbhatt@users.noreply.github.com> Co-authored-by: Adrian Szarapow <63786007+Adee1499@users.noreply.github.com> Co-authored-by: Hova25 <75216176+Hova25@users.noreply.github.com> Co-authored-by: Hovannes Markarian <hovannes.markarian@socrate.fr> Co-authored-by: Tsuki <76603360+sudongyuer@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Steve Mosley <steve@starter4ten.com> Co-authored-by: LinYongLu <88522000+linyonglu@users.noreply.github.com> Co-authored-by: Waleed Asender <waleed.asender@mobasher.sa> Co-authored-by: KKKKKK <143328179+kkk459@users.noreply.github.com> Co-authored-by: GitHub Action <action@github.com> Co-authored-by: yerim <58348662+yeeeerim@users.noreply.github.com> Co-authored-by: Aymeric Wibo <obiwac@gmail.com> Co-authored-by: Alexander Gavrilenko <86918055+alex-gavr@users.noreply.github.com> Co-authored-by: Connor Elsea <Connorelsea@gmail.com>
Closes #
📝 Description
tsupupgrade to v8💣 Is this a breaking change (Yes/No): No
📝 Additional Information
Summary by CodeRabbit
Release Notes
New Features
disableAnimationprop forDropdownandSelectcomponents to control animation behavior during tests.Bug Fixes
Dependency Updates
reactandreact-domto version18.3.0across all packages for improved compatibility and features.@nextui-org/test-utilsas a new dependency in multiple components to enhance testing capabilities.Documentation