@roomstay/frontend 2.6.61-0 → 2.6.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/dist/537.bundle.js +1 -1
  2. package/dist/663.bundle.js +1 -0
  3. package/dist/950.bundle.js +1 -0
  4. package/dist/978.bundle.js +1 -1
  5. package/dist/main.bundle.js +1 -1
  6. package/dist/src/api/ReservationAPI.d.ts +3 -18
  7. package/dist/src/api/ReservationAPI.js +31 -61
  8. package/dist/src/api/ReservationAPI.js.map +1 -1
  9. package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +1 -0
  10. package/dist/src/components/User/Forms/ForgotPasswordForm.js +6 -2
  11. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  12. package/dist/src/components/User/Forms/SignInForm.d.ts +1 -0
  13. package/dist/src/components/User/Forms/SignInForm.js +10 -4
  14. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  15. package/dist/src/components/User/Forms/SignUpForm.js +59 -79
  16. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  17. package/dist/src/components/User/Forms/VerifyEmailForm.d.ts +7 -0
  18. package/dist/src/components/User/Forms/VerifyEmailForm.js +92 -0
  19. package/dist/src/components/User/Forms/VerifyEmailForm.js.map +1 -0
  20. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +0 -1
  21. package/dist/src/components/generic/BookingWizard/BookingWizard.js +1 -7
  22. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  23. package/dist/src/components/generic/date/FloatingDatePicker.d.ts +5 -0
  24. package/dist/src/components/generic/date/FloatingDatePicker.js +1 -1
  25. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  26. package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.d.ts +1 -0
  27. package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js +2 -2
  28. package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js.map +1 -1
  29. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.d.ts +1 -0
  30. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js +2 -2
  31. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js.map +1 -1
  32. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +12 -4
  33. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  34. package/dist/src/components/members/SignInModal/ExternalMemberModal.js +4 -4
  35. package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -1
  36. package/dist/src/components/reservation/ReservationItem.js +1 -1
  37. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  38. package/dist/src/components/steps/addons/AddonCard.js +14 -14
  39. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  40. package/dist/src/components/steps/confirmation/RoomContactDetails.js +15 -14
  41. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  42. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +10 -11
  43. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  44. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +4 -11
  45. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  46. package/dist/src/components/steps/room/AvailableUpgradesModal.js +1 -1
  47. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  48. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +2 -2
  49. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  50. package/dist/src/components/summary/BESummaryAddonRow.js +1 -1
  51. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  52. package/dist/src/components/summary/BESummaryRoomRow.js +2 -2
  53. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  54. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +7 -6
  55. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  56. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +5 -2
  57. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  58. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +32 -109
  59. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  60. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +0 -1
  61. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  62. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +20 -20
  63. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  64. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +1 -10
  65. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  66. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +7 -1
  67. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  68. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +32 -6
  69. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  70. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  71. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +0 -1
  72. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  73. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +0 -1
  74. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  75. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +6 -6
  76. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  77. package/dist/src/events/index.d.ts +1 -0
  78. package/dist/src/events/index.js +1 -0
  79. package/dist/src/events/index.js.map +1 -1
  80. package/dist/src/events/views/CommittedBookingEvent.d.ts +3 -1
  81. package/dist/src/events/views/CommittedBookingEvent.js +2 -1
  82. package/dist/src/events/views/CommittedBookingEvent.js.map +1 -1
  83. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +0 -1
  84. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  85. package/dist/src/hooks/useSignedInMember.d.ts +1 -1
  86. package/dist/src/index.d.ts +0 -1
  87. package/dist/src/index.js +2 -4
  88. package/dist/src/index.js.map +1 -1
  89. package/dist/src/models/Addon/Addon.d.ts +64 -6
  90. package/dist/src/models/Addon/Addon.js +28 -14
  91. package/dist/src/models/Addon/Addon.js.map +1 -1
  92. package/dist/src/models/Api/HotelDTO.d.ts +0 -1
  93. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  94. package/dist/src/models/Api/HotelOverrideDTO.d.ts +2 -0
  95. package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
  96. package/dist/src/models/BasketAddonRow.js +2 -3
  97. package/dist/src/models/BasketAddonRow.js.map +1 -1
  98. package/dist/src/models/BasketRow.d.ts +1 -3
  99. package/dist/src/models/BasketRow.js +2 -32
  100. package/dist/src/models/BasketRow.js.map +1 -1
  101. package/dist/src/models/Client/Hotel/Hotel.d.ts +2 -4
  102. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  103. package/dist/src/models/RoomstaySession.d.ts +0 -2
  104. package/dist/src/models/RoomstaySession.js.map +1 -1
  105. package/dist/src/models/SearchParameters.d.ts +1 -1
  106. package/dist/src/models/SearchParameters.js.map +1 -1
  107. package/dist/src/models/UserProfile.d.ts +20 -20
  108. package/dist/src/models/UserProfile.js.map +1 -1
  109. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +2 -2
  110. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  111. package/dist/src/providers/FeatureProvider.js +0 -2
  112. package/dist/src/providers/FeatureProvider.js.map +1 -1
  113. package/dist/src/providers/feature/DerbysoftClickTrackingFeature.js +2 -2
  114. package/dist/src/providers/feature/DerbysoftClickTrackingFeature.js.map +1 -1
  115. package/dist/src/providers/feature/Feature.d.ts +0 -2
  116. package/dist/src/providers/feature/Feature.js +0 -4
  117. package/dist/src/providers/feature/Feature.js.map +1 -1
  118. package/dist/src/providers/storage/SessionProvider.js +0 -2
  119. package/dist/src/providers/storage/SessionProvider.js.map +1 -1
  120. package/dist/src/translations/Translation.d.ts +1 -4
  121. package/dist/src/translations/Translation.js +1 -4
  122. package/dist/src/translations/Translation.js.map +1 -1
  123. package/dist/src/translations/languages/en-gb.js +1 -4
  124. package/dist/src/translations/languages/en-gb.js.map +1 -1
  125. package/dist/src/util/Analytics/GoogleAnalytics4.d.ts +1 -1
  126. package/dist/src/util/Analytics/UniversalAnalytics.d.ts +1 -1
  127. package/dist/src/util/EventsHelper.js +1 -1
  128. package/dist/src/util/EventsHelper.js.map +1 -1
  129. package/dist/src/util/TotalCalculator.js +2 -2
  130. package/dist/src/util/TotalCalculator.js.map +1 -1
  131. package/dist/test.bundle.js +1 -1
  132. package/dist/tests/offline/entry/config/hotelSpecDefault.js +1 -0
  133. package/dist/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
  134. package/dist/vendors.bundle.js +1 -1
  135. package/package.json +2 -2
  136. package/dist/263.bundle.js +0 -1
  137. package/dist/458.bundle.js +0 -1
  138. package/dist/src/components/steps/confirmation/StepConfirmationImportantInformation.d.ts +0 -7
  139. package/dist/src/components/steps/confirmation/StepConfirmationImportantInformation.js +0 -54
  140. package/dist/src/components/steps/confirmation/StepConfirmationImportantInformation.js.map +0 -1
  141. package/dist/src/providers/feature/ConfirmationImportantInformationFeature.d.ts +0 -10
  142. package/dist/src/providers/feature/ConfirmationImportantInformationFeature.js +0 -13
  143. package/dist/src/providers/feature/ConfirmationImportantInformationFeature.js.map +0 -1
@@ -40,6 +40,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
40
40
  const contexts_1 = require("../../../contexts/index.js");
41
41
  const hooks_1 = require("../../../hooks/index.js");
42
42
  const core_1 = require("@roomstay/core");
43
+ const cloneDeep_1 = __importDefault(require("lodash/cloneDeep"));
43
44
  const react_1 = __importStar(require("react"));
44
45
  const react_hook_form_1 = require("react-hook-form");
45
46
  const react_i18next_1 = require("react-i18next");
