From b9d63d9f01c0198700c8d9f8484bcbd664a4d066 Mon Sep 17 00:00:00 2001 From: Arvid Norlin Date: Fri, 16 Aug 2024 11:14:15 +0200 Subject: [PATCH 01/19] fix: make table full width of container --- components/TempDesignSystem/Table/table.module.css | 1 + 1 file changed, 1 insertion(+) diff --git a/components/TempDesignSystem/Table/table.module.css b/components/TempDesignSystem/Table/table.module.css index 729e323fd..9ad18553c 100644 --- a/components/TempDesignSystem/Table/table.module.css +++ b/components/TempDesignSystem/Table/table.module.css @@ -2,6 +2,7 @@ border-radius: var(--Corner-radius-Medium); border-collapse: collapse; overflow: hidden; + width: 100%; } .thead { From 47c77b62d6d7606884b00b8db4fa22cbe860d4b5 Mon Sep 17 00:00:00 2001 From: Arvid Norlin Date: Fri, 9 Aug 2024 15:28:22 +0200 Subject: [PATCH 02/19] fix(SW-239): make contents in sidepeek component render serverside for seo --- .../HotelPage/AmenitiesList/index.tsx | 11 +- .../ContentType/HotelPage/HotelPage.tsx | 20 + .../HotelPage/IntroSection/index.tsx | 6 +- .../SidePeek/Content/index.tsx | 1 - .../TempDesignSystem/SidePeek/index.tsx | 44 +- .../SidePeek/sidePeek.module.css | 11 + components/TempDesignSystem/SidePeek/types.ts | 2 +- package-lock.json | 1722 ++++++++--------- package.json | 1 + 9 files changed, 908 insertions(+), 910 deletions(-) diff --git a/components/ContentType/HotelPage/AmenitiesList/index.tsx b/components/ContentType/HotelPage/AmenitiesList/index.tsx index 2877f8a52..380357188 100644 --- a/components/ContentType/HotelPage/AmenitiesList/index.tsx +++ b/components/ContentType/HotelPage/AmenitiesList/index.tsx @@ -1,8 +1,6 @@ import { mapFacilityToIcon } from "@/components/ContentType/HotelPage/data" import { ChevronRightIcon } from "@/components/Icons" import Link from "@/components/TempDesignSystem/Link" -import SidePeekContainer from "@/components/TempDesignSystem/SidePeek/Container" -import SidePeekContent from "@/components/TempDesignSystem/SidePeek/Content" import { generateSidePeekLink } from "@/components/TempDesignSystem/SidePeek/data" import Body from "@/components/TempDesignSystem/Text/Body" import Subtitle from "@/components/TempDesignSystem/Text/Subtitle" @@ -22,6 +20,7 @@ export default async function AmenitiesList({ const sortedAmenities = detailedFacilities .sort((a, b) => b.sortOrder - a.sortOrder) .slice(0, 5) + return (
@@ -42,14 +41,6 @@ export default async function AmenitiesList({ {formatMessage({ id: "Show all amenities" })} - - - {/* TODO: Render amenities as per the design. */} - -
) } diff --git a/components/ContentType/HotelPage/HotelPage.tsx b/components/ContentType/HotelPage/HotelPage.tsx index b589e4744..f24358c39 100644 --- a/components/ContentType/HotelPage/HotelPage.tsx +++ b/components/ContentType/HotelPage/HotelPage.tsx @@ -1,6 +1,9 @@ import { serverClient } from "@/lib/trpc/server" import { getLang } from "@/i18n/serverContext" +import SidePeekContainer from "@/components/TempDesignSystem/SidePeek/Container" +import SidePeekContent from "@/components/TempDesignSystem/SidePeek/Content" +import { getIntl } from "@/i18n" import AmenitiesList from "./AmenitiesList" import IntroSection from "./IntroSection" @@ -23,6 +26,8 @@ export default async function HotelPage() { include: ["RoomCategories"], }) + const { formatMessage } = await getIntl() + return (
@@ -35,6 +40,21 @@ export default async function HotelPage() { address={attributes.address} tripAdvisor={attributes.ratings.tripAdvisor} /> + + + {/* TODO: Render amenities as per the design. */} + Read more about the amenities here + + + Some additional information about the hotel + +
diff --git a/components/ContentType/HotelPage/IntroSection/index.tsx b/components/ContentType/HotelPage/IntroSection/index.tsx index 5efb41292..f534a539a 100644 --- a/components/ContentType/HotelPage/IntroSection/index.tsx +++ b/components/ContentType/HotelPage/IntroSection/index.tsx @@ -1,6 +1,7 @@ import ArrowRight from "@/components/Icons/ArrowRight" import TripAdvisorIcon from "@/components/Icons/TripAdvisor" import Link from "@/components/TempDesignSystem/Link" +import { generateSidePeekLink } from "@/components/TempDesignSystem/SidePeek/data" import BiroScript from "@/components/TempDesignSystem/Text/BiroScript" import Body from "@/components/TempDesignSystem/Text/Body" import Preamble from "@/components/TempDesignSystem/Text/Preamble" @@ -31,6 +32,7 @@ export default async function IntroSection({ { id: "Tripadvisor reviews" }, { rating: tripAdvisor.rating, count: tripAdvisor.numberOfReviews } ) + const aboutTheHotelLink = generateSidePeekLink("about") return (
@@ -58,13 +60,11 @@ export default async function IntroSection({ {hotelDescription} - {/*TODO: Ask content team where this should link to. */} {formatMessage({ id: "Read more about the hotel" })} diff --git a/components/TempDesignSystem/SidePeek/Content/index.tsx b/components/TempDesignSystem/SidePeek/Content/index.tsx index f6d8852c1..c3a207c68 100644 --- a/components/TempDesignSystem/SidePeek/Content/index.tsx +++ b/components/TempDesignSystem/SidePeek/Content/index.tsx @@ -13,7 +13,6 @@ import styles from "./content.module.css" export default function Content({ title, children, - contentKey, isActive = false, onClose, }: PropsWithChildren) { diff --git a/components/TempDesignSystem/SidePeek/index.tsx b/components/TempDesignSystem/SidePeek/index.tsx index 6bbd99be7..94513c836 100644 --- a/components/TempDesignSystem/SidePeek/index.tsx +++ b/components/TempDesignSystem/SidePeek/index.tsx @@ -1,7 +1,13 @@ "use client" +import { useIsSSR } from "@react-aria/ssr" import { Children, cloneElement, PropsWithChildren } from "react" -import { Dialog, DialogTrigger, Modal } from "react-aria-components" +import { + Dialog, + DialogTrigger, + Modal, + ModalOverlay, +} from "react-aria-components" import { SidePeekProps } from "./types" @@ -12,25 +18,31 @@ export default function SidePeek({ onClose, activeContent, }: PropsWithChildren) { - return ( + const isSSR = useIsSSR() + return isSSR ? ( +
{children}
+ ) : ( - - - {({ close }) => ( - <> - {Children.map(children, (child) => { - return cloneElement(child as React.ReactElement, { - onClose: close, - }) - })} - - )} - - + + + {({ close }) => ( + <> + {Children.map(children, (child) => { + return cloneElement(child as React.ReactElement, { + onClose: close, + }) + })} + + )} + + + ) } diff --git a/components/TempDesignSystem/SidePeek/sidePeek.module.css b/components/TempDesignSystem/SidePeek/sidePeek.module.css index 92d4ea7e9..e08f776e8 100644 --- a/components/TempDesignSystem/SidePeek/sidePeek.module.css +++ b/components/TempDesignSystem/SidePeek/sidePeek.module.css @@ -22,6 +22,14 @@ height: 100%; } +.overlay { + position: absolute; + top: 70.047px; + bottom: 0; + left: 0; + right: 0; + z-index: 99; +} @keyframes slide-in { from { right: -600px; @@ -56,4 +64,7 @@ .sidePeek[data-exiting] { animation: slide-in 250ms reverse; } + .overlay { + top: 0; + } } diff --git a/components/TempDesignSystem/SidePeek/types.ts b/components/TempDesignSystem/SidePeek/types.ts index 10410ec6d..f506fc6bf 100644 --- a/components/TempDesignSystem/SidePeek/types.ts +++ b/components/TempDesignSystem/SidePeek/types.ts @@ -1,4 +1,4 @@ -export type SidePeekContentKey = "amenities" | "read_more_about_the_hotel" +export type SidePeekContentKey = string export type SidePeekProps = { activeContent: string | null diff --git a/package-lock.json b/package-lock.json index 1aed08a3b..596dd7eb6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "@hookform/resolvers": "^3.3.4", "@netlify/plugin-nextjs": "^5.1.1", "@radix-ui/react-slot": "^1.0.2", + "@react-aria/ssr": "^3.9.5", "@scandic-hotels/design-system": "git+https://x-token-auth:$DESIGN_SYSTEM_ACCESS_TOKEN@bitbucket.org/scandic-swap/design-system.git#v0.1.0-rc.8", "@t3-oss/env-nextjs": "^0.9.2", "@tanstack/react-query": "^5.28.6", @@ -2747,18 +2748,18 @@ "dev": true }, "node_modules/@internationalized/date": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.2.tgz", - "integrity": "sha512-vo1yOMUt2hzp63IutEaTUxROdvQg1qlMRsbCvbay2AK2Gai7wIgCyK5weEX3nHkiLgo4qCXHijFNC/ILhlRpOQ==", + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.5.tgz", + "integrity": "sha512-H+CfYvOZ0LTJeeLOqm19E3uj/4YjrmOFtBufDHPfvtI80hFAMqtrp7oCACpe4Cil5l8S0Qu/9dYfZc/5lY8WQQ==", "peer": true, "dependencies": { "@swc/helpers": "^0.5.0" } }, "node_modules/@internationalized/message": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.2.tgz", - "integrity": "sha512-MHAWsZWz8jf6jFPZqpTudcCM361YMtPIRu9CXkYmKjJ/0R3pQRScV5C0zS+Qi50O5UAm8ecKhkXx6mWDDcF6/g==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.4.tgz", + "integrity": "sha512-Dygi9hH1s7V9nha07pggCkvmRfDd3q2lWnMGvrJyrOwYMe1yj4D2T9BoH9I6MGR7xz0biQrtLPsqUkqXzIrBOw==", "peer": true, "dependencies": { "@swc/helpers": "^0.5.0", @@ -2766,18 +2767,18 @@ } }, "node_modules/@internationalized/number": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.5.1.tgz", - "integrity": "sha512-N0fPU/nz15SwR9IbfJ5xaS9Ss/O5h1sVXMZf43vc9mxEG48ovglvvzBjF53aHlq20uoR6c+88CrIXipU/LSzwg==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.5.3.tgz", + "integrity": "sha512-rd1wA3ebzlp0Mehj5YTuTI50AQEx80gWFyHcQu+u91/5NgdwBecO8BH6ipPfE+lmQ9d63vpB3H9SHoIUiupllw==", "peer": true, "dependencies": { "@swc/helpers": "^0.5.0" } }, "node_modules/@internationalized/string": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.1.tgz", - "integrity": "sha512-vWQOvRIauvFMzOO+h7QrdsJmtN1AXAFVcaLWP9AseRN2o7iHceZ6bIXhBD4teZl8i91A3gxKnWBlGgjCwU6MFQ==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.3.tgz", + "integrity": "sha512-9kpfLoA8HegiWTeCbR2livhdVeKobCnVv8tlJ6M2jF+4tcMqDo94ezwlnrUANBWPgd8U7OXIHCk2Ov2qhk4KXw==", "peer": true, "dependencies": { "@swc/helpers": "^0.5.0" @@ -3727,600 +3728,600 @@ } }, "node_modules/@react-aria/breadcrumbs": { - "version": "3.5.11", - "resolved": "https://registry.npmjs.org/@react-aria/breadcrumbs/-/breadcrumbs-3.5.11.tgz", - "integrity": "sha512-bQz4g2tKvcWxeqPGj9O0RQf++Ka8f2o/pJMJB+QQ27DVQWhxpQpND//oFku2aFYkxHB/fyD9qVoiqpQR25bidw==", + "version": "3.5.15", + "resolved": "https://registry.npmjs.org/@react-aria/breadcrumbs/-/breadcrumbs-3.5.15.tgz", + "integrity": "sha512-KJ7678hwKbacz6dyY4aOJlgtV91PtuSnlWGR+AsK88WwHhpjjTjLLTSRepjbQ35GuQuoYokM4mmfaS/I0nblhw==", "peer": true, "dependencies": { - "@react-aria/i18n": "^3.10.2", - "@react-aria/link": "^3.6.5", - "@react-aria/utils": "^3.23.2", - "@react-types/breadcrumbs": "^3.7.3", - "@react-types/shared": "^3.22.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/link": "^3.7.3", + "@react-aria/utils": "^3.25.1", + "@react-types/breadcrumbs": "^3.7.7", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/button": { - "version": "3.9.3", - "resolved": "https://registry.npmjs.org/@react-aria/button/-/button-3.9.3.tgz", - "integrity": "sha512-ZXo2VGTxfbaTEnfeIlm5ym4vYpGAy8sGrad8Scv+EyDAJWLMKokqctfaN6YSWbqUApC3FN63IvMqASflbmnYig==", + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/@react-aria/button/-/button-3.9.7.tgz", + "integrity": "sha512-xwE6uatbbn3KbNSc0dyDnOo539HJM2cqCPfjiQGt8O9cFbpQSmx76Fj4WotU3BwT7ZVbcAC8D206CgF1C2cDcQ==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/utils": "^3.23.2", - "@react-stately/toggle": "^3.7.2", - "@react-types/button": "^3.9.2", - "@react-types/shared": "^3.22.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/utils": "^3.25.1", + "@react-stately/toggle": "^3.7.6", + "@react-types/button": "^3.9.6", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/calendar": { - "version": "3.5.6", - "resolved": "https://registry.npmjs.org/@react-aria/calendar/-/calendar-3.5.6.tgz", - "integrity": "sha512-PA0Ur5WcODMn7t2gCUvq61YktkB+WlSZjzDr5kcY3sdl53ZjiyqCa2hYgrb6R0J859LVJXAp+5Qaproz8g1oLA==", + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@react-aria/calendar/-/calendar-3.5.10.tgz", + "integrity": "sha512-5PokdIHAH+CAd6vMHFW9mg77I5tC0FQglYsCEI9ikhCnL5xlt3FmJjLtOs3UJQaWgrd4cdVd0oINpPafJ9ydhA==", "peer": true, "dependencies": { - "@internationalized/date": "^3.5.2", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/live-announcer": "^3.3.2", - "@react-aria/utils": "^3.23.2", - "@react-stately/calendar": "^3.4.4", - "@react-types/button": "^3.9.2", - "@react-types/calendar": "^3.4.4", - "@react-types/shared": "^3.22.1", + "@internationalized/date": "^3.5.5", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/live-announcer": "^3.3.4", + "@react-aria/utils": "^3.25.1", + "@react-stately/calendar": "^3.5.3", + "@react-types/button": "^3.9.6", + "@react-types/calendar": "^3.4.8", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/checkbox": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.14.1.tgz", - "integrity": "sha512-b4rtrg5SpRSa9jBOqzJMmprJ+jDi3KyVvUh+DsvISe5Ti7gVAhMBgnca1D0xBp22w2jhk/o4gyu1bYxGLum0GA==", + "version": "3.14.5", + "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.14.5.tgz", + "integrity": "sha512-On8m66CNi1LvbDeDo355au0K66ayIjo0nDe4oe85aNsR/owyzz8hXNPAFuh98owQVMsKt4596FZICAVSMzzhJg==", "peer": true, "dependencies": { - "@react-aria/form": "^3.0.3", - "@react-aria/interactions": "^3.21.1", - "@react-aria/label": "^3.7.6", - "@react-aria/toggle": "^3.10.2", - "@react-aria/utils": "^3.23.2", - "@react-stately/checkbox": "^3.6.3", - "@react-stately/form": "^3.0.1", - "@react-stately/toggle": "^3.7.2", - "@react-types/checkbox": "^3.7.1", - "@react-types/shared": "^3.22.1", + "@react-aria/form": "^3.0.7", + "@react-aria/interactions": "^3.22.1", + "@react-aria/label": "^3.7.10", + "@react-aria/toggle": "^3.10.6", + "@react-aria/utils": "^3.25.1", + "@react-stately/checkbox": "^3.6.7", + "@react-stately/form": "^3.0.5", + "@react-stately/toggle": "^3.7.6", + "@react-types/checkbox": "^3.8.3", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/combobox": { - "version": "3.8.4", - "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.8.4.tgz", - "integrity": "sha512-HyTWIo2B/0xq0Of+sDEZCfJyf4BvCvDYIWG4UhjqL1kHIHIGQyyr+SldbVUjXVYnk8pP1eGB3ttiREujjjALPQ==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.10.1.tgz", + "integrity": "sha512-B0zjX66HEqjPFnunYR0quAqwVJ6U0ez1eqBp25/611Dtzh3JHUovQmTE0xGGTjRe6N6qJg0VHVr2eRO/D0A+Lw==", "peer": true, "dependencies": { - "@react-aria/i18n": "^3.10.2", - "@react-aria/listbox": "^3.11.5", - "@react-aria/live-announcer": "^3.3.2", - "@react-aria/menu": "^3.13.1", - "@react-aria/overlays": "^3.21.1", - "@react-aria/selection": "^3.17.5", - "@react-aria/textfield": "^3.14.3", - "@react-aria/utils": "^3.23.2", - "@react-stately/collections": "^3.10.5", - "@react-stately/combobox": "^3.8.2", - "@react-stately/form": "^3.0.1", - "@react-types/button": "^3.9.2", - "@react-types/combobox": "^3.10.1", - "@react-types/shared": "^3.22.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/listbox": "^3.13.1", + "@react-aria/live-announcer": "^3.3.4", + "@react-aria/menu": "^3.15.1", + "@react-aria/overlays": "^3.23.1", + "@react-aria/selection": "^3.19.1", + "@react-aria/textfield": "^3.14.7", + "@react-aria/utils": "^3.25.1", + "@react-stately/collections": "^3.10.9", + "@react-stately/combobox": "^3.9.1", + "@react-stately/form": "^3.0.5", + "@react-types/button": "^3.9.6", + "@react-types/combobox": "^3.12.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/datepicker": { - "version": "3.9.3", - "resolved": "https://registry.npmjs.org/@react-aria/datepicker/-/datepicker-3.9.3.tgz", - "integrity": "sha512-1AjCAizd88ACKjVNhFazX4HZZFwWi2rsSlGCTm66Nx6wm5N/Cpbm466dpYEFyQUsKSOG4CC65G1zfYoMPe48MQ==", + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/@react-aria/datepicker/-/datepicker-3.11.1.tgz", + "integrity": "sha512-yEEuDt/ynt7bTfd/9RD1EiLPysWhbgSYSpn5PHVz7I2XORvNPpyamyAgz3+oFiLFLC/zy0qrG7e6V1rvI1NBzw==", "peer": true, "dependencies": { - "@internationalized/date": "^3.5.2", - "@internationalized/number": "^3.5.1", - "@internationalized/string": "^3.2.1", - "@react-aria/focus": "^3.16.2", - "@react-aria/form": "^3.0.3", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/label": "^3.7.6", - "@react-aria/spinbutton": "^3.6.3", - "@react-aria/utils": "^3.23.2", - "@react-stately/datepicker": "^3.9.2", - "@react-stately/form": "^3.0.1", - "@react-types/button": "^3.9.2", - "@react-types/calendar": "^3.4.4", - "@react-types/datepicker": "^3.7.2", - "@react-types/dialog": "^3.5.8", - "@react-types/shared": "^3.22.1", + "@internationalized/date": "^3.5.5", + "@internationalized/number": "^3.5.3", + "@internationalized/string": "^3.2.3", + "@react-aria/focus": "^3.18.1", + "@react-aria/form": "^3.0.7", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/label": "^3.7.10", + "@react-aria/spinbutton": "^3.6.7", + "@react-aria/utils": "^3.25.1", + "@react-stately/datepicker": "^3.10.1", + "@react-stately/form": "^3.0.5", + "@react-types/button": "^3.9.6", + "@react-types/calendar": "^3.4.8", + "@react-types/datepicker": "^3.8.1", + "@react-types/dialog": "^3.5.12", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/dialog": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.12.tgz", - "integrity": "sha512-7UJR/h/Y364u6Ltpw0bT51B48FybTuIBacGpEJN5IxZlpxvQt0KQcBDiOWfAa/GQogw4B5hH6agaOO0nJcP49Q==", + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.16.tgz", + "integrity": "sha512-2clBSQQaoqCjAUkHnMA/noZ1ZnFbEVU67fL9M1QfokezAyLAlyCyD9XSed6+Td/Ncj80N3/Lax65XAlvWCyOlg==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/overlays": "^3.21.1", - "@react-aria/utils": "^3.23.2", - "@react-types/dialog": "^3.5.8", - "@react-types/shared": "^3.22.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/overlays": "^3.23.1", + "@react-aria/utils": "^3.25.1", + "@react-types/dialog": "^3.5.12", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/dnd": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/@react-aria/dnd/-/dnd-3.5.3.tgz", - "integrity": "sha512-0gi6sRnr97fSQnGy+CMt+99/+vVqr+qv2T9Ts8X9TAzxHNokz5QfSL88QSlTU36EnAVLxPY18iZQWCExSjKpEQ==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@react-aria/dnd/-/dnd-3.7.1.tgz", + "integrity": "sha512-p3/pc8p2fGd4s+Qj4SfRPJjZFStuuXqRNyDQxd9AAFYUWcCQxwDOqtiTZmfvs7Hvl0PUuysHW6Q5v7ABRjVr7w==", "peer": true, "dependencies": { - "@internationalized/string": "^3.2.1", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/live-announcer": "^3.3.2", - "@react-aria/overlays": "^3.21.1", - "@react-aria/utils": "^3.23.2", - "@react-stately/dnd": "^3.2.8", - "@react-types/button": "^3.9.2", - "@react-types/shared": "^3.22.1", + "@internationalized/string": "^3.2.3", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/live-announcer": "^3.3.4", + "@react-aria/overlays": "^3.23.1", + "@react-aria/utils": "^3.25.1", + "@react-stately/dnd": "^3.4.1", + "@react-types/button": "^3.9.6", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/focus": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.16.2.tgz", - "integrity": "sha512-Rqo9ummmgotESfypzFjI3uh58yMpL+E+lJBbQuXkBM0u0cU2YYzu0uOrFrq3zcHk997udZvq1pGK/R+2xk9B7g==", + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.18.1.tgz", + "integrity": "sha512-N0Cy61WCIv+57mbqC7hiZAsB+3rF5n4JKabxUmg/2RTJL6lq7hJ5N4gx75ymKxkN8GnVDwt4pKZah48Wopa5jw==", "peer": true, "dependencies": { - "@react-aria/interactions": "^3.21.1", - "@react-aria/utils": "^3.23.2", - "@react-types/shared": "^3.22.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/utils": "^3.25.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/form": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@react-aria/form/-/form-3.0.3.tgz", - "integrity": "sha512-5Q2BHE4TTPDzGY2npCzpRRYshwWUb3SMUA/Cbz7QfEtBk+NYuVaq3KjvqLqgUUdyKtqLZ9Far0kIAexloOC4jw==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@react-aria/form/-/form-3.0.7.tgz", + "integrity": "sha512-VIsKP/KytJPOLRQl0NxWWS1bQELPBuW3vRjmmhBrtgPFmp0uCLhjPBkP6A4uIVj1E/JtAocyHN3DNq4+IJGQCg==", "peer": true, "dependencies": { - "@react-aria/interactions": "^3.21.1", - "@react-aria/utils": "^3.23.2", - "@react-stately/form": "^3.0.1", - "@react-types/shared": "^3.22.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/utils": "^3.25.1", + "@react-stately/form": "^3.0.5", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/grid": { - "version": "3.8.8", - "resolved": "https://registry.npmjs.org/@react-aria/grid/-/grid-3.8.8.tgz", - "integrity": "sha512-7Bzbya4tO0oIgqexwRb8D6ZdC0GASYq9f/pnkrqocgvG9e1SCld4zOioKbYQDvAK/NnbCgXmmdqFAcLM/iazaA==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@react-aria/grid/-/grid-3.10.1.tgz", + "integrity": "sha512-7dSgiYVQapBtPV4SIit+9fJ1qoEjtp+PXffJkWAPtGbg/jJ4b0jcVzykH7ARD4w/6jAJN/oVSfrKZqFPoLAd9w==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/live-announcer": "^3.3.2", - "@react-aria/selection": "^3.17.5", - "@react-aria/utils": "^3.23.2", - "@react-stately/collections": "^3.10.5", - "@react-stately/grid": "^3.8.5", - "@react-stately/selection": "^3.14.3", - "@react-stately/virtualizer": "^3.6.8", - "@react-types/checkbox": "^3.7.1", - "@react-types/grid": "^3.2.4", - "@react-types/shared": "^3.22.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/live-announcer": "^3.3.4", + "@react-aria/selection": "^3.19.1", + "@react-aria/utils": "^3.25.1", + "@react-stately/collections": "^3.10.9", + "@react-stately/grid": "^3.9.1", + "@react-stately/selection": "^3.16.1", + "@react-types/checkbox": "^3.8.3", + "@react-types/grid": "^3.2.8", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/gridlist": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/@react-aria/gridlist/-/gridlist-3.7.5.tgz", - "integrity": "sha512-RmHEJ++vngHYEWbUCtLLmGh7H3vNd2Y9S0q/9SgHFPbqPZycT5mxDZ2arqpOXeHRVRvPBaW9ZlMxI2bPOePrYw==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@react-aria/gridlist/-/gridlist-3.9.1.tgz", + "integrity": "sha512-cue2KCI4WyVmL3j9tZx7xG7gUJ7UyRbawzRTcocJukOmpeoyRaw/robrIYK2Pd//GhRbIMAoo4iOyZk5j7vEww==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/grid": "^3.8.8", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/selection": "^3.17.5", - "@react-aria/utils": "^3.23.2", - "@react-stately/list": "^3.10.3", - "@react-types/shared": "^3.22.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/grid": "^3.10.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/selection": "^3.19.1", + "@react-aria/utils": "^3.25.1", + "@react-stately/collections": "^3.10.9", + "@react-stately/list": "^3.10.7", + "@react-stately/tree": "^3.8.3", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/i18n": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.10.2.tgz", - "integrity": "sha512-Z1ormoIvMOI4mEdcFLYsoJy9w/EzBdBmgfLP+S/Ah+1xwQOXpgwZxiKOhYHpWa0lf6hkKJL34N9MHJvCJ5Crvw==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.12.1.tgz", + "integrity": "sha512-0q3gyogF9Ekah+9LOo6tcfshxsk2Ope+KdbtFHJVhznedMxn6RpHGcVur5ImbQ1dYafA5CmjBUGJW70b56+BGA==", "peer": true, "dependencies": { - "@internationalized/date": "^3.5.2", - "@internationalized/message": "^3.1.2", - "@internationalized/number": "^3.5.1", - "@internationalized/string": "^3.2.1", - "@react-aria/ssr": "^3.9.2", - "@react-aria/utils": "^3.23.2", - "@react-types/shared": "^3.22.1", + "@internationalized/date": "^3.5.5", + "@internationalized/message": "^3.1.4", + "@internationalized/number": "^3.5.3", + "@internationalized/string": "^3.2.3", + "@react-aria/ssr": "^3.9.5", + "@react-aria/utils": "^3.25.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/interactions": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.21.1.tgz", - "integrity": "sha512-AlHf5SOzsShkHfV8GLLk3v9lEmYqYHURKcXWue0JdYbmquMRkUsf/+Tjl1+zHVAQ8lKqRnPYbTmc4AcZbqxltw==", + "version": "3.22.1", + "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.22.1.tgz", + "integrity": "sha512-5TLzQaDAQQ5C70yG8GInbO4wIylKY67RfTIIwQPGR/4n5OIjbUD8BOj3NuSsuZ/frUPaBXo1VEBBmSO23fxkjw==", "peer": true, "dependencies": { - "@react-aria/ssr": "^3.9.2", - "@react-aria/utils": "^3.23.2", - "@react-types/shared": "^3.22.1", + "@react-aria/ssr": "^3.9.5", + "@react-aria/utils": "^3.25.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/label": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.7.6.tgz", - "integrity": "sha512-ap9iFS+6RUOqeW/F2JoNpERqMn1PvVIo3tTMrJ1TY1tIwyJOxdCBRgx9yjnPBnr+Ywguep+fkPNNi/m74+tXVQ==", + "version": "3.7.10", + "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.7.10.tgz", + "integrity": "sha512-e5XVHA+OUK0aIwr4nHcnIj0z1kUryGaJWYYD2OGkkIltyUCKmwpRqdx8LQYbO4HGsJhvC3hJgidFdGcQwHHPYw==", "peer": true, "dependencies": { - "@react-aria/utils": "^3.23.2", - "@react-types/shared": "^3.22.1", + "@react-aria/utils": "^3.25.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/link": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/@react-aria/link/-/link-3.6.5.tgz", - "integrity": "sha512-kg8CxKqkciQFzODvLAfxEs8gbqNXFZCW/ISOE2LHYKbh9pA144LVo71qO3SPeYVVzIjmZeW4vEMdZwqkNozecw==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@react-aria/link/-/link-3.7.3.tgz", + "integrity": "sha512-dOwzxzo7LF4djBfRC8GcIhuTpDkNUIMT6ykQRV1a3749kgrr10YLascsO/l66k60i2k0T2oClkzfefYEK6WZeA==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/utils": "^3.23.2", - "@react-types/link": "^3.5.3", - "@react-types/shared": "^3.22.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/utils": "^3.25.1", + "@react-types/link": "^3.5.7", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/listbox": { - "version": "3.11.5", - "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.11.5.tgz", - "integrity": "sha512-y3a3zQYjT+JKgugCMMKS7K9sRoCoP1Z6Fiiyfd77OHXWzh9RlnvWGsseljynmbxLzSuPwFtCYkU1Jz4QwsPUIg==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.13.1.tgz", + "integrity": "sha512-b5Nu+5d5shJbxpy4s6OXvMlMzm+PVbs3L6CtoHlsKe8cAlSWD340vPHCOGYLwZApIBewepOBvRWgeAF8IDI04w==", "peer": true, "dependencies": { - "@react-aria/interactions": "^3.21.1", - "@react-aria/label": "^3.7.6", - "@react-aria/selection": "^3.17.5", - "@react-aria/utils": "^3.23.2", - "@react-stately/collections": "^3.10.5", - "@react-stately/list": "^3.10.3", - "@react-types/listbox": "^3.4.7", - "@react-types/shared": "^3.22.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/label": "^3.7.10", + "@react-aria/selection": "^3.19.1", + "@react-aria/utils": "^3.25.1", + "@react-stately/collections": "^3.10.9", + "@react-stately/list": "^3.10.7", + "@react-types/listbox": "^3.5.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/live-announcer": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.3.2.tgz", - "integrity": "sha512-aOyPcsfyY9tLCBhuUaYCruwcd1IrYLc47Ou+J7wMzjeN9v4lsaEfiN12WFl8pDqOwfy6/7It2wmlm5hOuZY8wQ==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.3.4.tgz", + "integrity": "sha512-w8lxs35QrRrn6pBNzVfyGOeqWdxeVKf9U6bXIVwhq7rrTqRULL8jqy8RJIMfIs1s8G5FpwWYjyBOjl2g5Cu1iA==", "peer": true, "dependencies": { "@swc/helpers": "^0.5.0" } }, "node_modules/@react-aria/menu": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.13.1.tgz", - "integrity": "sha512-jF80YIcvD16Fgwm5pj7ViUE3Dj7z5iewQixLaFVdvpgfyE58SD/ZVU9/JkK5g/03DYM0sjpUKZGkdFxxw8eKnw==", + "version": "3.15.1", + "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.15.1.tgz", + "integrity": "sha512-ZBTMZiJ17j6t7epcsjd0joAzsMKO31KLJHPtWAEfk1JkBxrMoirISPN8O1CeK/uBX++VaWSrDZfFe1EjrOwKuA==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/overlays": "^3.21.1", - "@react-aria/selection": "^3.17.5", - "@react-aria/utils": "^3.23.2", - "@react-stately/collections": "^3.10.5", - "@react-stately/menu": "^3.6.1", - "@react-stately/tree": "^3.7.6", - "@react-types/button": "^3.9.2", - "@react-types/menu": "^3.9.7", - "@react-types/shared": "^3.22.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/overlays": "^3.23.1", + "@react-aria/selection": "^3.19.1", + "@react-aria/utils": "^3.25.1", + "@react-stately/collections": "^3.10.9", + "@react-stately/menu": "^3.8.1", + "@react-stately/tree": "^3.8.3", + "@react-types/button": "^3.9.6", + "@react-types/menu": "^3.9.11", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/meter": { - "version": "3.4.11", - "resolved": "https://registry.npmjs.org/@react-aria/meter/-/meter-3.4.11.tgz", - "integrity": "sha512-P1G3Jdh0f/uieUDqvc3Ee4wzqBJa7H077BVSC3KPRqEp6YY7JimZGWjOwbFlO2PXhryXm/dI8EzUmh+4ZXjq/g==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@react-aria/meter/-/meter-3.4.15.tgz", + "integrity": "sha512-OUAzgmfiyEvBF+h9NlG7s8jvrGNTqj/zAWyUWEh5FMEjKFrDfni6awwFoRs164QqmUvRBNC0/eKv3Ghd2GIkRA==", "peer": true, "dependencies": { - "@react-aria/progress": "^3.4.11", - "@react-types/meter": "^3.3.7", - "@react-types/shared": "^3.22.1", + "@react-aria/progress": "^3.4.15", + "@react-types/meter": "^3.4.3", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/numberfield": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@react-aria/numberfield/-/numberfield-3.11.1.tgz", - "integrity": "sha512-JQ1Z+Ho5H+jeav7jt9A4vBsIQR/Dd2CFbObrULjGkqSrnWjARFZBv3gZwmfGCtplEPeAv9buYKHAqebPtJNUww==", + "version": "3.11.5", + "resolved": "https://registry.npmjs.org/@react-aria/numberfield/-/numberfield-3.11.5.tgz", + "integrity": "sha512-cfJzU7SWsksKiLjfubSj5lR18ebQ7IbYaMQZbxdpZSPOANHIiktaxjPK4Nz7cqZ+HZ/6tQEirpY0iqpLx35CSw==", "peer": true, "dependencies": { - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/spinbutton": "^3.6.3", - "@react-aria/textfield": "^3.14.3", - "@react-aria/utils": "^3.23.2", - "@react-stately/form": "^3.0.1", - "@react-stately/numberfield": "^3.9.1", - "@react-types/button": "^3.9.2", - "@react-types/numberfield": "^3.8.1", - "@react-types/shared": "^3.22.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/spinbutton": "^3.6.7", + "@react-aria/textfield": "^3.14.7", + "@react-aria/utils": "^3.25.1", + "@react-stately/form": "^3.0.5", + "@react-stately/numberfield": "^3.9.5", + "@react-types/button": "^3.9.6", + "@react-types/numberfield": "^3.8.5", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/overlays": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.21.1.tgz", - "integrity": "sha512-djEBDF+TbIIOHWWNpdm19+z8xtY8U+T+wKVQg/UZ6oWnclSqSWeGl70vu73Cg4HVBJ4hKf1SRx4Z/RN6VvH4Yw==", + "version": "3.23.1", + "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.23.1.tgz", + "integrity": "sha512-qNV3pGThvRXjhdHCfqN9Eg4uD+nFm2DoK6d5e9LFd1+xCkKbT88afDBIcLmeG7fgfmukb1sNmzCJQJt8Svk54g==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/ssr": "^3.9.2", - "@react-aria/utils": "^3.23.2", - "@react-aria/visually-hidden": "^3.8.10", - "@react-stately/overlays": "^3.6.5", - "@react-types/button": "^3.9.2", - "@react-types/overlays": "^3.8.5", - "@react-types/shared": "^3.22.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/ssr": "^3.9.5", + "@react-aria/utils": "^3.25.1", + "@react-aria/visually-hidden": "^3.8.14", + "@react-stately/overlays": "^3.6.9", + "@react-types/button": "^3.9.6", + "@react-types/overlays": "^3.8.9", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/progress": { - "version": "3.4.11", - "resolved": "https://registry.npmjs.org/@react-aria/progress/-/progress-3.4.11.tgz", - "integrity": "sha512-RePHbS15/KYFiApYLdwazwvWKsB9q0Kn5DGCSb0hqCC+k2Eui8iVVOsegswiP+xqkk/TiUCIkBEw22W3Az4kTg==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@react-aria/progress/-/progress-3.4.15.tgz", + "integrity": "sha512-wlx8pgEet3mlq5Skjy7yV1DfQiEg79tZtojpb5YGN2dIAH8sxClrKOSJRVce0fy9IXVCKrQxjQNXPNUIojK5Rg==", "peer": true, "dependencies": { - "@react-aria/i18n": "^3.10.2", - "@react-aria/label": "^3.7.6", - "@react-aria/utils": "^3.23.2", - "@react-types/progress": "^3.5.2", - "@react-types/shared": "^3.22.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/label": "^3.7.10", + "@react-aria/utils": "^3.25.1", + "@react-types/progress": "^3.5.6", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/radio": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.10.2.tgz", - "integrity": "sha512-CTUTR+qt3BLjmyQvKHZuVm+1kyvT72ZptOty++sowKXgJApTLdjq8so1IpaLAr8JIfzqD5I4tovsYwIQOX8log==", + "version": "3.10.6", + "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.10.6.tgz", + "integrity": "sha512-Cr7kiTUWw+HOEdFHztqrFlSXvwuzOCTMbwNkziTyc9fualIX6UDilykND2ctfBgkM4qH7SgQt+SxAIwTdevsKg==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/form": "^3.0.3", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/label": "^3.7.6", - "@react-aria/utils": "^3.23.2", - "@react-stately/radio": "^3.10.2", - "@react-types/radio": "^3.7.1", - "@react-types/shared": "^3.22.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/form": "^3.0.7", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/label": "^3.7.10", + "@react-aria/utils": "^3.25.1", + "@react-stately/radio": "^3.10.6", + "@react-types/radio": "^3.8.3", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/searchfield": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@react-aria/searchfield/-/searchfield-3.7.3.tgz", - "integrity": "sha512-mnYI969R7tU3yMRIGmY1+peq7tmEW0W3MB/J2ImK36Obz/91tTtspHHEeFtPlQDLIyvVPB0Ucam4LIxCKPJm/Q==", + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@react-aria/searchfield/-/searchfield-3.7.7.tgz", + "integrity": "sha512-2f087PCR8X5LYyLnvjCIOV27xjjTCkDFPnQaC7XSPCfzDYGM8utCR56JfZMqHnjcMnVNoiEg7EjSBBrh7I2bnQ==", "peer": true, "dependencies": { - "@react-aria/i18n": "^3.10.2", - "@react-aria/textfield": "^3.14.3", - "@react-aria/utils": "^3.23.2", - "@react-stately/searchfield": "^3.5.1", - "@react-types/button": "^3.9.2", - "@react-types/searchfield": "^3.5.3", - "@react-types/shared": "^3.22.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/textfield": "^3.14.7", + "@react-aria/utils": "^3.25.1", + "@react-stately/searchfield": "^3.5.5", + "@react-types/button": "^3.9.6", + "@react-types/searchfield": "^3.5.7", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/select": { - "version": "3.14.3", - "resolved": "https://registry.npmjs.org/@react-aria/select/-/select-3.14.3.tgz", - "integrity": "sha512-9KCxI41FI+jTxEfUzRsMdJsZvjkCuuhL4UHig8MZXtXs0nsi7Ir3ezUDQ9m5MSG+ooBYM/CA9DyLDvo5Ioef+g==", + "version": "3.14.7", + "resolved": "https://registry.npmjs.org/@react-aria/select/-/select-3.14.7.tgz", + "integrity": "sha512-qZy5oX6P8SGrdv4bHb8iVMIVv+vLuo7UwOJtsQ1FUORIsZmBEz0RyfgYdzlueMcZNoQ9JgLYtrK2e0h6AmJOlg==", "peer": true, "dependencies": { - "@react-aria/form": "^3.0.3", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/label": "^3.7.6", - "@react-aria/listbox": "^3.11.5", - "@react-aria/menu": "^3.13.1", - "@react-aria/selection": "^3.17.5", - "@react-aria/utils": "^3.23.2", - "@react-aria/visually-hidden": "^3.8.10", - "@react-stately/select": "^3.6.2", - "@react-types/button": "^3.9.2", - "@react-types/select": "^3.9.2", - "@react-types/shared": "^3.22.1", + "@react-aria/form": "^3.0.7", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/label": "^3.7.10", + "@react-aria/listbox": "^3.13.1", + "@react-aria/menu": "^3.15.1", + "@react-aria/selection": "^3.19.1", + "@react-aria/utils": "^3.25.1", + "@react-aria/visually-hidden": "^3.8.14", + "@react-stately/select": "^3.6.6", + "@react-types/button": "^3.9.6", + "@react-types/select": "^3.9.6", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/selection": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.17.5.tgz", - "integrity": "sha512-gO5jBUkc7WdkiFMlWt3x9pTSuj3Yeegsxfo44qU5NPlKrnGtPRZDWrlACNgkDHu645RNNPhlyoX0C+G8mUg1xA==", + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.19.1.tgz", + "integrity": "sha512-mbExvq2Omi60sTWFGjwcNz1ja2P8VDsxWAqSypHRTyqXhtgqbv8V/v8Gp+7BmVPH1YHcbhztl6rvUZTDOSszzw==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/utils": "^3.23.2", - "@react-stately/selection": "^3.14.3", - "@react-types/shared": "^3.22.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/utils": "^3.25.1", + "@react-stately/selection": "^3.16.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/separator": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/@react-aria/separator/-/separator-3.3.11.tgz", - "integrity": "sha512-UTla+3P2pELpP73WSfbwZgP1y1wODFBQbEOHnUxxO8ocyaUyQLJdvc07bBLLpPoyutlggRG0v9ACo0Rui7AjOg==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@react-aria/separator/-/separator-3.4.1.tgz", + "integrity": "sha512-bZ+GQ936Y+WXAtsQjJdEMgYeqmqjhU90+wOlRGjmGdwf+/ht2yzBpeRuHEYUbE6F0iis/YoVc+b8ppAtPna/kA==", "peer": true, "dependencies": { - "@react-aria/utils": "^3.23.2", - "@react-types/shared": "^3.22.1", + "@react-aria/utils": "^3.25.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/slider": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.7.6.tgz", - "integrity": "sha512-ZeZhyHzhk9gxGuThPKgX2K3RKsxPxsFig1iYoJvqP8485NtHYQIPht2YcpEKA9siLxGF0DR9VCfouVhSoW0AEA==", + "version": "3.7.10", + "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.7.10.tgz", + "integrity": "sha512-QmBn87sDkncS/uhcrH0MxUN7bcEo8cHYcWk+gk7mibdIpyxyVDPKh7v7ZsosmAJLzjS0yb2ec1/Q5Oldfg1k/A==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/label": "^3.7.6", - "@react-aria/utils": "^3.23.2", - "@react-stately/slider": "^3.5.2", - "@react-types/shared": "^3.22.1", - "@react-types/slider": "^3.7.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/label": "^3.7.10", + "@react-aria/utils": "^3.25.1", + "@react-stately/slider": "^3.5.6", + "@react-types/shared": "^3.24.1", + "@react-types/slider": "^3.7.5", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/spinbutton": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@react-aria/spinbutton/-/spinbutton-3.6.3.tgz", - "integrity": "sha512-IlfhRu/pc9zOt2C5zSEB7NmmzddvWisGx2iGzw8BwIKMD+cN3uy+Qwp+sG6Z/JzFEBN0F6Mxm3l5lhbiqjpICQ==", + "version": "3.6.7", + "resolved": "https://registry.npmjs.org/@react-aria/spinbutton/-/spinbutton-3.6.7.tgz", + "integrity": "sha512-OCimp4yXoFIgh6WAMOls5DDDRDRO75ZFic3YA6wLWTRNHxo1Lj8S90i1A6pakY6bi4hdBCKmj4DnFSNKAw1iWg==", "peer": true, "dependencies": { - "@react-aria/i18n": "^3.10.2", - "@react-aria/live-announcer": "^3.3.2", - "@react-aria/utils": "^3.23.2", - "@react-types/button": "^3.9.2", - "@react-types/shared": "^3.22.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/live-announcer": "^3.3.4", + "@react-aria/utils": "^3.25.1", + "@react-types/button": "^3.9.6", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/ssr": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.2.tgz", - "integrity": "sha512-0gKkgDYdnq1w+ey8KzG9l+H5Z821qh9vVjztk55rUg71vTk/Eaebeir+WtzcLLwTjw3m/asIjx8Y59y1lJZhBw==", - "peer": true, + "version": "3.9.5", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.5.tgz", + "integrity": "sha512-xEwGKoysu+oXulibNUSkXf8itW0npHHTa6c4AyYeZIJyRoegeteYuFpZUBPtIDE8RfHdNsSmE1ssOkxRnwbkuQ==", "dependencies": { "@swc/helpers": "^0.5.0" }, @@ -4328,141 +4329,142 @@ "node": ">= 12" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/switch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@react-aria/switch/-/switch-3.6.2.tgz", - "integrity": "sha512-X5m/omyhXK+V/vhJFsHuRs2zmt9Asa/RuzlldbXnWohLdeuHMPgQnV8C9hg3f+sRi3sh9UUZ64H61pCtRoZNwg==", + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/@react-aria/switch/-/switch-3.6.6.tgz", + "integrity": "sha512-+dZOX1utODlx5dC90DtwnXd9nvln9HxMffBj/gmMT1/cD/RmXfjvymfjTsTMwvHhqCew9yfpvod0ZWwj3BkLGw==", "peer": true, "dependencies": { - "@react-aria/toggle": "^3.10.2", - "@react-stately/toggle": "^3.7.2", - "@react-types/switch": "^3.5.1", + "@react-aria/toggle": "^3.10.6", + "@react-stately/toggle": "^3.7.6", + "@react-types/shared": "^3.24.1", + "@react-types/switch": "^3.5.5", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/table": { - "version": "3.13.5", - "resolved": "https://registry.npmjs.org/@react-aria/table/-/table-3.13.5.tgz", - "integrity": "sha512-P2nHEDk2CCoEbMFKNCyBC9qvmv7F/IXARDt/7z/J4mKFgU2iNSK+/zw6yrb38q33Zlk8hDaqSYNxHlMrh+/1MQ==", + "version": "3.15.1", + "resolved": "https://registry.npmjs.org/@react-aria/table/-/table-3.15.1.tgz", + "integrity": "sha512-jVDLxp6Y/9M6y45c1I6u6msJ9dBg2I7Cu/FlSaK6HthTpN23UXuGw1oWuAjbfqi31nVXHWBwjCZkGKTdMjLf5A==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/grid": "^3.8.8", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/live-announcer": "^3.3.2", - "@react-aria/utils": "^3.23.2", - "@react-aria/visually-hidden": "^3.8.10", - "@react-stately/collections": "^3.10.5", - "@react-stately/flags": "^3.0.1", - "@react-stately/table": "^3.11.6", - "@react-stately/virtualizer": "^3.6.8", - "@react-types/checkbox": "^3.7.1", - "@react-types/grid": "^3.2.4", - "@react-types/shared": "^3.22.1", - "@react-types/table": "^3.9.3", + "@react-aria/focus": "^3.18.1", + "@react-aria/grid": "^3.10.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/live-announcer": "^3.3.4", + "@react-aria/utils": "^3.25.1", + "@react-aria/visually-hidden": "^3.8.14", + "@react-stately/collections": "^3.10.9", + "@react-stately/flags": "^3.0.3", + "@react-stately/table": "^3.12.1", + "@react-types/checkbox": "^3.8.3", + "@react-types/grid": "^3.2.8", + "@react-types/shared": "^3.24.1", + "@react-types/table": "^3.10.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/tabs": { - "version": "3.8.5", - "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.8.5.tgz", - "integrity": "sha512-Jvt33/W+66n5oCxVwHAYarJ3Fit61vULiPcG7uTez0Mf11cq/C72wOrj+ZuNz6PTLTi2veBNQ7MauY72SnOjRg==", + "version": "3.9.3", + "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.9.3.tgz", + "integrity": "sha512-J1KOCdx4eSyMMeNCvO8BIz8E8xez12B+cYbM4BbJzWlcfMboGYUnM0lvI8QSpFPa/H9LkAhp7BJnl9IZeIBzoA==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/i18n": "^3.10.2", - "@react-aria/selection": "^3.17.5", - "@react-aria/utils": "^3.23.2", - "@react-stately/tabs": "^3.6.4", - "@react-types/shared": "^3.22.1", - "@react-types/tabs": "^3.3.5", + "@react-aria/focus": "^3.18.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/selection": "^3.19.1", + "@react-aria/utils": "^3.25.1", + "@react-stately/tabs": "^3.6.8", + "@react-types/shared": "^3.24.1", + "@react-types/tabs": "^3.3.9", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/tag": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@react-aria/tag/-/tag-3.3.3.tgz", - "integrity": "sha512-tlJD9qj1XcsPIZD7DVJ6tWv8t7Z87/8qkbRDx7ugNqeHso9z0WqH9ZkSt17OFUWE2IQIk3V8D3iBSOtmhXcZGQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@react-aria/tag/-/tag-3.4.3.tgz", + "integrity": "sha512-BqXKazX9YHvt6+qzGTu770V0FqGVefzz03hmnV2IVb+zYchXBv3WYbWVy46s/D5zTePOAXdpitQHxqy5rh+hgw==", "peer": true, "dependencies": { - "@react-aria/gridlist": "^3.7.5", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/label": "^3.7.6", - "@react-aria/selection": "^3.17.5", - "@react-aria/utils": "^3.23.2", - "@react-stately/list": "^3.10.3", - "@react-types/button": "^3.9.2", - "@react-types/shared": "^3.22.1", + "@react-aria/gridlist": "^3.9.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/label": "^3.7.10", + "@react-aria/selection": "^3.19.1", + "@react-aria/utils": "^3.25.1", + "@react-stately/list": "^3.10.7", + "@react-types/button": "^3.9.6", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/textfield": { - "version": "3.14.3", - "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.14.3.tgz", - "integrity": "sha512-wPSjj/mTABspYQdahg+l5YMtEQ3m5iPCTtb5g6nR1U1rzJkvS4i5Pug6PUXeLeMz2H3ToflPWGlNOqBioAFaOQ==", + "version": "3.14.7", + "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.14.7.tgz", + "integrity": "sha512-1cWCG6vkjlwJuRTXKbKl9P0Q/0Li5pnMafZqDDWfDOlkS5dFGxYG6QFfoaYp7N6XMoNkXiculnCssfrQ+8hWgA==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/form": "^3.0.3", - "@react-aria/label": "^3.7.6", - "@react-aria/utils": "^3.23.2", - "@react-stately/form": "^3.0.1", - "@react-stately/utils": "^3.9.1", - "@react-types/shared": "^3.22.1", - "@react-types/textfield": "^3.9.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/form": "^3.0.7", + "@react-aria/label": "^3.7.10", + "@react-aria/utils": "^3.25.1", + "@react-stately/form": "^3.0.5", + "@react-stately/utils": "^3.10.2", + "@react-types/shared": "^3.24.1", + "@react-types/textfield": "^3.9.5", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/toggle": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.10.2.tgz", - "integrity": "sha512-DgitscHWgI6IFgnvp2HcMpLGX/cAn+XX9kF5RJQbRQ9NqUgruU5cEEGSOLMrEJ6zXDa2xmOiQ+kINcyNhA+JLg==", + "version": "3.10.6", + "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.10.6.tgz", + "integrity": "sha512-AGlbtB1b8grrtjbiW5Au0LKYzxR83RHbHhaUkFwajyYRGyuEzr3Y03OiveoPB+DayA8Gz3H1ZVmW++8JZQOWHw==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/utils": "^3.23.2", - "@react-stately/toggle": "^3.7.2", - "@react-types/checkbox": "^3.7.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/utils": "^3.25.1", + "@react-stately/toggle": "^3.7.6", + "@react-types/checkbox": "^3.8.3", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/toolbar": { - "version": "3.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@react-aria/toolbar/-/toolbar-3.0.0-beta.3.tgz", - "integrity": "sha512-tPIEPRsZI/6Mb0tAW/GBTt3wBk7dfJg/eUnTloY8NHialvDa+cMUQyUVzPyLWGpErhYeBeutBmw1e2seMjmu+A==", + "version": "3.0.0-beta.1", + "resolved": "https://registry.npmjs.org/@react-aria/toolbar/-/toolbar-3.0.0-beta.1.tgz", + "integrity": "sha512-GTQ76i0N8/BzWRJ/95RpOFGmbtv0lV3T2zd7CUis6xmP1zJCpSycs1V2jAUs6ggkVDedHLU2d0AOMkXorZLiUg==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/i18n": "^3.10.2", - "@react-aria/utils": "^3.23.2", - "@react-types/shared": "^3.22.1", + "@react-aria/focus": "^3.16.0", + "@react-aria/i18n": "^3.10.0", + "@react-aria/utils": "^3.23.0", + "@react-types/shared": "^3.22.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { @@ -4470,117 +4472,117 @@ } }, "node_modules/@react-aria/tooltip": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/@react-aria/tooltip/-/tooltip-3.7.2.tgz", - "integrity": "sha512-6jXOSGPao3gPgUQWLbH2r/jxGMqIaIKrJgfwu9TQrh+UkwwiTYW20EpEDCYY2nRFlcoi7EYAiPDSEbHCwXS7Lg==", + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/@react-aria/tooltip/-/tooltip-3.7.6.tgz", + "integrity": "sha512-JvRAMTcMju/KBOtISjVKKtIDzG3J1r6xK+mZTvu6ArM7DdeMBM5A8Lwk0bJ8dhr+YybiM9rR3hoZv3/E7IIYVw==", "peer": true, "dependencies": { - "@react-aria/focus": "^3.16.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/utils": "^3.23.2", - "@react-stately/tooltip": "^3.4.7", - "@react-types/shared": "^3.22.1", - "@react-types/tooltip": "^3.4.7", + "@react-aria/focus": "^3.18.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/utils": "^3.25.1", + "@react-stately/tooltip": "^3.4.11", + "@react-types/shared": "^3.24.1", + "@react-types/tooltip": "^3.4.11", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/utils": { - "version": "3.23.2", - "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.23.2.tgz", - "integrity": "sha512-yznR9jJ0GG+YJvTMZxijQwVp+ahP66DY0apZf7X+dllyN+ByEDW+yaL1ewYPIpugxVzH5P8jhnBXsIyHKN411g==", + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.25.1.tgz", + "integrity": "sha512-5Uj864e7T5+yj78ZfLnfHqmypLiqW2mN+nsdslog2z5ssunTqjolVeM15ootXskjISlZ7MojLpq97kIC4nlnAw==", "peer": true, "dependencies": { - "@react-aria/ssr": "^3.9.2", - "@react-stately/utils": "^3.9.1", - "@react-types/shared": "^3.22.1", + "@react-aria/ssr": "^3.9.5", + "@react-stately/utils": "^3.10.2", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-aria/visually-hidden": { - "version": "3.8.10", - "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.10.tgz", - "integrity": "sha512-np8c4wxdbE7ZrMv/bnjwEfpX0/nkWy9sELEb0sK8n4+HJ+WycoXXrVxBUb9tXgL/GCx5ReeDQChjQWwajm/z3A==", + "version": "3.8.14", + "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.14.tgz", + "integrity": "sha512-DV3yagbAgO4ywQTq6D/AxcIaTC8c77r/SxlIMhQBMQ6vScJWTCh6zFG55wmLe3NKqvRrowv1OstlmYfZQ4v/XA==", "peer": true, "dependencies": { - "@react-aria/interactions": "^3.21.1", - "@react-aria/utils": "^3.23.2", - "@react-types/shared": "^3.22.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/utils": "^3.25.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/calendar": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@react-stately/calendar/-/calendar-3.4.4.tgz", - "integrity": "sha512-f9ZOd096gGGD+3LmU1gkmfqytGyQtrgi+Qjn+70GbM2Jy65pwOR4I9YrobbmeAFov5Tff13mQEa0yqWvbcDLZQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@react-stately/calendar/-/calendar-3.5.3.tgz", + "integrity": "sha512-SRwsgszyc9FNcvkjqBe81e/tnjKpRqH+yTYpG0uI9NR1HfyddmhR3Y7QilWPcqQkq4SQb7pL68SkTPH2dX2dng==", "peer": true, "dependencies": { - "@internationalized/date": "^3.5.2", - "@react-stately/utils": "^3.9.1", - "@react-types/calendar": "^3.4.4", - "@react-types/shared": "^3.22.1", + "@internationalized/date": "^3.5.5", + "@react-stately/utils": "^3.10.2", + "@react-types/calendar": "^3.4.8", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/checkbox": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.6.3.tgz", - "integrity": "sha512-hWp0GXVbMI4sS2NbBjWgOnHNrRqSV4jeftP8zc5JsIYRmrWBUZitxluB34QuVPzrBO29bGsF0GTArSiQZt6BWw==", + "version": "3.6.7", + "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.6.7.tgz", + "integrity": "sha512-ZOaBNXXazpwkuKj5hk6FtGbXO7HoKEGXvf3p7FcHcIHyiEJ65GBvC7e7HwMc3jYxlBwtbebSpEcf3oFqI5dl3A==", "peer": true, "dependencies": { - "@react-stately/form": "^3.0.1", - "@react-stately/utils": "^3.9.1", - "@react-types/checkbox": "^3.7.1", - "@react-types/shared": "^3.22.1", + "@react-stately/form": "^3.0.5", + "@react-stately/utils": "^3.10.2", + "@react-types/checkbox": "^3.8.3", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/collections": { - "version": "3.10.5", - "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.10.5.tgz", - "integrity": "sha512-k8Q29Nnvb7iAia1QvTanZsrWP2aqVNBy/1SlE6kLL6vDqtKZC+Esd1SDLHRmIcYIp5aTdfwIGd0NuiRQA7a81Q==", + "version": "3.10.9", + "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.10.9.tgz", + "integrity": "sha512-plyrng6hOQMG8LrjArMA6ts/DgWyXln3g90/hFNbqe/hdVYF53sDVsj8Jb+5LtoYTpiAlV6eOvy1XR0vPZUf8w==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/combobox": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.8.2.tgz", - "integrity": "sha512-f+IHuFW848VoMbvTfSakn2WIh2urDxO355LrKxnisXPCkpQHpq3lvT2mJtKJwkPxjAy7xPjpV8ejgga2R6p53Q==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.9.1.tgz", + "integrity": "sha512-jmeKUKs0jK18NwDAlpu79ATufgxrc6Sn3ZMmI8KPVQ5sdPTjNlnDx6gTFyOOIa87axf/c6WYU7v3jxmcp+RDdg==", "peer": true, "dependencies": { - "@react-stately/collections": "^3.10.5", - "@react-stately/form": "^3.0.1", - "@react-stately/list": "^3.10.3", - "@react-stately/overlays": "^3.6.5", - "@react-stately/select": "^3.6.2", - "@react-stately/utils": "^3.9.1", - "@react-types/combobox": "^3.10.1", - "@react-types/shared": "^3.22.1", + "@react-stately/collections": "^3.10.9", + "@react-stately/form": "^3.0.5", + "@react-stately/list": "^3.10.7", + "@react-stately/overlays": "^3.6.9", + "@react-stately/select": "^3.6.6", + "@react-stately/utils": "^3.10.2", + "@react-types/combobox": "^3.12.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/data": { @@ -4597,417 +4599,393 @@ } }, "node_modules/@react-stately/datepicker": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@react-stately/datepicker/-/datepicker-3.9.2.tgz", - "integrity": "sha512-Z6FrK6Af7R5BizqHhJFCj3Hn32mg5iLSDdEgFQAuO043guOXUKFUAnbxfbQUjL6PGE6QwWMfQD7PPGebHn9Ifw==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@react-stately/datepicker/-/datepicker-3.10.1.tgz", + "integrity": "sha512-KXr5cxLOLUYBf3wlDSKhvshsKOWpdV2flhS075V6dgC/EPBh7igBZGUXJ9AZzndT7Hx1w8v/ul6CIffxEJz1Nw==", "peer": true, "dependencies": { - "@internationalized/date": "^3.5.2", - "@internationalized/string": "^3.2.1", - "@react-stately/form": "^3.0.1", - "@react-stately/overlays": "^3.6.5", - "@react-stately/utils": "^3.9.1", - "@react-types/datepicker": "^3.7.2", - "@react-types/shared": "^3.22.1", + "@internationalized/date": "^3.5.5", + "@internationalized/string": "^3.2.3", + "@react-stately/form": "^3.0.5", + "@react-stately/overlays": "^3.6.9", + "@react-stately/utils": "^3.10.2", + "@react-types/datepicker": "^3.8.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/dnd": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@react-stately/dnd/-/dnd-3.2.8.tgz", - "integrity": "sha512-oSo+2Bzum3Q1/d+3FuaDmpVHqqBB004tycuQDDFtad3N1BKm+fNfmslRK1ioLkPLK4sm1130V+BZBY3JXLe80A==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@react-stately/dnd/-/dnd-3.4.1.tgz", + "integrity": "sha512-EXPW1vKx3vNpMaXOpPKTOU1T4S+jqjllGFDyWD659Ql0lL9SQ5Y4IU/KmIK3T3yKkjps9xrMmCjLAkb75PH5zg==", "peer": true, "dependencies": { - "@react-stately/selection": "^3.14.3", - "@react-types/shared": "^3.22.1", + "@react-stately/selection": "^3.16.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/flags": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.0.1.tgz", - "integrity": "sha512-h5PcDMj54aipQNO18ig/IMI1kzPwcvSwVq5M6Ib6XE1WIkOH0dIuW2eADdAOhcGi3KXJtXVdD29zh0Eox1TKgQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.0.3.tgz", + "integrity": "sha512-/ha7XFA0RZTQsbzSPwu3KkbNMgbvuM0GuMTYLTBWpgBrovBNTM+QqI/PfZTdHg8PwCYF4H5Y8gjdSpdulCvJFw==", "peer": true, "dependencies": { - "@swc/helpers": "^0.4.14" - } - }, - "node_modules/@react-stately/flags/node_modules/@swc/helpers": { - "version": "0.4.36", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.36.tgz", - "integrity": "sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q==", - "peer": true, - "dependencies": { - "legacy-swc-helpers": "npm:@swc/helpers@=0.4.14", - "tslib": "^2.4.0" + "@swc/helpers": "^0.5.0" } }, "node_modules/@react-stately/form": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@react-stately/form/-/form-3.0.1.tgz", - "integrity": "sha512-T1Ul2Ou0uE/S4ECLcGKa0OfXjffdjEHfUFZAk7OZl0Mqq/F7dl5WpoLWJ4d4IyvZzGO6anFNenP+vODWbrF3NA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@react-stately/form/-/form-3.0.5.tgz", + "integrity": "sha512-J3plwJ63HQz109OdmaTqTA8Qhvl3gcYYK7DtgKyNP6mc/Me2Q4tl2avkWoA+22NRuv5m+J8TpBk4AVHUEOwqeQ==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/grid": { - "version": "3.8.5", - "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.8.5.tgz", - "integrity": "sha512-KCzi0x0p1ZKK+OptonvJqMbn6Vlgo6GfOIlgcDd0dNYDP8TJ+3QFJAFre5mCr7Fubx7LcAOio4Rij0l/R8fkXQ==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.9.1.tgz", + "integrity": "sha512-LSVIcXO/cqwG0IgDSk2juDbpARBS1IzGnsTp/8vSOejMxq5MXrwxL5hUcqNczL8Ss6aLpELm42tCS0kPm3cMKw==", "peer": true, "dependencies": { - "@react-stately/collections": "^3.10.5", - "@react-stately/selection": "^3.14.3", - "@react-types/grid": "^3.2.4", - "@react-types/shared": "^3.22.1", + "@react-stately/collections": "^3.10.9", + "@react-stately/selection": "^3.16.1", + "@react-types/grid": "^3.2.8", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/list": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.10.3.tgz", - "integrity": "sha512-Ul8el0tQy2Ucl3qMQ0fiqdJ874W1ZNjURVSgSxN+pGwVLNBVRjd6Fl7YwZFCXER2YOlzkwg+Zqozf/ZlS0EdXA==", + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.10.7.tgz", + "integrity": "sha512-W5PG7uG5GQV2Q59vXJE7QLKHZIoUNEx+JmHrBUCMKUgyngSpKIIEDR/R/C1b6ZJ9jMqqZA68Zlnd5iK1/mBi1A==", "peer": true, "dependencies": { - "@react-stately/collections": "^3.10.5", - "@react-stately/selection": "^3.14.3", - "@react-stately/utils": "^3.9.1", - "@react-types/shared": "^3.22.1", + "@react-stately/collections": "^3.10.9", + "@react-stately/selection": "^3.16.1", + "@react-stately/utils": "^3.10.2", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/menu": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.6.1.tgz", - "integrity": "sha512-3v0vkTm/kInuuG8jG7jbxXDBnMQcoDZKWvYsBQq7+POt0LmijbLdbdZPBoz9TkZ3eo/OoP194LLHOaFTQyHhlw==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.8.1.tgz", + "integrity": "sha512-HzAANHg+QUpyRok0CBIL/5qb+4TARteP0q9av2tKnQWPG91iJw84phJDJrmmY55uFFax4fxBgDM9dy1t12iKgQ==", "peer": true, "dependencies": { - "@react-stately/overlays": "^3.6.5", - "@react-types/menu": "^3.9.7", - "@react-types/shared": "^3.22.1", + "@react-stately/overlays": "^3.6.9", + "@react-types/menu": "^3.9.11", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/numberfield": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/@react-stately/numberfield/-/numberfield-3.9.1.tgz", - "integrity": "sha512-btBIcBEfSVCUm6NwJrMrMygoIu/fQGazzD0RhF7PNsfvkFiWn+TSOyQqSXcsUJVOnBfoS/dVWj6r57KA7zl3FA==", + "version": "3.9.5", + "resolved": "https://registry.npmjs.org/@react-stately/numberfield/-/numberfield-3.9.5.tgz", + "integrity": "sha512-aWilyzrZOvkgntcXd6Kl+t1QiCbnajUCN8yll6/saByKpfuOf1k6AGYNQBJ0CO/5HyffPPdbFs+45sj4e3cdjA==", "peer": true, "dependencies": { - "@internationalized/number": "^3.5.1", - "@react-stately/form": "^3.0.1", - "@react-stately/utils": "^3.9.1", - "@react-types/numberfield": "^3.8.1", + "@internationalized/number": "^3.5.3", + "@react-stately/form": "^3.0.5", + "@react-stately/utils": "^3.10.2", + "@react-types/numberfield": "^3.8.5", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/overlays": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.5.tgz", - "integrity": "sha512-U4rCFj6TPJPXLUvYXAcvh+yP/CO2W+7f0IuqP7ZZGE+Osk9qFkT+zRK5/6ayhBDFpmueNfjIEAzT9gYPQwNHFw==", + "version": "3.6.9", + "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.9.tgz", + "integrity": "sha512-4chfyzKw7P2UEainm0yzjUgYwG1ovBejN88eTrn+O62x5huuMCwe0cbMxmYh4y7IhRFSee3jIJd0SP0u/+i39w==", "peer": true, "dependencies": { - "@react-stately/utils": "^3.9.1", - "@react-types/overlays": "^3.8.5", + "@react-stately/utils": "^3.10.2", + "@react-types/overlays": "^3.8.9", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/radio": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.10.2.tgz", - "integrity": "sha512-JW5ZWiNMKcZvMTsuPeWJQLHXD5rlqy7Qk6fwUx/ZgeibvMBW/NnW19mm2+IMinzmbtERXvR6nsiA837qI+4dew==", + "version": "3.10.6", + "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.10.6.tgz", + "integrity": "sha512-wiJuUUQ6LuEv0J1DQtkC0+Sed7tO6y3sIPeB+5uIxIIsUpxvNlDcqr+JOkrQm7gZmkmvcfotb5Gv5PqaIl1zKA==", "peer": true, "dependencies": { - "@react-stately/form": "^3.0.1", - "@react-stately/utils": "^3.9.1", - "@react-types/radio": "^3.7.1", - "@react-types/shared": "^3.22.1", + "@react-stately/form": "^3.0.5", + "@react-stately/utils": "^3.10.2", + "@react-types/radio": "^3.8.3", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/searchfield": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@react-stately/searchfield/-/searchfield-3.5.1.tgz", - "integrity": "sha512-9A8Wghx1avRHhMpNH1Nj+jFfiF1bhsff2GEC5PZgWYzhCykw3G5bywn3JAuUS4kh7Vpqhbu4KpHAhmWPSv4B/Q==", + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/@react-stately/searchfield/-/searchfield-3.5.5.tgz", + "integrity": "sha512-rKWIVNbxft5eGGxQ4CtcTKGXm2B1AuYSg6kLRQLq+VYspPNq3wfeMtVBeIdy4LNjWXsTmzs2b3o+zkFYdPqPPw==", "peer": true, "dependencies": { - "@react-stately/utils": "^3.9.1", - "@react-types/searchfield": "^3.5.3", + "@react-stately/utils": "^3.10.2", + "@react-types/searchfield": "^3.5.7", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/select": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.6.2.tgz", - "integrity": "sha512-duOxdHKol93h6Ew6fap6Amz+zngoERKZLSKVm/8I8uaBgkoBhEeTFv7mlpHTgINxymMw3mMrvy6GL/gfKFwkqg==", + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.6.6.tgz", + "integrity": "sha512-JEpBosWNSXRexE/iReATei1EiVdTIwOWlLcCGw6K7oC/5/f+OHMsh2Kkt/c/RzM/to3vgR+Wbbqwrb712AWgYQ==", "peer": true, "dependencies": { - "@react-stately/form": "^3.0.1", - "@react-stately/list": "^3.10.3", - "@react-stately/overlays": "^3.6.5", - "@react-types/select": "^3.9.2", - "@react-types/shared": "^3.22.1", + "@react-stately/form": "^3.0.5", + "@react-stately/list": "^3.10.7", + "@react-stately/overlays": "^3.6.9", + "@react-types/select": "^3.9.6", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/selection": { - "version": "3.14.3", - "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.14.3.tgz", - "integrity": "sha512-d/t0rIWieqQ7wjLoMoWnuHEUSMoVXxkPBFuSlJF3F16289FiQ+b8aeKFDzFTYN7fFD8rkZTnpuE4Tcxg3TmA+w==", + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.16.1.tgz", + "integrity": "sha512-qmnmYaXY7IhhzmIiInec1a/yPxlPSBHka6vrWddvt0S6zN7FU5cv6sm69ONUwYwLKSoaNHgOGvZhmsTzyV0O2A==", "peer": true, "dependencies": { - "@react-stately/collections": "^3.10.5", - "@react-stately/utils": "^3.9.1", - "@react-types/shared": "^3.22.1", + "@react-stately/collections": "^3.10.9", + "@react-stately/utils": "^3.10.2", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/slider": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.5.2.tgz", - "integrity": "sha512-ntH3NLRG+AwVC7q4Dx9DcmMkMh9vmHjHNXAgaoqNjhvwfSIae7sQ69CkVe6XeJjIBy6LlH81Kgapz+ABe5a1ZA==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.5.6.tgz", + "integrity": "sha512-a7DZgpOVjQyGzMLPiVRCVHISPJX8E3bT+qbZpcRQN+F7T7wReOwUt2I8gQMosnnCGWgU6kdYk8snn0obXe70Fg==", "peer": true, "dependencies": { - "@react-stately/utils": "^3.9.1", - "@react-types/shared": "^3.22.1", - "@react-types/slider": "^3.7.1", + "@react-stately/utils": "^3.10.2", + "@react-types/shared": "^3.24.1", + "@react-types/slider": "^3.7.5", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/table": { - "version": "3.11.6", - "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.11.6.tgz", - "integrity": "sha512-34YsfOILXusj3p6QNcKEaDWVORhM6WEhwPSLCZlkwAJvkxuRQFdih5rQKoIDc0uV5aZsB6bYBqiFhnjY0VERhw==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.12.1.tgz", + "integrity": "sha512-Cg3lXrWJNrYkD1gqRclMxq0GGiR+ygxdeAqk2jbbsmHU8RSQuzoO/RtUCw6WAKfQjAq4gE0E60TlAsGgCUdJGA==", "peer": true, "dependencies": { - "@react-stately/collections": "^3.10.5", - "@react-stately/flags": "^3.0.1", - "@react-stately/grid": "^3.8.5", - "@react-stately/selection": "^3.14.3", - "@react-stately/utils": "^3.9.1", - "@react-types/grid": "^3.2.4", - "@react-types/shared": "^3.22.1", - "@react-types/table": "^3.9.3", + "@react-stately/collections": "^3.10.9", + "@react-stately/flags": "^3.0.3", + "@react-stately/grid": "^3.9.1", + "@react-stately/selection": "^3.16.1", + "@react-stately/utils": "^3.10.2", + "@react-types/grid": "^3.2.8", + "@react-types/shared": "^3.24.1", + "@react-types/table": "^3.10.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/tabs": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.6.4.tgz", - "integrity": "sha512-WZJgMBqzLgN88RN8AxhY4aH1+I+4w1qQA0Lh3LRSDegaytd+NHixCWaP3IPjePgCB5N1UsPe96Xglw75zjHmDg==", + "version": "3.6.8", + "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.6.8.tgz", + "integrity": "sha512-pLRwnMmXk/IWvbIJYSO5hm3/PiJ/VzrQlwKr6dlOcrDOSVIZpTjnGWHd6mJSDoPiDyBThlN/k3+2pUFMEOAcfw==", "peer": true, "dependencies": { - "@react-stately/list": "^3.10.3", - "@react-types/shared": "^3.22.1", - "@react-types/tabs": "^3.3.5", + "@react-stately/list": "^3.10.7", + "@react-types/shared": "^3.24.1", + "@react-types/tabs": "^3.3.9", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/toggle": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.7.2.tgz", - "integrity": "sha512-SHCF2btcoK57c4lyhucRbyPBAFpp0Pdp0vcPdn3hUgqbu6e5gE0CwG/mgFmZRAQoc7PRc7XifL0uNw8diJJI0Q==", + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.7.6.tgz", + "integrity": "sha512-xRZyrjNVu1VCd1xpg5RwmNYs9fXb+JHChoUaRcBmGCCjsPD0R5uR3iNuE17RXJtWS3/8o9IJVn90+/7NW7boOg==", "peer": true, "dependencies": { - "@react-stately/utils": "^3.9.1", - "@react-types/checkbox": "^3.7.1", + "@react-stately/utils": "^3.10.2", + "@react-types/checkbox": "^3.8.3", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/tooltip": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@react-stately/tooltip/-/tooltip-3.4.7.tgz", - "integrity": "sha512-ACtRgBQ8rphBtsUaaxvEAM0HHN9PvMuyvL0vUHd7jvBDCVZJ6it1BKu9SBKjekBkoBOw9nemtkplh9R2CA6V8Q==", + "version": "3.4.11", + "resolved": "https://registry.npmjs.org/@react-stately/tooltip/-/tooltip-3.4.11.tgz", + "integrity": "sha512-r1ScIXau2LZ/lUUBQ5PI01S2TB2urF2zrPzNM2xgngFLlG2uTyfIgMga6/035quQQKd3Bd0qGigMvTgZ3GRGEg==", "peer": true, "dependencies": { - "@react-stately/overlays": "^3.6.5", - "@react-types/tooltip": "^3.4.7", + "@react-stately/overlays": "^3.6.9", + "@react-types/tooltip": "^3.4.11", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/tree": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.7.6.tgz", - "integrity": "sha512-y8KvEoZX6+YvqjNCVGS3zA/BKw4D3XrUtUKIDme3gu5Mn6z97u+hUXKdXVCniZR7yvV3fHAIXwE5V2K8Oit4aw==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.8.3.tgz", + "integrity": "sha512-9sRQOxkK7ZMdtSTGHx0sMabHC39PEM4tMl+IdJKkmcp60bfsm3p6LHXhha3E58jwnZaemBfUrlQmTP/E26BbGw==", "peer": true, "dependencies": { - "@react-stately/collections": "^3.10.5", - "@react-stately/selection": "^3.14.3", - "@react-stately/utils": "^3.9.1", - "@react-types/shared": "^3.22.1", + "@react-stately/collections": "^3.10.9", + "@react-stately/selection": "^3.16.1", + "@react-stately/utils": "^3.10.2", + "@react-types/shared": "^3.24.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-stately/utils": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.9.1.tgz", - "integrity": "sha512-yzw75GE0iUWiyps02BOAPTrybcsMIxEJlzXqtvllAb01O9uX5n0i3X+u2eCpj2UoDF4zS08Ps0jPgWxg8xEYtA==", + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.2.tgz", + "integrity": "sha512-fh6OTQtbeQC0ywp6LJuuKs6tKIgFvt/DlIZEcIpGho6/oZG229UnIk6TUekwxnDbumuYyan6D9EgUtEMmT8UIg==", "peer": true, "dependencies": { "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/virtualizer": { - "version": "3.6.8", - "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-3.6.8.tgz", - "integrity": "sha512-Pf06ihTwExRJltGhi72tmLIo0pcjkL55nu7ifMafAAdxZK4ONxRLSuUjjpvYf/0Rs92xRZy2t/XmHREnfirdkQ==", - "peer": true, - "dependencies": { - "@react-aria/utils": "^3.23.2", - "@react-types/shared": "^3.22.1", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/breadcrumbs": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@react-types/breadcrumbs/-/breadcrumbs-3.7.3.tgz", - "integrity": "sha512-eFto/+6J+JR58vThNcALZRA1OlqlG3GzQ/bq3q8IrrkOZcrfbEJJCWit/+53Ia98siJKuF4OJHnotxIVIz5I3w==", + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@react-types/breadcrumbs/-/breadcrumbs-3.7.7.tgz", + "integrity": "sha512-ZmhXwD2LLzfEA2OvOCp/QvXu8A/Edsrn5q0qUDGsmOZj9SCVeT82bIv8P+mQnATM13mi2gyoik6102Jc1OscJA==", "peer": true, "dependencies": { - "@react-types/link": "^3.5.3", - "@react-types/shared": "^3.22.1" + "@react-types/link": "^3.5.7", + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/button": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.9.2.tgz", - "integrity": "sha512-EnPTkGHZRtiwAoJy5q9lDjoG30bEzA/qnvKG29VVXKYAGeqY2IlFs1ypmU+z1X/CpJgPcG3I5cakM7yTVm3pSg==", + "version": "3.9.6", + "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.9.6.tgz", + "integrity": "sha512-8lA+D5JLbNyQikf8M/cPP2cji91aVTcqjrGpDqI7sQnaLFikM8eFR6l1ZWGtZS5MCcbfooko77ha35SYplSQvw==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/calendar": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@react-types/calendar/-/calendar-3.4.4.tgz", - "integrity": "sha512-hV1Thmb/AES5OmfPvvmyjSkmsEULjiDfA7Yyy70L/YKuSNKb7Su+Bf2VnZuDW3ec+GxO4JJNlpJ0AkbphWBvcg==", + "version": "3.4.8", + "resolved": "https://registry.npmjs.org/@react-types/calendar/-/calendar-3.4.8.tgz", + "integrity": "sha512-KVampt/X4uJvWU0TsxIdgPdXIAUClGtxcDWHzuFRJ7YUYkA4rH8Lad0kQ1mVehnwOLpuba8j9GCYKorkbln0gw==", "peer": true, "dependencies": { - "@internationalized/date": "^3.5.2", - "@react-types/shared": "^3.22.1" + "@internationalized/date": "^3.5.5", + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/checkbox": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.7.1.tgz", - "integrity": "sha512-kuGqjQFex0As/3gfWyk+e9njCcad/ZdnYLLiNvhlk15730xfa0MmnOdpqo9jfuFSXBjOcpxoofvEhvrRMtEdUA==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.8.3.tgz", + "integrity": "sha512-f4c1mnLEt0iS1NMkyZXgT3q3AgcxzDk7w6MSONOKydcnh0xG5L2oefY14DhVDLkAuQS7jThlUFwiAs+MxiO3MA==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/combobox": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.10.1.tgz", - "integrity": "sha512-XMno1rgVRNta49vf5nV7VJpVSVAV20tt79t618gG1qRKH5Kt2Cy8lz2fQ5vHG6UTv/6jUOvU8g5Pc93sLaTmoA==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.12.1.tgz", + "integrity": "sha512-bd5YwHZWtgnJx4jGbplWbYzXj7IbO5w3IY5suNR7r891rx6IktquZ8GQwyYH0pQ/x+X5LdK2xI59i6+QC2PmlA==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/datepicker": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/@react-types/datepicker/-/datepicker-3.7.2.tgz", - "integrity": "sha512-zThqFAdhQL1dqyVDsDSSTdfCjoD6634eyg/B0ZJfQxcLUR/5pch3v/gxBhbyCVDGMNHRWUWIJvY9DVOepuoSug==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@react-types/datepicker/-/datepicker-3.8.1.tgz", + "integrity": "sha512-ZpxHHVT3rmZ4YsYP4TWCZSMSfOUm+067mZyyGLmvHxg55eYmctiB4uMgrRCqDoeiSiOjtxad0VtpPjf6ftK1GQ==", "peer": true, "dependencies": { - "@internationalized/date": "^3.5.2", - "@react-types/calendar": "^3.4.4", - "@react-types/overlays": "^3.8.5", - "@react-types/shared": "^3.22.1" + "@internationalized/date": "^3.5.5", + "@react-types/calendar": "^3.4.8", + "@react-types/overlays": "^3.8.9", + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/dialog": { - "version": "3.5.8", - "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.8.tgz", - "integrity": "sha512-RX8JsMvty8ADHRqVEkppoynXLtN4IzUh8d5z88UEBbcvWKlHfd6bOBQjQcBH3AUue5wjfpPIt6brw2VzgBY/3Q==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.12.tgz", + "integrity": "sha512-JmpQbSpXltqEyYfEwoqDolABIiojeExkqolHNdQlayIsfFuSxZxNwXZPOpz58Ri/iwv21JP7K3QF0Gb2Ohxl9w==", "peer": true, "dependencies": { - "@react-types/overlays": "^3.8.5", - "@react-types/shared": "^3.22.1" + "@react-types/overlays": "^3.8.9", + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/form": { @@ -5023,220 +5001,220 @@ } }, "node_modules/@react-types/grid": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.2.4.tgz", - "integrity": "sha512-sDVoyQcH7MoGdx5nBi5ZOU/mVFBt9YTxhvr0PZ97dMdEHZtJC1w9SuezwWS34f50yb8YAXQRTICbZYcK4bAlDA==", + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.2.8.tgz", + "integrity": "sha512-6PJrpukwMqlv3IhJSDkJuVbhHM8Oe6hd2supWqd9adMXrlSP7QHt9a8SgFcFblCCTx8JzUaA0PvY5sTudcEtOQ==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/link": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/@react-types/link/-/link-3.5.3.tgz", - "integrity": "sha512-yVafjW3IejyVnK3oMBNjFABCGG6J27EUG8rvkaGaI1uB6srGUEhpJ97XLv11aj1QkXHBy3VGXqxEV3S7wn4HTw==", + "version": "3.5.7", + "resolved": "https://registry.npmjs.org/@react-types/link/-/link-3.5.7.tgz", + "integrity": "sha512-2WyaVmm1qr9UrSG3Dq6iz+2ziuVp+DH8CsYZ9CA6aNNb6U18Hxju3LTPb4a5gM0eC7W0mQGNBmrgGlAdDZEJOw==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/listbox": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.4.7.tgz", - "integrity": "sha512-68y5H9CVSPFiwO6MOFxTbry9JQMK/Lb1M9i3M8TDyq1AbJxBPpgAvJ9RaqIMCucsnqCzpY/zA3D/X417zByL1w==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.5.1.tgz", + "integrity": "sha512-n5bOgD9lgfK1qaLtag9WPnu151SwXBCNn/OgGY/Br9mWRl+nPUEYtFcPX+2VCld7uThf54kwrTmzlFnaraIlcw==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/menu": { - "version": "3.9.7", - "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.9.7.tgz", - "integrity": "sha512-K6KhloJVoGsqwkdeez72fkNI9dfrmLI/sNrB4XuOKo2crDQ/eyZYWyJmzz8giz/tHME9w774k487rVoefoFh5w==", + "version": "3.9.11", + "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.9.11.tgz", + "integrity": "sha512-IguQVF70d7aHXgWB1Rd2a/PiIuLZ2Nt7lyayJshLcy/NLOYmgpTmTyn2WCtlA5lTfQwmQrNFf4EvnWkeljJXdA==", "peer": true, "dependencies": { - "@react-types/overlays": "^3.8.5", - "@react-types/shared": "^3.22.1" + "@react-types/overlays": "^3.8.9", + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/meter": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/@react-types/meter/-/meter-3.3.7.tgz", - "integrity": "sha512-p+YJ0+Lpn5MLmlbFZbDH1P0ILv1+AuMcUbxLcXMIVMGn7o0FO7eVZnFuq76D+qTDm9all+TRLJix7bctOrP+5Q==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@react-types/meter/-/meter-3.4.3.tgz", + "integrity": "sha512-Y2fX5CTAPGRKxVSeepbeyN6/K+wlF9pMRcNxTSU2qDwdoFqNCtTWMcWuCsU/Y2L/zU0jFWu4x0Vo7WkrcsgcMA==", "peer": true, "dependencies": { - "@react-types/progress": "^3.5.2" + "@react-types/progress": "^3.5.6" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/numberfield": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/@react-types/numberfield/-/numberfield-3.8.1.tgz", - "integrity": "sha512-GaCjLQgXUGCt40SLjKk3/COMWFlN2vV/3Xs3VSLAEdFZpk99b+Ik1oR21+7ZP5/iMHuQDc1MJRWdFfIjxCvVDQ==", + "version": "3.8.5", + "resolved": "https://registry.npmjs.org/@react-types/numberfield/-/numberfield-3.8.5.tgz", + "integrity": "sha512-LVWggkxwd1nyVZomXBPfQA1E4I4/i4PBifjcDs2AfcV7q5RE9D+DVIDXsYucVOBxPlDOxiAq/T9ypobspWSwHw==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/overlays": { - "version": "3.8.5", - "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.5.tgz", - "integrity": "sha512-4D7EEBQigD/m8hE68Ys8eloyyZFHHduqykSIgINJ0edmo0jygRbWlTwuhWFR9USgSP4dK54duN0Mvq0m4HEVEw==", + "version": "3.8.9", + "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.9.tgz", + "integrity": "sha512-9ni9upQgXPnR+K9cWmbYWvm3ll9gH8P/XsEZprqIV5zNLMF334jADK48h4jafb1X9RFnj0WbHo6BqcSObzjTig==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/progress": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@react-types/progress/-/progress-3.5.2.tgz", - "integrity": "sha512-aQql22kusEudsHwDEzq6y/Mh29AM+ftRDKdS5E5g4MkCY5J4FMbOYco1T5So83NIvvG9+eKcxPoJUMjQQACAyA==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@react-types/progress/-/progress-3.5.6.tgz", + "integrity": "sha512-Nh43sjQ5adyN1bTHBPRaIPhXUdBqP0miYeJpeMY3V/KUl4qmouJLwDnccwFG4xLm6gBfYe22lgbbV7nAfNnuTQ==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/radio": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.7.1.tgz", - "integrity": "sha512-Zut3rN1odIUBLZdijeyou+UqsLeRE76d9A+npykYGu29ndqmo3w4sLn8QeQcdj1IR71ZnG0pW2Y2BazhK5XrrQ==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.8.3.tgz", + "integrity": "sha512-fUVJt4Bb6jOReFqnhHVNxWXH7t6c60uSFfoPKuXt/xI9LL1i2jhpur0ggpTfIn3qLIAmNBU6bKBCWAdr4KjeVQ==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/searchfield": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/@react-types/searchfield/-/searchfield-3.5.3.tgz", - "integrity": "sha512-gBfsT1WpY8UIb74yyYmnjiHpVasph2mdmGj9i8cGF2HUYwx5p+Fr85mtCGDph0uirvRoM5ExMp4snD+ueNAVCg==", + "version": "3.5.7", + "resolved": "https://registry.npmjs.org/@react-types/searchfield/-/searchfield-3.5.7.tgz", + "integrity": "sha512-dyuPwNWGswRZfb4i50Q1Q3tCwTBxRLkrAxcMs+Rf2Rl4t93bawBdSdIQuvxu1KEhgd0EXA9ZUW53ZplqfVmtiw==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1", - "@react-types/textfield": "^3.9.1" + "@react-types/shared": "^3.24.1", + "@react-types/textfield": "^3.9.5" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/select": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.9.2.tgz", - "integrity": "sha512-fGFrunednY3Pq/BBwVOf87Fsuyo/SlevL0wFIE9OOl2V5NXVaTY7/7RYA8hIOHPzmvsMbndy419BEudiNGhv4A==", + "version": "3.9.6", + "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.9.6.tgz", + "integrity": "sha512-cVSFR0eJLup/ht1Uto+y8uyLmHO89J6wNh65SIHb3jeVz9oLBAedP3YNI2qB+F9qFMUcA8PBSLXIIuT6gXzLgQ==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/shared": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.22.1.tgz", - "integrity": "sha512-PCpa+Vo6BKnRMuOEzy5zAZ3/H5tnQg1e80khMhK2xys0j6ZqzkgQC+fHMNZ7VDFNLqqNMj/o0eVeSBDh2POjkw==", + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.24.1.tgz", + "integrity": "sha512-AUQeGYEm/zDTN6zLzdXolDxz3Jk5dDL7f506F07U8tBwxNNI3WRdhU84G0/AaFikOZzDXhOZDr3MhQMzyE7Ydw==", "peer": true, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/slider": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.7.1.tgz", - "integrity": "sha512-FKO3YZYdrBs00XbBW5acP+0L1cCdevl/uRJiXbnLpGysO5PrSFIRS7Wlv4M7ztf6gT7b1Ao4FNC9crbxBr6BzA==", + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.7.5.tgz", + "integrity": "sha512-bRitwQRQjQoOcKEdPMljnvm474dwrmsc6pdsVQDh/qynzr+KO9IHuYc3qPW53WVE2hMQJDohlqtCAWQXWQ5Vcg==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/switch": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.5.1.tgz", - "integrity": "sha512-2LFEKMGeufqyYmeN/5dtkDkCPG6x9O4eu6aaBaJmPGon7C/l3yiFEgRue6oCUYc1HixR7Qlp0sPxk0tQeWzrSg==", + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.5.5.tgz", + "integrity": "sha512-SZx1Bd+COhAOs/RTifbZG+uq/llwba7VAKx7XBeX4LeIz1dtguy5bigOBgFTMQi4qsIVCpybSWEEl+daj4XFPw==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/table": { - "version": "3.9.3", - "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.9.3.tgz", - "integrity": "sha512-Hs/pMbxJdga2zBol4H5pV1FVIiRjCuSTXst6idJjkctanTexR4xkyrtBwl+rdLNoGwQ2pGii49vgklc5bFK7zA==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.10.1.tgz", + "integrity": "sha512-xsNh0Gm4GtNeSknZqkMsfGvc94fycmfhspGO+FzQKim2hB5k4yILwd+lHYQ2UKW6New9GVH/zN2Pd3v67IeZ2g==", "peer": true, "dependencies": { - "@react-types/grid": "^3.2.4", - "@react-types/shared": "^3.22.1" + "@react-types/grid": "^3.2.8", + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/tabs": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.3.5.tgz", - "integrity": "sha512-6NTSZBOWekCtApdZrhu5tHhE/8q52oVohQN+J5T7shAXd6ZAtu8PABVR/nH4BWucc8FL0OUajRqunqzQMU13gA==", + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.3.9.tgz", + "integrity": "sha512-3Q9kRVvg/qDyeJR/W1+C2z2OyvDWQrSLvOCvAezX5UKzww4rBEAA8OqBlyDwn7q3fiwrh/m64l6p+dbln+RdxQ==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/textfield": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.9.1.tgz", - "integrity": "sha512-JBHY9M2CkL6xFaGSfWmUJVu3tEK09FaeB1dU3IEh6P41xxbFnPakYHSSAdnwMXBtXPoSHIVsUBickW/pjgfe5g==", + "version": "3.9.5", + "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.9.5.tgz", + "integrity": "sha512-0hwZI4WXSEStPzdltKwbNUZWlgHtwbxMWE0LfqIzEW8RB7DyBflYSKzLyTBFqwUZ8j3C1gWy9c9OPSeCOq792Q==", "peer": true, "dependencies": { - "@react-types/shared": "^3.22.1" + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/tooltip": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@react-types/tooltip/-/tooltip-3.4.7.tgz", - "integrity": "sha512-rV4HZRQxLRNhe24yATOxnFQtGRUmsR7mqxMupXCmd1vrw8h+rdKlQv1zW2q8nALAKNmnRXZJHxYQ1SFzb98fgg==", + "version": "3.4.11", + "resolved": "https://registry.npmjs.org/@react-types/tooltip/-/tooltip-3.4.11.tgz", + "integrity": "sha512-WPikHQxeT5Lb09yJEaW6Ja3ecE0g1YM6ukWYS2v/iZLUPn5YlYrGytspuCYQNSh/u7suCz4zRLEHYCl7OCigjw==", "peer": true, "dependencies": { - "@react-types/overlays": "^3.8.5", - "@react-types/shared": "^3.22.1" + "@react-types/overlays": "^3.8.9", + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@rushstack/eslint-patch": { @@ -12900,16 +12878,6 @@ "node": "> 0.8" } }, - "node_modules/legacy-swc-helpers": { - "name": "@swc/helpers", - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", - "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", - "peer": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/less": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", @@ -15574,78 +15542,74 @@ } }, "node_modules/react-aria": { - "version": "3.32.1", - "resolved": "https://registry.npmjs.org/react-aria/-/react-aria-3.32.1.tgz", - "integrity": "sha512-7KCJg4K5vlRqiXdGjgCT05Du8RhGBYC+2ok4GOh/Znmg8aMwOk7t0YwxaT5i1z30+fmDcJS/pk/ipUPUg28CXg==", + "version": "3.34.1", + "resolved": "https://registry.npmjs.org/react-aria/-/react-aria-3.34.1.tgz", + "integrity": "sha512-vA4BP+SWjFFRfOTQcNJtIp9gKlxuC7kPUXQK9fuNA+2K4mJdIc9mBnmwXQiLl/eAthMf43fD4fETfY9SiCm1Zg==", "peer": true, "dependencies": { - "@internationalized/string": "^3.2.1", - "@react-aria/breadcrumbs": "^3.5.11", - "@react-aria/button": "^3.9.3", - "@react-aria/calendar": "^3.5.6", - "@react-aria/checkbox": "^3.14.1", - "@react-aria/combobox": "^3.8.4", - "@react-aria/datepicker": "^3.9.3", - "@react-aria/dialog": "^3.5.12", - "@react-aria/dnd": "^3.5.3", - "@react-aria/focus": "^3.16.2", - "@react-aria/gridlist": "^3.7.5", - "@react-aria/i18n": "^3.10.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/label": "^3.7.6", - "@react-aria/link": "^3.6.5", - "@react-aria/listbox": "^3.11.5", - "@react-aria/menu": "^3.13.1", - "@react-aria/meter": "^3.4.11", - "@react-aria/numberfield": "^3.11.1", - "@react-aria/overlays": "^3.21.1", - "@react-aria/progress": "^3.4.11", - "@react-aria/radio": "^3.10.2", - "@react-aria/searchfield": "^3.7.3", - "@react-aria/select": "^3.14.3", - "@react-aria/selection": "^3.17.5", - "@react-aria/separator": "^3.3.11", - "@react-aria/slider": "^3.7.6", - "@react-aria/ssr": "^3.9.2", - "@react-aria/switch": "^3.6.2", - "@react-aria/table": "^3.13.5", - "@react-aria/tabs": "^3.8.5", - "@react-aria/tag": "^3.3.3", - "@react-aria/textfield": "^3.14.3", - "@react-aria/tooltip": "^3.7.2", - "@react-aria/utils": "^3.23.2", - "@react-aria/visually-hidden": "^3.8.10", - "@react-types/shared": "^3.22.1" + "@internationalized/string": "^3.2.3", + "@react-aria/breadcrumbs": "^3.5.15", + "@react-aria/button": "^3.9.7", + "@react-aria/calendar": "^3.5.10", + "@react-aria/checkbox": "^3.14.5", + "@react-aria/combobox": "^3.10.1", + "@react-aria/datepicker": "^3.11.1", + "@react-aria/dialog": "^3.5.16", + "@react-aria/dnd": "^3.7.1", + "@react-aria/focus": "^3.18.1", + "@react-aria/gridlist": "^3.9.1", + "@react-aria/i18n": "^3.12.1", + "@react-aria/interactions": "^3.22.1", + "@react-aria/label": "^3.7.10", + "@react-aria/link": "^3.7.3", + "@react-aria/listbox": "^3.13.1", + "@react-aria/menu": "^3.15.1", + "@react-aria/meter": "^3.4.15", + "@react-aria/numberfield": "^3.11.5", + "@react-aria/overlays": "^3.23.1", + "@react-aria/progress": "^3.4.15", + "@react-aria/radio": "^3.10.6", + "@react-aria/searchfield": "^3.7.7", + "@react-aria/select": "^3.14.7", + "@react-aria/selection": "^3.19.1", + "@react-aria/separator": "^3.4.1", + "@react-aria/slider": "^3.7.10", + "@react-aria/ssr": "^3.9.5", + "@react-aria/switch": "^3.6.6", + "@react-aria/table": "^3.15.1", + "@react-aria/tabs": "^3.9.3", + "@react-aria/tag": "^3.4.3", + "@react-aria/textfield": "^3.14.7", + "@react-aria/tooltip": "^3.7.6", + "@react-aria/utils": "^3.25.1", + "@react-aria/visually-hidden": "^3.8.14", + "@react-types/shared": "^3.24.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/react-aria-components": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/react-aria-components/-/react-aria-components-1.1.1.tgz", - "integrity": "sha512-XdgqSbrlh9V1vJEvTwrnr+YGndQWYcVEAbN+Rx104o9g88cAAabclgetU2OUJ9Gbht6+gwnvnA0ksgXzVZog2Q==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-aria-components/-/react-aria-components-1.0.1.tgz", + "integrity": "sha512-zlSx5r7Hu3kTg7hDEGNBwrtMNWJnJ81Zt1AXPJASAdO0dw6WUgSgQH2/ZgkDiKLlNmRFQhR8/gKN70rAJ+LZiQ==", "peer": true, "dependencies": { - "@internationalized/date": "^3.5.2", - "@internationalized/string": "^3.2.1", - "@react-aria/focus": "^3.16.2", - "@react-aria/interactions": "^3.21.1", - "@react-aria/menu": "^3.13.1", - "@react-aria/toolbar": "3.0.0-beta.3", - "@react-aria/utils": "^3.23.2", - "@react-stately/menu": "^3.6.1", - "@react-stately/table": "^3.11.6", - "@react-stately/utils": "^3.9.1", - "@react-types/form": "^3.7.2", - "@react-types/grid": "^3.2.4", - "@react-types/shared": "^3.22.1", - "@react-types/table": "^3.9.3", + "@internationalized/date": "^3.5.1", + "@internationalized/string": "^3.2.0", + "@react-aria/focus": "^3.16.0", + "@react-aria/interactions": "^3.20.1", + "@react-aria/toolbar": "3.0.0-beta.1", + "@react-aria/utils": "^3.23.0", + "@react-stately/table": "^3.11.4", + "@react-types/form": "^3.7.1", + "@react-types/grid": "^3.2.3", + "@react-types/shared": "^3.22.0", + "@react-types/table": "^3.9.2", "@swc/helpers": "^0.5.0", - "client-only": "^0.0.1", - "react-aria": "^3.32.1", - "react-stately": "^3.30.1", + "react-aria": "^3.31.1", + "react-stately": "^3.29.1", "use-sync-external-store": "^1.2.0" }, "peerDependencies": { diff --git a/package.json b/package.json index 31b768769..ee6cb94e2 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "@hookform/resolvers": "^3.3.4", "@netlify/plugin-nextjs": "^5.1.1", "@radix-ui/react-slot": "^1.0.2", + "@react-aria/ssr": "^3.9.5", "@scandic-hotels/design-system": "git+https://x-token-auth:$DESIGN_SYSTEM_ACCESS_TOKEN@bitbucket.org/scandic-swap/design-system.git#v0.1.0-rc.8", "@t3-oss/env-nextjs": "^0.9.2", "@tanstack/react-query": "^5.28.6", From 04eb3c6d944ef3a154c1472d42f77341e7ba2ef5 Mon Sep 17 00:00:00 2001 From: Arvid Norlin Date: Mon, 12 Aug 2024 10:52:29 +0200 Subject: [PATCH 03/19] fix: enable localization of sidepeek params --- .../HotelPage/AmenitiesList/index.tsx | 8 ++++++- .../ContentType/HotelPage/HotelPage.tsx | 8 ++++++- .../HotelPage/IntroSection/index.tsx | 6 +++++- .../HotelPage/IntroSection/types.ts | 4 ++++ .../SidePeek/Container/index.tsx | 8 +++---- components/TempDesignSystem/SidePeek/data.ts | 3 ++- constants/routes/hotelPageParams.js | 21 +++++++++++++++++++ 7 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 constants/routes/hotelPageParams.js diff --git a/components/ContentType/HotelPage/AmenitiesList/index.tsx b/components/ContentType/HotelPage/AmenitiesList/index.tsx index 380357188..aa1939752 100644 --- a/components/ContentType/HotelPage/AmenitiesList/index.tsx +++ b/components/ContentType/HotelPage/AmenitiesList/index.tsx @@ -1,3 +1,6 @@ +import { Lang } from "@/constants/languages" +import { amenities } from "@/constants/routes/hotelPageParams" + import { mapFacilityToIcon } from "@/components/ContentType/HotelPage/data" import { ChevronRightIcon } from "@/components/Icons" import Link from "@/components/TempDesignSystem/Link" @@ -12,11 +15,14 @@ import { HotelData } from "@/types/hotel" export default async function AmenitiesList({ detailedFacilities, + // TODO: remove prop drilling once getLang() is merged + lang, }: { detailedFacilities: HotelData["data"]["attributes"]["detailedFacilities"] + lang: Lang }) { const { formatMessage } = await getIntl() - const sidePeekLink = generateSidePeekLink("amenities") + const sidePeekLink = generateSidePeekLink(amenities[lang]) const sortedAmenities = detailedFacilities .sort((a, b) => b.sortOrder - a.sortOrder) .slice(0, 5) diff --git a/components/ContentType/HotelPage/HotelPage.tsx b/components/ContentType/HotelPage/HotelPage.tsx index f24358c39..c91d6036b 100644 --- a/components/ContentType/HotelPage/HotelPage.tsx +++ b/components/ContentType/HotelPage/HotelPage.tsx @@ -1,3 +1,4 @@ +import { about, amenities } from "@/constants/routes/hotelPageParams" import { serverClient } from "@/lib/trpc/server" import { getLang } from "@/i18n/serverContext" @@ -34,6 +35,8 @@ export default async function HotelPage() {
- +
diff --git a/components/ContentType/HotelPage/IntroSection/index.tsx b/components/ContentType/HotelPage/IntroSection/index.tsx index f534a539a..50b3ba03a 100644 --- a/components/ContentType/HotelPage/IntroSection/index.tsx +++ b/components/ContentType/HotelPage/IntroSection/index.tsx @@ -1,3 +1,5 @@ +import { about } from "@/constants/routes/hotelPageParams" + import ArrowRight from "@/components/Icons/ArrowRight" import TripAdvisorIcon from "@/components/Icons/TripAdvisor" import Link from "@/components/TempDesignSystem/Link" @@ -18,6 +20,8 @@ export default async function IntroSection({ location, address, tripAdvisor, + // TODO: remove prop drilling once getLang() is merged + lang, }: IntroSectionProps) { const intl = await getIntl() const { formatMessage } = intl @@ -32,7 +36,7 @@ export default async function IntroSection({ { id: "Tripadvisor reviews" }, { rating: tripAdvisor.rating, count: tripAdvisor.numberOfReviews } ) - const aboutTheHotelLink = generateSidePeekLink("about") + const aboutTheHotelLink = generateSidePeekLink(about[lang]) return (
diff --git a/components/ContentType/HotelPage/IntroSection/types.ts b/components/ContentType/HotelPage/IntroSection/types.ts index 88c23f13b..15fab89e7 100644 --- a/components/ContentType/HotelPage/IntroSection/types.ts +++ b/components/ContentType/HotelPage/IntroSection/types.ts @@ -1,3 +1,5 @@ +import { Lang } from "@/constants/languages" + import { HotelAddress, HotelData, @@ -11,4 +13,6 @@ export type IntroSectionProps = { location: HotelLocation address: HotelAddress tripAdvisor: HotelTripAdvisor + // TODO: remove prop drilling once getLang() is merged + lang: Lang } diff --git a/components/TempDesignSystem/SidePeek/Container/index.tsx b/components/TempDesignSystem/SidePeek/Container/index.tsx index 907e834f3..fd1d527ad 100644 --- a/components/TempDesignSystem/SidePeek/Container/index.tsx +++ b/components/TempDesignSystem/SidePeek/Container/index.tsx @@ -15,15 +15,13 @@ export default function SidePeekContainer({ const [activeSidePeek, setActiveSidePeek] = useState(() => { const sidePeekParam = searchParams.get( - "sidepeek" + "open" ) as SidePeekContentKey | null return sidePeekParam || null }) useEffect(() => { - const sidePeekParam = searchParams.get( - "sidepeek" - ) as SidePeekContentKey | null + const sidePeekParam = searchParams.get("open") as SidePeekContentKey | null if (sidePeekParam !== activeSidePeek) { setActiveSidePeek(sidePeekParam) } @@ -34,7 +32,7 @@ export default function SidePeekContainer({ setActiveSidePeek(null) const nextSearchParams = new URLSearchParams(searchParams.toString()) - nextSearchParams.delete("sidepeek") + nextSearchParams.delete("open") router.push(`${pathname}?${nextSearchParams}`, { scroll: false }) } diff --git a/components/TempDesignSystem/SidePeek/data.ts b/components/TempDesignSystem/SidePeek/data.ts index b60452af1..e53cef850 100644 --- a/components/TempDesignSystem/SidePeek/data.ts +++ b/components/TempDesignSystem/SidePeek/data.ts @@ -1,5 +1,6 @@ import { SidePeekContentKey } from "./types" export const generateSidePeekLink = (key: SidePeekContentKey) => { - return `?sidepeek=${key}` + // what should the parameter be named to make sense in all use cases/languages? single caracter? like`s=`? + return `?open=${key}` } diff --git a/constants/routes/hotelPageParams.js b/constants/routes/hotelPageParams.js new file mode 100644 index 000000000..a6fcb1a5a --- /dev/null +++ b/constants/routes/hotelPageParams.js @@ -0,0 +1,21 @@ +export const about = { + en: "about", + sv: "om-hotellet", + no: "om-hotellet", + fi: "hotellista", + da: "om-hotellet", + de: "uber-das-hotel", +} + +export const amenities = { + en: "amenities", + sv: "bekvamligheter", + no: "fasiliteter", + da: "faciliteter", + fi: "palvelut", + de: "annehmlichkeiten", +} + +const params = { about, amenities } + +export default params From 68694ef914113ebffc3d1e1ef1d7df5bbf7e6daf Mon Sep 17 00:00:00 2001 From: Arvid Norlin Date: Mon, 12 Aug 2024 13:27:03 +0200 Subject: [PATCH 04/19] refactor: update SidePeek composition --- .../ContentType/HotelPage/HotelPage.tsx | 26 ++++--- .../HotelPage/IntroSection/index.tsx | 5 +- .../HotelPage/IntroSection/types.ts | 4 -- .../SidePeek/Container/index.tsx | 55 -------------- .../SidePeek/{Content => Item}/index.tsx | 10 +-- .../sidePeekItem.module.css} | 10 +-- .../TempDesignSystem/SidePeek/index.tsx | 72 +++++++++++++------ 7 files changed, 77 insertions(+), 105 deletions(-) delete mode 100644 components/TempDesignSystem/SidePeek/Container/index.tsx rename components/TempDesignSystem/SidePeek/{Content => Item}/index.tsx (80%) rename components/TempDesignSystem/SidePeek/{Content/content.module.css => Item/sidePeekItem.module.css} (81%) diff --git a/components/ContentType/HotelPage/HotelPage.tsx b/components/ContentType/HotelPage/HotelPage.tsx index c91d6036b..feac71db9 100644 --- a/components/ContentType/HotelPage/HotelPage.tsx +++ b/components/ContentType/HotelPage/HotelPage.tsx @@ -2,8 +2,8 @@ import { about, amenities } from "@/constants/routes/hotelPageParams" import { serverClient } from "@/lib/trpc/server" import { getLang } from "@/i18n/serverContext" -import SidePeekContainer from "@/components/TempDesignSystem/SidePeek/Container" -import SidePeekContent from "@/components/TempDesignSystem/SidePeek/Content" +import SidePeek from "@/components/TempDesignSystem/SidePeek" +import SidePeekItem from "@/components/TempDesignSystem/SidePeek/Item" import { getIntl } from "@/i18n" import AmenitiesList from "./AmenitiesList" @@ -20,10 +20,10 @@ export default async function HotelPage() { if (!hotelPageIdentifierData) { return null } - + const lang = getLang() const { attributes, roomCategories } = await serverClient().hotel.getHotel({ hotelId: hotelPageIdentifierData.hotel_page_id, - language: getLang(), + language: lang, include: ["RoomCategories"], }) @@ -35,29 +35,27 @@ export default async function HotelPage() {
- - + {/* TODO: Render amenities as per the design. */} Read more about the amenities here - - + Some additional information about the hotel - - + + (() => { - const sidePeekParam = searchParams.get( - "open" - ) as SidePeekContentKey | null - return sidePeekParam || null - }) - - useEffect(() => { - const sidePeekParam = searchParams.get("open") as SidePeekContentKey | null - if (sidePeekParam !== activeSidePeek) { - setActiveSidePeek(sidePeekParam) - } - }, [searchParams, activeSidePeek]) - - function handleClose(isOpen: boolean) { - if (!isOpen) { - setActiveSidePeek(null) - - const nextSearchParams = new URLSearchParams(searchParams.toString()) - nextSearchParams.delete("open") - - router.push(`${pathname}?${nextSearchParams}`, { scroll: false }) - } - } - const childrenWithIsActive = Children.map(children, (child) => { - if (!React.isValidElement(child)) { - return child - } - return cloneElement(child as React.ReactElement, { - isActive: - (child.props.contentKey as SidePeekContentKey) === activeSidePeek, - }) - }) - - return ( - - {childrenWithIsActive} - - ) -} diff --git a/components/TempDesignSystem/SidePeek/Content/index.tsx b/components/TempDesignSystem/SidePeek/Item/index.tsx similarity index 80% rename from components/TempDesignSystem/SidePeek/Content/index.tsx rename to components/TempDesignSystem/SidePeek/Item/index.tsx index c3a207c68..fa897aae9 100644 --- a/components/TempDesignSystem/SidePeek/Content/index.tsx +++ b/components/TempDesignSystem/SidePeek/Item/index.tsx @@ -1,6 +1,6 @@ "use client" -import { Children, PropsWithChildren } from "react" +import { PropsWithChildren } from "react" import { CloseIcon } from "@/components/Icons" import { SidePeekContentProps } from "@/components/TempDesignSystem/SidePeek/types" @@ -8,16 +8,16 @@ import Title from "@/components/TempDesignSystem/Text/Title" import Button from "../../Button" -import styles from "./content.module.css" +import styles from "./sidePeekItem.module.css" -export default function Content({ +function SidePeekItem({ title, children, isActive = false, onClose, }: PropsWithChildren) { return isActive ? ( -
@@ -66,7 +66,7 @@ export default async function IntroSection({ variant="icon" href={`?s=${about[lang]}`} > - {formatMessage({ id: "Read more about the hotel" })} + {intl.formatMessage({ id: "Read more about the hotel" })} diff --git a/components/ContentType/HotelPage/SidePeeks.tsx b/components/ContentType/HotelPage/SidePeeks.tsx index c352399aa..272ea4287 100644 --- a/components/ContentType/HotelPage/SidePeeks.tsx +++ b/components/ContentType/HotelPage/SidePeeks.tsx @@ -21,8 +21,9 @@ function SidePeekContainer() { return sidePeekParam || null }) - const { formatMessage } = useIntl() const lang = useLang() + const intl = useIntl() + useEffect(() => { const sidePeekParam = searchParams.get("s") as SidePeekContentKey | null if (sidePeekParam !== activeSidePeek) { @@ -45,14 +46,14 @@ function SidePeekContainer() { {/* TODO: Render amenities as per the design. */} Read more about the amenities here Some additional information about the hotel From 9f69e383e80bea051920ae693889f74ebd6191d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matilda=20Landstr=C3=B6m?= Date: Fri, 16 Aug 2024 15:18:59 +0200 Subject: [PATCH 08/19] fix: translations feedback --- .../DynamicContent/LoyaltyLevels/data/SV.json | 14 +++++++------- i18n/dictionaries/de.json | 2 +- i18n/dictionaries/sv.json | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/components/Loyalty/Blocks/DynamicContent/LoyaltyLevels/data/SV.json b/components/Loyalty/Blocks/DynamicContent/LoyaltyLevels/data/SV.json index 47cfb4705..91483535c 100644 --- a/components/Loyalty/Blocks/DynamicContent/LoyaltyLevels/data/SV.json +++ b/components/Loyalty/Blocks/DynamicContent/LoyaltyLevels/data/SV.json @@ -38,7 +38,7 @@ "title": "Sen utcheckning – 1 timme, i mån av plats" }, { - "title": "Voucher 50 kr" + "title": "Kupong 50 kr" } ] }, @@ -49,13 +49,13 @@ "requiredNights": 0, "benefits": [ { - "title": "25% poängboost" + "title": "25 % poängboost" }, { "title": "Tidig incheckning – 1 timme, i mån av plats" }, { - "title": "Voucher 75 kr" + "title": "Kupong 75 kr" } ] }, @@ -69,7 +69,7 @@ "title": "Kostnadsfri uppgradering av rum, i mån av plats" }, { - "title": "Voucher 100 kr" + "title": "Kupong 100 kr" }, { "title": "Frukost 2 för 1" @@ -83,10 +83,10 @@ "requiredNights": 0, "benefits": [ { - "title": "50% poängboost" + "title": "50 % poängboost" }, { - "title": "Voucher 150 kr" + "title": "Kupong 150 kr" }, { "title": "48 timmars rumsgaranti" @@ -103,7 +103,7 @@ "requiredNights": 100, "benefits": [ { - "title": "Voucher 200 kr" + "title": "Kupong 200 kr" }, { "title": "Spännande gåva varje år" diff --git a/i18n/dictionaries/de.json b/i18n/dictionaries/de.json index 0684acf2d..56d36585f 100644 --- a/i18n/dictionaries/de.json +++ b/i18n/dictionaries/de.json @@ -25,7 +25,7 @@ "Close": "Schließen", "Coming up": "Demnächst", "Compare all levels": "Vergleichen Sie alle Levels", - "Contact us": "Kontaktiere uns", + "Contact us": "Kontaktieren Sie uns", "Continue": "Weitermachen", "Could not find requested resource": "Die angeforderte Ressource konnte nicht gefunden werden.", "Country": "Land", diff --git a/i18n/dictionaries/sv.json b/i18n/dictionaries/sv.json index 8bb773e08..2038735f9 100644 --- a/i18n/dictionaries/sv.json +++ b/i18n/dictionaries/sv.json @@ -5,7 +5,7 @@ "Address": "Adress", "All our beds are from Bliss, allowing you to adjust the firmness for your perfect comfort.": "Alla våra sängar är från Bliss, med möjlighet att justera fastheten för perfekt komfort.", "All rooms comes with standard amenities": "Alla rum har standardbekvämligheter", - "Already a friend?": "Redan en vän?", + "Already a friend?": "Är du redan en vän?", "Amenities": "Bekvämligheter", "Arrival date": "Ankomstdatum", "as of today": "från och med idag", From 819ac454b0edaed566e6086c30133f2e8cb1c675 Mon Sep 17 00:00:00 2001 From: Niclas Edenvin Date: Fri, 16 Aug 2024 13:56:09 +0000 Subject: [PATCH 09/19] Merged in feature/refresh-token (pull request #401) feat: SW-101 Proactively refresh tokens Approved-by: Michael Zetterberg --- Auth.md | 13 +++ app/[lang]/(live)/layout.tsx | 2 + app/[lang]/(live-current)/layout.tsx | 2 + auth.ts | 136 ++++++++++++++------------- components/Auth/TokenRefresher.tsx | 65 +++++++++++++ constants/auth.ts | 12 +++ server/routers/user/query.ts | 2 +- types/jwt.d.ts | 2 +- 8 files changed, 167 insertions(+), 67 deletions(-) create mode 100644 Auth.md create mode 100644 components/Auth/TokenRefresher.tsx create mode 100644 constants/auth.ts diff --git a/Auth.md b/Auth.md new file mode 100644 index 000000000..7bb71b2ef --- /dev/null +++ b/Auth.md @@ -0,0 +1,13 @@ +# Auth + +The web is using OAuth 2.0 to handle auth. We host our own instance of [Curity](https://curity.io), which is our identity and access management solution. + +## Session management in Next +We use [Auth.js](https://authjs.dev) to handle everything regarding auth in the web. We use the JWT session strategy, which means that everything regarding the session is stored in a JWT, which is stored in the browser in an encrypted cookie. + +## Keeping the access token alive +When the user performs a navigation the web app often does multiple requests to Next. If the access token has expired Next will do a request to Curity to renew the tokens. Since we only allow a single refresh token to be used only once only the first request will succeed and the following requests will fail. + +To avoid that we have a component whose only purpose is to keep the access token alive. As long as no other request is happening at the same time this will work fine. + +To avoid a session that keeps on refreshing forever, if the user have the page open in the background e.g., we have a timeout that stops the refreshing if the user is not active. \ No newline at end of file diff --git a/app/[lang]/(live)/layout.tsx b/app/[lang]/(live)/layout.tsx index 2da54eb0a..35144b8d9 100644 --- a/app/[lang]/(live)/layout.tsx +++ b/app/[lang]/(live)/layout.tsx @@ -5,6 +5,7 @@ import Script from "next/script" import TrpcProvider from "@/lib/trpc/Provider" +import TokenRefresher from "@/components/Auth/TokenRefresher" import AdobeSDKScript from "@/components/Current/AdobeSDKScript" import Footer from "@/components/Current/Footer" import VwoScript from "@/components/Current/VwoScript" @@ -59,6 +60,7 @@ export default async function RootLayout({ {header} {children}