From f46bc8f920c08fca862abe839bb60f96ca1fd067 Mon Sep 17 00:00:00 2001 From: Anton Gunnarsson Date: Wed, 7 May 2025 10:22:19 +0200 Subject: [PATCH] Update @hookform/resolvers In v5 the zod resolver will automatically infer the type for `useForm`. It's not recommended to manually specify types. See https://github.com/react-hook-form/resolvers/releases/tag/v5.0.0 --- .../components/BookingWidget/Client.tsx | 2 +- .../EnterDetails/Details/Multiroom/index.tsx | 4 +--- .../EnterDetails/Details/RoomOne/index.tsx | 2 +- .../AddAncillaryFlowModal/index.tsx | 2 +- apps/scandic-web/package.json | 2 +- yarn.lock | 21 +++++++++++++------ 6 files changed, 20 insertions(+), 13 deletions(-) diff --git a/apps/scandic-web/components/BookingWidget/Client.tsx b/apps/scandic-web/components/BookingWidget/Client.tsx index 7b0739d70..de0923a3b 100644 --- a/apps/scandic-web/components/BookingWidget/Client.tsx +++ b/apps/scandic-web/components/BookingWidget/Client.tsx @@ -113,7 +113,7 @@ export default function BookingWidgetClient({ }, ] const hotelId = isNaN(+params.hotelId) ? undefined : +params.hotelId - const methods = useForm({ + const methods = useForm({ defaultValues: { search: selectedLocation?.name ?? "", // Only used for displaying the selected location for mobile, not for actual form input diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/index.tsx b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/index.tsx index bba79aa8f..6012464c7 100644 --- a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/index.tsx +++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/index.tsx @@ -18,8 +18,6 @@ import { getMultiroomDetailsSchema } from "./schema" import styles from "./details.module.css" -import type { MultiroomDetailsSchema } from "@/types/components/hotelReservation/enterDetails/details" - const formID = "enter-details" export default function Details() { const intl = useIntl() @@ -53,7 +51,7 @@ export default function Details() { [idx, rooms] ) - const methods = useForm({ + const methods = useForm({ criteriaMode: "all", mode: "all", resolver: zodResolver(getMultiroomDetailsSchema(crossValidationData)), diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/index.tsx b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/index.tsx index 49d942d6b..8c2844f19 100644 --- a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/index.tsx +++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/index.tsx @@ -43,7 +43,7 @@ export default function Details({ user }: DetailsProps) { const memberRate = "member" in room.roomRate ? room.roomRate.member : null - const methods = useForm({ + const methods = useForm({ criteriaMode: "all", mode: "all", resolver: zodResolver(user ? signedInDetailsSchema : guestDetailsSchema), diff --git a/apps/scandic-web/components/HotelReservation/MyStay/Ancillaries/AddAncillaryFlow/AddAncillaryFlowModal/index.tsx b/apps/scandic-web/components/HotelReservation/MyStay/Ancillaries/AddAncillaryFlow/AddAncillaryFlowModal/index.tsx index 4869324ed..fe3d7aadb 100644 --- a/apps/scandic-web/components/HotelReservation/MyStay/Ancillaries/AddAncillaryFlow/AddAncillaryFlowModal/index.tsx +++ b/apps/scandic-web/components/HotelReservation/MyStay/Ancillaries/AddAncillaryFlow/AddAncillaryFlowModal/index.tsx @@ -88,7 +88,7 @@ export default function AddAncillaryFlowModal({ const hasInsufficientPoints = (user?.membership?.currentPoints ?? 0) < (selectedAncillary?.points ?? 0) - const formMethods = useForm({ + const formMethods = useForm({ defaultValues: { quantityWithPoints: null, quantityWithCard: diff --git a/apps/scandic-web/package.json b/apps/scandic-web/package.json index 46ad6a1f4..a9e0d150e 100644 --- a/apps/scandic-web/package.json +++ b/apps/scandic-web/package.json @@ -34,7 +34,7 @@ "@contentstack/live-preview-utils": "^3.0.0", "@formatjs/intl": "^2.10.15", "@hookform/error-message": "^2.0.1", - "@hookform/resolvers": "^3.3.4", + "@hookform/resolvers": "^5.0.1", "@internationalized/date": "^3.6.0", "@netlify/blobs": "^8.1.0", "@netlify/functions": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index 83cdce0d7..0298c37aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2408,12 +2408,14 @@ __metadata: languageName: node linkType: hard -"@hookform/resolvers@npm:^3.3.4": - version: 3.10.0 - resolution: "@hookform/resolvers@npm:3.10.0" +"@hookform/resolvers@npm:^5.0.1": + version: 5.0.1 + resolution: "@hookform/resolvers@npm:5.0.1" + dependencies: + "@standard-schema/utils": "npm:^0.3.0" peerDependencies: - react-hook-form: ^7.0.0 - checksum: 10c0/7ee44533b4cdc28c4fa2a94894c735411e5a1f830f4a617c580533321a9b901df0cc8c1e2fad81ad8d55154ebc5cb844cf9c116a3148ffae2bc48758c33cbb8e + react-hook-form: ^7.55.0 + checksum: 10c0/8260de1cd1b8b53629ea67555f3f027fdeabf4cd6da7f20cb76e646d353d998e61cf3a338d6313c94a31f32c23447403df5e584e5c8dddbca766ed7776513f8b languageName: node linkType: hard @@ -8200,7 +8202,7 @@ __metadata: "@formatjs/intl": "npm:^2.10.15" "@formatjs/swc-plugin-experimental": "npm:0.4.0" "@hookform/error-message": "npm:^2.0.1" - "@hookform/resolvers": "npm:^3.3.4" + "@hookform/resolvers": "npm:^5.0.1" "@internationalized/date": "npm:^3.6.0" "@lokalise/node-api": "npm:^14.0.0" "@netlify/blobs": "npm:^8.1.0" @@ -8803,6 +8805,13 @@ __metadata: languageName: node linkType: hard +"@standard-schema/utils@npm:^0.3.0": + version: 0.3.0 + resolution: "@standard-schema/utils@npm:0.3.0" + checksum: 10c0/6eb74cd13e52d5fc74054df51e37d947ef53f3ab9e02c085665dcca3c38c60ece8d735cebbdf18fbb13c775fbcb9becb3f53109b0e092a63f0f7389ce0993fd0 + languageName: node + linkType: hard + "@storybook/addon-actions@npm:8.6.3": version: 8.6.3 resolution: "@storybook/addon-actions@npm:8.6.3"