@@ -98,20 +99,20 @@ const RoomContactDetails = () => {
98
99
  const userProfiles = basketRows.map((basketRow, index) => {
99
100
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
100
101
  const defaults = basketRow.checkoutDefaults;
101
- const addr = defaults === null || defaults === void 0 ? void 0 : defaults.address;
102
+ const addr = defaults === null || defaults === void 0 ? void 0 : defaults.Address;
102
103
  return {
103
104
  [Confirmation_1.EUserProfileFormKey.Title]: '',
104
- [Confirmation_1.EUserProfileFormKey.Forename]: getDefaultValue(index, (_a = defaults === null || defaults === void 0 ? void 0 : defaults.firstName) !== null && _a !== void 0 ? _a : member === null || member === void 0 ? void 0 : member.forename),
105
- [Confirmation_1.EUserProfileFormKey.Surname]: getDefaultValue(index, (_b = defaults === null || defaults === void 0 ? void 0 : defaults.lastName) !== null && _b !== void 0 ? _b : member === null || member === void 0 ? void 0 : member.surname),
106
- [Confirmation_1.EUserProfileFormKey.Email]: getDefaultValue(index, (_c = defaults === null || defaults === void 0 ? void 0 : defaults.email) !== null && _c !== void 0 ? _c : member === null || member === void 0 ? void 0 : member.email),
107
- [Confirmation_1.EUserProfileFormKey.Phone]: getDefaultValue(index, (_d = defaults === null || defaults === void 0 ? void 0 : defaults.phone) !== null && _d !== void 0 ? _d : member === null || member === void 0 ? void 0 : member.phoneNumber),
108
- [Confirmation_1.EUserProfileFormKey.Address]: getDefaultValue(index, (_e = addr === null || addr === void 0 ? void 0 : addr.line1) !== null && _e !== void 0 ? _e : (_f = member === null || member === void 0 ? void 0 : member.address) === null || _f === void 0 ? void 0 : _f.address),
109
- [Confirmation_1.EUserProfileFormKey.City]: getDefaultValue(index, (_g = addr === null || addr === void 0 ? void 0 : addr.city) !== null && _g !== void 0 ? _g : (_h = member === null || member === void 0 ? void 0 : member.address) === null || _h === void 0 ? void 0 : _h.city),
110
- [Confirmation_1.EUserProfileFormKey.PostCode]: getDefaultValue(index, (_j = addr === null || addr === void 0 ? void 0 : addr.postalCode) !== null && _j !== void 0 ? _j : (_k = member === null || member === void 0 ? void 0 : member.address) === null || _k === void 0 ? void 0 : _k.zip),
111
- [Confirmation_1.EUserProfileFormKey.State]: getDefaultValue(index, (_l = addr === null || addr === void 0 ? void 0 : addr.state) !== null && _l !== void 0 ? _l : (_m = member === null || member === void 0 ? void 0 : member.address) === null || _m === void 0 ? void 0 : _m.state),
112
- [Confirmation_1.EUserProfileFormKey.Country]: getDefaultValue(index, (_o = addr === null || addr === void 0 ? void 0 : addr.country) !== null && _o !== void 0 ? _o : (_p = member === null || member === void 0 ? void 0 : member.address) === null || _p === void 0 ? void 0 : _p.country),
113
- [Confirmation_1.EUserProfileFormKey.CountryId]: getDefaultValue(index, (_q = addr === null || addr === void 0 ? void 0 : addr.countryId) === null || _q === void 0 ? void 0 : _q.toString()),
114
- [Confirmation_1.EUserProfileFormKey.CountryCode]: getDefaultValue(index, addr === null || addr === void 0 ? void 0 : addr.countryCode),
105
+ [Confirmation_1.EUserProfileFormKey.Forename]: getDefaultValue(index, (_a = defaults === null || defaults === void 0 ? void 0 : defaults.FirstName) !== null && _a !== void 0 ? _a : member === null || member === void 0 ? void 0 : member.forename),
106
+ [Confirmation_1.EUserProfileFormKey.Surname]: getDefaultValue(index, (_b = defaults === null || defaults === void 0 ? void 0 : defaults.LastName) !== null && _b !== void 0 ? _b : member === null || member === void 0 ? void 0 : member.surname),
107
+ [Confirmation_1.EUserProfileFormKey.Email]: getDefaultValue(index, (_c = defaults === null || defaults === void 0 ? void 0 : defaults.Email) !== null && _c !== void 0 ? _c : member === null || member === void 0 ? void 0 : member.email),
108
+ [Confirmation_1.EUserProfileFormKey.Phone]: getDefaultValue(index, (_d = defaults === null || defaults === void 0 ? void 0 : defaults.Phone) !== null && _d !== void 0 ? _d : member === null || member === void 0 ? void 0 : member.phoneNumber),
109
+ [Confirmation_1.EUserProfileFormKey.Address]: getDefaultValue(index, (_e = addr === null || addr === void 0 ? void 0 : addr.Line1) !== null && _e !== void 0 ? _e : (_f = member === null || member === void 0 ? void 0 : member.address) === null || _f === void 0 ? void 0 : _f.address),
110
+ [Confirmation_1.EUserProfileFormKey.City]: getDefaultValue(index, (_g = addr === null || addr === void 0 ? void 0 : addr.City) !== null && _g !== void 0 ? _g : (_h = member === null || member === void 0 ? void 0 : member.address) === null || _h === void 0 ? void 0 : _h.city),
111
+ [Confirmation_1.EUserProfileFormKey.PostCode]: getDefaultValue(index, (_j = addr === null || addr === void 0 ? void 0 : addr.PostalCode) !== null && _j !== void 0 ? _j : (_k = member === null || member === void 0 ? void 0 : member.address) === null || _k === void 0 ? void 0 : _k.zip),
112
+ [Confirmation_1.EUserProfileFormKey.State]: getDefaultValue(index, (_l = addr === null || addr === void 0 ? void 0 : addr.State) !== null && _l !== void 0 ? _l : (_m = member === null || member === void 0 ? void 0 : member.address) === null || _m === void 0 ? void 0 : _m.state),
113
+ [Confirmation_1.EUserProfileFormKey.Country]: getDefaultValue(index, (_o = addr === null || addr === void 0 ? void 0 : addr.Country) !== null && _o !== void 0 ? _o : (_p = member === null || member === void 0 ? void 0 : member.address) === null || _p === void 0 ? void 0 : _p.country),
114
+ [Confirmation_1.EUserProfileFormKey.CountryId]: getDefaultValue(index, (_q = addr === null || addr === void 0 ? void 0 : addr.CountryId) === null || _q === void 0 ? void 0 : _q.toString()),
115
+ [Confirmation_1.EUserProfileFormKey.CountryCode]: getDefaultValue(index, addr === null || addr === void 0 ? void 0 : addr.CountryCode),
115
116
  [Confirmation_1.EUserRequiredInputFormKey.AuxInputs]: basketRow.auxiliaryFilter,
116
117
  };
117
118
  });
@@ -121,8 +122,8 @@ const RoomContactDetails = () => {
121
122
  const padInputNameByRoomNumber = (name, index) => `userProfiles.${index}.${name}`;
122
123
  const [opens, setOpens] = (0, react_1.useState)(basketRows.map((basketRow, index) => index === 0));
123
124
  const copyUserProfileFormFields = (currentIndex) => {
124
- const values = getValues(`userProfiles.0`);
125
- const currentValues = getValues(`userProfiles.${currentIndex}`);
125
+ const values = (0, cloneDeep_1.default)(getValues(`userProfiles.0`));
126
+ const currentValues = (0, cloneDeep_1.default)(getValues(`userProfiles.${currentIndex}`));
126
127
  // Exclude AuxInputs
127
128
  values[Confirmation_1.EUserRequiredInputFormKey.AuxInputs] = currentValues.AuxInputs;
128
129
  return values;
@@ -1 +1 @@
1
- {"version":3,"file":"RoomContactDetails.js","sourceRoot":"/","sources":["src/components/steps/confirmation/RoomContactDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, RoomstayMemberContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { EBookingPaymentMethod, EHotelStateFieldConfiguration, nameof } from '@roomstay/core';\nimport React, { FC, ReactElement, useContext, useEffect, useState } from 'react';\nimport { Control, Controller, FieldError, useFieldArray, useFormContext } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport Checkbox from '@/components/generic/Checkbox/Checkbox';\nimport EnhancedPhoneNumberField from '@/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField';\nimport Headline from '@/components/generic/Headline';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport InputGroup from '@/components/generic/InputGroup/InputGroup';\nimport { InputSelect } from '@/components/generic/Select';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextBox from '@/components/generic/TextBox';\nimport StepConfirmationCountrySelector from '@/components/steps/confirmation/StepConfirmationCountrySelector';\nimport { useSearchScopeHook } from '@/hooks/useSearchScopeHook';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\nimport { ConfirmationFormValues, EUserProfileFormKey, EUserRequiredInputFormKey, TUserProfileFormValues } from '@/models/Confirmation';\nimport E164PhoneNumberFieldFeature from '@/providers/feature/E164PhoneNumberFieldFeature';\nimport GuestTitleFieldFeature from '@/providers/feature/GuestTitleFieldFeature';\nimport { Color } from '@/util/Color';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nimport StringHelper from '@/util/StringHelper';\nimport { EMAIL_REGEX } from '@/util/Validation';\n\ntype AuxiliaryFilterSelect = {\n id: string;\n name: string;\n label: string;\n options: AuxiliaryFilterOption[];\n};\n\ntype AuxiliaryFilterOption = {\n label: string;\n value: string;\n};\n\nconst RoomContactDetails: FC = () => {\n const { register, formState, control, watch, getValues, setValue } = useFormContext<ConfirmationFormValues>();\n const basketContext = useContext(BasketContext);\n const basketRows = basketContext.getAllValidRows();\n const basketAddonRows = basketContext.basketAddonRows;\n const { hotel } = useCurrentHotel();\n\n const { update, fields } = useFieldArray({\n control,\n name: 'userProfiles',\n rules: {\n required: false,\n },\n });\n const [copyCheckBox, paymentMethod] = watch(['copyCheckBox', 'paymentMethod']);\n\n const errors = formState.errors;\n\n const { t } = useTranslation();\n const { roomstayMember: member } = useContext(RoomstayMemberContext);\n const { showChildren } = useSearchScopeHook();\n\n useEffect(() => {\n errors.userProfiles?.forEach?.((_, index) => {\n if (errors.userProfiles?.[index]) {\n opens[index] = true;\n }\n });\n setOpens(opens.slice(0));\n }, [errors.userProfiles, copyCheckBox]);\n\n useEffect(() => {\n const getDefaultValue = (index: number, potentialDefaultValue = '') => {\n return index === 0 ? potentialDefaultValue : '';\n };\n\n const userProfiles = basketRows.map((basketRow, index) => {\n const defaults = basketRow.checkoutDefaults;\n const addr = defaults?.address;\n\n return {\n [EUserProfileFormKey.Title]: '', // TODO: Add this to @roomstay/core IRoomstayMember?\n [EUserProfileFormKey.Forename]: getDefaultValue(index, defaults?.firstName ?? member?.forename),\n [EUserProfileFormKey.Surname]: getDefaultValue(index, defaults?.lastName ?? member?.surname),\n [EUserProfileFormKey.Email]: getDefaultValue(index, defaults?.email ?? member?.email),\n [EUserProfileFormKey.Phone]: getDefaultValue(index, defaults?.phone ?? member?.phoneNumber),\n [EUserProfileFormKey.Address]: getDefaultValue(index, addr?.line1 ?? member?.address?.address),\n [EUserProfileFormKey.City]: getDefaultValue(index, addr?.city ?? member?.address?.city),\n [EUserProfileFormKey.PostCode]: getDefaultValue(index, addr?.postalCode ?? member?.address?.zip),\n [EUserProfileFormKey.State]: getDefaultValue(index, addr?.state ?? member?.address?.state),\n [EUserProfileFormKey.Country]: getDefaultValue(index, addr?.country ?? member?.address?.country),\n [EUserProfileFormKey.CountryId]: getDefaultValue(index, addr?.countryId?.toString()),\n [EUserProfileFormKey.CountryCode]: getDefaultValue(index, addr?.countryCode),\n [EUserRequiredInputFormKey.AuxInputs]: basketRow.auxiliaryFilter,\n };\n });\n setValue('userProfiles', userProfiles);\n setValue('copyCheckBox', !!(basketRows?.length && basketRows.length > 1));\n }, [member, basketRows?.length]);\n\n const padInputNameByRoomNumber = (name: EUserProfileFormKey, index: number) => `userProfiles.${index}.${name}` as const;\n\n const [opens, setOpens] = useState<boolean[]>(basketRows.map((basketRow, index) => index === 0));\n\n const copyUserProfileFormFields = (currentIndex: number) => {\n const values = getValues(`userProfiles.0`);\n const currentValues = getValues(`userProfiles.${currentIndex}`);\n\n // Exclude AuxInputs\n values[EUserRequiredInputFormKey.AuxInputs] = currentValues.AuxInputs;\n\n return values;\n };\n\n const onInputChange =\n (fieldName: string, interactionName: string) =>\n (event: any): void => {\n DataLayer.instance.sendInteraction(interactionName, InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n\n useEffect(() => {\n if (copyCheckBox)\n fields.forEach((basketRow, index) => {\n if (index === 0) return;\n const values = copyUserProfileFormFields(index);\n update(index, values);\n });\n }, [copyCheckBox]);\n\n useEffect(() => {\n const { unsubscribe } = watch((allFields, { name, type }) => {\n if (type === 'change' && name?.includes('userProfiles') && name.split('.')[1] === '0' && allFields.copyCheckBox) {\n fields.map((field, index) => {\n if (index === 0) return;\n const values = copyUserProfileFormFields(index);\n update(index, values);\n });\n }\n });\n\n return () => {\n unsubscribe();\n };\n }, [fields]);\n\n useEffect(() => {\n DataLayer.instance.sendCheckoutView(basketRows, basketAddonRows);\n }, []);\n\n const setOpenByIndex = (index: number, value: boolean) => {\n opens.splice(index, 1, value);\n setOpens(opens.slice(0));\n };\n\n const renderError = (userProfileIndex: number): JSX.Element[] | null => {\n const userProfile = errors.userProfiles?.[userProfileIndex];\n\n if (userProfile && formState.submitCount >= 1 && (userProfileIndex === 0 || !copyCheckBox))\n return Object.values(userProfile).map((error, errorIndex) => {\n return (\n <AutoAutoHeight key={errorIndex} open>\n <div className=\"u-flex\">\n <Alert icon={IconType.Error} type={AlertType.Danger} noMargin={errorIndex === Object.keys(userProfile).length - 1}>\n <Text type={TextType.Small}>{(error as FieldError)?.message}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n );\n });\n\n return null;\n };\n\n return (\n <>\n {fields.map((field, index) => {\n const padInputName = (name: EUserProfileFormKey) => padInputNameByRoomNumber(name, index);\n const getValidationClass = (name: EUserProfileFormKey) => {\n if (!errors.userProfiles || (copyCheckBox && index >= 1)) return;\n if (errors.userProfiles[index]?.[name]) {\n return 'error';\n // Hack to get Aux Inputs to validate as well.\n } else if (errors.userProfiles[index]?.AuxInputs?.[name.replace('AuxInputs.', '')]) {\n return 'error';\n } else {\n return 'success';\n }\n };\n\n const openExpandable = () => {\n if (index !== 0) {\n setOpenByIndex(index, !opens[index]);\n }\n };\n\n const basketRow = basketRows[index];\n const currentRoom = basketRow.getRoom();\n const filterValue = basketRow.getAuxiliaryFilter();\n\n const isDisabled = (copyCheckBox && index >= 1) || paymentMethod === EBookingPaymentMethod.Planpay;\n\n const includeStateField =\n hotel?.stateFieldConfiguration === EHotelStateFieldConfiguration.Optional || hotel?.stateFieldConfiguration === EHotelStateFieldConfiguration.Required;\n const stateFieldRequired = hotel?.stateFieldConfiguration === EHotelStateFieldConfiguration.Required;\n\n // Build list of auxiliary inputs the user is required to complete\n const roomGroup = hotel?.roomGroups?.find(({ id }) => id === currentRoom.roomGroupId);\n const requiredInputs: AuxiliaryFilterSelect[] = [];\n\n for (const inputKey of Object.keys(roomGroup?.filters ?? {})) {\n const input = roomGroup?.filters[inputKey];\n const values = currentRoom?.auxiliaryValues?.[inputKey]?.map((value) => value.toString());\n\n if (input?.requireInput && values) {\n // Reduce available options to those assigned to the room\n const options = input.options.filter((option) => {\n if (values.includes(option.value.toString())) {\n return option;\n }\n });\n\n const requiredInputId = `${nameof<TUserProfileFormValues>('AuxInputs')}.${inputKey}`;\n\n if (options.length === 1) {\n setValue(padInputName(requiredInputId as any), options[0].value as never);\n } else if (filterValue?.[inputKey]) {\n setValue(padInputName(requiredInputId as any), filterValue[inputKey] as never);\n }\n\n // Convert options to format acceptable by the input\n requiredInputs.push({\n id: requiredInputId,\n name: input.name,\n label: input.name,\n options: options.map((option: any) => {\n return { label: option.label, value: option.value };\n }),\n });\n }\n }\n\n // The Country input field will be included in different places, depending on whether the State field is enabled or not.\n const countryInputField = (\n <Controller\n control={control}\n name={padInputName(EUserProfileFormKey.Country)}\n rules={{\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Country) }),\n },\n }}\n render={({ field }) => {\n const { ref, onChange, ...rest } = field;\n return (\n <StepConfirmationCountrySelector\n disabled={isDisabled}\n validationStatus={getValidationClass(EUserProfileFormKey.Country)}\n onChange={(e) => {\n onChange(e);\n onInputChange(padInputName(EUserProfileFormKey.Country), 'Country - Address')(e);\n }}\n onChangeId={(id) => {\n setValue(padInputName(EUserProfileFormKey.CountryId), id as never); // Hack to make CountryID be set...\n }}\n onChangeCode={(code) => {\n setValue(padInputName(EUserProfileFormKey.CountryCode), code as never); // Hack to make CountryID be set...\n }}\n {...rest}\n />\n );\n }}\n />\n );\n\n return (\n <div key={field.id}>\n <div className={index === 0 ? '' : 'u-marg-bottom--heavy'}>\n <div className=\"u-marg-bottom\" onClick={openExpandable}>\n <div className=\"u-flex u-marg-bottom align-items-center\">\n <Headline bold>\n {t(Translation.Misc.Room)} {index + 1}\n </Headline>\n {index !== 0 && <Icon icon={opens[index] ? IconType.ArrowDown2 : IconType.ArrowUp2} color={Color.Grey} />}\n </div>\n {basketRow && (\n <div className=\"u-marg-bottom\">\n <Text>\n <strong className=\"u-block@l-\">{basketRow.getRoom().name}</strong> for{' '}\n {StringHelper.pluralWithDictAndCount(basketRow.getAdults(), Translation.Step.Date.Adult, t)}\n {showChildren ? (\n <>\n ,&nbsp;\n {StringHelper.pluralWithDictAndCount(basketRow.getChildren(), Translation.Step.Date.Child, t)}\n </>\n ) : null}\n {hotel?.childConfiguration?.supportInfants ? (\n <>\n ,&nbsp;\n {StringHelper.pluralWithDictAndCount(basketRow.getInfants(), Translation.Step.Date.Infant, t)}\n </>\n ) : null}\n </Text>\n <div className=\"step-one-status--dates u-flex justify-content-start\">\n <Text type={TextType.Small} color={Color.Accent}>\n <strong>{basketRow.getStartDate().format('ddd, MMM D')}</strong>\n </Text>\n <Icon icon={IconType.ArrowRight2} size=\"18px\" />\n <Text type={TextType.Small} color={Color.Accent}>\n <strong>{basketRow.getEndDate().format('ddd, MMM D')}</strong>\n </Text>\n </div>\n </div>\n )}\n {renderError(index)}\n </div>\n <div className=\"room-contact-details--row\" style={{ maxHeight: opens[index] ? undefined : 0 }}>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Confirmation.ContactInfo)}</strong>\n </Text>\n </div>\n\n <InputGroup dimensions={GuestTitleFieldFeature.isActive() ? '1/2/2' : '2/2'}>\n {GuestTitleFieldFeature.isActive() && (\n <Controller\n control={control}\n name={padInputName(EUserProfileFormKey.Title)}\n rules={{ required: true }}\n render={({ field }) => {\n const { ref, ...rest } = field;\n\n return (\n <InputSelect\n keyName=\"value\"\n labelName=\"label\"\n options={GuestTitleFieldFeature.getTitleOptions()}\n placeholder={t(Translation.Step.Confirmation.Inputs.Title) + ' *'}\n required\n validationStatus={getValidationClass(EUserProfileFormKey.Title)}\n {...rest}\n />\n );\n }}\n />\n )}\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.Forename) + ' *'}\n wide\n required\n validationStatus={getValidationClass(EUserProfileFormKey.Forename)}\n {...register(padInputName(EUserProfileFormKey.Forename), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.Forename), 'Forename - Contact Info'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Forename) }),\n },\n })}\n />\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.Surname) + ' *'}\n wide\n required\n validationStatus={getValidationClass(EUserProfileFormKey.Surname)}\n {...register(padInputName(EUserProfileFormKey.Surname), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.Surname), 'Surname - Contact Info'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Surname) }),\n },\n })}\n />\n </InputGroup>\n\n <InputGroup dimensions=\"2/2\">\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.Email) + ' *'}\n wide\n validationStatus={getValidationClass(EUserProfileFormKey.Email)}\n required\n {...register(padInputName(EUserProfileFormKey.Email), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.Email), 'Email - Contact Info'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Email) }),\n },\n pattern: {\n value: EMAIL_REGEX,\n message: t(Translation.Step.Confirmation.Inputs.InvalidEmail),\n },\n })}\n />\n {E164PhoneNumberFieldFeature.isActive() ? (\n <Controller\n control={control}\n name={padInputName(EUserProfileFormKey.Phone)}\n rules={{\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Phone) }),\n },\n minLength: {\n value: 5,\n message: 'Phone number is required',\n },\n maxLength: {\n value: 17,\n message: 'Phone number is too long',\n },\n pattern: {\n value: /^[1-9]( |\\d){1,15}$/g,\n message: 'Incorrect phone number entered',\n },\n }}\n render={({ field }) => {\n return (\n <EnhancedPhoneNumberField\n disabled={isDisabled}\n validationStatus={getValidationClass(EUserProfileFormKey.Phone)}\n {...field}\n onChange={(e: any) => {\n field.onChange(e);\n onInputChange(padInputName(EUserProfileFormKey.Phone), 'Phone - Contact Info')(e);\n }}\n />\n );\n }}\n />\n ) : (\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.Phone) + ' *'}\n wide\n required\n validationStatus={getValidationClass(EUserProfileFormKey.Phone)}\n {...register(padInputName(EUserProfileFormKey.Phone), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.Phone), 'Phone - Contact Info'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Phone) }),\n },\n })}\n />\n )}\n </InputGroup>\n </div>\n <div className=\"\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Confirmation.Address)}</strong>\n </Text>\n </div>\n\n <InputGroup dimensions=\"3/1\">\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.Address) + ' *'}\n wide\n required\n validationStatus={getValidationClass(EUserProfileFormKey.Address)}\n {...register(padInputName(EUserProfileFormKey.Address), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.Address), 'Address - Address'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Address) }),\n },\n })}\n />\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.City) + ' *'}\n wide\n required\n validationStatus={getValidationClass(EUserProfileFormKey.City)}\n {...register(padInputName(EUserProfileFormKey.City), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.City), 'City - Address'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.City) }),\n },\n })}\n />\n </InputGroup>\n <InputGroup dimensions=\"2/2\">\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.PostCode) + ' *'}\n wide\n required\n validationStatus={getValidationClass(EUserProfileFormKey.PostCode)}\n {...register(padInputName(EUserProfileFormKey.PostCode), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.PostCode), 'PostCode - Address'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.PostCode) }),\n },\n })}\n />\n\n {includeStateField ? (\n // Render the State field here if it's required, otherwise render the Country field\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.State) + (stateFieldRequired ? ' *' : '')}\n wide\n required={stateFieldRequired}\n validationStatus={getValidationClass(EUserProfileFormKey.State)}\n {...register(padInputName(EUserProfileFormKey.State), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.State), 'State - Address'),\n required: {\n value: stateFieldRequired,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.State) }),\n },\n })}\n />\n ) : (\n countryInputField\n )}\n </InputGroup>\n\n {includeStateField && <InputGroup dimensions=\"1\">{countryInputField}</InputGroup>}\n </div>\n </div>\n {requiredInputs.length > 0 && (\n <div className=\"u-marg-top\">\n <div className=\"u-marg-top\">\n <InputGroup dimensions=\"2/2\">\n {requiredInputs.map((input) => {\n const options = input.options;\n return (\n <Controller\n key={input.id}\n control={control}\n name={padInputName(input.id as any)}\n rules={{ required: true }}\n render={({ field }) => {\n const { ref, ...rest } = field;\n\n return (\n <>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{input.name}</strong>\n </Text>\n </div>\n <InputSelect\n key={input.id}\n keyName={nameof<AuxiliaryFilterOption>('value')}\n labelName={nameof<AuxiliaryFilterOption>('label')}\n options={options}\n placeholder=\"Please Select *\"\n validationStatus={getValidationClass(input.id as any)}\n {...rest}\n />\n </>\n );\n }}\n />\n );\n })}\n </InputGroup>\n </div>\n </div>\n )}\n\n <CaptureChildAges hotel={hotel} numberOfChildrens={Number(basketRow.getChildren())} control={control} roomIndex={index} />\n </div>\n {fields.length > 1 && index === 0 ? (\n <div className=\"u-marg-bottom--heavy\">\n <Checkbox label={t(Translation.Step.Confirmation.ApplySameInfoToOtherRooms)} {...register('copyCheckBox')} />\n </div>\n ) : null}\n </div>\n );\n })}\n </>\n );\n};\n\nfunction chunkArray<T>(array: T[], chunkSize: number): T[][] {\n const result: T[][] = [];\n for (let i = 0; i < array.length; i += chunkSize) {\n result.push(array.slice(i, i + chunkSize));\n }\n return result;\n}\n\nconst CaptureChildAges = ({\n hotel,\n numberOfChildrens,\n control,\n roomIndex,\n}: {\n hotel: Hotel | undefined;\n numberOfChildrens: number;\n control: Control<ConfirmationFormValues, any>;\n roomIndex: number;\n}) => {\n if (!hotel?.captureChildAge || numberOfChildrens === 0) {\n return <></>;\n }\n const {\n formState: { errors },\n } = useFormContext<ConfirmationFormValues>();\n const ageOptions: { label: string; value: string }[] = [];\n const min = hotel?.childConfiguration?.childRange?.min || 0;\n const max = hotel?.childConfiguration?.childRange?.max || 0;\n for (let index = min; index <= max; index++) {\n ageOptions.push({ label: `${index}`, value: `${index}` });\n }\n const rootKey = `userProfiles[${roomIndex}].${nameof<TUserProfileFormValues>('CaptureChildAge')}`;\n const requiredInputs = Array.from({ length: numberOfChildrens }, (_, childIndex) => childIndex).map((childIndex) => ({\n name: `${rootKey}[${childIndex}]`,\n id: `${rootKey}[${childIndex}].id`,\n label: `Child ${childIndex + 1} Age`,\n childIndex: childIndex,\n }));\n const getValidationClass = (childIndex: number) => {\n if (!errors.userProfiles) return;\n if (errors.userProfiles?.[roomIndex]?.CaptureChildAge?.[childIndex]) {\n return 'error';\n } else {\n return 'success';\n }\n };\n const chunkInputs = chunkArray(requiredInputs, 3);\n\n return (\n <div className=\"u-marg-top\">\n {chunkInputs.map((chunkInput, chunkIndex) => {\n return (\n <InputGroup dimensions=\"1/1/1\" key={`InputGroup-${chunkIndex}`}>\n {chunkInput.map(({ id, name, label, childIndex }) => {\n return (\n <Controller\n key={id}\n control={control}\n name={name as any}\n rules={{ required: true }}\n render={({ field }) => {\n const { ref, ...rest } = field;\n return (\n <>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{label}</strong>\n </Text>\n </div>\n <InputSelect\n keyName=\"value\"\n labelName=\"label\"\n options={ageOptions}\n placeholder=\"Please Select *\"\n {...rest}\n validationStatus={getValidationClass(childIndex)}\n />\n </>\n );\n }}\n />\n );\n })}\n </InputGroup>\n );\n })}\n </div>\n );\n};\nexport default RoomContactDetails;\n"]}
1
+ {"version":3,"file":"RoomContactDetails.js","sourceRoot":"/","sources":["src/components/steps/confirmation/RoomContactDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, RoomstayMemberContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { EBookingPaymentMethod, EHotelStateFieldConfiguration, nameof } from '@roomstay/core';\nimport cloneDeep from 'lodash/cloneDeep';\nimport React, { FC, ReactElement, useContext, useEffect, useState } from 'react';\nimport { Control, Controller, FieldError, useFieldArray, useFormContext } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport Checkbox from '@/components/generic/Checkbox/Checkbox';\nimport EnhancedPhoneNumberField from '@/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField';\nimport Headline from '@/components/generic/Headline';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport InputGroup from '@/components/generic/InputGroup/InputGroup';\nimport { InputSelect } from '@/components/generic/Select';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextBox from '@/components/generic/TextBox';\nimport StepConfirmationCountrySelector from '@/components/steps/confirmation/StepConfirmationCountrySelector';\nimport { useSearchScopeHook } from '@/hooks/useSearchScopeHook';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\nimport { ConfirmationFormValues, EUserProfileFormKey, EUserRequiredInputFormKey, TUserProfileFormValues } from '@/models/Confirmation';\nimport E164PhoneNumberFieldFeature from '@/providers/feature/E164PhoneNumberFieldFeature';\nimport GuestTitleFieldFeature from '@/providers/feature/GuestTitleFieldFeature';\nimport { Color } from '@/util/Color';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nimport StringHelper from '@/util/StringHelper';\nimport { EMAIL_REGEX } from '@/util/Validation';\n\ntype AuxiliaryFilterSelect = {\n id: string;\n name: string;\n label: string;\n options: AuxiliaryFilterOption[];\n};\n\ntype AuxiliaryFilterOption = {\n label: string;\n value: string;\n};\n\nconst RoomContactDetails: FC = () => {\n const { register, formState, control, watch, getValues, setValue } = useFormContext<ConfirmationFormValues>();\n const basketContext = useContext(BasketContext);\n const basketRows = basketContext.getAllValidRows();\n const basketAddonRows = basketContext.basketAddonRows;\n const { hotel } = useCurrentHotel();\n\n const { update, fields } = useFieldArray({\n control,\n name: 'userProfiles',\n rules: {\n required: false,\n },\n });\n const [copyCheckBox, paymentMethod] = watch(['copyCheckBox', 'paymentMethod']);\n\n const errors = formState.errors;\n\n const { t } = useTranslation();\n const { roomstayMember: member } = useContext(RoomstayMemberContext);\n const { showChildren } = useSearchScopeHook();\n\n useEffect(() => {\n errors.userProfiles?.forEach?.((_, index) => {\n if (errors.userProfiles?.[index]) {\n opens[index] = true;\n }\n });\n setOpens(opens.slice(0));\n }, [errors.userProfiles, copyCheckBox]);\n\n useEffect(() => {\n const getDefaultValue = (index: number, potentialDefaultValue = '') => {\n return index === 0 ? potentialDefaultValue : '';\n };\n\n const userProfiles = basketRows.map((basketRow, index) => {\n const defaults = basketRow.checkoutDefaults;\n const addr = defaults?.Address;\n\n return {\n [EUserProfileFormKey.Title]: '', // TODO: Add this to @roomstay/core IRoomstayMember?\n [EUserProfileFormKey.Forename]: getDefaultValue(index, defaults?.FirstName ?? member?.forename),\n [EUserProfileFormKey.Surname]: getDefaultValue(index, defaults?.LastName ?? member?.surname),\n [EUserProfileFormKey.Email]: getDefaultValue(index, defaults?.Email ?? member?.email),\n [EUserProfileFormKey.Phone]: getDefaultValue(index, defaults?.Phone ?? member?.phoneNumber),\n [EUserProfileFormKey.Address]: getDefaultValue(index, addr?.Line1 ?? member?.address?.address),\n [EUserProfileFormKey.City]: getDefaultValue(index, addr?.City ?? member?.address?.city),\n [EUserProfileFormKey.PostCode]: getDefaultValue(index, addr?.PostalCode ?? member?.address?.zip),\n [EUserProfileFormKey.State]: getDefaultValue(index, addr?.State ?? member?.address?.state),\n [EUserProfileFormKey.Country]: getDefaultValue(index, addr?.Country ?? member?.address?.country),\n [EUserProfileFormKey.CountryId]: getDefaultValue(index, addr?.CountryId?.toString()),\n [EUserProfileFormKey.CountryCode]: getDefaultValue(index, addr?.CountryCode),\n [EUserRequiredInputFormKey.AuxInputs]: basketRow.auxiliaryFilter,\n };\n });\n setValue('userProfiles', userProfiles);\n setValue('copyCheckBox', !!(basketRows?.length && basketRows.length > 1));\n }, [member, basketRows?.length]);\n\n const padInputNameByRoomNumber = (name: EUserProfileFormKey, index: number) => `userProfiles.${index}.${name}` as const;\n\n const [opens, setOpens] = useState<boolean[]>(basketRows.map((basketRow, index) => index === 0));\n\n const copyUserProfileFormFields = (currentIndex: number) => {\n const values = cloneDeep(getValues(`userProfiles.0`));\n const currentValues = cloneDeep(getValues(`userProfiles.${currentIndex}`));\n\n // Exclude AuxInputs\n values[EUserRequiredInputFormKey.AuxInputs] = currentValues.AuxInputs;\n\n return values;\n };\n\n const onInputChange =\n (fieldName: string, interactionName: string) =>\n (event: any): void => {\n DataLayer.instance.sendInteraction(interactionName, InteractionType.FORM_FIELD, InteractionStep.GUEST_DETAILS);\n };\n\n useEffect(() => {\n if (copyCheckBox)\n fields.forEach((basketRow, index) => {\n if (index === 0) return;\n const values = copyUserProfileFormFields(index);\n update(index, values);\n });\n }, [copyCheckBox]);\n\n useEffect(() => {\n const { unsubscribe } = watch((allFields, { name, type }) => {\n if (type === 'change' && name?.includes('userProfiles') && name.split('.')[1] === '0' && allFields.copyCheckBox) {\n fields.map((field, index) => {\n if (index === 0) return;\n const values = copyUserProfileFormFields(index);\n update(index, values);\n });\n }\n });\n\n return () => {\n unsubscribe();\n };\n }, [fields]);\n\n useEffect(() => {\n DataLayer.instance.sendCheckoutView(basketRows, basketAddonRows);\n }, []);\n\n const setOpenByIndex = (index: number, value: boolean) => {\n opens.splice(index, 1, value);\n setOpens(opens.slice(0));\n };\n\n const renderError = (userProfileIndex: number): JSX.Element[] | null => {\n const userProfile = errors.userProfiles?.[userProfileIndex];\n\n if (userProfile && formState.submitCount >= 1 && (userProfileIndex === 0 || !copyCheckBox))\n return Object.values(userProfile).map((error, errorIndex) => {\n return (\n <AutoAutoHeight key={errorIndex} open>\n <div className=\"u-flex\">\n <Alert icon={IconType.Error} type={AlertType.Danger} noMargin={errorIndex === Object.keys(userProfile).length - 1}>\n <Text type={TextType.Small}>{(error as FieldError)?.message}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n );\n });\n\n return null;\n };\n\n return (\n <>\n {fields.map((field, index) => {\n const padInputName = (name: EUserProfileFormKey) => padInputNameByRoomNumber(name, index);\n const getValidationClass = (name: EUserProfileFormKey) => {\n if (!errors.userProfiles || (copyCheckBox && index >= 1)) return;\n if (errors.userProfiles[index]?.[name]) {\n return 'error';\n // Hack to get Aux Inputs to validate as well.\n } else if (errors.userProfiles[index]?.AuxInputs?.[name.replace('AuxInputs.', '')]) {\n return 'error';\n } else {\n return 'success';\n }\n };\n\n const openExpandable = () => {\n if (index !== 0) {\n setOpenByIndex(index, !opens[index]);\n }\n };\n\n const basketRow = basketRows[index];\n const currentRoom = basketRow.getRoom();\n const filterValue = basketRow.getAuxiliaryFilter();\n\n const isDisabled = (copyCheckBox && index >= 1) || paymentMethod === EBookingPaymentMethod.Planpay;\n\n const includeStateField =\n hotel?.stateFieldConfiguration === EHotelStateFieldConfiguration.Optional || hotel?.stateFieldConfiguration === EHotelStateFieldConfiguration.Required;\n const stateFieldRequired = hotel?.stateFieldConfiguration === EHotelStateFieldConfiguration.Required;\n\n // Build list of auxiliary inputs the user is required to complete\n const roomGroup = hotel?.roomGroups?.find(({ id }) => id === currentRoom.roomGroupId);\n const requiredInputs: AuxiliaryFilterSelect[] = [];\n\n for (const inputKey of Object.keys(roomGroup?.filters ?? {})) {\n const input = roomGroup?.filters[inputKey];\n const values = currentRoom?.auxiliaryValues?.[inputKey]?.map((value) => value.toString());\n\n if (input?.requireInput && values) {\n // Reduce available options to those assigned to the room\n const options = input.options.filter((option) => {\n if (values.includes(option.value.toString())) {\n return option;\n }\n });\n\n const requiredInputId = `${nameof<TUserProfileFormValues>('AuxInputs')}.${inputKey}`;\n\n if (options.length === 1) {\n setValue(padInputName(requiredInputId as any), options[0].value as never);\n } else if (filterValue?.[inputKey]) {\n setValue(padInputName(requiredInputId as any), filterValue[inputKey] as never);\n }\n\n // Convert options to format acceptable by the input\n requiredInputs.push({\n id: requiredInputId,\n name: input.name,\n label: input.name,\n options: options.map((option: any) => {\n return { label: option.label, value: option.value };\n }),\n });\n }\n }\n\n // The Country input field will be included in different places, depending on whether the State field is enabled or not.\n const countryInputField = (\n <Controller\n control={control}\n name={padInputName(EUserProfileFormKey.Country)}\n rules={{\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Country) }),\n },\n }}\n render={({ field }) => {\n const { ref, onChange, ...rest } = field;\n return (\n <StepConfirmationCountrySelector\n disabled={isDisabled}\n validationStatus={getValidationClass(EUserProfileFormKey.Country)}\n onChange={(e) => {\n onChange(e);\n onInputChange(padInputName(EUserProfileFormKey.Country), 'Country - Address')(e);\n }}\n onChangeId={(id) => {\n setValue(padInputName(EUserProfileFormKey.CountryId), id as never); // Hack to make CountryID be set...\n }}\n onChangeCode={(code) => {\n setValue(padInputName(EUserProfileFormKey.CountryCode), code as never); // Hack to make CountryID be set...\n }}\n {...rest}\n />\n );\n }}\n />\n );\n\n return (\n <div key={field.id}>\n <div className={index === 0 ? '' : 'u-marg-bottom--heavy'}>\n <div className=\"u-marg-bottom\" onClick={openExpandable}>\n <div className=\"u-flex u-marg-bottom align-items-center\">\n <Headline bold>\n {t(Translation.Misc.Room)} {index + 1}\n </Headline>\n {index !== 0 && <Icon icon={opens[index] ? IconType.ArrowDown2 : IconType.ArrowUp2} color={Color.Grey} />}\n </div>\n {basketRow && (\n <div className=\"u-marg-bottom\">\n <Text>\n <strong className=\"u-block@l-\">{basketRow.getRoom().name}</strong> for{' '}\n {StringHelper.pluralWithDictAndCount(basketRow.getAdults(), Translation.Step.Date.Adult, t)}\n {showChildren ? (\n <>\n ,&nbsp;\n {StringHelper.pluralWithDictAndCount(basketRow.getChildren(), Translation.Step.Date.Child, t)}\n </>\n ) : null}\n {hotel?.childConfiguration?.supportInfants ? (\n <>\n ,&nbsp;\n {StringHelper.pluralWithDictAndCount(basketRow.getInfants(), Translation.Step.Date.Infant, t)}\n </>\n ) : null}\n </Text>\n <div className=\"step-one-status--dates u-flex justify-content-start\">\n <Text type={TextType.Small} color={Color.Accent}>\n <strong>{basketRow.getStartDate().format('ddd, MMM D')}</strong>\n </Text>\n <Icon icon={IconType.ArrowRight2} size=\"18px\" />\n <Text type={TextType.Small} color={Color.Accent}>\n <strong>{basketRow.getEndDate().format('ddd, MMM D')}</strong>\n </Text>\n </div>\n </div>\n )}\n {renderError(index)}\n </div>\n <div className=\"room-contact-details--row\" style={{ maxHeight: opens[index] ? undefined : 0 }}>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Confirmation.ContactInfo)}</strong>\n </Text>\n </div>\n\n <InputGroup dimensions={GuestTitleFieldFeature.isActive() ? '1/2/2' : '2/2'}>\n {GuestTitleFieldFeature.isActive() && (\n <Controller\n control={control}\n name={padInputName(EUserProfileFormKey.Title)}\n rules={{ required: true }}\n render={({ field }) => {\n const { ref, ...rest } = field;\n\n return (\n <InputSelect\n keyName=\"value\"\n labelName=\"label\"\n options={GuestTitleFieldFeature.getTitleOptions()}\n placeholder={t(Translation.Step.Confirmation.Inputs.Title) + ' *'}\n required\n validationStatus={getValidationClass(EUserProfileFormKey.Title)}\n {...rest}\n />\n );\n }}\n />\n )}\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.Forename) + ' *'}\n wide\n required\n validationStatus={getValidationClass(EUserProfileFormKey.Forename)}\n {...register(padInputName(EUserProfileFormKey.Forename), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.Forename), 'Forename - Contact Info'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Forename) }),\n },\n })}\n />\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.Surname) + ' *'}\n wide\n required\n validationStatus={getValidationClass(EUserProfileFormKey.Surname)}\n {...register(padInputName(EUserProfileFormKey.Surname), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.Surname), 'Surname - Contact Info'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Surname) }),\n },\n })}\n />\n </InputGroup>\n\n <InputGroup dimensions=\"2/2\">\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.Email) + ' *'}\n wide\n validationStatus={getValidationClass(EUserProfileFormKey.Email)}\n required\n {...register(padInputName(EUserProfileFormKey.Email), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.Email), 'Email - Contact Info'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Email) }),\n },\n pattern: {\n value: EMAIL_REGEX,\n message: t(Translation.Step.Confirmation.Inputs.InvalidEmail),\n },\n })}\n />\n {E164PhoneNumberFieldFeature.isActive() ? (\n <Controller\n control={control}\n name={padInputName(EUserProfileFormKey.Phone)}\n rules={{\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Phone) }),\n },\n minLength: {\n value: 5,\n message: 'Phone number is required',\n },\n maxLength: {\n value: 17,\n message: 'Phone number is too long',\n },\n pattern: {\n value: /^[1-9]( |\\d){1,15}$/g,\n message: 'Incorrect phone number entered',\n },\n }}\n render={({ field }) => {\n return (\n <EnhancedPhoneNumberField\n disabled={isDisabled}\n validationStatus={getValidationClass(EUserProfileFormKey.Phone)}\n {...field}\n onChange={(e: any) => {\n field.onChange(e);\n onInputChange(padInputName(EUserProfileFormKey.Phone), 'Phone - Contact Info')(e);\n }}\n />\n );\n }}\n />\n ) : (\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.Phone) + ' *'}\n wide\n required\n validationStatus={getValidationClass(EUserProfileFormKey.Phone)}\n {...register(padInputName(EUserProfileFormKey.Phone), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.Phone), 'Phone - Contact Info'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Phone) }),\n },\n })}\n />\n )}\n </InputGroup>\n </div>\n <div className=\"\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Confirmation.Address)}</strong>\n </Text>\n </div>\n\n <InputGroup dimensions=\"3/1\">\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.Address) + ' *'}\n wide\n required\n validationStatus={getValidationClass(EUserProfileFormKey.Address)}\n {...register(padInputName(EUserProfileFormKey.Address), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.Address), 'Address - Address'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.Address) }),\n },\n })}\n />\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.City) + ' *'}\n wide\n required\n validationStatus={getValidationClass(EUserProfileFormKey.City)}\n {...register(padInputName(EUserProfileFormKey.City), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.City), 'City - Address'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.City) }),\n },\n })}\n />\n </InputGroup>\n <InputGroup dimensions=\"2/2\">\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.PostCode) + ' *'}\n wide\n required\n validationStatus={getValidationClass(EUserProfileFormKey.PostCode)}\n {...register(padInputName(EUserProfileFormKey.PostCode), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.PostCode), 'PostCode - Address'),\n required: {\n value: true,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.PostCode) }),\n },\n })}\n />\n\n {includeStateField ? (\n // Render the State field here if it's required, otherwise render the Country field\n <TextBox\n inputProps={{\n disabled: isDisabled,\n }}\n placeholder={t(Translation.Step.Confirmation.Inputs.State) + (stateFieldRequired ? ' *' : '')}\n wide\n required={stateFieldRequired}\n validationStatus={getValidationClass(EUserProfileFormKey.State)}\n {...register(padInputName(EUserProfileFormKey.State), {\n onChange: onInputChange(padInputName(EUserProfileFormKey.State), 'State - Address'),\n required: {\n value: stateFieldRequired,\n message: t(Translation.Step.Confirmation.Inputs.Required, { field: t(Translation.Step.Confirmation.Inputs.State) }),\n },\n })}\n />\n ) : (\n countryInputField\n )}\n </InputGroup>\n\n {includeStateField && <InputGroup dimensions=\"1\">{countryInputField}</InputGroup>}\n </div>\n </div>\n {requiredInputs.length > 0 && (\n <div className=\"u-marg-top\">\n <div className=\"u-marg-top\">\n <InputGroup dimensions=\"2/2\">\n {requiredInputs.map((input) => {\n const options = input.options;\n return (\n <Controller\n key={input.id}\n control={control}\n name={padInputName(input.id as any)}\n rules={{ required: true }}\n render={({ field }) => {\n const { ref, ...rest } = field;\n\n return (\n <>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{input.name}</strong>\n </Text>\n </div>\n <InputSelect\n key={input.id}\n keyName={nameof<AuxiliaryFilterOption>('value')}\n labelName={nameof<AuxiliaryFilterOption>('label')}\n options={options}\n placeholder=\"Please Select *\"\n validationStatus={getValidationClass(input.id as any)}\n {...rest}\n />\n </>\n );\n }}\n />\n );\n })}\n </InputGroup>\n </div>\n </div>\n )}\n\n <CaptureChildAges hotel={hotel} numberOfChildrens={Number(basketRow.getChildren())} control={control} roomIndex={index} />\n </div>\n {fields.length > 1 && index === 0 ? (\n <div className=\"u-marg-bottom--heavy\">\n <Checkbox label={t(Translation.Step.Confirmation.ApplySameInfoToOtherRooms)} {...register('copyCheckBox')} />\n </div>\n ) : null}\n </div>\n );\n })}\n </>\n );\n};\n\nfunction chunkArray<T>(array: T[], chunkSize: number): T[][] {\n const result: T[][] = [];\n for (let i = 0; i < array.length; i += chunkSize) {\n result.push(array.slice(i, i + chunkSize));\n }\n return result;\n}\n\nconst CaptureChildAges = ({\n hotel,\n numberOfChildrens,\n control,\n roomIndex,\n}: {\n hotel: Hotel | undefined;\n numberOfChildrens: number;\n control: Control<ConfirmationFormValues, any>;\n roomIndex: number;\n}) => {\n if (!hotel?.captureChildAge || numberOfChildrens === 0) {\n return <></>;\n }\n const {\n formState: { errors },\n } = useFormContext<ConfirmationFormValues>();\n const ageOptions: { label: string; value: string }[] = [];\n const min = hotel?.childConfiguration?.childRange?.min || 0;\n const max = hotel?.childConfiguration?.childRange?.max || 0;\n for (let index = min; index <= max; index++) {\n ageOptions.push({ label: `${index}`, value: `${index}` });\n }\n const rootKey = `userProfiles[${roomIndex}].${nameof<TUserProfileFormValues>('CaptureChildAge')}`;\n const requiredInputs = Array.from({ length: numberOfChildrens }, (_, childIndex) => childIndex).map((childIndex) => ({\n name: `${rootKey}[${childIndex}]`,\n id: `${rootKey}[${childIndex}].id`,\n label: `Child ${childIndex + 1} Age`,\n childIndex: childIndex,\n }));\n const getValidationClass = (childIndex: number) => {\n if (!errors.userProfiles) return;\n if (errors.userProfiles?.[roomIndex]?.CaptureChildAge?.[childIndex]) {\n return 'error';\n } else {\n return 'success';\n }\n };\n const chunkInputs = chunkArray(requiredInputs, 3);\n\n return (\n <div className=\"u-marg-top\">\n {chunkInputs.map((chunkInput, chunkIndex) => {\n return (\n <InputGroup dimensions=\"1/1/1\" key={`InputGroup-${chunkIndex}`}>\n {chunkInput.map(({ id, name, label, childIndex }) => {\n return (\n <Controller\n key={id}\n control={control}\n name={name as any}\n rules={{ required: true }}\n render={({ field }) => {\n const { ref, ...rest } = field;\n return (\n <>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{label}</strong>\n </Text>\n </div>\n <InputSelect\n keyName=\"value\"\n labelName=\"label\"\n options={ageOptions}\n placeholder=\"Please Select *\"\n {...rest}\n validationStatus={getValidationClass(childIndex)}\n />\n </>\n );\n }}\n />\n );\n })}\n </InputGroup>\n );\n })}\n </div>\n );\n};\nexport default RoomContactDetails;\n"]}
@@ -42,19 +42,18 @@ function StepConfirmationAcknowledgement() {
42
42
  const { t } = (0, react_i18next_1.useTranslation)();
43
43
  const { hotel } = (0, hooks_1.useCurrentHotel)();
44
44
  const { register, formState } = (0, react_hook_form_1.useFormContext)();
45
- return (react_1.default.createElement("div", { className: "rs-step-confirmation-acks" },
46
- react_1.default.createElement("div", { className: "u-marg-bottom rs-step-confirmation-acks-headline" },
45
+ return (react_1.default.createElement(react_1.default.Fragment, null,
46
+ react_1.default.createElement("div", { className: "u-marg-bottom" },
47
47
  react_1.default.createElement(Headline_1.default, { bold: true }, t(Translation_1.Translation.Step.Confirmation.Acknowledgement))),
48
- react_1.default.createElement("div", { className: "rs-confirmation-acks-checklist" },
49
- react_1.default.createElement("div", null,
50
- react_1.default.createElement(Checkbox_1.default, Object.assign({ label: t(Translation_1.Translation.Step.Confirmation.EmailSpecialOffers) }, register('marketingOptIn', {})))),
51
- react_1.default.createElement("div", { className: "u-marg-top--light" },
52
- react_1.default.createElement(Checkbox_1.default, Object.assign({}, register('privacyPolicy', { required: true }), { label: react_1.default.createElement("div", null,
53
- t(Translation_1.Translation.Step.Confirmation.IHaveUnderstoodPrivacyPolicy),
54
- ' ',
55
- react_1.default.createElement("a", { style: { color: Color_1.Color.Accent }, className: "--underlined", href: hotel === null || hotel === void 0 ? void 0 : hotel.privacyPolicyUrl, target: "_blank", rel: "noreferrer" }, t(Translation_1.Translation.Step.Confirmation.PrivacyPolicy))) })))),
48
+ react_1.default.createElement("div", null,
49
+ react_1.default.createElement(Checkbox_1.default, Object.assign({ label: t(Translation_1.Translation.Step.Confirmation.EmailSpecialOffers) }, register('marketingOptIn', {})))),
50
+ react_1.default.createElement("div", { className: "u-marg-top--light" },
51
+ react_1.default.createElement(Checkbox_1.default, Object.assign({}, register('privacyPolicy', { required: true }), { label: react_1.default.createElement("div", null,
52
+ t(Translation_1.Translation.Step.Confirmation.IHaveUnderstoodPrivacyPolicy),
53
+ ' ',
54
+ react_1.default.createElement("a", { style: { color: Color_1.Color.Accent }, className: "--underlined", href: hotel === null || hotel === void 0 ? void 0 : hotel.privacyPolicyUrl, target: "_blank", rel: "noreferrer" }, t(Translation_1.Translation.Step.Confirmation.PrivacyPolicy))) }))),
56
55
  react_1.default.createElement(AutoAutoHeight_1.default, { open: !!formState.errors['privacyPolicy'] },
57
- react_1.default.createElement("div", { className: "u-flex u-marg-top rs-confirmation-acks-alert" },
56
+ react_1.default.createElement("div", { className: "u-flex u-marg-top" },
58
57
  react_1.default.createElement(Alert_1.default, { type: Alert_1.AlertType.Danger, icon: Icon_1.IconType.Error },
59
58
  react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small }, t(Translation_1.Translation.Step.Confirmation.PrivacyPolicyError)))))));
60
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StepConfirmationAcknowledgement.js","sourceRoot":"/","sources":["src/components/steps/confirmation/StepConfirmationAcknowledgement.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,kDAA0B;AAC1B,qDAAiD;AACjD,iDAA+C;AAE/C,iFAAyD;AACzD,oEAA8D;AAC9D,sFAA8D;AAC9D,6EAAqD;AACrD,yDAA0D;AAC1D,kEAA2D;AAE3D,4DAAyD;AACzD,wCAAqC;AAErC,SAAwB,+BAA+B;IACnD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACpC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAA,gCAAc,GAA0B,CAAC;IAEzE,OAAO,CACH,uCAAK,SAAS,EAAC,2BAA2B;QACtC,uCAAK,SAAS,EAAC,kDAAkD;YAC7D,8BAAC,kBAAQ,IAAC,IAAI,UAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAY,CAC1E;QACN,uCAAK,SAAS,EAAC,gCAAgC;YAC3C;gBACI,8BAAC,kBAAQ,kBAAC,KAAK,EAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAM,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAAI,CAC1G;YACN,uCAAK,SAAS,EAAC,mBAAmB;gBAC9B,8BAAC,kBAAQ,oBACD,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IACjD,KAAK,EACD;wBACK,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC;wBAAE,GAAG;wBACnE,qCAAG,KAAK,EAAE,EAAE,KAAK,EAAE,aAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAC,cAAc,EAAC,IAAI,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,IACtH,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAC/C,CACF,IAEZ,CACA,CACJ;QACN,8BAAC,wBAAc,IAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;YACrD,uCAAK,SAAS,EAAC,8CAA8C;gBACzD,8BAAC,eAAK,IAAC,IAAI,EAAE,iBAAS,CAAC,MAAM,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK;oBAC/C,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAQ,CACpF,CACN,CACO,CACf,CACT,CAAC;AACN,CAAC;AAtCD,kDAsCC","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport React from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport Checkbox from '@/components/generic/Checkbox/Checkbox';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { ConfirmationFormValues } from '@/models/Confirmation';\nimport { Translation } from '@/translations/Translation';\nimport { Color } from '@/util/Color';\n\nexport default function StepConfirmationAcknowledgement() {\n const { t } = useTranslation();\n\n const { hotel } = useCurrentHotel();\n const { register, formState } = useFormContext<ConfirmationFormValues>();\n\n return (\n <div className=\"rs-step-confirmation-acks\">\n <div className=\"u-marg-bottom rs-step-confirmation-acks-headline\">\n <Headline bold>{t(Translation.Step.Confirmation.Acknowledgement)}</Headline>\n </div>\n <div className=\"rs-confirmation-acks-checklist\">\n <div>\n <Checkbox label={t(Translation.Step.Confirmation.EmailSpecialOffers)} {...register('marketingOptIn', {})} />\n </div>\n <div className=\"u-marg-top--light\">\n <Checkbox\n {...register('privacyPolicy', { required: true })}\n label={\n <div>\n {t(Translation.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)}{' '}\n <a style={{ color: Color.Accent }} className=\"--underlined\" href={hotel?.privacyPolicyUrl} target=\"_blank\" rel=\"noreferrer\">\n {t(Translation.Step.Confirmation.PrivacyPolicy)}\n </a>\n </div>\n }\n />\n </div>\n </div>\n <AutoAutoHeight open={!!formState.errors['privacyPolicy']}>\n <div className=\"u-flex u-marg-top rs-confirmation-acks-alert\">\n <Alert type={AlertType.Danger} icon={IconType.Error}>\n <Text type={TextType.Small}>{t(Translation.Step.Confirmation.PrivacyPolicyError)}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"StepConfirmationAcknowledgement.js","sourceRoot":"/","sources":["src/components/steps/confirmation/StepConfirmationAcknowledgement.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,kDAA0B;AAC1B,qDAAiD;AACjD,iDAA+C;AAE/C,iFAAyD;AACzD,oEAA8D;AAC9D,sFAA8D;AAC9D,6EAAqD;AACrD,yDAA0D;AAC1D,kEAA2D;AAE3D,4DAAyD;AACzD,wCAAqC;AAErC,SAAwB,+BAA+B;IACnD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACpC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAA,gCAAc,GAA0B,CAAC;IAEzE,OAAO,CACH;QACI,uCAAK,SAAS,EAAC,eAAe;YAC1B,8BAAC,kBAAQ,IAAC,IAAI,UAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAY,CAC1E;QACN;YACI,8BAAC,kBAAQ,kBAAC,KAAK,EAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAM,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAAI,CAC1G;QACN,uCAAK,SAAS,EAAC,mBAAmB;YAC9B,8BAAC,kBAAQ,oBACD,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IACjD,KAAK,EACD;oBACK,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC;oBAAE,GAAG;oBACnE,qCAAG,KAAK,EAAE,EAAE,KAAK,EAAE,aAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAC,cAAc,EAAC,IAAI,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,IACtH,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAC/C,CACF,IAEZ,CACA;QACN,8BAAC,wBAAc,IAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;YACrD,uCAAK,SAAS,EAAC,mBAAmB;gBAC9B,8BAAC,eAAK,IAAC,IAAI,EAAE,iBAAS,CAAC,MAAM,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK;oBAC/C,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAQ,CACpF,CACN,CACO,CAClB,CACN,CAAC;AACN,CAAC;AApCD,kDAoCC","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport React from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport Checkbox from '@/components/generic/Checkbox/Checkbox';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { ConfirmationFormValues } from '@/models/Confirmation';\nimport { Translation } from '@/translations/Translation';\nimport { Color } from '@/util/Color';\n\nexport default function StepConfirmationAcknowledgement() {\n const { t } = useTranslation();\n\n const { hotel } = useCurrentHotel();\n const { register, formState } = useFormContext<ConfirmationFormValues>();\n\n return (\n <>\n <div className=\"u-marg-bottom\">\n <Headline bold>{t(Translation.Step.Confirmation.Acknowledgement)}</Headline>\n </div>\n <div>\n <Checkbox label={t(Translation.Step.Confirmation.EmailSpecialOffers)} {...register('marketingOptIn', {})} />\n </div>\n <div className=\"u-marg-top--light\">\n <Checkbox\n {...register('privacyPolicy', { required: true })}\n label={\n <div>\n {t(Translation.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)}{' '}\n <a style={{ color: Color.Accent }} className=\"--underlined\" href={hotel?.privacyPolicyUrl} target=\"_blank\" rel=\"noreferrer\">\n {t(Translation.Step.Confirmation.PrivacyPolicy)}\n </a>\n </div>\n }\n />\n </div>\n <AutoAutoHeight open={!!formState.errors['privacyPolicy']}>\n <div className=\"u-flex u-marg-top\">\n <Alert type={AlertType.Danger} icon={IconType.Error}>\n <Text type={TextType.Small}>{t(Translation.Step.Confirmation.PrivacyPolicyError)}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n </>\n );\n}\n"]}
@@ -37,7 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  const ConfirmationStepContext_1 = require("contexts/ConfirmationStepContext/ConfirmationStepContext");
39
39
  const HistoryConsistentPush_1 = require("hooks/HistoryConsistentPush");
40
- const react_1 = __importStar(require("react"));
40
+ const react_1 = __importDefault(require("react"));
41
41
  const react_hook_form_1 = require("react-hook-form");
42
42
  const react_i18next_1 = require("react-i18next");
43
43
  const Translation_1 = require("translations/Translation");
@@ -56,19 +56,15 @@ const PaymentInformation_1 = __importDefault(require("./PaymentInformation"));
56
56
  const RoomContactDetails_1 = __importDefault(require("./RoomContactDetails"));
57
57
  const StepConfirmationAcknowledgement_1 = __importDefault(require("./StepConfirmationAcknowledgement"));
58
58
  const StepConfirmationCommentsComponent_1 = require("./StepConfirmationCommentsComponent");
59
- const StepConfirmationImportantInformation_1 = __importDefault(require("./StepConfirmationImportantInformation"));
60
59
  const StepConfirmationPoliciesSection_1 = __importDefault(require("./StepConfirmationPoliciesSection"));
61
60
  const StepConfirmationPolicyBlock_1 = __importDefault(require("./StepConfirmationPolicyBlock"));
62
- const ConfirmationImportantInformationFeature_1 = __importDefault(require("../../../providers/feature/ConfirmationImportantInformationFeature"));
63
61
  const ConfirmationVerifyFeature_1 = __importDefault(require("../../../providers/feature/ConfirmationVerifyFeature"));
64
62
  const ShowIATANumberOnCheckoutFeature_1 = __importDefault(require("../../../providers/feature/ShowIATANumberOnCheckoutFeature"));
65
63
  const Color_1 = require("../../../util/Color");
66
64
  const GetStepRoom_1 = __importDefault(require("../../../util/GetStepRoom"));
67
65
  const usePaymentHelper_1 = require("../../../util/usePaymentHelper");
68
66
  function StepConfirmationForm() {
69
- var _a, _b;
70
- const [confirmationImportantInformationError, setConfirmationImportantInformationError] = (0, react_1.useState)(false);
71
- const confirmationImportantInformation = (0, react_1.useRef)(null);
67
+ var _a;
72
68
  const { t } = (0, react_i18next_1.useTranslation)();
73
69
  const methods = (0, react_hook_form_1.useFormContext)();
74
70
  const { isInPaymentMode, isBackFromPlanpay, bookingSource } = (0, ConfirmationStepContext_1.useConfirmationStep)();
@@ -116,9 +112,6 @@ function StepConfirmationForm() {
116
112
  react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Success },
117
113
  react_1.default.createElement("strong", null, t(Translation_1.Translation.Step.Confirmation.Secured))))),
118
114
  react_1.default.createElement(SSLSecureBadge_1.default, null))),
119
- ConfirmationImportantInformationFeature_1.default.isActive() && (react_1.default.createElement(react_1.default.Fragment, null,
120
- react_1.default.createElement(LineBreak_1.default, null),
121
- react_1.default.createElement(StepConfirmationImportantInformation_1.default, { ref: confirmationImportantInformation, confirmationError: confirmationImportantInformationError, withCheckbox: !!((_a = ConfirmationImportantInformationFeature_1.default.getOptions()) === null || _a === void 0 ? void 0 : _a.withCheckbox) }))),
122
115
  react_1.default.createElement(LineBreak_1.default, null))),
123
116
  react_1.default.createElement(StepConfirmationPoliciesSection_1.default, null),
124
117
  react_1.default.createElement("div", { className: "u-pad-top--light u-marg-bottom" },
@@ -130,8 +123,8 @@ function StepConfirmationForm() {
130
123
  return (react_1.default.createElement("form", null, isBackFromPlanpay ? (react_1.default.createElement(LargeLoader_1.default, null)) : (react_1.default.createElement(react_1.default.Fragment, null,
131
124
  react_1.default.createElement(AutoAutoHeight_1.default, { open: !exclusivePayment || !isInPaymentMode }, prePaymentInfo),
132
125
  exclusivePayment && (react_1.default.createElement(AutoAutoHeight_1.default, { open: isInPaymentMode },
133
- react_1.default.createElement(ScrollToTop_1.default, null), (_b = exclusivePayment.renderPaymentInput) === null || _b === void 0 ? void 0 :
134
- _b.call(exclusivePayment)))))));
126
+ react_1.default.createElement(ScrollToTop_1.default, null), (_a = exclusivePayment.renderPaymentInput) === null || _a === void 0 ? void 0 :
127
+ _a.call(exclusivePayment)))))));
135
128
  }
