Skip to content

fix(tabs): unresponsive modal after switching tabs inside#5582

Merged
wingkwong merged 2 commits into
canaryfrom
fix/eng-2698
Aug 30, 2025
Merged

fix(tabs): unresponsive modal after switching tabs inside#5582
wingkwong merged 2 commits into
canaryfrom
fix/eng-2698

Conversation

@wingkwong
Copy link
Copy Markdown
Member

@wingkwong wingkwong commented Aug 6, 2025

Closes #5543

📝 Description

⛳️ Current behavior (updates)

🚀 New behavior

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

📝 Additional Information

Summary by CodeRabbit

  • Bug Fixes

    • Resolved an issue where a modal became unresponsive after switching tabs.
    • Disabled tab cursor and layout group animations when tabs are used inside a modal to prevent interaction issues.
  • Tests

    • Added a test to ensure tabs within a modal remain functional when the modal is reopened.
  • Chores

    • Updated development dependencies to include necessary modal and tab packages.

@wingkwong wingkwong added this to the v2.8.3 milestone Aug 6, 2025
@wingkwong wingkwong requested a review from jrgarciadev as a code owner August 6, 2025 14:05
@linear
Copy link
Copy Markdown

linear Bot commented Aug 6, 2025

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Aug 6, 2025

🦋 Changeset detected

Latest commit: 95db501

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

This PR includes changesets to release 2 packages
Name Type
@heroui/tabs Patch
@heroui/react Patch

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

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

@vercel
Copy link
Copy Markdown

vercel Bot commented Aug 6, 2025

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

Name Status Preview Comments Updated (UTC)
heroui ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 6, 2025 3:24pm
heroui-sb ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 6, 2025 3:24pm

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Aug 6, 2025

Walkthrough

The changes address an issue where using the Tabs component inside a Modal caused the app to become unresponsive after switching tabs and reopening the modal. The update disables certain tab animations when rendered inside a modal and adds a test to verify correct modal-tab interaction. Dependencies are updated accordingly.

Changes

Cohort / File(s) Change Summary
Changelog
.changeset/nine-moles-sort.md
Adds a patch note describing the fix for modal responsiveness when switching tabs inside a modal.
Tabs Component Logic
.../tabs/src/tab.tsx,
.../tabs/src/tabs.tsx
Disables animated cursor and layout group animation for tabs rendered inside a modal by detecting modal context.
Tabs Test
.../tabs/__tests__/tabs.test.tsx
Adds a new test ensuring that reopening a modal with tabs does not block UI or cause stale state issues.
Package Configuration
.../tabs/package.json
Adds @heroui/modal as a devDependency for testing and development purposes.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant App
    participant Modal
    participant Tabs

    User->>App: Clicks button to open modal
    App->>Modal: Opens modal
    Modal->>Tabs: Renders Tabs inside modal
    User->>Tabs: Switches tab
    Tabs->>Tabs: Updates selected tab (no animation if in modal)
    User->>Modal: Clicks close
    Modal->>App: Modal unmounts
    User->>App: Clicks button to reopen modal
    App->>Modal: Opens modal again
    Modal->>Tabs: Renders Tabs (state is correct, no freeze)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~15 minutes

Assessment against linked issues

