mirror of
https://github.com/nextui-org/nextui.git
synced 2025-12-08 19:26:11 +00:00
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
This commit is contained in:
parent
9a95a71aef
commit
88f164116c
55
.changeset/witty-gorillas-think.md
Normal file
55
.changeset/witty-gorillas-think.md
Normal file
@ -0,0 +1,55 @@
|
||||
---
|
||||
"@heroui/use-intersection-observer": patch
|
||||
"@heroui/use-aria-accordion-item": patch
|
||||
"@heroui/use-aria-modal-overlay": patch
|
||||
"@heroui/use-aria-multiselect": patch
|
||||
"@heroui/use-aria-accordion": patch
|
||||
"@heroui/autocomplete": patch
|
||||
"@heroui/number-input": patch
|
||||
"@heroui/breadcrumbs": patch
|
||||
"@heroui/date-picker": patch
|
||||
"@heroui/date-input": patch
|
||||
"@heroui/pagination": patch
|
||||
"@heroui/use-aria-button": patch
|
||||
"@heroui/accordion": patch
|
||||
"@heroui/input-otp": patch
|
||||
"@heroui/use-disclosure": patch
|
||||
"@heroui/use-pagination": patch
|
||||
"@heroui/aria-utils": patch
|
||||
"@heroui/calendar": patch
|
||||
"@heroui/checkbox": patch
|
||||
"@heroui/dropdown": patch
|
||||
"@heroui/progress": patch
|
||||
"@heroui/use-aria-link": patch
|
||||
"@heroui/use-draggable": patch
|
||||
"@heroui/divider": patch
|
||||
"@heroui/listbox": patch
|
||||
"@heroui/popover": patch
|
||||
"@heroui/snippet": patch
|
||||
"@heroui/tooltip": patch
|
||||
"@heroui/avatar": patch
|
||||
"@heroui/button": patch
|
||||
"@heroui/navbar": patch
|
||||
"@heroui/select": patch
|
||||
"@heroui/slider": patch
|
||||
"@heroui/switch": patch
|
||||
"@heroui/alert": patch
|
||||
"@heroui/input": patch
|
||||
"@heroui/modal": patch
|
||||
"@heroui/radio": patch
|
||||
"@heroui/table": patch
|
||||
"@heroui/toast": patch
|
||||
"@heroui/card": patch
|
||||
"@heroui/chip": patch
|
||||
"@heroui/form": patch
|
||||
"@heroui/link": patch
|
||||
"@heroui/menu": patch
|
||||
"@heroui/tabs": patch
|
||||
"@heroui/user": patch
|
||||
"@heroui/system-rsc": patch
|
||||
"@heroui/kbd": patch
|
||||
"@heroui/system": patch
|
||||
"@heroui/react": patch
|
||||
---
|
||||
|
||||
bump RA versions
|
||||
@ -129,9 +129,9 @@ in multiple formats into `ZonedDateTime` objects.
|
||||
|
||||
<PackageManagers
|
||||
commands={{
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
}}
|
||||
/>
|
||||
|
||||
@ -177,9 +177,9 @@ in multiple formats into `ZonedDateTime` objects.
|
||||
|
||||
<PackageManagers
|
||||
commands={{
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
}}
|
||||
/>
|
||||
|
||||
|
||||
@ -144,9 +144,9 @@ in multiple formats into `ZonedDateTime` objects.
|
||||
|
||||
<PackageManagers
|
||||
commands={{
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
}}
|
||||
/>
|
||||
|
||||
@ -192,9 +192,9 @@ in multiple formats into `ZonedDateTime` objects.
|
||||
|
||||
<PackageManagers
|
||||
commands={{
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
}}
|
||||
/>
|
||||
|
||||
@ -214,9 +214,9 @@ in multiple formats into `ZonedDateTime` objects.
|
||||
|
||||
<PackageManagers
|
||||
commands={{
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
}}
|
||||
/>
|
||||
|
||||
@ -252,9 +252,9 @@ in multiple formats into `ZonedDateTime` objects.
|
||||
|
||||
<PackageManagers
|
||||
commands={{
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
}}
|
||||
/>
|
||||
|
||||
|
||||
@ -167,9 +167,9 @@ in multiple formats into `ZonedDateTime` objects.
|
||||
|
||||
<PackageManagers
|
||||
commands={{
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
}}
|
||||
/>
|
||||
|
||||
@ -215,9 +215,9 @@ in multiple formats into `ZonedDateTime` objects.
|
||||
|
||||
<PackageManagers
|
||||
commands={{
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
}}
|
||||
/>
|
||||
|
||||
@ -237,9 +237,9 @@ in multiple formats into `ZonedDateTime` objects.
|
||||
|
||||
<PackageManagers
|
||||
commands={{
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
}}
|
||||
/>
|
||||
|
||||
@ -262,9 +262,9 @@ in multiple formats into `ZonedDateTime` objects.
|
||||
|
||||
<PackageManagers
|
||||
commands={{
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
}}
|
||||
/>
|
||||
|
||||
@ -282,9 +282,9 @@ in multiple formats into `ZonedDateTime` objects.
|
||||
|
||||
<PackageManagers
|
||||
commands={{
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.5",
|
||||
npm: "npm install @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
yarn: "yarn add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
pnpm: "pnpm add @internationalized/date@3.7.0 @react-aria/i18n@3.12.6",
|
||||
}}
|
||||
/>
|
||||
|
||||
|
||||
@ -258,12 +258,6 @@ Toast has the following slots:
|
||||
description: "The loading icon for toasts with promise prop - overrides the default loading icon",
|
||||
default: "-"
|
||||
},
|
||||
{
|
||||
attribute: "priority",
|
||||
type: "number | undefined",
|
||||
description: "Priority at which the toast will be displayed",
|
||||
default: "undefined",
|
||||
},
|
||||
{
|
||||
attribute: "hideIcon",
|
||||
type: "boolean",
|
||||
|
||||
@ -40,17 +40,17 @@
|
||||
"@internationalized/date": "3.7.0",
|
||||
"@mapbox/rehype-prism": "^0.6.0",
|
||||
"@radix-ui/react-scroll-area": "^1.0.5",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/i18n": "3.12.5",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/selection": "3.22.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/i18n": "3.12.6",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/selection": "3.23.0",
|
||||
"@react-aria/ssr": "3.9.7",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/virtualizer": "4.1.1",
|
||||
"@react-aria/visually-hidden": "3.8.19",
|
||||
"@react-stately/data": "3.12.1",
|
||||
"@react-stately/layout": "4.1.1",
|
||||
"@react-stately/tree": "3.8.7",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/virtualizer": "4.1.2",
|
||||
"@react-aria/visually-hidden": "3.8.20",
|
||||
"@react-stately/data": "3.12.2",
|
||||
"@react-stately/layout": "4.2.0",
|
||||
"@react-stately/tree": "3.8.8",
|
||||
"@rehooks/local-storage": "^2.4.5",
|
||||
"@stackblitz/sdk": "^1.11.0",
|
||||
"@tanstack/react-virtual": "3.11.3",
|
||||
@ -111,9 +111,9 @@
|
||||
"@docusaurus/utils": "2.0.0-beta.3",
|
||||
"@next/bundle-analyzer": "14.3.0-canary.43",
|
||||
"@next/env": "14.3.0-canary.43",
|
||||
"@react-types/calendar": "3.6.0",
|
||||
"@react-types/datepicker": "3.10.0",
|
||||
"@react-types/shared": "3.27.0",
|
||||
"@react-types/calendar": "3.6.1",
|
||||
"@react-types/datepicker": "3.11.0",
|
||||
"@react-types/shared": "3.28.0",
|
||||
"@tailwindcss/typography": "^0.5.9",
|
||||
"@types/canvas-confetti": "^1.4.2",
|
||||
"@types/marked": "^5.0.0",
|
||||
|
||||
@ -55,13 +55,13 @@
|
||||
"@heroui/divider": "workspace:*",
|
||||
"@heroui/use-aria-accordion": "workspace:*",
|
||||
"@heroui/dom-animation": "workspace:*",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/tree": "3.8.7",
|
||||
"@react-aria/button": "3.11.1",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/tree": "3.8.8",
|
||||
"@react-aria/button": "3.12.0",
|
||||
"@react-types/accordion": "3.0.0-alpha.26",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -48,7 +48,7 @@
|
||||
"@heroui/shared-icons": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@react-stately/utils": "3.10.5",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@heroui/button": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@ -54,15 +54,15 @@
|
||||
"@heroui/spinner": "workspace:*",
|
||||
"@heroui/use-aria-button": "workspace:*",
|
||||
"@heroui/use-safe-layout-effect": "workspace:*",
|
||||
"@react-aria/combobox": "3.11.1",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/i18n": "3.12.5",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/visually-hidden": "3.8.19",
|
||||
"@react-stately/combobox": "3.10.2",
|
||||
"@react-types/combobox": "3.13.2",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/combobox": "3.12.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/i18n": "3.12.6",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/visually-hidden": "3.8.20",
|
||||
"@react-stately/combobox": "3.10.3",
|
||||
"@react-types/combobox": "3.13.3",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/avatar": "workspace:*",
|
||||
@ -72,7 +72,7 @@
|
||||
"@heroui/system": "workspace:*",
|
||||
"@heroui/theme": "workspace:*",
|
||||
"@heroui/use-infinite-scroll": "workspace:*",
|
||||
"@react-stately/data": "3.12.1",
|
||||
"@react-stately/data": "3.12.2",
|
||||
"clean-package": "2.2.0",
|
||||
"framer-motion": "11.9.0",
|
||||
"react": "18.3.0",
|
||||
|
||||
@ -43,9 +43,9 @@
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@heroui/use-image": "workspace:*",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/utils": "3.27.0"
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/utils": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -43,11 +43,11 @@
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/shared-icons": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/breadcrumbs": "3.5.20",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-types/breadcrumbs": "3.7.10",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/breadcrumbs": "3.5.21",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-types/breadcrumbs": "3.7.11",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -46,12 +46,12 @@
|
||||
"@heroui/use-aria-button": "workspace:*",
|
||||
"@heroui/ripple": "workspace:*",
|
||||
"@heroui/spinner": "workspace:*",
|
||||
"@react-aria/button": "3.11.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-types/shared": "3.27.0",
|
||||
"@react-types/button": "3.10.2"
|
||||
"@react-aria/button": "3.12.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-types/shared": "3.28.0",
|
||||
"@react-types/button": "3.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -2,7 +2,8 @@
|
||||
import * as React from "react";
|
||||
import {render, act, fireEvent} from "@testing-library/react";
|
||||
import {CalendarDate} from "@internationalized/date";
|
||||
import {keyCodes, triggerPress, type} from "@heroui/test-utils";
|
||||
import {keyCodes, triggerPress, pointerMap, type} from "@heroui/test-utils";
|
||||
import userEvent from "@testing-library/user-event";
|
||||
|
||||
import {RangeCalendar as RangeCalendarCalendarBase, RangeCalendarProps} from "../src";
|
||||
|
||||
@ -25,9 +26,13 @@ const RangeCalendar = React.forwardRef(
|
||||
RangeCalendar.displayName = "RangeCalendar";
|
||||
|
||||
describe("RangeCalendar", () => {
|
||||
let user;
|
||||
|
||||
beforeAll(() => {
|
||||
user = userEvent.setup({delay: null, pointerMap});
|
||||
jest.useFakeTimers();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
act(() => {
|
||||
jest.runAllTimers();
|
||||
@ -195,7 +200,7 @@ describe("RangeCalendar", () => {
|
||||
|
||||
let nextButton = getByTestId("next-button");
|
||||
|
||||
triggerPress(nextButton);
|
||||
await user.click(nextButton);
|
||||
|
||||
selected = getAllByLabelText("selected", {exact: false}).filter(
|
||||
(cell) => cell.getAttribute("aria-disabled") !== "true",
|
||||
@ -232,7 +237,7 @@ describe("RangeCalendar", () => {
|
||||
|
||||
let prevButton = getByTestId("prev-button");
|
||||
|
||||
triggerPress(prevButton);
|
||||
await user.click(prevButton);
|
||||
|
||||
expect(heading).toHaveTextContent("June 2019");
|
||||
gridCells = getAllByRole("gridcell").filter(
|
||||
|
||||
@ -49,17 +49,17 @@
|
||||
"@heroui/button": "workspace:*",
|
||||
"@heroui/dom-animation": "workspace:*",
|
||||
"@internationalized/date": "3.7.0",
|
||||
"@react-aria/calendar": "3.7.0",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/i18n": "3.12.5",
|
||||
"@react-stately/calendar": "3.7.0",
|
||||
"@react-types/button": "3.10.2",
|
||||
"@react-aria/visually-hidden": "3.8.19",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/calendar": "3.7.1",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/i18n": "3.12.6",
|
||||
"@react-stately/calendar": "3.7.1",
|
||||
"@react-types/button": "3.11.0",
|
||||
"@react-aria/visually-hidden": "3.8.20",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/utils": "3.10.5",
|
||||
"@react-types/calendar": "3.6.0",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-types/shared": "3.27.0",
|
||||
"@react-types/calendar": "3.6.1",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-types/shared": "3.28.0",
|
||||
"scroll-into-view-if-needed": "3.0.10",
|
||||
"@types/lodash.debounce": "^4.0.7"
|
||||
},
|
||||
|
||||
@ -45,11 +45,11 @@
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@heroui/use-aria-button": "workspace:*",
|
||||
"@heroui/ripple": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/button": "3.11.1",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/button": "3.12.0",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -45,15 +45,15 @@
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/use-callback-ref": "workspace:*",
|
||||
"@heroui/use-safe-layout-effect": "workspace:*",
|
||||
"@react-aria/checkbox": "3.15.1",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/visually-hidden": "3.8.19",
|
||||
"@react-stately/checkbox": "3.6.11",
|
||||
"@react-stately/toggle": "3.8.1",
|
||||
"@react-types/checkbox": "3.9.1",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/checkbox": "3.15.2",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/visually-hidden": "3.8.20",
|
||||
"@react-stately/checkbox": "3.6.12",
|
||||
"@react-stately/toggle": "3.8.2",
|
||||
"@react-types/checkbox": "3.9.2",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/chip": "workspace:*",
|
||||
|
||||
@ -43,10 +43,10 @@
|
||||
"@heroui/shared-icons": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-types/checkbox": "3.9.1"
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-types/checkbox": "3.9.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -44,12 +44,12 @@
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@internationalized/date": "3.7.0",
|
||||
"@react-aria/datepicker": "3.13.0",
|
||||
"@react-aria/i18n": "3.12.5",
|
||||
"@react-stately/datepicker": "3.12.0",
|
||||
"@react-types/datepicker": "3.10.0",
|
||||
"@react-types/shared": "3.27.0",
|
||||
"@react-aria/utils": "3.27.0"
|
||||
"@react-aria/datepicker": "3.14.0",
|
||||
"@react-aria/i18n": "3.12.6",
|
||||
"@react-stately/datepicker": "3.13.0",
|
||||
"@react-types/datepicker": "3.11.0",
|
||||
"@react-types/shared": "3.28.0",
|
||||
"@react-aria/utils": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/system": "workspace:*",
|
||||
|
||||
@ -383,12 +383,15 @@ describe("DatePicker", () => {
|
||||
expect(onFocusChangeSpy).not.toHaveBeenCalled();
|
||||
expect(onFocusSpy).not.toHaveBeenCalled();
|
||||
|
||||
triggerPress(button);
|
||||
await user.click(button);
|
||||
act(() => jest.runAllTimers());
|
||||
|
||||
let dialog = getByRole("dialog");
|
||||
|
||||
expect(dialog).toBeVisible();
|
||||
expect(onBlurSpy).not.toHaveBeenCalled();
|
||||
expect(onFocusChangeSpy).toHaveBeenCalledTimes(1);
|
||||
expect(onFocusSpy).toHaveBeenCalledTimes(1);
|
||||
|
||||
//@ts-ignore
|
||||
fireEvent.keyDown(document.activeElement, {key: "Escape"});
|
||||
@ -409,9 +412,15 @@ describe("DatePicker", () => {
|
||||
expect(dialog).not.toBeInTheDocument();
|
||||
expect(document.activeElement).toBe(button);
|
||||
expect(button).toHaveFocus();
|
||||
expect(onBlurSpy).not.toHaveBeenCalled();
|
||||
expect(onFocusChangeSpy).toHaveBeenCalledTimes(1);
|
||||
expect(onFocusSpy).toHaveBeenCalledTimes(1);
|
||||
|
||||
await user.tab();
|
||||
expect(document.body).toHaveFocus();
|
||||
expect(onBlurSpy).toHaveBeenCalledTimes(1);
|
||||
expect(onFocusChangeSpy).toHaveBeenCalledTimes(2);
|
||||
expect(onFocusSpy).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
|
||||
it("should trigger right arrow key event for segment navigation", async function () {
|
||||
|
||||
@ -51,14 +51,14 @@
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@heroui/shared-icons": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@react-aria/datepicker": "3.13.0",
|
||||
"@react-aria/i18n": "3.12.5",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/datepicker": "3.12.0",
|
||||
"@react-stately/overlays": "3.6.13",
|
||||
"@react-aria/datepicker": "3.14.0",
|
||||
"@react-aria/i18n": "3.12.6",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/datepicker": "3.13.0",
|
||||
"@react-stately/overlays": "3.6.14",
|
||||
"@react-stately/utils": "3.10.5",
|
||||
"@react-types/datepicker": "3.10.0",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-types/datepicker": "3.11.0",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/radio": "workspace:*",
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/react-rsc-utils": "workspace:*",
|
||||
"@heroui/system-rsc": "workspace:*",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -46,11 +46,11 @@
|
||||
"@heroui/popover": "workspace:*",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/menu": "3.17.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/menu": "3.9.1",
|
||||
"@react-types/menu": "3.9.14"
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/menu": "3.18.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/menu": "3.9.2",
|
||||
"@react-types/menu": "3.9.15"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/avatar": "workspace:*",
|
||||
|
||||
@ -44,10 +44,10 @@
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/system": "workspace:*",
|
||||
"@heroui/theme": "workspace:*",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-types/shared": "3.27.0",
|
||||
"@react-stately/form": "3.1.1",
|
||||
"@react-types/form": "3.7.9"
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-types/shared": "3.28.0",
|
||||
"@react-stately/form": "3.1.2",
|
||||
"@react-types/form": "3.7.10"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/button": "workspace:*",
|
||||
|
||||
@ -43,13 +43,13 @@
|
||||
"@heroui/form": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/form": "3.0.12",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/form": "3.0.13",
|
||||
"@react-stately/utils": "3.10.5",
|
||||
"@react-stately/form": "3.1.1",
|
||||
"@react-types/textfield": "3.11.0",
|
||||
"@react-stately/form": "3.1.2",
|
||||
"@react-types/textfield": "3.12.0",
|
||||
"input-otp": "1.4.1",
|
||||
"@react-aria/focus": "3.19.1"
|
||||
"@react-aria/focus": "3.20.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -45,13 +45,13 @@
|
||||
"@heroui/shared-icons": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/use-safe-layout-effect": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/textfield": "3.16.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/textfield": "3.17.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/utils": "3.10.5",
|
||||
"@react-types/shared": "3.27.0",
|
||||
"@react-types/textfield": "3.11.0",
|
||||
"@react-types/shared": "3.28.0",
|
||||
"@react-types/textfield": "3.12.0",
|
||||
"react-textarea-autosize": "^8.5.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
"@heroui/system-rsc": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@react-aria/utils": "3.27.0"
|
||||
"@react-aria/utils": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -44,10 +44,10 @@
|
||||
"@heroui/shared-icons": "workspace:*",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@heroui/use-aria-link": "workspace:*",
|
||||
"@react-aria/link": "3.7.8",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-types/link": "3.5.10"
|
||||
"@react-aria/link": "3.7.9",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-types/link": "3.5.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -46,13 +46,13 @@
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/use-is-mobile": "workspace:*",
|
||||
"@tanstack/react-virtual": "3.11.3",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/listbox": "3.14.0",
|
||||
"@react-stately/list": "3.11.2",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-types/menu": "3.9.14",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/listbox": "3.14.1",
|
||||
"@react-stately/list": "3.12.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-types/menu": "3.9.15",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/avatar": "workspace:*",
|
||||
|
||||
@ -45,14 +45,14 @@
|
||||
"@heroui/use-is-mobile": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/menu": "3.17.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/menu": "3.9.1",
|
||||
"@react-stately/tree": "3.8.7",
|
||||
"@react-types/menu": "3.9.14",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/menu": "3.18.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/menu": "3.9.2",
|
||||
"@react-stately/tree": "3.8.8",
|
||||
"@react-types/menu": "3.9.15",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -50,13 +50,13 @@
|
||||
"@heroui/shared-icons": "workspace:*",
|
||||
"@heroui/use-aria-modal-overlay": "workspace:*",
|
||||
"@heroui/dom-animation": "workspace:*",
|
||||
"@react-aria/dialog": "3.5.21",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/overlays": "3.25.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/overlays": "3.6.13",
|
||||
"@react-types/overlays": "3.8.12"
|
||||
"@react-aria/dialog": "3.5.22",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/overlays": "3.26.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/overlays": "3.6.14",
|
||||
"@react-types/overlays": "3.8.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -46,12 +46,12 @@
|
||||
"@heroui/framer-utils": "workspace:*",
|
||||
"@heroui/use-scroll-position": "workspace:*",
|
||||
"@heroui/dom-animation": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/button": "3.11.1",
|
||||
"@react-aria/overlays": "3.25.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/toggle": "3.8.1",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/button": "3.12.0",
|
||||
"@react-aria/overlays": "3.26.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/toggle": "3.8.2",
|
||||
"@react-stately/utils": "3.10.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@ -48,16 +48,16 @@
|
||||
"@heroui/shared-icons": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/use-safe-layout-effect": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/i18n": "3.12.5",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/numberfield": "3.11.10",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/i18n": "3.12.6",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/numberfield": "3.11.11",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/utils": "3.10.5",
|
||||
"@react-stately/numberfield": "3.9.9",
|
||||
"@react-types/shared": "3.27.0",
|
||||
"@react-types/numberfield": "3.8.8",
|
||||
"@react-types/button": "3.10.2"
|
||||
"@react-stately/numberfield": "3.9.10",
|
||||
"@react-types/shared": "3.28.0",
|
||||
"@react-types/numberfield": "3.8.9",
|
||||
"@react-types/button": "3.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/system": "workspace:*",
|
||||
|
||||
@ -45,10 +45,10 @@
|
||||
"@heroui/shared-icons": "workspace:*",
|
||||
"@heroui/use-intersection-observer": "workspace:*",
|
||||
"@heroui/use-pagination": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/i18n": "3.12.5",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/i18n": "3.12.6",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"scroll-into-view-if-needed": "3.0.10"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@ -254,9 +254,9 @@ describe("Popover", () => {
|
||||
|
||||
await act(async () => {
|
||||
// open popover
|
||||
await user.click(trigger);
|
||||
await user.pointer({target: trigger, keys: "[MouseLeft>]"});
|
||||
// close popover
|
||||
await user.click(trigger);
|
||||
await user.pointer({target: trigger, keys: "[/MouseLeft]"});
|
||||
// assert that the focus is restored back to trigger
|
||||
expect(trigger).toHaveFocus();
|
||||
});
|
||||
|
||||
@ -49,14 +49,14 @@
|
||||
"@heroui/use-aria-button": "workspace:*",
|
||||
"@heroui/use-safe-layout-effect": "workspace:*",
|
||||
"@heroui/dom-animation": "workspace:*",
|
||||
"@react-aria/dialog": "3.5.21",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/overlays": "3.25.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/overlays": "3.6.13",
|
||||
"@react-types/button": "3.10.2",
|
||||
"@react-types/overlays": "3.8.12"
|
||||
"@react-aria/dialog": "3.5.22",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/overlays": "3.26.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/overlays": "3.6.14",
|
||||
"@react-types/button": "3.11.0",
|
||||
"@react-types/overlays": "3.8.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/card": "workspace:*",
|
||||
|
||||
@ -47,6 +47,12 @@ const PopoverTrigger = (props: PopoverTriggerProps) => {
|
||||
return triggerChildren?.[0] !== undefined;
|
||||
}, [triggerChildren]);
|
||||
|
||||
if (!hasHeroUIButton) {
|
||||
// delete `preventFocusOnPress` introduced from useMenuTrigger
|
||||
// to avoid passing it to non-HeroUI Button components
|
||||
delete restProps["preventFocusOnPress"];
|
||||
}
|
||||
|
||||
return cloneElement(
|
||||
child,
|
||||
mergeProps(restProps, hasHeroUIButton ? {onPress, isDisabled} : buttonProps),
|
||||
|
||||
@ -9,6 +9,7 @@ import {
|
||||
import {
|
||||
OverlayPlacement,
|
||||
ariaHideOutside,
|
||||
keepVisible,
|
||||
toReactAriaPlacement,
|
||||
ariaShouldCloseOnInteractOutside,
|
||||
} from "@heroui/aria-utils";
|
||||
@ -62,6 +63,7 @@ export function useReactAriaPopover(
|
||||
state: OverlayTriggerState,
|
||||
): PopoverAria {
|
||||
const {
|
||||
groupRef,
|
||||
triggerRef,
|
||||
popoverRef,
|
||||
showArrow,
|
||||
@ -84,12 +86,14 @@ export function useReactAriaPopover(
|
||||
|
||||
const isNonModal = isNonModalProp ?? true;
|
||||
|
||||
const isSubmenu = otherProps["trigger"] === "SubmenuTrigger";
|
||||
|
||||
const {overlayProps, underlayProps} = useOverlay(
|
||||
{
|
||||
isOpen: state.isOpen,
|
||||
onClose: state.close,
|
||||
shouldCloseOnBlur,
|
||||
isDismissable,
|
||||
isDismissable: isDismissable || isSubmenu,
|
||||
isKeyboardDismissDisabled,
|
||||
shouldCloseOnInteractOutside: shouldCloseOnInteractOutside
|
||||
? shouldCloseOnInteractOutside
|
||||
@ -115,7 +119,7 @@ export function useReactAriaPopover(
|
||||
containerPadding,
|
||||
placement: toReactAriaPlacement(placementProp),
|
||||
offset: showArrow ? offset + 3 : offset,
|
||||
onClose: isNonModal && shouldCloseOnScroll ? state.close : () => {},
|
||||
onClose: isNonModal && !isSubmenu && shouldCloseOnScroll ? state.close : () => {},
|
||||
});
|
||||
|
||||
useSafeLayoutEffect(() => {
|
||||
@ -125,10 +129,14 @@ export function useReactAriaPopover(
|
||||
}, updatePositionDeps);
|
||||
|
||||
useEffect(() => {
|
||||
if (state.isOpen && !isNonModal && popoverRef.current) {
|
||||
return ariaHideOutside([popoverRef.current]);
|
||||
if (state.isOpen && popoverRef.current) {
|
||||
if (isNonModal) {
|
||||
return keepVisible(groupRef?.current ?? popoverRef.current);
|
||||
} else {
|
||||
return ariaHideOutside([groupRef?.current ?? popoverRef.current]);
|
||||
}
|
||||
}
|
||||
}, [isNonModal, state.isOpen, popoverRef]);
|
||||
}, [isNonModal, state.isOpen, popoverRef, groupRef]);
|
||||
|
||||
return {
|
||||
popoverProps: mergeProps(overlayProps, positionProps),
|
||||
|
||||
@ -43,10 +43,10 @@
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@heroui/use-is-mounted": "workspace:*",
|
||||
"@react-aria/i18n": "3.12.5",
|
||||
"@react-aria/progress": "3.4.19",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-types/progress": "3.5.9"
|
||||
"@react-aria/i18n": "3.12.6",
|
||||
"@react-aria/progress": "3.4.20",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-types/progress": "3.5.10"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -43,14 +43,14 @@
|
||||
"@heroui/form": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/radio": "3.10.11",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/visually-hidden": "3.8.19",
|
||||
"@react-stately/radio": "3.10.10",
|
||||
"@react-types/radio": "3.8.6",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/radio": "3.11.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/visually-hidden": "3.8.20",
|
||||
"@react-stately/radio": "3.10.11",
|
||||
"@react-types/radio": "3.8.7",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -53,13 +53,13 @@
|
||||
"@heroui/use-aria-multiselect": "workspace:*",
|
||||
"@heroui/use-safe-layout-effect": "workspace:*",
|
||||
"@heroui/form": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/form": "3.0.12",
|
||||
"@react-aria/overlays": "3.25.0",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/visually-hidden": "3.8.19",
|
||||
"@react-types/shared": "3.27.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/form": "3.0.13",
|
||||
"@react-aria/overlays": "3.26.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/visually-hidden": "3.8.20",
|
||||
"@react-types/shared": "3.28.0",
|
||||
"@tanstack/react-virtual": "3.11.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -72,8 +72,8 @@
|
||||
"@heroui/system": "workspace:*",
|
||||
"@heroui/theme": "workspace:*",
|
||||
"@heroui/use-infinite-scroll": "workspace:*",
|
||||
"@react-aria/i18n": "3.12.5",
|
||||
"@react-stately/data": "3.12.1",
|
||||
"@react-aria/i18n": "3.12.6",
|
||||
"@react-stately/data": "3.12.2",
|
||||
"clean-package": "2.2.0",
|
||||
"framer-motion": "11.9.0",
|
||||
"react": "18.3.0",
|
||||
|
||||
@ -43,13 +43,13 @@
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@heroui/tooltip": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/i18n": "3.12.5",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/slider": "3.7.15",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/visually-hidden": "3.8.19",
|
||||
"@react-stately/slider": "3.6.1"
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/i18n": "3.12.6",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/slider": "3.7.16",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/visually-hidden": "3.8.20",
|
||||
"@react-stately/slider": "3.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -47,8 +47,8 @@
|
||||
"@heroui/shared-icons": "workspace:*",
|
||||
"@heroui/use-clipboard": "workspace:*",
|
||||
"@heroui/tooltip": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/utils": "3.27.0"
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/utils": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -43,13 +43,13 @@
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@heroui/use-safe-layout-effect": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/switch": "3.6.11",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/visually-hidden": "3.8.19",
|
||||
"@react-stately/toggle": "3.8.1",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/switch": "3.7.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/visually-hidden": "3.8.20",
|
||||
"@react-stately/toggle": "3.8.2",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -45,15 +45,15 @@
|
||||
"@heroui/shared-icons": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/spacer": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/table": "3.16.1",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/visually-hidden": "3.8.19",
|
||||
"@react-stately/table": "3.13.1",
|
||||
"@react-stately/virtualizer": "4.2.1",
|
||||
"@react-types/grid": "3.2.11",
|
||||
"@react-types/table": "3.10.4",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/table": "3.17.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/visually-hidden": "3.8.20",
|
||||
"@react-stately/table": "3.14.0",
|
||||
"@react-stately/virtualizer": "4.3.0",
|
||||
"@react-types/grid": "3.3.0",
|
||||
"@react-types/table": "3.11.0",
|
||||
"@tanstack/react-virtual": "3.11.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -66,7 +66,7 @@
|
||||
"@heroui/tooltip": "workspace:*",
|
||||
"@heroui/use-infinite-scroll": "workspace:*",
|
||||
"@heroui/user": "workspace:*",
|
||||
"@react-stately/data": "3.12.1",
|
||||
"@react-stately/data": "3.12.2",
|
||||
"clean-package": "2.2.0",
|
||||
"react": "18.3.0",
|
||||
"react-dom": "18.3.0",
|
||||
|
||||
@ -47,13 +47,13 @@
|
||||
"@heroui/framer-utils": "workspace:*",
|
||||
"@heroui/use-is-mounted": "workspace:*",
|
||||
"@heroui/use-update-effect": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/tabs": "3.9.9",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/tabs": "3.7.1",
|
||||
"@react-types/shared": "3.27.0",
|
||||
"@react-types/tabs": "3.3.12",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/tabs": "3.10.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/tabs": "3.8.0",
|
||||
"@react-types/shared": "3.28.0",
|
||||
"@react-types/tabs": "3.3.13",
|
||||
"scroll-into-view-if-needed": "3.0.10"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@ -46,10 +46,10 @@
|
||||
"@heroui/shared-icons": "workspace:*",
|
||||
"@heroui/use-is-mobile": "workspace:*",
|
||||
"@heroui/spinner": "workspace:*",
|
||||
"@react-aria/toast": "3.0.0-beta.19",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-stately/toast": "3.0.0-beta.7",
|
||||
"@react-aria/toast": "3.0.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-stately/toast": "3.0.0",
|
||||
"@react-stately/utils": "3.10.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import {flushSync} from "react-dom";
|
||||
import {ToastOptions, ToastQueue, useToastQueue} from "@react-stately/toast";
|
||||
import {useProviderContext} from "@heroui/system";
|
||||
|
||||
@ -18,7 +19,17 @@ export const getToastQueue = () => {
|
||||
if (!globalToastQueue) {
|
||||
globalToastQueue = new ToastQueue({
|
||||
maxVisibleToasts: Infinity,
|
||||
hasExitAnimation: true,
|
||||
wrapUpdate: (fn: () => void): void => {
|
||||
if ("startViewTransition" in document) {
|
||||
document
|
||||
.startViewTransition(() => {
|
||||
flushSync(fn);
|
||||
})
|
||||
.ready.catch(() => {});
|
||||
} else {
|
||||
fn();
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@ -56,12 +67,7 @@ export const addToast = ({...props}: ToastProps & ToastOptions) => {
|
||||
if (!globalToastQueue) {
|
||||
return;
|
||||
}
|
||||
|
||||
const options: Partial<ToastOptions> = {
|
||||
priority: props?.priority,
|
||||
};
|
||||
|
||||
globalToastQueue.add(props, options);
|
||||
globalToastQueue.add(props);
|
||||
};
|
||||
|
||||
export const closeAll = () => {
|
||||
|
||||
@ -396,24 +396,13 @@ export function useToast<T extends ToastProps>(originalProps: UseToastProps<T>)
|
||||
"data-placement": placement,
|
||||
"data-drag-value": dragValue,
|
||||
"data-toast": true,
|
||||
"data-animation": toast.animation,
|
||||
"aria-label": "toast",
|
||||
onTransitionEnd: () => {
|
||||
if (toast.animation === "exiting") {
|
||||
const updatedHeights = heights;
|
||||
|
||||
updatedHeights.splice(index, 1);
|
||||
setHeights([...updatedHeights]);
|
||||
|
||||
state.remove(toast.key);
|
||||
}
|
||||
},
|
||||
style: {
|
||||
opacity: opacityValue,
|
||||
},
|
||||
...mergeProps(props, otherProps, toastProps, hoverProps),
|
||||
}),
|
||||
[slots, classNames, toastProps, hoverProps, toast, toast.animation, toast.key, opacityValue],
|
||||
[slots, classNames, toastProps, hoverProps, toast, toast.key, opacityValue],
|
||||
);
|
||||
|
||||
const getWrapperProps: PropGetter = useCallback(
|
||||
@ -555,7 +544,6 @@ export function useToast<T extends ToastProps>(originalProps: UseToastProps<T>)
|
||||
setHeights([...updatedHeights]);
|
||||
|
||||
state.close(toast.key);
|
||||
state.remove(toast.key);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -47,13 +47,13 @@
|
||||
"@heroui/framer-utils": "workspace:*",
|
||||
"@heroui/use-safe-layout-effect": "workspace:*",
|
||||
"@heroui/dom-animation": "workspace:*",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/overlays": "3.25.0",
|
||||
"@react-aria/tooltip": "3.7.11",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/tooltip": "3.5.1",
|
||||
"@react-types/overlays": "3.8.12",
|
||||
"@react-types/tooltip": "3.4.14"
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/overlays": "3.26.0",
|
||||
"@react-aria/tooltip": "3.8.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/tooltip": "3.5.2",
|
||||
"@react-types/overlays": "3.8.13",
|
||||
"@react-types/tooltip": "3.4.15"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/button": "workspace:*",
|
||||
|
||||
@ -43,8 +43,8 @@
|
||||
"@heroui/avatar": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/utils": "3.27.0"
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/utils": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@heroui/theme": "workspace:*",
|
||||
|
||||
@ -91,7 +91,7 @@
|
||||
"@heroui/alert": "workspace:*",
|
||||
"@heroui/number-input": "workspace:*",
|
||||
"@heroui/toast": "workspace:*",
|
||||
"@react-aria/visually-hidden": "3.8.19"
|
||||
"@react-aria/visually-hidden": "3.8.20"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18 || >=19.0.0-rc.0",
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
"clean-package": "2.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-types/shared": "3.27.0",
|
||||
"@react-types/shared": "3.28.0",
|
||||
"clsx": "^1.2.1"
|
||||
},
|
||||
"clean-package": "../../../clean-package.config.json",
|
||||
|
||||
@ -56,11 +56,11 @@
|
||||
"dependencies": {
|
||||
"@internationalized/date": "3.7.0",
|
||||
"@heroui/react-utils": "workspace:*",
|
||||
"@react-aria/i18n": "3.12.5",
|
||||
"@react-aria/i18n": "3.12.6",
|
||||
"@heroui/system-rsc": "workspace:*",
|
||||
"@react-aria/overlays": "3.25.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/overlays": "3.26.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/utils": "3.10.5",
|
||||
"@react-types/datepicker": "3.10.0"
|
||||
"@react-types/datepicker": "3.11.0"
|
||||
}
|
||||
}
|
||||
|
||||
@ -34,10 +34,10 @@
|
||||
"postpack": "clean-package restore"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-aria/button": "3.11.1",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-stately/tree": "3.8.7",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/button": "3.12.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-stately/tree": "3.8.8",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18 || >=19.0.0-rc.0"
|
||||
|
||||
@ -34,13 +34,13 @@
|
||||
"postpack": "clean-package restore"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-aria/button": "3.11.1",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/selection": "3.22.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/tree": "3.8.7",
|
||||
"@react-aria/button": "3.12.0",
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/selection": "3.23.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/tree": "3.8.8",
|
||||
"@react-types/accordion": "3.0.0-alpha.26",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18 || >=19.0.0-rc.0"
|
||||
|
||||
@ -38,11 +38,11 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-types/button": "3.10.2",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-types/button": "3.11.0",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"clean-package": "2.2.0",
|
||||
|
||||
@ -95,7 +95,6 @@ export function useAriaButton(
|
||||
} else {
|
||||
additionalProps = {
|
||||
role: "button",
|
||||
tabIndex: isDisabled ? undefined : 0,
|
||||
href: elementType === "a" && !isDisabled ? href : undefined,
|
||||
target: elementType === "a" ? target : undefined,
|
||||
type: elementType === "input" ? type : undefined,
|
||||
@ -161,6 +160,7 @@ export function useAriaButton(
|
||||
"aria-expanded": props["aria-expanded"],
|
||||
"aria-controls": props["aria-controls"],
|
||||
"aria-pressed": props["aria-pressed"],
|
||||
"aria-current": props["aria-current"],
|
||||
onClick: (e: React.MouseEvent<HTMLButtonElement>) => {
|
||||
if (type === "button" && isMobile) {
|
||||
// Avoid firing onClick event twice since it's handled in handlePress
|
||||
|
||||
@ -38,11 +38,11 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@react-aria/focus": "3.19.1",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-types/link": "3.5.10",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/focus": "3.20.0",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-types/link": "3.5.11",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"clean-package": "2.2.0",
|
||||
|
||||
@ -34,10 +34,10 @@
|
||||
"postpack": "clean-package restore"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-aria/overlays": "3.25.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/overlays": "3.6.13",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/overlays": "3.26.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/overlays": "3.6.14",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18 || >=19.0.0-rc.0",
|
||||
|
||||
@ -34,20 +34,20 @@
|
||||
"postpack": "clean-package restore"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-aria/i18n": "3.12.5",
|
||||
"@react-aria/interactions": "3.23.0",
|
||||
"@react-aria/label": "3.7.14",
|
||||
"@react-aria/listbox": "3.14.0",
|
||||
"@react-aria/menu": "3.17.0",
|
||||
"@react-aria/selection": "3.22.0",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/form": "3.1.1",
|
||||
"@react-stately/list": "3.11.2",
|
||||
"@react-stately/menu": "3.9.1",
|
||||
"@react-types/button": "3.10.2",
|
||||
"@react-types/overlays": "3.8.12",
|
||||
"@react-types/select": "3.9.9",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/i18n": "3.12.6",
|
||||
"@react-aria/interactions": "3.24.0",
|
||||
"@react-aria/label": "3.7.15",
|
||||
"@react-aria/listbox": "3.14.1",
|
||||
"@react-aria/menu": "3.18.0",
|
||||
"@react-aria/selection": "3.23.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/form": "3.1.2",
|
||||
"@react-stately/list": "3.12.0",
|
||||
"@react-stately/menu": "3.9.2",
|
||||
"@react-types/button": "3.11.0",
|
||||
"@react-types/overlays": "3.8.13",
|
||||
"@react-types/select": "3.9.10",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18 || >=19.0.0-rc.0",
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@heroui/use-callback-ref": "workspace:*",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/utils": "3.10.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@ -50,6 +50,6 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-aria/interactions": "3.23.0"
|
||||
"@react-aria/interactions": "3.24.0"
|
||||
}
|
||||
}
|
||||
|
||||
@ -34,10 +34,10 @@
|
||||
"postpack": "clean-package restore"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-aria/ssr": "3.9.7",
|
||||
"@react-types/shared": "3.27.0",
|
||||
"@react-aria/interactions": "3.23.0"
|
||||
"@react-types/shared": "3.28.0",
|
||||
"@react-aria/interactions": "3.24.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18 || >=19.0.0-rc.0"
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@react-aria/i18n": "3.12.5"
|
||||
"@react-aria/i18n": "3.12.6"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18 || >=19.0.0-rc.0"
|
||||
|
||||
@ -41,11 +41,11 @@
|
||||
"@heroui/system": "workspace:*",
|
||||
"@heroui/shared-utils": "workspace:*",
|
||||
"@heroui/react-rsc-utils": "workspace:*",
|
||||
"@react-aria/utils": "3.27.0",
|
||||
"@react-stately/collections": "3.12.1",
|
||||
"@react-stately/overlays": "3.6.13",
|
||||
"@react-types/overlays": "3.8.12",
|
||||
"@react-types/shared": "3.27.0"
|
||||
"@react-aria/utils": "3.28.0",
|
||||
"@react-stately/collections": "3.12.2",
|
||||
"@react-stately/overlays": "3.6.14",
|
||||
"@react-types/overlays": "3.8.13",
|
||||
"@react-types/shared": "3.28.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"clean-package": "2.2.0",
|
||||
|
||||
@ -8,6 +8,7 @@ export {isNonContiguousSelectionModifier, isCtrlKeyPressed} from "./utils";
|
||||
export {
|
||||
ariaHideOutside,
|
||||
ariaShouldCloseOnInteractOutside,
|
||||
keepVisible,
|
||||
getTransformOrigins,
|
||||
toReactAriaPlacement,
|
||||
toOverlayPlacement,
|
||||
|
||||
@ -7,6 +7,8 @@
|
||||
let refCountMap = new WeakMap<Element, number>();
|
||||
|
||||
interface ObserverWrapper {
|
||||
visibleNodes: Set<Element>;
|
||||
hiddenNodes: Set<Element>;
|
||||
observe: () => void;
|
||||
disconnect: () => void;
|
||||
}
|
||||
@ -133,7 +135,9 @@ export function ariaHideOutside(targets: Element[], root = document.body) {
|
||||
|
||||
observer.observe(root, {childList: true, subtree: true});
|
||||
|
||||
let observerWrapper = {
|
||||
let observerWrapper: ObserverWrapper = {
|
||||
visibleNodes,
|
||||
hiddenNodes,
|
||||
observe() {
|
||||
observer.observe(root, {childList: true, subtree: true});
|
||||
},
|
||||
@ -173,3 +177,15 @@ export function ariaHideOutside(targets: Element[], root = document.body) {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export function keepVisible(element: Element) {
|
||||
let observer = observerStack[observerStack.length - 1];
|
||||
|
||||
if (observer && !observer.visibleNodes.has(element)) {
|
||||
observer.visibleNodes.add(element);
|
||||
|
||||
return () => {
|
||||
observer.visibleNodes.delete(element);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,5 +8,5 @@ export {
|
||||
getArrowPlacement,
|
||||
} from "./utils";
|
||||
|
||||
export {ariaHideOutside} from "./ariaHideOutside";
|
||||
export {ariaHideOutside, keepVisible} from "./ariaHideOutside";
|
||||
export {ariaShouldCloseOnInteractOutside} from "./ariaShouldCloseOnInteractOutside";
|
||||
|
||||
2313
pnpm-lock.yaml
generated
2313
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user