136
129
  exports.default = StepConfirmationForm;
137
130
  //# sourceMappingURL=StepConfirmationForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepConfirmationForm.js","sourceRoot":"/","sources":["src/components/steps/confirmation/StepConfirmationForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useConfirmationStep } from 'contexts/ConfirmationStepContext/ConfirmationStepContext';\nimport { useHistoryConsistentPush } from 'hooks/HistoryConsistentPush';\nimport React, { useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport SSLSecureBadge from '@/components/generic/badging/SSLSecureBadge';\nimport BEButton from '@/components/generic/BEButton';\nimport Headline from '@/components/generic/Headline';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport ScrollToTop from '@/components/generic/ScrollToTop';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextBox from '@/components/generic/TextBox';\nimport PaymentInformation from '@/components/steps/confirmation/PaymentInformation';\nimport RoomContactDetails from '@/components/steps/confirmation/RoomContactDetails';\nimport StepConfirmationAcknowledgement from '@/components/steps/confirmation/StepConfirmationAcknowledgement';\nimport { StepConfirmationCommentsComponent } from '@/components/steps/confirmation/StepConfirmationCommentsComponent';\nimport StepConfirmationImportantInformation from '@/components/steps/confirmation/StepConfirmationImportantInformation';\nimport StepConfirmationPoliciesSection from '@/components/steps/confirmation/StepConfirmationPoliciesSection';\nimport StepConfirmationPolicyBlock from '@/components/steps/confirmation/StepConfirmationPolicyBlock';\nimport { ConfirmationFormValues } from '@/models/Confirmation';\nimport ConfirmationImportantInformationFeature from '@/providers/feature/ConfirmationImportantInformationFeature';\nimport ConfirmationVerifyFeature from '@/providers/feature/ConfirmationVerifyFeature';\nimport ShowIATANumberOnCheckoutFeature from '@/providers/feature/ShowIATANumberOnCheckoutFeature';\nimport { Color } from '@/util/Color';\nimport getStepRoom from '@/util/GetStepRoom';\nimport { usePaymentHelper } from '@/util/usePaymentHelper';\n\nexport default function StepConfirmationForm() {\n const [confirmationImportantInformationError, setConfirmationImportantInformationError] = useState(false);\n const confirmationImportantInformation = useRef<HTMLInputElement | null>(null);\n const { t } = useTranslation();\n\n const methods = useFormContext<ConfirmationFormValues>();\n const { isInPaymentMode, isBackFromPlanpay, bookingSource } = useConfirmationStep();\n\n const historyConsistentPush = useHistoryConsistentPush();\n\n const { exclusivePayment } = usePaymentHelper();\n\n const returnToPickRooms = async () => {\n historyConsistentPush(getStepRoom().getStepUrl());\n };\n\n const prePaymentInfo = (\n <>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Headline bold>{t(Translation.Step.Confirmation.GuestDetails)}</Headline>\n </div>\n <Text type={TextType.Small} color={Color.Success}>\n <strong>{t(Translation.Step.Confirmation.AlmostDone, { required: '*' })}</strong>\n </Text>\n </div>\n <RoomContactDetails />\n {bookingSource === 'inline' ? (\n <Alert type={AlertType.Accent2} heavyPadding>\n <div className=\"u-flex u-w-100 flex-wrap flex-xl-nowrap\">\n <div>\n <Text color={Color.Accent} bold>\n {t(Translation.Step.Confirmation.WantMoreRooms)}\n </Text>\n <Text color={Color.Navy}>{t(Translation.Step.Confirmation.YouCanAddAndEditRooms)}</Text>\n </div>\n <div className=\"d-flex align-items-center u-marg-top@xl-\">\n <BEButton filled primary icon={IconType.Add} iconPosition=\"left\" onClick={returnToPickRooms}>\n {t(Translation.Step.Confirmation.AddMoreRooms)}\n </BEButton>\n </div>\n </div>\n </Alert>\n ) : (\n <></>\n )}\n {ShowIATANumberOnCheckoutFeature.isActive() && (\n <>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom\">\n <Headline bold>{t(Translation.Step.Confirmation.TravelAgent)}</Headline>\n </div>\n\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Confirmation.Inputs.IATANumber)}</strong>\n </Text>\n </div>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>{t(Translation.Step.Confirmation.Inputs.IATANumberGuide)}</Text>\n </div>\n <TextBox placeholder={t(Translation.Step.Confirmation.Inputs.IATANumber)} wide {...methods.register('IATANumber')} />\n </div>\n <LineBreak />\n </>\n )}\n <StepConfirmationCommentsComponent />\n <LineBreak />\n {!exclusivePayment && (\n <>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom\">\n <Headline bold>{t(Translation.Navigation.Menu.PaymentInformation)}</Headline>\n </div>\n\n <PaymentInformation />\n <div className=\"u-marg-top u-flex align-items-center\">\n <div className=\"u-flex align-items-center justify-content-start\">\n <Icon icon={IconType.Lock} color={Color.Success} />\n <div className=\"u-marg-left--light\">\n <Text type={TextType.Small} color={Color.Success}>\n <strong>{t(Translation.Step.Confirmation.Secured)}</strong>\n </Text>\n </div>\n </div>\n <SSLSecureBadge />\n </div>\n </div>\n {ConfirmationImportantInformationFeature.isActive() && (\n <>\n <LineBreak />\n <StepConfirmationImportantInformation\n ref={confirmationImportantInformation}\n confirmationError={confirmationImportantInformationError}\n withCheckbox={!!ConfirmationImportantInformationFeature.getOptions()?.withCheckbox}\n />\n </>\n )}\n <LineBreak />\n </>\n )}\n <StepConfirmationPoliciesSection />\n <div className=\"u-pad-top--light u-marg-bottom\">\n <StepConfirmationPolicyBlock />\n </div>\n {ConfirmationVerifyFeature.isActive() && (\n <>\n <LineBreak />\n <div>\n <StepConfirmationAcknowledgement />\n </div>\n </>\n )}\n </>\n );\n\n return (\n <form>\n {isBackFromPlanpay ? (\n <LargeLoader />\n ) : (\n <>\n <AutoAutoHeight open={!exclusivePayment || !isInPaymentMode}>{prePaymentInfo}</AutoAutoHeight>\n {exclusivePayment && (\n <AutoAutoHeight open={isInPaymentMode}>\n <ScrollToTop />\n {exclusivePayment.renderPaymentInput?.()}\n </AutoAutoHeight>\n )}\n </>\n )}\n </form>\n );\n}\n"]}