Objective Addressed Explanation
Fix unresponsive app when switching tabs inside Modal and reopening it (#5543)
Ensure modal closes and reopens correctly after tab interaction (#5543)
Prevent animation or state issues with Tabs inside Modal (#5543)

Assessment against linked issues: Out-of-scope changes

No out-of-scope changes found.

Suggested reviewers

  • jrgarciadev

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.


📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 06ec73c and 95db501.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • packages/components/tabs/package.json (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/components/tabs/package.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Continuous Release
  • GitHub Check: Prettier
  • GitHub Check: ESLint
  • GitHub Check: TypeScript
  • GitHub Check: Build
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/eng-2698

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

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

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

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

Other keywords and placeholders

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

Documentation and Community

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/components/tabs/__tests__/tabs.test.tsx (1)

441-541: LGTM - Comprehensive test coverage for modal-tab interaction bug.

The test case thoroughly covers the exact scenario from issue #5543: opening modal, switching tabs, closing modal, and reopening. The test properly uses async utilities and verifies that tab selection works correctly after modal reopening.

Consider enhancing the test to be more explicit about what constitutes "blocking":

+    // Verify no JavaScript errors or frozen state by testing additional interactions
+    await act(async () => {
+      fireEvent.click(newTabButtons[0]); // Switch back to first tab
+    });
+    
+    await waitFor(() => {
+      expect(newTabButtons[0]).toHaveAttribute("aria-selected", "true");
+    });
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8e51a85 and 06ec73c.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (5)
  • .changeset/nine-moles-sort.md (1 hunks)
  • packages/components/tabs/__tests__/tabs.test.tsx (2 hunks)
  • packages/components/tabs/package.json (1 hunks)
  • packages/components/tabs/src/tab.tsx (2 hunks)
  • packages/components/tabs/src/tabs.tsx (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Tests
  • GitHub Check: Prettier
  • GitHub Check: Continuous Release
  • GitHub Check: ESLint
  • GitHub Check: TypeScript
🔇 Additional comments (8)
packages/components/tabs/package.json (1)

64-64: LGTM - Modal dependency addition is justified.

The addition of @heroui/modal as a devDependency is appropriate since the new test case imports Modal components to verify modal-tab interactions.

.changeset/nine-moles-sort.md (1)

1-6: LGTM - Changeset properly documents the fix.

The changeset correctly identifies this as a patch-level change with a clear description that matches the PR objectives and references the correct issue number.

packages/components/tabs/src/tab.tsx (2)

79-79: LGTM - Modal detection logic is sound.

The isInModal detection correctly uses the standard aria-modal="true" attribute and safely handles potential null references with optional chaining.


125-125: LGTM - Cursor animation disabled in modals addresses the core issue.

Adding !isInModal to the animation condition is a targeted fix that prevents cursor animation issues inside modals while preserving normal behavior elsewhere.

packages/components/tabs/src/tabs.tsx (3)

24-24: LGTM - domRef destructuring enables modal detection.

The addition of domRef destructuring is necessary for the modal detection functionality.


36-36: LGTM - Consistent modal detection approach.

The isInModal detection uses the same reliable logic as in tab.tsx, ensuring consistent behavior across components.


38-38: LGTM - LayoutGroup disabled in modals prevents animation conflicts.

Disabling the LayoutGroup animation when tabs are inside modals addresses the core issue where framer-motion animations were interfering with modal DOM cleanup, causing unresponsiveness.

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

5-10: LGTM - Import additions support the new test case.

The new imports are appropriately scoped for testing modal-tab interactions: act, waitFor for async handling, and Modal/Button components for building the test scenario.

Comment thread packages/components/tabs/package.json Outdated
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Aug 6, 2025

Open in StackBlitz

@heroui/accordion

npm i https://pkg.pr.new/@heroui/accordion@5582

@heroui/alert

npm i https://pkg.pr.new/@heroui/alert@5582

@heroui/autocomplete

npm i https://pkg.pr.new/@heroui/autocomplete@5582

@heroui/avatar

npm i https://pkg.pr.new/@heroui/avatar@5582

@heroui/badge

npm i https://pkg.pr.new/@heroui/badge@5582

@heroui/breadcrumbs

npm i https://pkg.pr.new/@heroui/breadcrumbs@5582

@heroui/button

npm i https://pkg.pr.new/@heroui/button@5582

@heroui/calendar

npm i https://pkg.pr.new/@heroui/calendar@5582

@heroui/card

npm i https://pkg.pr.new/@heroui/card@5582

@heroui/checkbox

npm i https://pkg.pr.new/@heroui/checkbox@5582

@heroui/chip

npm i https://pkg.pr.new/@heroui/chip@5582

@heroui/code

npm i https://pkg.pr.new/@heroui/code@5582

@heroui/date-input

npm i https://pkg.pr.new/@heroui/date-input@5582

@heroui/date-picker

npm i https://pkg.pr.new/@heroui/date-picker@5582

@heroui/divider

npm i https://pkg.pr.new/@heroui/divider@5582

@heroui/drawer

npm i https://pkg.pr.new/@heroui/drawer@5582

@heroui/dropdown

npm i https://pkg.pr.new/@heroui/dropdown@5582

@heroui/form

npm i https://pkg.pr.new/@heroui/form@5582

@heroui/image

npm i https://pkg.pr.new/@heroui/image@5582

@heroui/input

npm i https://pkg.pr.new/@heroui/input@5582

@heroui/input-otp

npm i https://pkg.pr.new/@heroui/input-otp@5582

@heroui/kbd

npm i https://pkg.pr.new/@heroui/kbd@5582

@heroui/link

npm i https://pkg.pr.new/@heroui/link@5582

@heroui/listbox

npm i https://pkg.pr.new/@heroui/listbox@5582

@heroui/menu

npm i https://pkg.pr.new/@heroui/menu@5582

@heroui/modal

npm i https://pkg.pr.new/@heroui/modal@5582

@heroui/navbar

npm i https://pkg.pr.new/@heroui/navbar@5582

@heroui/number-input

npm i https://pkg.pr.new/@heroui/number-input@5582

@heroui/pagination

npm i https://pkg.pr.new/@heroui/pagination@5582

@heroui/popover

npm i https://pkg.pr.new/@heroui/popover@5582

@heroui/progress

npm i https://pkg.pr.new/@heroui/progress@5582

@heroui/radio

npm i https://pkg.pr.new/@heroui/radio@5582

@heroui/ripple

npm i https://pkg.pr.new/@heroui/ripple@5582

@heroui/scroll-shadow

npm i https://pkg.pr.new/@heroui/scroll-shadow@5582

@heroui/select

npm i https://pkg.pr.new/@heroui/select@5582

@heroui/skeleton

npm i https://pkg.pr.new/@heroui/skeleton@5582

@heroui/slider

npm i https://pkg.pr.new/@heroui/slider@5582

@heroui/snippet

npm i https://pkg.pr.new/@heroui/snippet@5582

@heroui/spacer

npm i https://pkg.pr.new/@heroui/spacer@5582

@heroui/spinner

npm i https://pkg.pr.new/@heroui/spinner@5582

@heroui/switch

npm i https://pkg.pr.new/@heroui/switch@5582

@heroui/table

npm i https://pkg.pr.new/@heroui/table@5582

@heroui/tabs

npm i https://pkg.pr.new/@heroui/tabs@5582

@heroui/toast

npm i https://pkg.pr.new/@heroui/toast@5582

@heroui/tooltip

npm i https://pkg.pr.new/@heroui/tooltip@5582

@heroui/user

npm i https://pkg.pr.new/@heroui/user@5582

@heroui/react

npm i https://pkg.pr.new/@heroui/react@5582

@heroui/system

npm i https://pkg.pr.new/@heroui/system@5582

@heroui/system-rsc

npm i https://pkg.pr.new/@heroui/system-rsc@5582

@heroui/theme

npm i https://pkg.pr.new/@heroui/theme@5582

@heroui/use-aria-accordion

npm i https://pkg.pr.new/@heroui/use-aria-accordion@5582

@heroui/use-aria-accordion-item

npm i https://pkg.pr.new/@heroui/use-aria-accordion-item@5582

@heroui/use-aria-button

npm i https://pkg.pr.new/@heroui/use-aria-button@5582

@heroui/use-aria-link

npm i https://pkg.pr.new/@heroui/use-aria-link@5582

@heroui/use-aria-modal-overlay

npm i https://pkg.pr.new/@heroui/use-aria-modal-overlay@5582

@heroui/use-aria-multiselect

npm i https://pkg.pr.new/@heroui/use-aria-multiselect@5582

@heroui/use-aria-overlay

npm i https://pkg.pr.new/@heroui/use-aria-overlay@5582

@heroui/use-callback-ref

npm i https://pkg.pr.new/@heroui/use-callback-ref@5582

@heroui/use-clipboard

npm i https://pkg.pr.new/@heroui/use-clipboard@5582

@heroui/use-data-scroll-overflow

npm i https://pkg.pr.new/@heroui/use-data-scroll-overflow@5582

@heroui/use-disclosure

npm i https://pkg.pr.new/@heroui/use-disclosure@5582

@heroui/use-draggable

npm i https://pkg.pr.new/@heroui/use-draggable@5582

@heroui/use-form-reset

npm i https://pkg.pr.new/@heroui/use-form-reset@5582

@heroui/use-image

npm i https://pkg.pr.new/@heroui/use-image@5582

@heroui/use-infinite-scroll

npm i https://pkg.pr.new/@heroui/use-infinite-scroll@5582

@heroui/use-intersection-observer

npm i https://pkg.pr.new/@heroui/use-intersection-observer@5582

@heroui/use-is-mobile

npm i https://pkg.pr.new/@heroui/use-is-mobile@5582

@heroui/use-is-mounted

npm i https://pkg.pr.new/@heroui/use-is-mounted@5582

@heroui/use-measure

npm i https://pkg.pr.new/@heroui/use-measure@5582

@heroui/use-pagination

npm i https://pkg.pr.new/@heroui/use-pagination@5582

@heroui/use-real-shape

npm i https://pkg.pr.new/@heroui/use-real-shape@5582

@heroui/use-ref-state

npm i https://pkg.pr.new/@heroui/use-ref-state@5582

@heroui/use-resize

npm i https://pkg.pr.new/@heroui/use-resize@5582

@heroui/use-safe-layout-effect

npm i https://pkg.pr.new/@heroui/use-safe-layout-effect@5582

@heroui/use-scroll-position

npm i https://pkg.pr.new/@heroui/use-scroll-position@5582

@heroui/use-ssr

npm i https://pkg.pr.new/@heroui/use-ssr@5582

@heroui/use-theme

npm i https://pkg.pr.new/@heroui/use-theme@5582

@heroui/use-update-effect

npm i https://pkg.pr.new/@heroui/use-update-effect@5582

@heroui/use-viewport-size

npm i https://pkg.pr.new/@heroui/use-viewport-size@5582

@heroui/aria-utils

npm i https://pkg.pr.new/@heroui/aria-utils@5582

@heroui/dom-animation

npm i https://pkg.pr.new/@heroui/dom-animation@5582

@heroui/framer-utils

npm i https://pkg.pr.new/@heroui/framer-utils@5582

@heroui/react-rsc-utils

npm i https://pkg.pr.new/@heroui/react-rsc-utils@5582

@heroui/react-utils

npm i https://pkg.pr.new/@heroui/react-utils@5582

@heroui/shared-icons

npm i https://pkg.pr.new/@heroui/shared-icons@5582

@heroui/shared-utils

npm i https://pkg.pr.new/@heroui/shared-utils@5582

@heroui/stories-utils

npm i https://pkg.pr.new/@heroui/stories-utils@5582

@heroui/test-utils

npm i https://pkg.pr.new/@heroui/test-utils@5582

commit: 95db501

@wingkwong wingkwong merged commit 8eb269d into canary Aug 30, 2025
10 checks passed
@wingkwong wingkwong deleted the fix/eng-2698 branch August 30, 2025 14:53
jrgarciadev added a commit that referenced this pull request Aug 31, 2025
* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore(deps): bump RA versions (#5361)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* refactor(listbox): already extends in AriaListBoxProps

* chore(docs): remove herohack announcement (#5363)

* chore: remove herohack announcement

* Update carbon-ad.tsx

* chore(docs): fixed lint errors

* chore(docs): requested changes

* Update carbon-ad.tsx

* Update carbon-ad.tsx

* fix(theme): consistent faded styling for isInvalid in InputOtp and DateInput (#5349)

* fix(input-otp): remove bg and border styles from faded variant when isInvalid

* fix(date-input): remove bg styles from faded variant when isInvalid

* chore(changeset): add changeset

* chore: bump theme peerDependencies

* chore: bump theme peerDependencies

* fix: wrong version

* chore: extra line

---------

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

* fix(theme): helperWrapper padding (#5350)

* fix(number-input): decreased helperWrapper padding to maintain consistency

* Update beige-laws-heal.md

* chore(theme): change to p-1

* chore(deps): bump peerDependencies for theme pkg

* fix(number-input): incorrect versions

* chore(changeset): include number input

---------

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

* fix(autocomplete): onClear (#5365)

* fix(autocomplete): add onClear

* feat(autocomplete): add test case for onClear

* chore(changeset): add changeset

* fix(number-input): only allow number type (#5368)

* refactor(number-input): avoid non number type passing to number input

* chore(changeset): add changeset

* refactor: optimization (#5362)

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore(deps): bump RA versions

* chore: changeset

* chore(deps): remove unnecessary dependencies

* fix(calendar): typing issue

* refactor(system): remove unused SupportedCalendars

* refactor(system): move I18nProviderProps to type

* refactor: use `spectrumCalendarProps<DateValue>["createCalendar"]`

* feat: add consistent-type-imports

* fix: eslint

* chore: add changeset

* refactor: remove unused deps

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

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

* chore(deps): bump RA versions (#5382)

* fix(tabs): onClick (#5378)

* fix(tabs): handleClick

* chore(changeset): add changeset

* refactor: remove `@interationalized/date` from system (#5374)

* refactor(calendar): createCalendar typing

* refactor(system): ditch `@react-types/calendar`

* feat(system): include the required types or interfaces

* chore(deps): pnpm-lock.yaml

* fix: cast DateValue

* fix: minValue & maxValue typing

* chore(changeset): add changeset

* refactor(system): abstract class

* chore(deps): bump system peer dependency

* chore(changeset): add changeset

* fix(docs): correct display of the "Toast" component in the Safari browser (#5400)

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

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

* docs: replace invalid yarn command (#5422)

* chore: remove ph banner (#5437)

* feat: 2.8.0 beta changes (#5473)

* ci(changesets): 📦 version packages (beta) (#5254)

* chore(pre-release): enter pre-release mode

* feat: support tailwindcss v4 (#4656)

* feat: upgrade tailwindcssv4

* feat: upgrade tailwindcssv4

* feat: update config

* feat: first init tailwindcss v4

* fix: update shadow xs to sm

* fix: update rounded xs to sm

* fix: variant issues

* fix: variant shadow etc issues

* fix: variant shadow issues

* fix: redundant shadow issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm shadow issues

* fix: remove redundant rename

* fix: role button issues

* fix: role button issues

* fix: font size

* fix: alpha color value

* fix: support text utilities in plugin

* feat: upgrade tailwind-merge

* fix: pkg package scope

(cherry picked from commit 6e82323)

* fix: button base ui add cursor pointer

* fix: tailwindcss experimental

* feat: upgrade tailwindcss version

* fix: input step 1

* fix: input transition issue

* fix: theme to var function

* ci: run QA in beta branch

* fix: var to the theme and incorrect var usage MER-3261

* feat: upgrade tailwind-variants

---------

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

* feat: changeset for tailwindcss v4

* fix: changeset

* fix: changeset

* ci(changesets): version packages (beta) (#5008)

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

* chore: tw 4 docs

* fix: select tests

* chore: timeout

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* fix: deployment

* ci(changesets): version packages (beta) (#5009)

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

* chore: add the cli to upgrade the packages to beta

* fix: cli command

* fix: revert to use previous version (#5012)

* fix: revert to use previous version

* fix: revert to use previous version

* fix: revert

* fix: revert to use previous tailwind-merge version

* ci(changesets): version packages (beta) (#5015)

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

* fix: adapt tailwind merger config (#5016)

* Revert "fix: revert to use previous version (#5012)"

This reverts commit 1d01df2.

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: changeset

* ci(changesets): version packages (beta)

* fix(tailwind): add missing values config for bg-grid plugin

* fix: remove useless tw config

* fix: add default styles

* docs: changeset

* docs: typo

* chore: merge origin canary to beta

* ci(changesets): version packages (beta)

* chore: remove changeset & pre.json

* chore: change to minor

* chore(pre-release): enter pre-release mode

* chore(deps): fix versions

* chore(deps): revise changed packages

* chore(deps): update tailwindcss version

* ci(changesets): 📦 version packages (beta) (#5166)

* ci(changesets): version packages (beta)

* fix: add missing delimiter

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>

* fix(docs): add missing semicolon

* fix: animate about skeleton (#5198)

* chore: pre release

* ci(changesets): version packages (beta) (#5199)

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

* docs: blurred hover button style

* fix: language selector blur (#5208)

* fix: skeleton animate translate value (#5207)

* fix: open in remote repo (#5214)

* chore: upgrade tw version

* fix: open in remote repo

* fix: update lock

* fix: select translate styles (#5219)

* chore: pre release

* ci(changesets): version packages (beta) (#5222)

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

* chore: remove changeset

* chore(pre-release): enter pre-release mode

* chore(react): continue from 2.8.0-beta.2

* chore(changeset): add changeset

* fix(changeset): use patch

* ci(changesets): version packages (beta)

* fix(docs): beta docs

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>

* fix(workflow): check_if_pre_json_exists order

* chore(changeset): redeploy

* chore(changeset): changeset (#5263)

* ci(changesets): version packages (beta) (#5264)

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

* fix(docs): mdx in beta (#5261)

* chore(docs): add lint:fix

* fix(docs): slug requires promise in next 15

* fix(docs): useMDXComponent

* fix(docs): typing issue

* docs: typography style error (#5274)

* chore(pre-release): enter pre-release mode

* feat: support tailwindcss v4 (#4656)

* feat: upgrade tailwindcssv4

* feat: upgrade tailwindcssv4

* feat: update config

* feat: first init tailwindcss v4

* fix: update shadow xs to sm

* fix: update rounded xs to sm

* fix: variant issues

* fix: variant shadow etc issues

* fix: variant shadow issues

* fix: redundant shadow issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm issues

* fix: redundant blur-sm shadow issues

* fix: remove redundant rename

* fix: role button issues

* fix: role button issues

* fix: font size

* fix: alpha color value

* fix: support text utilities in plugin

* feat: upgrade tailwind-merge

* fix: pkg package scope

(cherry picked from commit 6e82323)

* fix: button base ui add cursor pointer

* fix: tailwindcss experimental

* feat: upgrade tailwindcss version

* fix: input step 1

* fix: input transition issue

* fix: theme to var function

* ci: run QA in beta branch

* fix: var to the theme and incorrect var usage MER-3261

* feat: upgrade tailwind-variants

---------

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

* feat: changeset for tailwindcss v4

* fix: changeset

* fix: changeset

* ci(changesets): version packages (beta) (#5008)

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

* chore: tw 4 docs

* fix: select tests

* chore: timeout

* ci(changesets): version packages (beta)

* ci(changesets): version packages (beta)

* fix: deployment

* ci(changesets): version packages (beta) (#5009)

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

* chore: add the cli to upgrade the packages to beta

* fix: cli command

* fix: revert to use previous version (#5012)

* fix: revert to use previous version

* fix: revert to use previous version

* fix: revert

* fix: revert to use previous tailwind-merge version

* ci(changesets): version packages (beta) (#5015)

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

* fix: adapt tailwind merger config (#5016)

* Revert "fix: revert to use previous version (#5012)"

This reverts commit 1d01df2.

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: adapt tailwind merge config

* fix: changeset

* ci(changesets): version packages (beta)

* fix(tailwind): add missing values config for bg-grid plugin

* fix: remove useless tw config

* fix: add default styles

* docs: changeset

* docs: typo

* chore: merge origin canary to beta

* ci(changesets): version packages (beta)

* chore: remove changeset & pre.json

* chore: change to minor

* chore(pre-release): enter pre-release mode

* chore(deps): fix versions

* chore(deps): revise changed packages

* chore(deps): update tailwindcss version

* ci(changesets): 📦 version packages (beta) (#5166)

* ci(changesets): version packages (beta)

* fix: add missing delimiter

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>

* fix(docs): add missing semicolon

* fix: animate about skeleton (#5198)

* chore: pre release

* ci(changesets): version packages (beta) (#5199)

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

* docs: blurred hover button style

* fix: language selector blur (#5208)

* fix: skeleton animate translate value (#5207)

* fix: open in remote repo (#5214)

* chore: upgrade tw version

* fix: open in remote repo

* fix: update lock

* fix: select translate styles

* Merge branch beta/release-next of github.com:heroui-inc/heroui into beta/release-next-original

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>

* fix: transition scale (#5284)

* feat(toast): enable programatically closing a toast with a specific key (#5125)

* feat(toast): add closeToast method

* docs(toast): add example for programmatically closing toast

* refactor: change button title in doc

* refactor: add type for key

* test: sync storybook example with the one in docs

* chore: add changeset

* refactor: fix grammar

* chore: update toast package version change to patch

* Merge branch 'canary' into pr/5125

* chore(changeset): add ref number

* refactor(toast): export hooks

* chore(docs): use flat buttons

---------

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

* ci(changesets): version packages (beta) (#5285)

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

* fix(input): prevent accessibility label duplication (#5161)

* fix(input): prevent accessibility label duplication

* chore(chageset): add changeset

* chore(changeset): include issue number

---------

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

* refactor: overlay & interactOutside (#5100)

* fix: remove ariaShouldCloseOnInteractOutside usage

* feat: add `@heroui/use-aria-overlay`

* chore(popover): remove ariaHideOutside

* fix(use-aria-modal-overlay): use useAriaOverlay instead

* fix(use-aira-overlay): revise onInteractOutside

* chore(deps): pnpm-lock.yaml

* feat(modal): add ModalWithAutocompleteTemplate

* chore(modal): remove state.close as handled by useInteractOutside

* fix(use-aria-multiselect): add menuTriggerProps.onPressStart and change domProps to triggerProps

* chore(use-aria-button): support onPressUp

* chore(deps): pnpm-lock.yaml

* chore(use-aria-multiselect): join by commas

* fix(tooltip): use useAriaOverlay instead

* fix(autocomplete): jest timeout issue

* chore(deps): pnpm-lock.yaml

* chore(changset): add changeset

* chore(deps): bump versions

* refactor(tooltip): move to type

* chore(deps): bump RA versions (#5315)

* chore(deps): bump RA versions

* fix(scripts): incorrect docs path

* chore(changeset): add changeset for bumping RA versions

* fix(docs): incorrect import path

* refactor(modal): use a simple example

* ci(changesets): version packages (beta) (#5303)

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

* feat(input): adding outside-top prop (#4775)

* feat(input): adding outside-top prop

* chore(input): add outside-top to use-label-placement hook

* refactor(input): use old method for computing labelPlacement in 'use-input'

* fix(input): fix focus behaviouir and alignment for 'outside-top'

* Merge branch 'canary' into pr/4775

* chore(changeset): include issue number

* feat(system): useInputLabelPlacement

* refactor(input): use useInputLabelPlacement

* chore(changeset): add changeset

---------

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

* chore: sync latest changes to beta (#5347)

* chore: add herohack announcement

* fix(date-picker): error state (#5317)

* fix(date-range-picker): fixed the error state in preset

* Update giant-sloths-shop.md

* Removed if statement

* chore(date-picker): prettier

---------

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

* chore: banner replacement

* fix(theme): clear button in mobile (#5252)

* fix(toast): fixed close button hover position

* fix(input): fixed the clear button rendering on smaller devices

* Delete .changeset/soft-spoons-march.md

* Update input.ts

* Undo unrelated toast changes

* fix(toast): icons (#5246)

* feat(shared-icons): add loading icon

* fix(toast): icons

* chore(toast): revise types for icons

* chore(changeset): add changeset

* refactor: migrate eslint to v9 (#5267)

* refactor: migrate eslint to v9

* chore: lint

* chore: update eslint command

* chore: fix lint warnings

* chore: separate lint and lint:fix

* chore: exclude contentlayer generated code

* fix(scripts): add missing await

* fix(autocomplete): persist last selected item position (#5286)

* refactor(select): remove unnecessary code

* fix(autocomplete): persist last selected item position

* chore(changeset): add changeset

* chore(deps): bump framer-motion version (#5287)

* chore(deps): bump framer-motion version

* fix: typing issues

* chore(changeset): add changeset

---------

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

* chore(docs): supplement onAction & selectionBehavior (#5289)

* fix(autocomplete): ensure focused item matches selected item after filter, selection (#5290)

* fix(autocomplete): ensure focused item matches selected item after filter, selection

* chore: apply type and default value

* chore: add perpose coment in updated code

* test: add focuskey management testcode

* docs: add changeset

* docs: update changeset

* chore: remove comment

* fix: broken components in stories (#5291)

* chore(switch): remove xl size

* chore(docs): remove xl size

* chore(system-rsc): remove xl size

* chore(circular-progress): remove xl size

* chore: undo

* chore(deps): bump RA versions (#5310)

* chore(deps): ra version bump

* chore(changeset): add changeset

* fix(scripts): incorrect docs path

---------

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

* chore(docs): update meta data (#5311)

* docs(layout.tsx): added text-foreground (#5316)

* feat(tabs): add click handling for tab items in tests and implementation (#3917)

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

* fix issues in tabs examples (#2405)

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

* chore(docs): add missing onValueChange in CheckboxGroup (#5332)

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

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

* chore: remove pre.json

---------

Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore(pre-release): enter pre-release mode

* chore: update changesets

* chore: remove changesets

* chore: add changeset

* chore: update `@heroui/react` pre version

* fix(deps): add missing `@heroui/use-aria-overlay` import

* fix: lock file (#5351)

* ci(changesets): 📦 version packages (beta) (#5348)

* ci(changesets): version packages (beta)

* Merge branch 'beta/release-next' into changeset-release/beta/release-next

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* chore: sync 2.8.0 to beta (#5388)

* chore: remove outdated changeset

* chore(pre-release): enter pre-release mode

* chore(deps): bump RA versions (beta) (#5392)

* chore(deps): bump RA versions

* chore: add changeset

* ci(changesets): version packages (beta) (#5393)

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

* refactor: remove RA dependencies (overaly & utils) (#5398)

* refactor(system): remove `@react-aria/utils` package

* refactor(system): remove `@react-aria/overlays` package

* ci(changesets): version packages (beta) (#5399)

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

* refactor: RA optimization (#5401)

* refactor(shared-utils): add common functions from `@react-aria/utils`

* feat(system): add shouldClientNavigate & useRouter

* refactor(deps): remove `@react-aria/utils`

* feat(shared-utils): include common functions from RA

* refactor: import functions from `@heroui/shared-utils` instead

* chore(deps): pnpm-lock.yaml

* chore: add changeset

* chore(shared-utils): update directory

* fix(shared-utils): add use client directive

* feat: add `@heroui/use-viewport-size`

* feat: add `@heroui/use-form-reset`

* feat(use-resize): add hasResizeObserver & RefObject

* feat(form): add useObjectRef

* chore: update import

* chore(deps): update dependencies

* refactor(shared-utils): only keep utils

* chore(deps): pnpm-lock.yaml

* chore(changeset): add changeset

* ci(changesets): version packages (beta) (#5406)

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

* fix: transitions (#5409)

* chore(changeset): add changeset

* fix: outline style (#5421)

* fix: outline style

* chore(changeset): add changeset

---------

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

* fix(toast): Renaming the loadingIcon to loadingComponent (#4919)

* 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 all commits except 4c6bf32

* chore(toast): bump `@heroui/theme` in peerDependencies

* chore: nits

* chore: applying marcus' suggestions

* chore(toast): update story

---------

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

* chore: use beta version

* chore: delete pre.json

* chore(pre-release): enter pre-release mode

* chore(changeset): trigger release

* chore(changeset): trigger release

* chore: keep previous changesets

* ci(changesets): version packages (beta) (#5429)

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

* fix(table): header and isStriped missing radius (#5062)

* fix(table): tableheader and isStriped missing radius

* chore: add changeset

* fix: fix missing radius styles

* chore(changeset): update message

* fix(theme): reorder radius

---------

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

* fix(slider): prevent NaN error for equal min / max values (#5044)

* fix(slider): prevent NaN error for equal min/max values

* fix: restore isdisabled code

* fix(slider): perf prevent NaN error for equal min max values

* refactor: slider code

* fix(slider): prevent NaN error for equal min max values & add test

* fix(slider): perf prevent NaN error for equal min max values

* fix: remove redundant code

* chore: add changeset

* Revert "chore: add changeset"

This reverts commit f31de4a.

* chore(slider): add missing warn

* refactor(slider): remove unnecessary line

---------

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

* fix: double fetch img src (#5417)

* fix(image): double fetch when using custom image component

* fix(avatar): avoid passing disableAnimation to dom & double fetch source

* chore(changeset): include avatar

* fix(autocomplete): empty button when selectorIcon is null (#5427)

* fix(toast): Toast items close in reverse order (#5405)

* fix(toast): correct closing order to implement proper FIFO behavior

* chore(changeset): add changeset

* fix(changeset): update issue number

* chore(toast): use `!==` instead

* feat(toast): apply exit animation to auto-close timeout

---------

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

* fix(table): remove removeWrapper on virtualized table (#5428)

* fix(table): remove `removeWrapper` for virtualized table

* chore(docs): update description for removeWrapper

* chore(changeset): add changeset

* fix(toast): fixed close button hover position (#5245)

* fix(toast): fixed close button hover position

* Update soft-spoons-march.md

* Update toast.ts

* chore(theme): prettier

* Using "placement" to apply the top and bottom extension

* fix(toast): modified hover for expanded region

* update dependancy array

* lint fix

* Merge branch 'canary' into pr/5245

* chore(theme): remove line breaks

* chore(changeset): add missing package

* static extension size

* fix(toast): static extension fix

---------

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

* feat(table): support custom sort icon (#5243)

* feat(shared-icons): add SortIcon

* feat(table): add CustomSortIcon story

* feat(table): support custom sort icon

* fix(table): handle functional sortIcon

* chore(changeset): add changeset

* chore(table): update type

* feat(docs): add sortIcon to table

* fix(docs): broken object

* chore(shared-icons): lint

* feat(docs): add example for sort icon

* chore: bump pnpm & node version (#5442)

* refactor: bump pnpm & node version

* chore(deps): bump `@types/node`

* fix(calendar): improve month and year picker selection for different zoom levels (#5151)

* fix(calendar): improve month and year picker selection for different zoom levels

* fix(calendar): improve month and year picker selection for different zoom levels

* fix(calendar): prevent stale values while scrolling both year and month pickers simultaneously

* docs: replace invalid yarn command (#5422)

* chore: remove ph banner (#5437)

* chore(changeset): update changeset message

* chore: add line breaks

---------

Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: WK <wingkwong.code@gmail.com>

* feat(select): adding isClearable to select (#4785)

* feat(select): adding isClearable to select

* chore(select): add changeset

* test(select): add tests for isClearable

* chore(select): add theme package patch, improve the testcase, rename nextui package to heroui

* fix(select): fixing alignment for clear button for different cases

* Merge branch 'canary' into pr/4785

* Merge branch 'canary' into pr/4785

* fix(select): remove component level styling

* fix(select): fix the alignment and focus behaviour

* fix(select): shift clear buttojn close to trigger

* fix(select): fix alignment for different variants

* feat(select): add data-has-end-content

* fix(theme): revise select styles with clear button and end content

* feat(docs): add end content

---------

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

* fix(select): use span instead as trigger is button

* fix(docs): add ToastProvider for blog post

* ci(changesets): version packages (beta) (#5430)

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

* fix(select): clear button test cases

* fix(modal): draggable modal, scrollable on mobile (#5444)

Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>

* chore: trigger release

* ci(changesets): version packages (beta) (#5445)

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

* fix(theme): table header sorting icon transition (#5449)

* fix: table header sorcting icon transition

* chore(changeset): add changeset

---------

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

* fix(table): allow text selection with cursor in table cells (#5454)

* fix(table): allow text selection with cursor in table cells

* chore(changeset): add changeset

---------

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

* ci(changesets): version packages (beta) (#5450)

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

* chore: add back RA deps (#5466)

* chore(deps): bump testing-library & jest versions (#5468)

* refactor: revise test cases

* chore(deps): bump testing-library & jest versions

* ci(changesets): version packages (beta) (#5467)

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

* refactor(autocomplete): test cases

* fix(use-theme): incorrect target theme

* ci(changesets): version packages (beta) (#5470)

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

* fix(use-theme): remove all theme values and add the new one

* ci(changesets): version packages (beta) (#5472)

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

* docs: 2.8.0 (#5443)

* chore(docs): update routes.json

* chore(docs): bump versions

* chore(docs): initial draft

* chore(docs): add examples

* chore(Docs): update credits and community

* chore(docs): update date & what's next

* chore(docs): update meta data

* chore(docs): add update tags

* chore(docs): add tableSortIcon example

* chore(docs): revise sidebar width

* chore(docs): remove package size optimization

* chore(docs): update meta

* ci(changesets): exit pre-release mode

* chore: update package versions

* chore(changeset): remove unrelated changeset

* chore(deps): remove unused autoprefixer

* chore(docs): update tailwind v4 content

* chore(docs): update template doc content

* chore(docs): update formatting

* chore(toast): export getToastQueue (#5476)

* chore(docs): add hydration issue handling to page router example (#5474)

* docs(dark-mode): add hydration handling to page router example

* chore(docs): format

---------

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

* chore(deps): bump tw4 versions

* fix: handle files with paths containing empty space (#5478)

* chore(docs): revise wordings in 2.8.0 blog

* feat(slider): add getTooltipValue prop for custom tooltip value (#5384)

* feat(slider): add getTooltipValue prop for custom tooltip value

* feat(slider): fix coderabbit highlights

* feat(slider): fixed wingkwong highlights

* feat(slider): added custom-tooltip.raw.tsx?raw

* feat(slider): improved custom-tooltip.raw.tsx

* chore: undo README.md

* chore(slider): use normal $ sign

* chore(changeset): add changeset

* chore(docs): formatting

---------

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

* chore(docs): revise custom tooltip example

* chore(docs): add custom tooltip example for slider

* chore(deps): bump contentlayer2 & next-contentlayer2

* chore(docs): fix formatting

* chore(docs): update metadata

* chore: add v2.8.0 image

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>
Co-authored-by: Feiyu Zheng <67126194+ChaserZ98@users.noreply.github.com>
Co-authored-by: Dmytro Klymenko <dmytro@klymenko.xyz>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Yohan <58714229+kaishuige@users.noreply.github.com>
Co-authored-by: Aditya Ray <96347576+adi-ray@users.noreply.github.com>
Co-authored-by: Aakash Patel <ap0524@srmist.edu.in>
Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>
Co-authored-by: Priyadharshini S <priyadharshinis5102@gmail.com>
Co-authored-by: arar <77303253+ararTP@users.noreply.github.com>
Co-authored-by: andartadev1 <andartadev@gmail.com>

* chore: consolidated version part 2

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

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

* fix(theme): use `outline-hidden` which is equivalent to `outline-none`  (#5486)

* fix: use `outline-hidden` which is equivalent to `outline-none` in v3

* chore: add changeset

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

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

* fix(number-input): label class being incorrectly mixed into the description (#5484)

* fix(number-input): label class being incorrectly mixed into the description

* chore: add issue number

---------

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

* fix(docs): broken link in custom variants page (#5522)

* refactor(alert): vertically center alert icon / endContent (#5512)

* chore(deps): bump RA dependencies (#5517)

* chore(deps): sync with RA release

* fix(tabs): duplicate onClick

* chore(docs): update tanstack content

* chore(docs): set updated flag

* chore(docs): update meta

* fix(use-aria-overlay): sync with RA's overlay logic (#5529)

* fix(use-aria-overlay): sync with RA logic

* fix(use-aria-overlay): add onHide on onInteractOutsideStart

* chore(changeset): add changeset

* fix(popover): arrow glitch in popover content (#5504)

* fix(popover): make PopoverContent children prop optional to fix TS error

* chore(changeset): created changeset

* fix(popover): do not show content when children is null / undefined

* fix(popover): add test case

* chore(changeset): update changeset message

---------

Co-authored-by: i_nicck <i_nicck@i-niccks-MacBook-Air.local>
Co-authored-by: WK Wong <wingkwong.code@gmail.com>

* fix(avatar): broken fallbacks (#5519)

* fix(toast): toastRegion leftover in DOM (#5508)

* fix(theme): focus ring styles (#5531)

* chore(deps): bump tailwind-variants version (#5538)

* chore(deps): bump tailwind-variants version

* chore(deps): add tailwind-merge

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

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

* chore(docs): remove unused or deprecated info in autocomplete (#5581)

* fix(docs): default value of radius in image (#5580)

* fix(theme): clear button disabled inputs (#5607)

* fix(input): disable pointer events on clear button when inactive

* chore(changeset): add changeset

* chore(docs): update TanStack routing (#5629)

* fix(theme): stepperButton when labelPlacement is outside in NumberInput (#5628)

* fix(theme): set stepperButton height when labelPlacement=outside in NumberInput component

* chore(changeset): add issue number

---------

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

* refactor: use handleLinkClick from RA's utils (#5632)

* chore(deps): bump tailwindcss version (#5636)

* chore(deps): bump tailwind-variants version (#5635)

* chore: bump tailwind-variants version

* chore(deps): bump tailwind-variants to 3.1.0

* chore(deps): rollback TW to 4.1.11 (#5644)

* chore: rollback tailwindcss to 4.1.11

* chore(deps): bump RA versions (aug 2025) (#5640)

* chore(deps): bump RA versions (aug 2025)

* chore: add changeset

* chore(deps): update versions

* chore(deps): bump @internationalized/date

* chore(deps): bump @react-types

* fix(popover): missing triggerAnchorPoint return

* fix: triggerAnchorPoint

* chore: sync with canary

* fix(theme): dropdown-item has no ellipsis when it has a width and desc  (#5638)

* fix(theme): dropdown-item where the text was too long without an ellipsis when there was a desc

* chore(changeset): update message

---------

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

* fix(toast): show animation when closing all modals (#5637)

* fix(toast): show animation when closing all modals

* chore(changeset): add issue number

---------

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

* refactor(toast): animation & toast region (#5647)

* fix(toast): unexpected gap after closing a toast

* refactor(toast): animation

* fix(toast): close toast when disableAnimation is set to true

* refactor: coderabbit comment

* fix(use-aria-overlay): prevent modal/drawer from closing on press instead (#5624)

* fix(modal/drawer): prevent modal/drawer from closing on press instead

* refactor(useAriaOverlay): improve getOverlayTypeFromRef with ARIA checks and hoist

* refactor(useAriaOverlay): add alertdialog & fallback to modal when aria-modal is missing

* Merge branch 'canary' into pr/5624

* chore(changeset): add issue number

* refactor(use-aria-overlay): getOverlayInteractionType

---------

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

* refactor(ui): standardize copy code feedback across all tabs (#5584)

* fix(select): use space as aria-labelledby separator (#5587)

* fix(select): use space as aria-labelledby separator

* chore(chageset): add changeset (#5586)

* chore(changeset): add issue number and remove select

---------

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

* fix(tabs): unresponsive modal after switching tabs inside (#5582)

* fix(tabs): unresponsive modal after switching tabs inside

* chore(deps): remove self

* refactor: improve type safety (#5539)

* refactor(popover): consolidate imports from aria-utils module

* refactor(popover): remove unnecessary type assertion for child ref

* refactor: remove unnecessary type assertions and improve type safety

* chore(changeset): add changeset

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

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

---------

Co-authored-by: Vishv Salvi <82429084+Vishvsalvi@users.noreply.github.com>
Co-authored-by: Junior Garcia <jrgarciadev@gmail.com>
Co-authored-by: KumJungMin <37934668+KumJungMin@users.noreply.github.com>
Co-authored-by: liaoyinglong <vigossliao@gmail.com>
Co-authored-by: zhengjitf <zhengjitf@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Anuj Kuralkar <76731106+anuj-kuralkar@users.noreply.github.com>
Co-authored-by: Poli Sour <57824881+novsource@users.noreply.github.com>
Co-authored-by: Nicolas Cappabianca <nicolas.cappabianca@gmail.com>
Co-authored-by: winches <329487092@qq.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlotte21110 <hejianer9@163.com>
Co-authored-by: Feiyu Zheng <67126194+ChaserZ98@users.noreply.github.com>
Co-authored-by: Dmytro Klymenko <dmytro@klymenko.xyz>
Co-authored-by: Abhinav Agarwal <78839973+abhinav700@users.noreply.github.com>
Co-authored-by: Maharshi Alpesh <maharshialpesh@gmail.com>
Co-authored-by: Yohan <58714229+kaishuige@users.noreply.github.com>
Co-authored-by: Aditya Ray <96347576+adi-ray@users.noreply.github.com>
Co-authored-by: Aakash Patel <ap0524@srmist.edu.in>
Co-authored-by: Vishv Salvi <vishvsalvi@Vishvs-MacBook-Air.local>
Co-authored-by: Priyadharshini S <priyadharshinis5102@gmail.com>
Co-authored-by: arar <77303253+ararTP@users.noreply.github.com>
Co-authored-by: andartadev1 <andartadev@gmail.com>
Co-authored-by: wulimao49 <73568161+wulimao49@users.noreply.github.com>
Co-authored-by: wulimaomao <tao@trlab.com>
Co-authored-by: Shagun Sharma <108183568+nicck1@users.noreply.github.com>
Co-authored-by: i_nicck <i_nicck@i-niccks-MacBook-Air.local>
Co-authored-by: luis angel lopez huari <156825396+luislh-dev@users.noreply.github.com>
Co-authored-by: doki- <95574719+IsDyh01@users.noreply.github.com>
Co-authored-by: Anshuman Singh Rathore <anshumandev2002@gmail.com>
Co-authored-by: Igor Moraes <igormpaz@gmail.com>
Co-authored-by: Dmytro Klymenko <dmytro.klymenko@syniti.com>
@coderabbitai coderabbitai Bot mentioned this pull request Oct 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] - Tabs components inside Modal causes the app unresponsive

1 participant