1
+ {"version":3,"file":"StepConfirmationForm.js","sourceRoot":"/","sources":["src/components/steps/confirmation/StepConfirmationForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useConfirmationStep } from 'contexts/ConfirmationStepContext/ConfirmationStepContext';\nimport { useHistoryConsistentPush } from 'hooks/HistoryConsistentPush';\nimport React from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport SSLSecureBadge from '@/components/generic/badging/SSLSecureBadge';\nimport BEButton from '@/components/generic/BEButton';\nimport Headline from '@/components/generic/Headline';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport ScrollToTop from '@/components/generic/ScrollToTop';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextBox from '@/components/generic/TextBox';\nimport PaymentInformation from '@/components/steps/confirmation/PaymentInformation';\nimport RoomContactDetails from '@/components/steps/confirmation/RoomContactDetails';\nimport StepConfirmationAcknowledgement from '@/components/steps/confirmation/StepConfirmationAcknowledgement';\nimport { StepConfirmationCommentsComponent } from '@/components/steps/confirmation/StepConfirmationCommentsComponent';\nimport StepConfirmationPoliciesSection from '@/components/steps/confirmation/StepConfirmationPoliciesSection';\nimport StepConfirmationPolicyBlock from '@/components/steps/confirmation/StepConfirmationPolicyBlock';\nimport { ConfirmationFormValues } from '@/models/Confirmation';\nimport ConfirmationVerifyFeature from '@/providers/feature/ConfirmationVerifyFeature';\nimport ShowIATANumberOnCheckoutFeature from '@/providers/feature/ShowIATANumberOnCheckoutFeature';\nimport { Color } from '@/util/Color';\nimport getStepRoom from '@/util/GetStepRoom';\nimport { usePaymentHelper } from '@/util/usePaymentHelper';\n\nexport default function StepConfirmationForm() {\n const { t } = useTranslation();\n\n const methods = useFormContext<ConfirmationFormValues>();\n const { isInPaymentMode, isBackFromPlanpay, bookingSource } = useConfirmationStep();\n\n const historyConsistentPush = useHistoryConsistentPush();\n\n const { exclusivePayment } = usePaymentHelper();\n\n const returnToPickRooms = async () => {\n historyConsistentPush(getStepRoom().getStepUrl());\n };\n\n const prePaymentInfo = (\n <>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Headline bold>{t(Translation.Step.Confirmation.GuestDetails)}</Headline>\n </div>\n <Text type={TextType.Small} color={Color.Success}>\n <strong>{t(Translation.Step.Confirmation.AlmostDone, { required: '*' })}</strong>\n </Text>\n </div>\n <RoomContactDetails />\n {bookingSource === 'inline' ? (\n <Alert type={AlertType.Accent2} heavyPadding>\n <div className=\"u-flex u-w-100 flex-wrap flex-xl-nowrap\">\n <div>\n <Text color={Color.Accent} bold>\n {t(Translation.Step.Confirmation.WantMoreRooms)}\n </Text>\n <Text color={Color.Navy}>{t(Translation.Step.Confirmation.YouCanAddAndEditRooms)}</Text>\n </div>\n <div className=\"d-flex align-items-center u-marg-top@xl-\">\n <BEButton filled primary icon={IconType.Add} iconPosition=\"left\" onClick={returnToPickRooms}>\n {t(Translation.Step.Confirmation.AddMoreRooms)}\n </BEButton>\n </div>\n </div>\n </Alert>\n ) : (\n <></>\n )}\n {ShowIATANumberOnCheckoutFeature.isActive() && (\n <>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom\">\n <Headline bold>{t(Translation.Step.Confirmation.TravelAgent)}</Headline>\n </div>\n\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Confirmation.Inputs.IATANumber)}</strong>\n </Text>\n </div>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>{t(Translation.Step.Confirmation.Inputs.IATANumberGuide)}</Text>\n </div>\n <TextBox placeholder={t(Translation.Step.Confirmation.Inputs.IATANumber)} wide {...methods.register('IATANumber')} />\n </div>\n <LineBreak />\n </>\n )}\n <StepConfirmationCommentsComponent />\n <LineBreak />\n {!exclusivePayment && (\n <>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom\">\n <Headline bold>{t(Translation.Navigation.Menu.PaymentInformation)}</Headline>\n </div>\n\n <PaymentInformation />\n <div className=\"u-marg-top u-flex align-items-center\">\n <div className=\"u-flex align-items-center justify-content-start\">\n <Icon icon={IconType.Lock} color={Color.Success} />\n <div className=\"u-marg-left--light\">\n <Text type={TextType.Small} color={Color.Success}>\n <strong>{t(Translation.Step.Confirmation.Secured)}</strong>\n </Text>\n </div>\n </div>\n <SSLSecureBadge />\n </div>\n </div>\n <LineBreak />\n </>\n )}\n <StepConfirmationPoliciesSection />\n <div className=\"u-pad-top--light u-marg-bottom\">\n <StepConfirmationPolicyBlock />\n </div>\n {ConfirmationVerifyFeature.isActive() && (\n <>\n <LineBreak />\n <div>\n <StepConfirmationAcknowledgement />\n </div>\n </>\n )}\n </>\n );\n\n return (\n <form>\n {isBackFromPlanpay ? (\n <LargeLoader />\n ) : (\n <>\n <AutoAutoHeight open={!exclusivePayment || !isInPaymentMode}>{prePaymentInfo}</AutoAutoHeight>\n {exclusivePayment && (\n <AutoAutoHeight open={isInPaymentMode}>\n <ScrollToTop />\n {exclusivePayment.renderPaymentInput?.()}\n </AutoAutoHeight>\n )}\n </>\n )}\n </form>\n );\n}\n"]}
@@ -135,7 +135,7 @@ const AvailableUpgradesModal = () => {
135
135
  // TODO: RE-2211 - Look to refactor globally how we're loading the quote details to account for all other changes.
136
136
  // This is a workaround to force the quote details to be reloaded
137
137
  if (hotel === null || hotel === void 0 ? void 0 : hotel.requireDeposit) {
138
- basketContext.quoteOrPencilReservation(() => true);
138
+ basketContext.getBasketQuoteDetails(() => true);
139
139
  }
140
140
  closeModal();
141
141
  }