@roomstay/frontend 2.7.0 → 2.9.0

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 (165) hide show
  1. package/dist/177.bundle.js +1 -1
  2. package/dist/279.bundle.js +1 -1
  3. package/dist/288.bundle.js +1 -1
  4. package/dist/370.bundle.js +1 -1
  5. package/dist/449.bundle.js +1 -1
  6. package/dist/537.bundle.js +1 -1
  7. package/dist/596.bundle.js +1 -0
  8. package/dist/625.bundle.js +1 -1
  9. package/dist/686.bundle.js +1 -1
  10. package/dist/836.bundle.js +1 -1
  11. package/dist/978.bundle.js +1 -1
  12. package/dist/main.bundle.js +1 -1
  13. package/dist/src/api/AvailabilityAPI.d.ts +21 -4
  14. package/dist/src/api/AvailabilityAPI.js +84 -0
  15. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  16. package/dist/src/api/BaseAPI.d.ts +1 -0
  17. package/dist/src/api/BaseAPI.js +1 -0
  18. package/dist/src/api/BaseAPI.js.map +1 -1
  19. package/dist/src/components/generic/Alert.d.ts +13 -5
  20. package/dist/src/components/generic/Alert.js +7 -1
  21. package/dist/src/components/generic/Alert.js.map +1 -1
  22. package/dist/src/components/generic/AuxiliaryFilterControls/AuxiliaryFilterControls.d.ts +11 -0
  23. package/dist/src/components/generic/AuxiliaryFilterControls/AuxiliaryFilterControls.js +24 -0
  24. package/dist/src/components/generic/AuxiliaryFilterControls/AuxiliaryFilterControls.js.map +1 -0
  25. package/dist/src/components/generic/Currency.js +5 -30
  26. package/dist/src/components/generic/Currency.js.map +1 -1
  27. package/dist/src/components/generic/RecentSearchesCard.js +4 -2
  28. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  29. package/dist/src/components/generic/date/DatePicker.d.ts +5 -0
  30. package/dist/src/components/generic/date/DatePicker.js +2 -1
  31. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  32. package/dist/src/components/generic/map/BEHotelLocationMapBlock.d.ts +4 -0
  33. package/dist/src/components/generic/map/{HotelLocationMap.js → BEHotelLocationMapBlock.js} +10 -3
  34. package/dist/src/components/generic/map/BEHotelLocationMapBlock.js.map +1 -0
  35. package/dist/src/components/reservation/ReservationItem.js +3 -2
  36. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  37. package/dist/src/components/steps/DaysSelectedInformer.js +6 -4
  38. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  39. package/dist/src/components/steps/confirmation/RoomContactDetails.js +32 -24
  40. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  41. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +8 -6
  42. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  43. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +16 -0
  44. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  45. package/dist/src/components/steps/date/BEPeoplePickerBlock.d.ts +4 -0
  46. package/dist/src/components/steps/date/{PeoplePicker.js → BEPeoplePickerBlock.js} +10 -3
  47. package/dist/src/components/steps/date/BEPeoplePickerBlock.js.map +1 -0
  48. package/dist/src/components/steps/date/StepOneDateRange.js +5 -3
  49. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  50. package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +2 -1
  51. package/dist/src/components/steps/date/StepOneDateRangePicker.js +3 -3
  52. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  53. package/dist/src/components/steps/hotel/HotelCard.js +1 -7
  54. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  55. package/dist/src/components/steps/hotel/HotelCardModal.js +1 -1
  56. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  57. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +65 -59
  58. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
  59. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +4 -3
  60. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
  61. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +4 -3
  62. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  63. package/dist/src/components/steps/room/roomDetails/AuxiliaryPickerModal/AuxiliaryPickerModal.d.ts +17 -0
  64. package/dist/src/components/steps/room/roomDetails/AuxiliaryPickerModal/AuxiliaryPickerModal.js +117 -0
  65. package/dist/src/components/steps/room/roomDetails/AuxiliaryPickerModal/AuxiliaryPickerModal.js.map +1 -0
  66. package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +0 -1
  67. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +9 -2
  68. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  69. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +0 -1
  70. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +1 -4
  71. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  72. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +0 -1
  73. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +2 -11
  74. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  75. package/dist/src/components/summary/BEMobileSummary.js +3 -2
  76. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  77. package/dist/src/components/summary/BEMobileSummaryModal.js +12 -5
  78. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  79. package/dist/src/components/summary/BESummary.js +17 -4
  80. package/dist/src/components/summary/BESummary.js.map +1 -1
  81. package/dist/src/components/summary/BESummaryAddonRow.js +2 -1
  82. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  83. package/dist/src/components/summary/BESummaryRoomRow.js +3 -2
  84. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  85. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +2 -1
  86. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  87. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +9 -4
  88. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  89. package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.d.ts +14 -5
  90. package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.js.map +1 -1
  91. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  92. package/dist/src/contexts/CompanyContext/CompanyContextType.type.d.ts +1 -1
  93. package/dist/src/contexts/CompanyContext/CompanyContextType.type.js.map +1 -1
  94. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +39 -25
  95. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  96. package/dist/src/contexts/HotelOverridesContext.js +4 -0
  97. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  98. package/dist/src/hooks/AutoFocusOnSelect.d.ts +11 -1
  99. package/dist/src/hooks/AutoFocusOnSelect.js +7 -7
  100. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
  101. package/dist/src/hooks/Currency.d.ts +25 -1
  102. package/dist/src/hooks/Currency.js +50 -5
  103. package/dist/src/hooks/Currency.js.map +1 -1
  104. package/dist/src/hooks/index.d.ts +1 -0
  105. package/dist/src/hooks/index.js +1 -0
  106. package/dist/src/hooks/index.js.map +1 -1
  107. package/dist/src/hooks/useAreaAvailability.d.ts +10 -1
  108. package/dist/src/hooks/useAreaAvailability.js +67 -30
  109. package/dist/src/hooks/useAreaAvailability.js.map +1 -1
  110. package/dist/src/hooks/useAuxiliaryFilters.d.ts +8 -0
  111. package/dist/src/hooks/useAuxiliaryFilters.js +55 -0
  112. package/dist/src/hooks/useAuxiliaryFilters.js.map +1 -0
  113. package/dist/src/hooks/useGuestDateFormat.d.ts +11 -0
  114. package/dist/src/hooks/useGuestDateFormat.js +22 -0
  115. package/dist/src/hooks/useGuestDateFormat.js.map +1 -0
  116. package/dist/src/index.d.ts +9 -9
  117. package/dist/src/index.js +17 -10
  118. package/dist/src/index.js.map +1 -1
  119. package/dist/src/models/Api/HotelDTO.d.ts +1 -0
  120. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  121. package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -0
  122. package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
  123. package/dist/src/models/BasketRow.d.ts +6 -11
  124. package/dist/src/models/BasketRow.js +4 -4
  125. package/dist/src/models/BasketRow.js.map +1 -1
  126. package/dist/src/pages/findReservation/ReservationRow.js +3 -2
  127. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  128. package/dist/src/pages/findReservation/ReservationRowModal.js +5 -4
  129. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  130. package/dist/src/pages/hotel/HotelInfo.js +3 -3
  131. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  132. package/dist/src/pages/steps/StepDate/StepDateComponent.js +15 -9
  133. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  134. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +1 -3
  135. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  136. package/dist/src/pages/steps/StepThanks/StepThanksComponent.d.ts +2 -0
  137. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +8 -1
  138. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  139. package/dist/src/providers/CurrencyProvider.js +1 -1
  140. package/dist/src/providers/CurrencyProvider.js.map +1 -1
  141. package/dist/src/providers/FilterProvider.d.ts +4 -0
  142. package/dist/src/providers/FilterProvider.js +12 -0
  143. package/dist/src/providers/FilterProvider.js.map +1 -1
  144. package/dist/src/providers/RoomstayThemeEngine.js +2 -0
  145. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  146. package/dist/src/providers/feature/StepDateNextButtonAboveDatepickerFeature.d.ts +13 -1
  147. package/dist/src/providers/feature/StepDateNextButtonAboveDatepickerFeature.js +20 -0
  148. package/dist/src/providers/feature/StepDateNextButtonAboveDatepickerFeature.js.map +1 -1
  149. package/dist/src/translations/Translation.d.ts +13 -0
  150. package/dist/src/translations/Translation.js +13 -0
  151. package/dist/src/translations/Translation.js.map +1 -1
  152. package/dist/src/translations/languages/en-gb.js +13 -0
  153. package/dist/src/translations/languages/en-gb.js.map +1 -1
  154. package/dist/src/util/CurrencyHelper.js +1 -1
  155. package/dist/src/util/CurrencyHelper.js.map +1 -1
  156. package/dist/test.bundle.js +1 -1
  157. package/dist/tests/offline/entry/config/hotelSpecDefault.js +2 -2
  158. package/dist/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
  159. package/dist/vendors.bundle.js +1 -1
  160. package/package.json +2 -2
  161. package/dist/422.bundle.js +0 -1
  162. package/dist/src/components/generic/map/HotelLocationMap.d.ts +0 -2
  163. package/dist/src/components/generic/map/HotelLocationMap.js.map +0 -1
  164. package/dist/src/components/steps/date/PeoplePicker.d.ts +0 -2
  165. package/dist/src/components/steps/date/PeoplePicker.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Currency.js","sourceRoot":"/","sources":["src/hooks/Currency.ts"],"names":[],"mappings":"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","sourcesContent":["import { useContext, useEffect, useMemo, useState } from 'react';\n\nimport { CompanyContext } from '@/contexts';\nimport { useCurrentHotel } from '@/hooks/CurrentHotelHook';\nimport CurrencyProvider from '@/providers/CurrencyProvider';\n\nexport interface UseCurrencyProps {\n removeCurrencyAfterChar?: number;\n shortenThousandsAfter?: number;\n\n children: any;\n\n hideDecimals?: boolean;\n\n disableLocalization?: boolean;\n disableLoading?: boolean;\n\n originalCurrencyCode?: string;\n}\n\nconst useCurrency = (props: UseCurrencyProps) => {\n const { currentCurrency } = useContext(CompanyContext);\n const { hotel } = useCurrentHotel();\n\n const [value, setValue] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n\n const toLocalString = (original: number, toFixed?: boolean) => {\n if (props.disableLocalization) {\n return original;\n }\n\n if (original) {\n return original.toLocaleString(undefined, { minimumFractionDigits: toFixed ? 2 : 0 });\n }\n\n return original;\n };\n\n useEffect(() => {\n let isCancelled = false;\n\n setIsLoading(true);\n setTimeout(\n () => {\n if (!isCancelled) {\n setIsLoading(false);\n\n if (isNaN(props.children)) {\n setValue(props.children);\n } else {\n const totalValue = CurrencyProvider.convertPrice(\n props.children,\n !props.hideDecimals,\n currentCurrency,\n props.originalCurrencyCode ?? (hotel?.defaultCurrency as string)\n );\n\n if (!isCancelled) {\n setValue(totalValue);\n }\n }\n }\n },\n props.disableLoading ? 0 : 200\n );\n\n return () => {\n setIsLoading(false);\n isCancelled = true;\n };\n }, [props.children, currentCurrency, props.originalCurrencyCode, CurrencyProvider.getRatesForCurrencyCode(props.originalCurrencyCode ?? (hotel?.defaultCurrency as string))]);\n\n return useMemo(() => {\n const stringVal = props.disableLocalization ? value.toString() : value?.toLocaleString();\n\n let symbol = CurrencyProvider.getSymbol(currentCurrency);\n if (props.removeCurrencyAfterChar) {\n const priceLength = String(value).length;\n if (priceLength + symbol.length > props.removeCurrencyAfterChar) {\n symbol = CurrencyProvider.getShortSymbol(currentCurrency);\n if (priceLength + symbol.length > props.removeCurrencyAfterChar) {\n symbol = '';\n }\n }\n }\n\n let prettyValue = toLocalString(value, !(props.hideDecimals || typeof value !== 'number'));\n\n if (props.shortenThousandsAfter && props.shortenThousandsAfter <= String(value).length && props.hideDecimals) {\n prettyValue = stringVal.substring(0, stringVal.length - 3) + '…';\n }\n\n return {\n isLoading,\n symbol,\n prettyValue,\n value,\n };\n }, [value, isLoading]);\n};\n\nexport default useCurrency;\n"]}
1
+ {"version":3,"file":"Currency.js","sourceRoot":"/","sources":["src/hooks/Currency.ts"],"names":[],"mappings":"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","sourcesContent":["import { useContext, useEffect, useMemo, useState } from 'react';\n\nimport { CompanyContext, HotelOverridesContext } from '@/contexts';\nimport { useCurrentHotel } from '@/hooks/CurrentHotelHook';\nimport CurrencyProvider from '@/providers/CurrencyProvider';\n\nexport interface UseCurrencyProps {\n removeCurrencyAfterChar?: number;\n shortenThousandsAfter?: number;\n\n children: any;\n\n hideDecimals?: boolean;\n\n disableLocalization?: boolean;\n disableLoading?: boolean;\n\n fromCurrencyCode?: string;\n toCurrencyCode?: string;\n}\n\nexport type UseCurrencyDisplayProps = UseCurrencyProps & {\n forceHideDecimals?: boolean;\n};\n\n/**\n * Public hook for displaying a converted, formatted currency value.\n *\n * Resolves decimal visibility by reconciling the caller's `hideDecimals`\n * prop with the hotel-level `alwaysShowDecimals` override from\n * `HotelOverridesContext`, then delegates to the internal `useCurrency` hook.\n *\n * @param props - See {@link UseCurrencyDisplayProps}\n * @returns `{ isLoading, symbol, prettyValue, value }` — see `useCurrency`\n *\n * @example\n * const { symbol, prettyValue } = useCurrencyDisplay({ children: 1200, hideDecimals: true });\n * // → { symbol: '$', prettyValue: '1,200' }\n */\nexport const useCurrencyDisplay = (props: UseCurrencyDisplayProps) => {\n const { hideDecimals, forceHideDecimals, ...rest } = props;\n const hotelOverridesContext = useContext(HotelOverridesContext);\n\n const hideEntryDecimals = useMemo(() => {\n // First we check if decimals must absolutely not be displayed\n if (forceHideDecimals === true) {\n return true;\n }\n\n // Then we check if the API overrides the default currency display state\n if (hotelOverridesContext.alwaysShowDecimals === true) {\n return false;\n }\n\n // Then we rely on how developers origally intened the UI to funciton.\n return hideDecimals;\n }, [forceHideDecimals, hideDecimals, hotelOverridesContext.alwaysShowDecimals]);\n return useCurrency({ ...rest, hideDecimals: hideEntryDecimals });\n};\n\nconst useCurrency = (props: UseCurrencyProps) => {\n const { currentCurrency } = useContext(CompanyContext);\n const { hotel } = useCurrentHotel();\n const toCurrencyCode = props.toCurrencyCode ? props.toCurrencyCode : currentCurrency;\n const fromCurrencyCode = props.fromCurrencyCode ?? (hotel?.defaultCurrency as string);\n const [value, setValue] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n\n const toLocalString = (original: number, toFixed?: boolean) => {\n if (props.disableLocalization) {\n return original;\n }\n\n if (original) {\n return original.toLocaleString(undefined, { minimumFractionDigits: toFixed ? 2 : 0 });\n }\n\n return original;\n };\n\n useEffect(() => {\n let isCancelled = false;\n\n setIsLoading(true);\n setTimeout(\n () => {\n if (!isCancelled) {\n setIsLoading(false);\n\n if (isNaN(props.children)) {\n setValue(props.children);\n } else {\n const totalValue = CurrencyProvider.convertPrice(props.children, !props.hideDecimals, toCurrencyCode, fromCurrencyCode);\n\n if (!isCancelled) {\n setValue(totalValue);\n }\n }\n }\n },\n props.disableLoading ? 0 : 200\n );\n\n return () => {\n setIsLoading(false);\n isCancelled = true;\n };\n }, [props.children, props.hideDecimals, toCurrencyCode, fromCurrencyCode, CurrencyProvider.getRatesForCurrencyCode(fromCurrencyCode)]);\n\n return useMemo(() => {\n const stringVal = props.disableLocalization ? value.toString() : value?.toLocaleString();\n\n let symbol = CurrencyProvider.getSymbol(toCurrencyCode);\n if (props.removeCurrencyAfterChar) {\n const priceLength = String(value).length;\n if (priceLength + symbol.length > props.removeCurrencyAfterChar) {\n symbol = CurrencyProvider.getShortSymbol(toCurrencyCode);\n if (priceLength + symbol.length > props.removeCurrencyAfterChar) {\n symbol = '';\n }\n }\n }\n\n let prettyValue = toLocalString(value, !(props.hideDecimals || typeof value !== 'number'));\n\n if (props.shortenThousandsAfter && props.shortenThousandsAfter <= String(value).length && props.hideDecimals) {\n prettyValue = stringVal.substring(0, stringVal.length - 3) + '…';\n }\n\n return {\n isLoading,\n symbol,\n prettyValue,\n value,\n };\n }, [value, isLoading]);\n};\n\nexport default useCurrency;\n"]}
@@ -5,3 +5,4 @@ export * from './EventHook';
5
5
  export * from './LoggedInUserHook';
6
6
  export * from './ScrollFocusHook';
7
7
  export * from './useCalendarNightStay';
8
+ export * from './useGuestDateFormat';
@@ -21,4 +21,5 @@ __exportStar(require("./EventHook"), exports);
21
21
  __exportStar(require("./LoggedInUserHook"), exports);
22
22
  __exportStar(require("./ScrollFocusHook"), exports);
23
23
  __exportStar(require("./useCalendarNightStay"), exports);
24
+ __exportStar(require("./useGuestDateFormat"), exports);
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,2DAAyC;AACzC,0DAAwC;AACxC,oDAAkC;AAClC,2DAAyC;AACzC,0DAAwC;AACxC,+DAA6C","sourcesContent":["export * from '@/hooks/BodyClickHook';\nexport * from '@/hooks/CurrentHotelHook';\nexport * from '@/hooks/ElementSortHook';\nexport * from '@/hooks/EventHook';\nexport * from '@/hooks/LoggedInUserHook';\nexport * from '@/hooks/ScrollFocusHook';\nexport * from '@/hooks/useCalendarNightStay';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,2DAAyC;AACzC,0DAAwC;AACxC,oDAAkC;AAClC,2DAAyC;AACzC,0DAAwC;AACxC,+DAA6C;AAC7C,6DAA2C","sourcesContent":["export * from '@/hooks/BodyClickHook';\nexport * from '@/hooks/CurrentHotelHook';\nexport * from '@/hooks/ElementSortHook';\nexport * from '@/hooks/EventHook';\nexport * from '@/hooks/LoggedInUserHook';\nexport * from '@/hooks/ScrollFocusHook';\nexport * from '@/hooks/useCalendarNightStay';\nexport * from '@/hooks/useGuestDateFormat';\n"]}
@@ -1,2 +1,11 @@
1
+ import { AuxiliaryFilterSelections } from '../contexts/index.js';
2
+ import { AuxiliaryFilterSelectsProps } from '../components/generic/AuxiliaryFilterControls/AuxiliaryFilterControls';
1
3
  import { Room } from '../models/Room/Room';
2
- export declare const useAreaAvailability: (room?: Room) => boolean;
4
+ import { RoomRate } from '../models/Room/RoomRate';
5
+ export declare const useAreaAvailability: (room: Room, groupFilters: AuxiliaryFilterSelectsProps["groupFilters"]) => {
6
+ handleBookNow: (rate: RoomRate) => Promise<void>;
7
+ handleAuxiliaryUpdate: (selections: AuxiliaryFilterSelections) => Promise<boolean>;
8
+ auxiliaryPickerOpen: boolean;
9
+ auxiliaryPickerShowError: boolean;
10
+ setAuxiliaryPickerOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
11
+ };
@@ -1,42 +1,79 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.useAreaAvailability = void 0;
4
13
  const contexts_1 = require("../contexts/index.js");
5
14
  const react_1 = require("react");
6
15
  const index_1 = require("../index");
7
- const useAreaAvailability = (room) => {
8
- var _a;
9
- const { hotel } = (0, index_1.useCurrentHotel)();
16
+ const useAuxiliaryFilters_1 = require("./useAuxiliaryFilters");
17
+ const useAreaAvailability = (room, groupFilters) => {
18
+ const context = (0, react_1.useContext)(contexts_1.BookingEngineContext);
10
19
  const basketContext = (0, react_1.useContext)(contexts_1.BasketContext);
11
- const beContext = (0, react_1.useContext)(contexts_1.BookingEngineContext);
12
- // By default, we assume the room is available.
13
- const [isAvailable, setIsAvailable] = (0, react_1.useState)(true);
14
- const selectedBasketRow = (_a = basketContext.selectedBasketRow) !== null && _a !== void 0 ? _a : basketContext.currentBasketRows[0];
20
+ const { hotel } = (0, index_1.useCurrentHotel)();
21
+ const { applyAuxiliaryFilterSelections } = (0, useAuxiliaryFilters_1.useAuxiliaryFilters)();
22
+ const [auxiliaryPickerOpen, setAuxiliaryPickerOpen] = (0, react_1.useState)(false);
23
+ const [auxiliaryPickerShowError, setAuxiliaryPickerShowError] = (0, react_1.useState)(false);
24
+ const [pendingRate, setPendingRate] = (0, react_1.useState)(null);
25
+ const groupFilterIds = Object.keys(groupFilters || {});
26
+ const currentGroupedRoomFiltersRef = (0, react_1.useRef)(context.currentGroupedRoomFilters);
15
27
  (0, react_1.useEffect)(() => {
16
- var _a;
17
- let isCancelled = false;
18
- setIsAvailable(true);
19
- const roomCode = room === null || room === void 0 ? void 0 : room.code;
20
- if ((hotel === null || hotel === void 0 ? void 0 : hotel.checkAreaAvailabilityOnRoomStep) && roomCode) {
21
- // Find the room group that this room belongs to
22
- const roomGroup = (_a = hotel.roomGroups) === null || _a === void 0 ? void 0 : _a.find((group) => group.id === (room === null || room === void 0 ? void 0 : room.roomGroupId));
23
- // Get the filter IDs that belong to this room group
24
- const roomGroupFilterIds = (roomGroup === null || roomGroup === void 0 ? void 0 : roomGroup.filters) ? Object.keys(roomGroup.filters) : [];
25
- // Filter to only include filters that belong to this room's room group
26
- const applicableFilters = Object.fromEntries(Object.entries(beContext.currentGroupedRoomFilters).filter(([id]) => {
27
- return roomGroupFilterIds.includes(id);
28
- }));
29
- index_1.API.Availability.fetchAreaAvailability(selectedBasketRow, hotel.hotelID, applicableFilters).then((areaAvailability) => {
30
- if (!isCancelled && areaAvailability[roomCode] === 0) {
31
- setIsAvailable(false);
32
- }
33
- });
28
+ currentGroupedRoomFiltersRef.current = context.currentGroupedRoomFilters;
29
+ }, [context.currentGroupedRoomFilters]);
30
+ const getSelectedRow = () => { var _a, _b; return (_a = basketContext.selectedBasketRow) !== null && _a !== void 0 ? _a : (_b = basketContext.currentBasketRows) === null || _b === void 0 ? void 0 : _b[0]; };
31
+ const checkAvailabilityAndBook = (rate, selections) => __awaiter(void 0, void 0, void 0, function* () {
32
+ const row = getSelectedRow();
33
+ if (!row || !room.code || !(hotel === null || hotel === void 0 ? void 0 : hotel.hotelID))
34
+ return false;
35
+ const applicableFilters = Object.fromEntries(Object.entries(selections).filter(([id]) => groupFilterIds.includes(id)));
36
+ const availability = yield index_1.API.Availability.fetchAreaAvailability(row, hotel.hotelID, applicableFilters);
37
+ const isAvailable = !!availability[room.code];
38
+ if (!isAvailable)
39
+ return false;
40
+ applyAuxiliaryFilterSelections(Object.assign(Object.assign({}, currentGroupedRoomFiltersRef.current), selections), groupFilters);
41
+ yield basketContext.addRate(rate, true, applicableFilters);
42
+ return true;
43
+ });
44
+ const handleBookNow = (rate) => __awaiter(void 0, void 0, void 0, function* () {
45
+ const latestFilters = currentGroupedRoomFiltersRef.current;
46
+ if (!(hotel === null || hotel === void 0 ? void 0 : hotel.checkAreaAvailabilityOnRoomStep)) {
47
+ yield basketContext.addRate(rate, true, latestFilters);
48
+ return;
49
+ }
50
+ const hasUnselectedRequired = Object.entries(groupFilters).some(([id, f]) => f.requireSelection && !latestFilters[id]);
51
+ const noFiltersSelected = groupFilterIds.length > 0 && Object.keys(latestFilters).length === 0;
52
+ if (hasUnselectedRequired || noFiltersSelected) {
53
+ setPendingRate(rate);
54
+ setAuxiliaryPickerShowError(false);
55
+ setAuxiliaryPickerOpen(true);
56
+ return;
57
+ }
58
+ const available = yield checkAvailabilityAndBook(rate, latestFilters);
59
+ if (!available) {
60
+ setPendingRate(rate);
61
+ setAuxiliaryPickerShowError(true);
62
+ setAuxiliaryPickerOpen(true);
34
63
  }
35
- return () => {
36
- isCancelled = true;
37
- };
38
- }, [selectedBasketRow, beContext.currentGroupedRoomFilters, hotel, room]);
39
- return isAvailable;
64
+ });
65
+ const handleAuxiliaryUpdate = (selections) => __awaiter(void 0, void 0, void 0, function* () {
66
+ if (!pendingRate)
67
+ return false;
68
+ return checkAvailabilityAndBook(pendingRate, selections);
69
+ });
70
+ return {
71
+ handleBookNow,
72
+ handleAuxiliaryUpdate,
73
+ auxiliaryPickerOpen,
74
+ auxiliaryPickerShowError,
75
+ setAuxiliaryPickerOpen,
76
+ };
40
77
  };
41
78
  exports.useAreaAvailability = useAreaAvailability;
42
79
  //# sourceMappingURL=useAreaAvailability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAreaAvailability.js","sourceRoot":"/","sources":["src/hooks/useAreaAvailability.ts"],"names":[],"mappings":";;;AAAA,iDAAyE;AACzE,iCAAwD;AAExD,mCAA+C;AAGxC,MAAM,mBAAmB,GAAG,CAAC,IAAW,EAAE,EAAE;;IAC/C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACpC,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAU,IAAI,CAAC,CAAC;IAE9D,MAAM,iBAAiB,GAAG,MAAA,aAAa,CAAC,iBAAiB,mCAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAEhG,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACX,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,MAAM,QAAQ,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC;QAE5B,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,+BAA+B,KAAI,QAAQ,EAAE,CAAC;YACrD,gDAAgD;YAChD,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,UAAU,0CAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAA,CAAC,CAAC;YAEpF,oDAAoD;YACpD,MAAM,kBAAkB,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEpF,uEAAuE;YACvE,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAChE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC,CACL,CAAC;YAEF,WAAG,CAAC,YAAY,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE;gBAClH,IAAI,CAAC,WAAW,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnD,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,GAAG,EAAE;YACR,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,yBAAyB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1E,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AA3CW,QAAA,mBAAmB,uBA2C9B","sourcesContent":["import { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { useContext, useEffect, useState } from 'react';\n\nimport { API, useCurrentHotel } from '@/index';\nimport { Room } from '@/models/Room/Room';\n\nexport const useAreaAvailability = (room?: Room) => {\n const { hotel } = useCurrentHotel();\n const basketContext = useContext(BasketContext);\n const beContext = useContext(BookingEngineContext);\n\n // By default, we assume the room is available.\n const [isAvailable, setIsAvailable] = useState<boolean>(true);\n\n const selectedBasketRow = basketContext.selectedBasketRow ?? basketContext.currentBasketRows[0];\n\n useEffect(() => {\n let isCancelled = false;\n setIsAvailable(true);\n\n const roomCode = room?.code;\n\n if (hotel?.checkAreaAvailabilityOnRoomStep && roomCode) {\n // Find the room group that this room belongs to\n const roomGroup = hotel.roomGroups?.find((group) => group.id === room?.roomGroupId);\n\n // Get the filter IDs that belong to this room group\n const roomGroupFilterIds = roomGroup?.filters ? Object.keys(roomGroup.filters) : [];\n\n // Filter to only include filters that belong to this room's room group\n const applicableFilters = Object.fromEntries(\n Object.entries(beContext.currentGroupedRoomFilters).filter(([id]) => {\n return roomGroupFilterIds.includes(id);\n })\n );\n\n API.Availability.fetchAreaAvailability(selectedBasketRow, hotel.hotelID, applicableFilters).then((areaAvailability) => {\n if (!isCancelled && areaAvailability[roomCode] === 0) {\n setIsAvailable(false);\n }\n });\n }\n\n return () => {\n isCancelled = true;\n };\n }, [selectedBasketRow, beContext.currentGroupedRoomFilters, hotel, room]);\n\n return isAvailable;\n};\n"]}
1
+ {"version":3,"file":"useAreaAvailability.js","sourceRoot":"/","sources":["src/hooks/useAreaAvailability.ts"],"names":[],"mappings":"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","sourcesContent":["import { AreaAvailability, AuxiliaryFilterSelections, BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { useContext, useEffect, useRef, useState } from 'react';\n\nimport { AuxiliaryFilterSelectsProps } from '@/components/generic/AuxiliaryFilterControls/AuxiliaryFilterControls';\nimport { API, useCurrentHotel } from '@/index';\nimport { Room } from '@/models/Room/Room';\nimport { RoomRate } from '@/models/Room/RoomRate';\n\nimport { useAuxiliaryFilters } from './useAuxiliaryFilters';\n\nexport const useAreaAvailability = (room: Room, groupFilters: AuxiliaryFilterSelectsProps['groupFilters']) => {\n const context = useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n const { hotel } = useCurrentHotel();\n const { applyAuxiliaryFilterSelections } = useAuxiliaryFilters();\n\n const [auxiliaryPickerOpen, setAuxiliaryPickerOpen] = useState(false);\n const [auxiliaryPickerShowError, setAuxiliaryPickerShowError] = useState(false);\n const [pendingRate, setPendingRate] = useState<RoomRate | null>(null);\n\n const groupFilterIds = Object.keys(groupFilters || {});\n const currentGroupedRoomFiltersRef = useRef(context.currentGroupedRoomFilters);\n\n useEffect(() => {\n currentGroupedRoomFiltersRef.current = context.currentGroupedRoomFilters;\n }, [context.currentGroupedRoomFilters]);\n\n const getSelectedRow = () => basketContext.selectedBasketRow ?? basketContext.currentBasketRows?.[0];\n\n const checkAvailabilityAndBook = async (rate: RoomRate, selections: AuxiliaryFilterSelections): Promise<boolean> => {\n const row = getSelectedRow();\n if (!row || !room.code || !hotel?.hotelID) return false;\n\n const applicableFilters = Object.fromEntries(Object.entries(selections).filter(([id]) => groupFilterIds.includes(id)));\n\n const availability: AreaAvailability = await API.Availability.fetchAreaAvailability(row, hotel.hotelID, applicableFilters);\n\n const isAvailable = !!availability[room.code];\n\n if (!isAvailable) return false;\n\n applyAuxiliaryFilterSelections({ ...currentGroupedRoomFiltersRef.current, ...selections }, groupFilters);\n\n await basketContext.addRate(rate, true, applicableFilters);\n return true;\n };\n\n const handleBookNow = async (rate: RoomRate) => {\n const latestFilters = currentGroupedRoomFiltersRef.current;\n\n if (!hotel?.checkAreaAvailabilityOnRoomStep) {\n await basketContext.addRate(rate, true, latestFilters);\n return;\n }\n\n const hasUnselectedRequired = Object.entries(groupFilters).some(([id, f]: any) => f.requireSelection && !latestFilters[id]);\n\n const noFiltersSelected = groupFilterIds.length > 0 && Object.keys(latestFilters).length === 0;\n\n if (hasUnselectedRequired || noFiltersSelected) {\n setPendingRate(rate);\n setAuxiliaryPickerShowError(false);\n setAuxiliaryPickerOpen(true);\n return;\n }\n\n const available = await checkAvailabilityAndBook(rate, latestFilters);\n\n if (!available) {\n setPendingRate(rate);\n setAuxiliaryPickerShowError(true);\n setAuxiliaryPickerOpen(true);\n }\n };\n\n const handleAuxiliaryUpdate = async (selections: AuxiliaryFilterSelections) => {\n if (!pendingRate) return false;\n return checkAvailabilityAndBook(pendingRate, selections);\n };\n\n return {\n handleBookNow,\n handleAuxiliaryUpdate,\n auxiliaryPickerOpen,\n auxiliaryPickerShowError,\n setAuxiliaryPickerOpen,\n };\n};\n"]}
@@ -0,0 +1,8 @@
1
+ import { AuxiliaryFilterSelections } from '../contexts/index.js';
2
+ import { AuxiliaryFilterSelectsProps } from '../components/generic/AuxiliaryFilterControls/AuxiliaryFilterControls';
3
+ import { Room } from '../models/Room/Room';
4
+ export declare const useAuxiliaryFilters: () => {
5
+ applyAuxiliaryFilterSelections: (selections: AuxiliaryFilterSelections, groupFilters: AuxiliaryFilterSelectsProps["groupFilters"]) => void;
6
+ clearAuxiliaryFilterSelections: (groupFilters: AuxiliaryFilterSelectsProps["groupFilters"]) => void;
7
+ isValidRoomByAuxiliaryFilterSelections: (room: Room, filters: AuxiliaryFilterSelections) => boolean;
8
+ };
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useAuxiliaryFilters = void 0;
4
+ const contexts_1 = require("../contexts/index.js");
5
+ const react_1 = require("react");
6
+ const useAuxiliaryFilters = () => {
7
+ const beContext = (0, react_1.useContext)(contexts_1.BookingEngineContext);
8
+ const basketContext = (0, react_1.useContext)(contexts_1.BasketContext);
9
+ const getSelectedRow = () => { var _a, _b; return (_a = basketContext.selectedBasketRow) !== null && _a !== void 0 ? _a : (_b = basketContext.currentBasketRows) === null || _b === void 0 ? void 0 : _b[0]; };
10
+ const isValidRoomByAuxiliaryFilterSelections = (room, filters) => {
11
+ return Object.entries(filters).every(([key, value]) => {
12
+ var _a;
13
+ if (!value)
14
+ return true;
15
+ const roomValues = (_a = room.auxiliaryValues) === null || _a === void 0 ? void 0 : _a[key];
16
+ if (!roomValues)
17
+ return true;
18
+ return roomValues.includes(String(value));
19
+ });
20
+ };
21
+ const hasRequiredAuxiliaryFilterSelections = (groupFilters) => Object.values(groupFilters || {}).some(({ requireSelection }) => requireSelection === true);
22
+ const applyAuxiliaryFilterSelections = (selections, groupFilters) => {
23
+ // Single source of truth
24
+ beContext.setCurrentGroupedRoomFilters(selections);
25
+ const row = getSelectedRow();
26
+ if (!row)
27
+ return;
28
+ row.setAuxiliaryFilter(selections);
29
+ const room = row.getRoom();
30
+ if (room && hasRequiredAuxiliaryFilterSelections(groupFilters) && !isValidRoomByAuxiliaryFilterSelections(room, selections)) {
31
+ row.setRate(null);
32
+ }
33
+ basketContext.updateBasketRow(row, false);
34
+ };
35
+ const clearAuxiliaryFilterSelections = (groupFilters) => {
36
+ const emptySelections = {};
37
+ // Reset BE context
38
+ beContext.setCurrentGroupedRoomFilters(emptySelections);
39
+ const row = getSelectedRow();
40
+ if (!row)
41
+ return;
42
+ row.setAuxiliaryFilter(emptySelections);
43
+ if (hasRequiredAuxiliaryFilterSelections(groupFilters)) {
44
+ row.setRate(null);
45
+ }
46
+ basketContext.updateBasketRow(row, false);
47
+ };
48
+ return {
49
+ applyAuxiliaryFilterSelections,
50
+ clearAuxiliaryFilterSelections,
51
+ isValidRoomByAuxiliaryFilterSelections,
52
+ };
53
+ };
54
+ exports.useAuxiliaryFilters = useAuxiliaryFilters;
55
+ //# sourceMappingURL=useAuxiliaryFilters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAuxiliaryFilters.js","sourceRoot":"/","sources":["src/hooks/useAuxiliaryFilters.ts"],"names":[],"mappings":";;;AAAA,iDAAoG;AACpG,iCAAmC;AAK5B,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACpC,MAAM,SAAS,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAEhD,MAAM,cAAc,GAAG,GAAG,EAAE,eAAC,OAAA,MAAA,aAAa,CAAC,iBAAiB,mCAAI,MAAA,aAAa,CAAC,iBAAiB,0CAAG,CAAC,CAAC,CAAA,EAAA,CAAC;IAErG,MAAM,sCAAsC,GAAG,CAAC,IAAU,EAAE,OAAkC,EAAE,EAAE;QAC9F,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;;YAClD,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YAExB,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,eAAe,0CAAG,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YAE7B,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,oCAAoC,GAAG,CAAC,YAAyD,EAAE,EAAE,CACvG,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC;IAEhG,MAAM,8BAA8B,GAAG,CAAC,UAAqC,EAAE,YAAyD,EAAE,EAAE;QACxI,yBAAyB;QACzB,SAAS,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,GAAG,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,IAAI,oCAAoC,CAAC,YAAY,CAAC,IAAI,CAAC,sCAAsC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;YAC1H,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,aAAa,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,8BAA8B,GAAG,CAAC,YAAyD,EAAE,EAAE;QACjG,MAAM,eAAe,GAA8B,EAAE,CAAC;QACtD,mBAAmB;QACnB,SAAS,CAAC,4BAA4B,CAAC,eAAe,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACxC,IAAI,oCAAoC,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,aAAa,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,OAAO;QACH,8BAA8B;QAC9B,8BAA8B;QAC9B,sCAAsC;KACzC,CAAC;AACN,CAAC,CAAC;AAtDW,QAAA,mBAAmB,uBAsD9B","sourcesContent":["import { AuxiliaryFilterSelections, BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { useContext } from 'react';\n\nimport { AuxiliaryFilterSelectsProps } from '@/components/generic/AuxiliaryFilterControls/AuxiliaryFilterControls';\nimport { Room } from '@/models/Room/Room';\n\nexport const useAuxiliaryFilters = () => {\n const beContext = useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n\n const getSelectedRow = () => basketContext.selectedBasketRow ?? basketContext.currentBasketRows?.[0];\n\n const isValidRoomByAuxiliaryFilterSelections = (room: Room, filters: AuxiliaryFilterSelections) => {\n return Object.entries(filters).every(([key, value]) => {\n if (!value) return true;\n\n const roomValues = room.auxiliaryValues?.[key];\n if (!roomValues) return true;\n\n return roomValues.includes(String(value));\n });\n };\n\n const hasRequiredAuxiliaryFilterSelections = (groupFilters: AuxiliaryFilterSelectsProps['groupFilters']) =>\n Object.values(groupFilters || {}).some(({ requireSelection }) => requireSelection === true);\n\n const applyAuxiliaryFilterSelections = (selections: AuxiliaryFilterSelections, groupFilters: AuxiliaryFilterSelectsProps['groupFilters']) => {\n // Single source of truth\n beContext.setCurrentGroupedRoomFilters(selections);\n const row = getSelectedRow();\n if (!row) return;\n\n row.setAuxiliaryFilter(selections);\n const room = row.getRoom();\n if (room && hasRequiredAuxiliaryFilterSelections(groupFilters) && !isValidRoomByAuxiliaryFilterSelections(room, selections)) {\n row.setRate(null);\n }\n\n basketContext.updateBasketRow(row, false);\n };\n\n const clearAuxiliaryFilterSelections = (groupFilters: AuxiliaryFilterSelectsProps['groupFilters']) => {\n const emptySelections: AuxiliaryFilterSelections = {};\n // Reset BE context\n beContext.setCurrentGroupedRoomFilters(emptySelections);\n const row = getSelectedRow();\n if (!row) return;\n\n row.setAuxiliaryFilter(emptySelections);\n if (hasRequiredAuxiliaryFilterSelections(groupFilters)) {\n row.setRate(null);\n }\n basketContext.updateBasketRow(row, false);\n };\n\n return {\n applyAuxiliaryFilterSelections,\n clearAuxiliaryFilterSelections,\n isValidRoomByAuxiliaryFilterSelections,\n };\n};\n"]}
@@ -0,0 +1,11 @@
1
+ import dayjs from 'dayjs';
2
+ export declare const GUEST_DATE_FORMAT = "D MMM";
3
+ export declare const GUEST_DATE_FORMAT_WITH_DAY = "ddd Do MMMM";
4
+ export declare const RESERVATION_DATE_FORMAT = "dddd, MMM D, YYYY";
5
+ /** Returns a date formatter that respects the hotel's "show day name in dates" override. */
6
+ export declare function useGuestDateFormat(): {
7
+ formatGuestDate: (date: dayjs.Dayjs) => string;
8
+ formatReservationDate: (date: dayjs.Dayjs) => string;
9
+ guestDateFormat: string;
10
+ showDayNameInDates: boolean | undefined;
11
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RESERVATION_DATE_FORMAT = exports.GUEST_DATE_FORMAT_WITH_DAY = exports.GUEST_DATE_FORMAT = void 0;
4
+ exports.useGuestDateFormat = useGuestDateFormat;
5
+ const contexts_1 = require("../contexts/index.js");
6
+ const react_1 = require("react");
7
+ exports.GUEST_DATE_FORMAT = 'D MMM';
8
+ exports.GUEST_DATE_FORMAT_WITH_DAY = 'ddd Do MMMM';
9
+ exports.RESERVATION_DATE_FORMAT = 'dddd, MMM D, YYYY';
10
+ /** Returns a date formatter that respects the hotel's "show day name in dates" override. */
11
+ function useGuestDateFormat() {
12
+ const { showDayNameInDates } = (0, react_1.useContext)(contexts_1.HotelOverridesContext);
13
+ const guestDateFormat = showDayNameInDates ? exports.GUEST_DATE_FORMAT_WITH_DAY : exports.GUEST_DATE_FORMAT;
14
+ const formatGuestDate = (0, react_1.useCallback)((date) => {
15
+ return date.format(guestDateFormat);
16
+ }, [guestDateFormat]);
17
+ const formatReservationDate = (0, react_1.useCallback)((date) => {
18
+ return date.format(exports.RESERVATION_DATE_FORMAT);
19
+ }, []);
20
+ return { formatGuestDate, formatReservationDate, guestDateFormat, showDayNameInDates };
21
+ }
22
+ //# sourceMappingURL=useGuestDateFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGuestDateFormat.js","sourceRoot":"/","sources":["src/hooks/useGuestDateFormat.ts"],"names":[],"mappings":";;;AASA,gDAiBC;AA1BD,iDAA2D;AAE3D,iCAAgD;AAEnC,QAAA,iBAAiB,GAAG,OAAO,CAAC;AAC5B,QAAA,0BAA0B,GAAG,aAAa,CAAC;AAC3C,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAE3D,4FAA4F;AAC5F,SAAgB,kBAAkB;IAC9B,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAEjE,MAAM,eAAe,GAAG,kBAAkB,CAAC,CAAC,CAAC,kCAA0B,CAAC,CAAC,CAAC,yBAAiB,CAAC;IAE5F,MAAM,eAAe,GAAG,IAAA,mBAAW,EAC/B,CAAC,IAAiB,EAAU,EAAE;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,eAAe,CAAC,CACpB,CAAC;IAEF,MAAM,qBAAqB,GAAG,IAAA,mBAAW,EAAC,CAAC,IAAiB,EAAU,EAAE;QACpE,OAAO,IAAI,CAAC,MAAM,CAAC,+BAAuB,CAAC,CAAC;IAChD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;AAC3F,CAAC","sourcesContent":["import { HotelOverridesContext } from '@frontend/contexts';\nimport dayjs from 'dayjs';\nimport { useCallback, useContext } from 'react';\n\nexport const GUEST_DATE_FORMAT = 'D MMM';\nexport const GUEST_DATE_FORMAT_WITH_DAY = 'ddd Do MMMM';\nexport const RESERVATION_DATE_FORMAT = 'dddd, MMM D, YYYY';\n\n/** Returns a date formatter that respects the hotel's \"show day name in dates\" override. */\nexport function useGuestDateFormat() {\n const { showDayNameInDates } = useContext(HotelOverridesContext);\n\n const guestDateFormat = showDayNameInDates ? GUEST_DATE_FORMAT_WITH_DAY : GUEST_DATE_FORMAT;\n\n const formatGuestDate = useCallback(\n (date: dayjs.Dayjs): string => {\n return date.format(guestDateFormat);\n },\n [guestDateFormat]\n );\n\n const formatReservationDate = useCallback((date: dayjs.Dayjs): string => {\n return date.format(RESERVATION_DATE_FORMAT);\n }, []);\n\n return { formatGuestDate, formatReservationDate, guestDateFormat, showDayNameInDates };\n}\n"]}
@@ -10,10 +10,11 @@ export { EBookingWizardOverlayDirection, EBookingWizardTheme } from './component
10
10
  export { default as Checkbox } from './components/generic/Checkbox/Checkbox';
11
11
  export { default as Currency } from './components/generic/Currency';
12
12
  export { default as Headline } from './components/generic/Headline';
13
- export { default as Icon } from './components/generic/Icon/Icon';
14
13
  export * from './components/generic/Icon/Icon';
14
+ export { default as Icon } from './components/generic/Icon/Icon';
15
15
  export { default as InputGroup } from './components/generic/InputGroup/InputGroup';
16
16
  export { default as LineBreak } from './components/generic/LineBreak';
17
+ export { BE_HOTEL_LOCATION_MAP_BLOCK, OriginalHotelLocationMapBlock } from './components/generic/map/BEHotelLocationMapBlock';
17
18
  export { default as RadioFields } from './components/generic/radio/RadioFields';
18
19
  export * from './components/generic/Select/index';
19
20
  export * from './components/generic/Text';
@@ -22,16 +23,14 @@ export { default as TextBox } from './components/generic/TextBox';
22
23
  export { default as AddonsNotFoundBlock, BE_NO_ADDONS_FOUND_BLOCK } from './components/steps/addons/AddonsNotFoundBlock';
23
24
  export * from './components/steps/confirmation/StepConfirmationCommentsComponent';
24
25
  export { default as StepConfirmationCountrySelector } from './components/steps/confirmation/StepConfirmationCountrySelector';
26
+ export { BE_PEOPLE_PICKER_BLOCK, OriginalPeoplePickerBlock } from './components/steps/date/BEPeoplePickerBlock';
25
27
  export { BE_OCCUPANCY_WARNING_BLOCK, default as OccupancyWarningBlock } from './components/steps/date/OccupancyWarningBlock';
26
28
  export type { HotelInfoPerkRowProps } from './components/steps/hotel/HotelInfoPerksRow';
27
- export { BE_HOTEL_INFO_PERK_ROW } from './components/steps/hotel/HotelInfoPerksRow';
28
- export { default as HotelInfoPerksRow } from './components/steps/hotel/HotelInfoPerksRow';
29
- export { BE_NO_ROOMS_FOUND_BLOCK } from './components/steps/room/NoRoomsFoundBlock';
30
- export { default as NoRoomsFoundBlock } from './components/steps/room/NoRoomsFoundBlock';
29
+ export { BE_HOTEL_INFO_PERK_ROW, default as HotelInfoPerksRow } from './components/steps/hotel/HotelInfoPerksRow';
30
+ export { BE_NO_ROOMS_FOUND_BLOCK, default as NoRoomsFoundBlock } from './components/steps/room/NoRoomsFoundBlock';
31
31
  export { BE_RATES_NOT_FOUND_BLOCK, default as RatesNotFoundBlock } from './components/steps/room/RatesNotFoundBlock';
32
32
  export type { RoomModalPerkRowProps } from './components/steps/room/RoomModalPerkRow';
33
- export { BE_ROOM_MODAL_PERK_ROW } from './components/steps/room/RoomModalPerkRow';
34
- export { default as RoomModalPerkRow } from './components/steps/room/RoomModalPerkRow';
33
+ export { BE_ROOM_MODAL_PERK_ROW, default as RoomModalPerkRow } from './components/steps/room/RoomModalPerkRow';
35
34
  export * from './components/steps/room/StepRoomBestRateAlert';
36
35
  export { default as StepNoRoomBestRateAlert } from './components/steps/room/StepRoomBestRateAlert';
37
36
  export * from './components/summary/BESummary';
@@ -42,6 +41,7 @@ export * from './engines/FullPageBookingEngine/FullPageBookingEngine';
42
41
  export * from './engines/InlineRoomMiniEngine/InlineRoomMiniEngine';
43
42
  export * from './engines/MemberPortalWidget/MemberPortalWidget';
44
43
  export * from './engines/RecentSearchesEngine/RecentSearchesEngine';
44
+ export { BE_STEP_THANKS_BLOCK, OriginalStepThanksBlock } from './pages/steps/StepThanks/StepThanksComponent';
45
45
  export { default as SmallSpinner } from './components/generic/loader/SmallSpinner';
46
46
  export * from './providers/CurrencyProvider';
47
47
  export { default as CurrencyProvider } from './providers/CurrencyProvider';
@@ -67,15 +67,15 @@ export { default as PlanPayPricePreviewFeature } from './providers/feature/PlanP
67
67
  export { default as RoomRateReadMoreVersionFeature } from './providers/feature/RoomRateReadMoreVersionFeature';
68
68
  export { default as RoomUpsellFeature } from './providers/feature/RoomUpsellFeature';
69
69
  export { default as ShowIATANumberOnCheckoutFeature } from './providers/feature/ShowIATANumberOnCheckoutFeature';
70
- export { default as StepDateNextButtonAboveDatepickerFeature } from './providers/feature/StepDateNextButtonAboveDatepickerFeature';
70
+ export { EStepDateNextButtonLocation, default as StepDateNextButtonAboveDatepickerFeature } from './providers/feature/StepDateNextButtonAboveDatepickerFeature';
71
71
  export { registerReplacement, withDI } from './providers/DIProvider';
72
72
  export * from './providers/RoomstayThemeEngine';
73
73
  export { default as RoomstayThemeEngine } from './providers/RoomstayThemeEngine';
74
74
  export * from './util/Analytics/Analytics';
75
75
  export * from './util/Analytics/GoogleAnalytics4';
76
76
  export * from './util/Analytics/UniversalAnalytics';
77
- export { default as DataLayer } from './util/DataLayer';
78
77
  export * from './util/DataLayer';
78
+ export { default as DataLayer } from './util/DataLayer';
79
79
  export * from './util/DefaultValueManager';
80
80
  export * from './util/RouteManager';
81
81
  export * from './contexts/index.js';
package/dist/src/index.js CHANGED
@@ -17,8 +17,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.PlanPayPricePreviewFeature = exports.MemberPortalFeature = exports.InlineAddonStepFeature = exports.HotelGroupFeature = exports.GuestTitleFieldFeature = exports.GiftCardFeature = exports.FullPageEngineSmallSpacingFeature = exports.FeaturedPromoFeature = exports.E164PhoneNumberFieldFeature = exports.DerbysoftClickTrackingFeature = exports.DatePickerTypeFeature = exports.ConfirmationVerifyFeature = exports.SessionProvider = exports.LocalStorageProvider = exports.RoomSort = exports.RatePillProvider = exports.FeatureProvider = exports.CurrencyProvider = exports.SmallSpinner = exports.StepNoRoomBestRateAlert = exports.RoomModalPerkRow = exports.BE_ROOM_MODAL_PERK_ROW = exports.RatesNotFoundBlock = exports.BE_RATES_NOT_FOUND_BLOCK = exports.NoRoomsFoundBlock = exports.BE_NO_ROOMS_FOUND_BLOCK = exports.HotelInfoPerksRow = exports.BE_HOTEL_INFO_PERK_ROW = exports.OccupancyWarningBlock = exports.BE_OCCUPANCY_WARNING_BLOCK = exports.StepConfirmationCountrySelector = exports.BE_NO_ADDONS_FOUND_BLOCK = exports.AddonsNotFoundBlock = exports.TextBox = exports.TextArea = exports.RadioFields = exports.LineBreak = exports.InputGroup = exports.Icon = exports.Headline = exports.Currency = exports.Checkbox = exports.EBookingWizardTheme = exports.EBookingWizardOverlayDirection = exports.BEButton = exports.Alert = exports.AutoAutoHeight = exports.Link = exports.useTranslation = exports.react = void 0;
21
- exports.Version = exports.events = exports.RoomstayEventManager = exports.StepManager = exports.StepThanks = exports.StepRoom = exports.StepHotel = exports.StepGroupedRoom = exports.StepDate = exports.StepConfirmation = exports.StepAddon = exports.HotelDataSource = exports.API = exports.useFormContext = exports.DataLayer = exports.RoomstayThemeEngine = exports.withDI = exports.registerReplacement = exports.StepDateNextButtonAboveDatepickerFeature = exports.ShowIATANumberOnCheckoutFeature = exports.RoomUpsellFeature = exports.RoomRateReadMoreVersionFeature = void 0;
20
+ exports.FullPageEngineSmallSpacingFeature = exports.FeaturedPromoFeature = exports.E164PhoneNumberFieldFeature = exports.DerbysoftClickTrackingFeature = exports.DatePickerTypeFeature = exports.ConfirmationVerifyFeature = exports.SessionProvider = exports.LocalStorageProvider = exports.RoomSort = exports.RatePillProvider = exports.FeatureProvider = exports.CurrencyProvider = exports.SmallSpinner = exports.OriginalStepThanksBlock = exports.BE_STEP_THANKS_BLOCK = exports.StepNoRoomBestRateAlert = exports.RoomModalPerkRow = exports.BE_ROOM_MODAL_PERK_ROW = exports.RatesNotFoundBlock = exports.BE_RATES_NOT_FOUND_BLOCK = exports.NoRoomsFoundBlock = exports.BE_NO_ROOMS_FOUND_BLOCK = exports.HotelInfoPerksRow = exports.BE_HOTEL_INFO_PERK_ROW = exports.OccupancyWarningBlock = exports.BE_OCCUPANCY_WARNING_BLOCK = exports.OriginalPeoplePickerBlock = exports.BE_PEOPLE_PICKER_BLOCK = exports.StepConfirmationCountrySelector = exports.BE_NO_ADDONS_FOUND_BLOCK = exports.AddonsNotFoundBlock = exports.TextBox = exports.TextArea = exports.RadioFields = exports.OriginalHotelLocationMapBlock = exports.BE_HOTEL_LOCATION_MAP_BLOCK = exports.LineBreak = exports.InputGroup = exports.Icon = exports.Headline = exports.Currency = exports.Checkbox = exports.EBookingWizardTheme = exports.EBookingWizardOverlayDirection = exports.BEButton = exports.Alert = exports.AutoAutoHeight = exports.Link = exports.useTranslation = exports.react = void 0;
21
+ exports.Version = exports.events = exports.RoomstayEventManager = exports.StepManager = exports.StepThanks = exports.StepRoom = exports.StepHotel = exports.StepGroupedRoom = exports.StepDate = exports.StepConfirmation = exports.StepAddon = exports.HotelDataSource = exports.API = exports.useFormContext = exports.DataLayer = exports.RoomstayThemeEngine = exports.withDI = exports.registerReplacement = exports.StepDateNextButtonAboveDatepickerFeature = exports.EStepDateNextButtonLocation = exports.ShowIATANumberOnCheckoutFeature = exports.RoomUpsellFeature = exports.RoomRateReadMoreVersionFeature = exports.PlanPayPricePreviewFeature = exports.MemberPortalFeature = exports.InlineAddonStepFeature = exports.HotelGroupFeature = exports.GuestTitleFieldFeature = exports.GiftCardFeature = void 0;
22
22
  // TODO: Look into resolving this.
23
23
  const react_1 = __importDefault(require("react"));
24
24
  const StepConfirmation_1 = __importDefault(require("./pages/steps/StepConfirmation/StepConfirmation"));
@@ -49,13 +49,16 @@ var Currency_1 = require("./components/generic/Currency");
49
49
  Object.defineProperty(exports, "Currency", { enumerable: true, get: function () { return __importDefault(Currency_1).default; } });
50
50
  var Headline_1 = require("./components/generic/Headline");
51
51
  Object.defineProperty(exports, "Headline", { enumerable: true, get: function () { return __importDefault(Headline_1).default; } });
52
+ __exportStar(require("./components/generic/Icon/Icon"), exports);
52
53
  var Icon_1 = require("./components/generic/Icon/Icon");
53
54
  Object.defineProperty(exports, "Icon", { enumerable: true, get: function () { return __importDefault(Icon_1).default; } });
54
- __exportStar(require("./components/generic/Icon/Icon"), exports);
55
55
  var InputGroup_1 = require("./components/generic/InputGroup/InputGroup");
56
56
  Object.defineProperty(exports, "InputGroup", { enumerable: true, get: function () { return __importDefault(InputGroup_1).default; } });
57
57
  var LineBreak_1 = require("./components/generic/LineBreak");
58
58
  Object.defineProperty(exports, "LineBreak", { enumerable: true, get: function () { return __importDefault(LineBreak_1).default; } });
59
+ var BEHotelLocationMapBlock_1 = require("./components/generic/map/BEHotelLocationMapBlock");
60
+ Object.defineProperty(exports, "BE_HOTEL_LOCATION_MAP_BLOCK", { enumerable: true, get: function () { return BEHotelLocationMapBlock_1.BE_HOTEL_LOCATION_MAP_BLOCK; } });
61
+ Object.defineProperty(exports, "OriginalHotelLocationMapBlock", { enumerable: true, get: function () { return BEHotelLocationMapBlock_1.OriginalHotelLocationMapBlock; } });
59
62
  var RadioFields_1 = require("./components/generic/radio/RadioFields");
60
63
  Object.defineProperty(exports, "RadioFields", { enumerable: true, get: function () { return __importDefault(RadioFields_1).default; } });
61
64
  __exportStar(require("./components/generic/Select/index"), exports);
@@ -70,24 +73,24 @@ Object.defineProperty(exports, "BE_NO_ADDONS_FOUND_BLOCK", { enumerable: true, g
70
73
  __exportStar(require("./components/steps/confirmation/StepConfirmationCommentsComponent"), exports);
71
74
  var StepConfirmationCountrySelector_1 = require("./components/steps/confirmation/StepConfirmationCountrySelector");
72
75
  Object.defineProperty(exports, "StepConfirmationCountrySelector", { enumerable: true, get: function () { return __importDefault(StepConfirmationCountrySelector_1).default; } });
76
+ var BEPeoplePickerBlock_1 = require("./components/steps/date/BEPeoplePickerBlock");
77
+ Object.defineProperty(exports, "BE_PEOPLE_PICKER_BLOCK", { enumerable: true, get: function () { return BEPeoplePickerBlock_1.BE_PEOPLE_PICKER_BLOCK; } });
78
+ Object.defineProperty(exports, "OriginalPeoplePickerBlock", { enumerable: true, get: function () { return BEPeoplePickerBlock_1.OriginalPeoplePickerBlock; } });
73
79
  var OccupancyWarningBlock_1 = require("./components/steps/date/OccupancyWarningBlock");
74
80
  Object.defineProperty(exports, "BE_OCCUPANCY_WARNING_BLOCK", { enumerable: true, get: function () { return OccupancyWarningBlock_1.BE_OCCUPANCY_WARNING_BLOCK; } });
75
81
  Object.defineProperty(exports, "OccupancyWarningBlock", { enumerable: true, get: function () { return __importDefault(OccupancyWarningBlock_1).default; } });
76
82
  var HotelInfoPerksRow_1 = require("./components/steps/hotel/HotelInfoPerksRow");
77
83
  Object.defineProperty(exports, "BE_HOTEL_INFO_PERK_ROW", { enumerable: true, get: function () { return HotelInfoPerksRow_1.BE_HOTEL_INFO_PERK_ROW; } });
78
- var HotelInfoPerksRow_2 = require("./components/steps/hotel/HotelInfoPerksRow");
79
- Object.defineProperty(exports, "HotelInfoPerksRow", { enumerable: true, get: function () { return __importDefault(HotelInfoPerksRow_2).default; } });
84
+ Object.defineProperty(exports, "HotelInfoPerksRow", { enumerable: true, get: function () { return __importDefault(HotelInfoPerksRow_1).default; } });
80
85
  var NoRoomsFoundBlock_1 = require("./components/steps/room/NoRoomsFoundBlock");
81
86
  Object.defineProperty(exports, "BE_NO_ROOMS_FOUND_BLOCK", { enumerable: true, get: function () { return NoRoomsFoundBlock_1.BE_NO_ROOMS_FOUND_BLOCK; } });
82
- var NoRoomsFoundBlock_2 = require("./components/steps/room/NoRoomsFoundBlock");
83
- Object.defineProperty(exports, "NoRoomsFoundBlock", { enumerable: true, get: function () { return __importDefault(NoRoomsFoundBlock_2).default; } });
87
+ Object.defineProperty(exports, "NoRoomsFoundBlock", { enumerable: true, get: function () { return __importDefault(NoRoomsFoundBlock_1).default; } });
84
88
  var RatesNotFoundBlock_1 = require("./components/steps/room/RatesNotFoundBlock");
85
89
  Object.defineProperty(exports, "BE_RATES_NOT_FOUND_BLOCK", { enumerable: true, get: function () { return RatesNotFoundBlock_1.BE_RATES_NOT_FOUND_BLOCK; } });
86
90
  Object.defineProperty(exports, "RatesNotFoundBlock", { enumerable: true, get: function () { return __importDefault(RatesNotFoundBlock_1).default; } });
87
91
  var RoomModalPerkRow_1 = require("./components/steps/room/RoomModalPerkRow");
88
92
  Object.defineProperty(exports, "BE_ROOM_MODAL_PERK_ROW", { enumerable: true, get: function () { return RoomModalPerkRow_1.BE_ROOM_MODAL_PERK_ROW; } });
89
- var RoomModalPerkRow_2 = require("./components/steps/room/RoomModalPerkRow");
90
- Object.defineProperty(exports, "RoomModalPerkRow", { enumerable: true, get: function () { return __importDefault(RoomModalPerkRow_2).default; } });
93
+ Object.defineProperty(exports, "RoomModalPerkRow", { enumerable: true, get: function () { return __importDefault(RoomModalPerkRow_1).default; } });
91
94
  __exportStar(require("./components/steps/room/StepRoomBestRateAlert"), exports);
92
95
  var StepRoomBestRateAlert_1 = require("./components/steps/room/StepRoomBestRateAlert");
93
96
  Object.defineProperty(exports, "StepNoRoomBestRateAlert", { enumerable: true, get: function () { return __importDefault(StepRoomBestRateAlert_1).default; } });
@@ -99,6 +102,9 @@ __exportStar(require("./engines/FullPageBookingEngine/FullPageBookingEngine"), e
99
102
  __exportStar(require("./engines/InlineRoomMiniEngine/InlineRoomMiniEngine"), exports);
100
103
  __exportStar(require("./engines/MemberPortalWidget/MemberPortalWidget"), exports);
101
104
  __exportStar(require("./engines/RecentSearchesEngine/RecentSearchesEngine"), exports);
105
+ var StepThanksComponent_1 = require("./pages/steps/StepThanks/StepThanksComponent");
106
+ Object.defineProperty(exports, "BE_STEP_THANKS_BLOCK", { enumerable: true, get: function () { return StepThanksComponent_1.BE_STEP_THANKS_BLOCK; } });
107
+ Object.defineProperty(exports, "OriginalStepThanksBlock", { enumerable: true, get: function () { return StepThanksComponent_1.OriginalStepThanksBlock; } });
102
108
  // Loaders
103
109
  var SmallSpinner_1 = require("./components/generic/loader/SmallSpinner");
104
110
  Object.defineProperty(exports, "SmallSpinner", { enumerable: true, get: function () { return __importDefault(SmallSpinner_1).default; } });
@@ -150,6 +156,7 @@ Object.defineProperty(exports, "RoomUpsellFeature", { enumerable: true, get: fun
150
156
  var ShowIATANumberOnCheckoutFeature_1 = require("./providers/feature/ShowIATANumberOnCheckoutFeature");
151
157
  Object.defineProperty(exports, "ShowIATANumberOnCheckoutFeature", { enumerable: true, get: function () { return __importDefault(ShowIATANumberOnCheckoutFeature_1).default; } });
152
158
  var StepDateNextButtonAboveDatepickerFeature_1 = require("./providers/feature/StepDateNextButtonAboveDatepickerFeature");
159
+ Object.defineProperty(exports, "EStepDateNextButtonLocation", { enumerable: true, get: function () { return StepDateNextButtonAboveDatepickerFeature_1.EStepDateNextButtonLocation; } });
153
160
  Object.defineProperty(exports, "StepDateNextButtonAboveDatepickerFeature", { enumerable: true, get: function () { return __importDefault(StepDateNextButtonAboveDatepickerFeature_1).default; } });
154
161
  // Contexts
155
162
  var DIProvider_1 = require("./providers/DIProvider");
@@ -161,9 +168,9 @@ Object.defineProperty(exports, "RoomstayThemeEngine", { enumerable: true, get: f
161
168
  __exportStar(require("./util/Analytics/Analytics"), exports);
162
169
  __exportStar(require("./util/Analytics/GoogleAnalytics4"), exports);
163
170
  __exportStar(require("./util/Analytics/UniversalAnalytics"), exports);
171
+ __exportStar(require("./util/DataLayer"), exports);
164
172
  var DataLayer_1 = require("./util/DataLayer");
165
173
  Object.defineProperty(exports, "DataLayer", { enumerable: true, get: function () { return __importDefault(DataLayer_1).default; } });
166
- __exportStar(require("./util/DataLayer"), exports);
167
174
  __exportStar(require("./util/DefaultValueManager"), exports);
168
175
  __exportStar(require("./util/RouteManager"), exports);
169
176
  __exportStar(require("./contexts/index.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: Look into resolving this.\nimport ReactRaw from 'react';\n\nimport StepConfirmation from '@/pages/steps/StepConfirmation/StepConfirmation';\nimport StepDate from '@/pages/steps/StepDate/StepDate';\nimport StepRoom from '@/pages/steps/StepRoom/StepRoom';\nimport StepThanks from '@/pages/steps/StepThanks/StepThanks';\nimport StepManager from '@/util/StepManager';\n\nimport RoomstayEventManager from './events/RoomstayEventManager';\n\nexport const react = ReactRaw;\n\nexport { useTranslation } from 'react-i18next';\nexport { Link } from 'react-router-dom';\n\n// Components\nexport { default as AutoAutoHeight } from '@/animations/AutoAutoHeight';\nexport * from '@/components/generic/Alert';\nexport { default as Alert } from '@/components/generic/Alert';\nexport { default as BEButton } from '@/components/generic/BEButton';\nexport { EBookingWizardOverlayDirection, EBookingWizardTheme } from '@/components/generic/BookingWizard/BookingWizard';\nexport { default as Checkbox } from '@/components/generic/Checkbox/Checkbox';\nexport { default as Currency } from '@/components/generic/Currency';\nexport { default as Headline } from '@/components/generic/Headline';\nexport { default as Icon } from '@/components/generic/Icon/Icon';\nexport * from '@/components/generic/Icon/Icon';\nexport { default as InputGroup } from '@/components/generic/InputGroup/InputGroup';\nexport { default as LineBreak } from '@/components/generic/LineBreak';\nexport { default as RadioFields } from '@/components/generic/radio/RadioFields';\nexport * from '@/components/generic/Select/index';\nexport * from '@/components/generic/Text';\nexport { default as TextArea } from '@/components/generic/TextArea';\nexport { default as TextBox } from '@/components/generic/TextBox';\nexport { default as AddonsNotFoundBlock, BE_NO_ADDONS_FOUND_BLOCK } from '@/components/steps/addons/AddonsNotFoundBlock';\nexport * from '@/components/steps/confirmation/StepConfirmationCommentsComponent';\nexport { default as StepConfirmationCountrySelector } from '@/components/steps/confirmation/StepConfirmationCountrySelector';\nexport { BE_OCCUPANCY_WARNING_BLOCK, default as OccupancyWarningBlock } from '@/components/steps/date/OccupancyWarningBlock';\nexport type { HotelInfoPerkRowProps } from '@/components/steps/hotel/HotelInfoPerksRow';\nexport { BE_HOTEL_INFO_PERK_ROW } from '@/components/steps/hotel/HotelInfoPerksRow';\nexport { default as HotelInfoPerksRow } from '@/components/steps/hotel/HotelInfoPerksRow';\nexport { BE_NO_ROOMS_FOUND_BLOCK } from '@/components/steps/room/NoRoomsFoundBlock';\nexport { default as NoRoomsFoundBlock } from '@/components/steps/room/NoRoomsFoundBlock';\nexport { BE_RATES_NOT_FOUND_BLOCK, default as RatesNotFoundBlock } from '@/components/steps/room/RatesNotFoundBlock';\nexport type { RoomModalPerkRowProps } from '@/components/steps/room/RoomModalPerkRow';\nexport { BE_ROOM_MODAL_PERK_ROW } from '@/components/steps/room/RoomModalPerkRow';\nexport { default as RoomModalPerkRow } from '@/components/steps/room/RoomModalPerkRow';\nexport * from '@/components/steps/room/StepRoomBestRateAlert';\nexport { default as StepNoRoomBestRateAlert } from '@/components/steps/room/StepRoomBestRateAlert';\nexport * from '@/components/summary/BESummary';\nexport * from '@/components/summary/BESummaryPerkBlock';\nexport * from '@/engines/BookingWizardEngine/BookingWizardEngine';\nexport * from '@/engines/CustomEngine/CustomEngine';\nexport * from '@/engines/FullPageBookingEngine/FullPageBookingEngine';\nexport * from '@/engines/InlineRoomMiniEngine/InlineRoomMiniEngine';\nexport * from '@/engines/MemberPortalWidget/MemberPortalWidget';\nexport * from '@/engines/RecentSearchesEngine/RecentSearchesEngine';\n\n// Loaders\nexport { default as SmallSpinner } from '@/components/generic/loader/SmallSpinner';\n\n// Providers\nexport * from '@/providers/CurrencyProvider';\nexport { default as CurrencyProvider } from '@/providers/CurrencyProvider';\nexport { default as FeatureProvider } from '@/providers/FeatureProvider';\nexport * from '@/providers/LanguageProvider';\nexport * from '@/providers/PromotionProvider';\nexport { default as RatePillProvider } from '@/providers/RatePillProvider';\nexport { RoomSort } from '@/providers/RoomSortProvider';\nexport { default as LocalStorageProvider } from '@/providers/storage/LocalStorageProvider';\nexport { default as SessionProvider } from '@/providers/storage/SessionProvider';\n\n// Features\n\nexport { default as ConfirmationVerifyFeature } from '@/providers/feature/ConfirmationVerifyFeature';\nexport { default as DatePickerTypeFeature } from '@/providers/feature/DatePickerTypeFeature';\nexport { default as DerbysoftClickTrackingFeature } from '@/providers/feature/DerbysoftClickTrackingFeature';\nexport { default as E164PhoneNumberFieldFeature } from '@/providers/feature/E164PhoneNumberFieldFeature';\nexport { default as FeaturedPromoFeature } from '@/providers/feature/FeaturedPromoFeature';\nexport { default as FullPageEngineSmallSpacingFeature } from '@/providers/feature/FullPageEngineSmallSpacingFeature';\nexport { default as GiftCardFeature } from '@/providers/feature/GiftCardFeature';\nexport { default as GuestTitleFieldFeature } from '@/providers/feature/GuestTitleFieldFeature';\nexport { default as HotelGroupFeature } from '@/providers/feature/HotelGroupFeature';\nexport { default as InlineAddonStepFeature } from '@/providers/feature/InlineAddonStepFeature';\nexport { default as MemberPortalFeature } from '@/providers/feature/MemberPortalFeature';\nexport { default as PlanPayPricePreviewFeature } from '@/providers/feature/PlanPayPricePreviewFeature';\nexport { default as RoomRateReadMoreVersionFeature } from '@/providers/feature/RoomRateReadMoreVersionFeature';\nexport { default as RoomUpsellFeature } from '@/providers/feature/RoomUpsellFeature';\nexport { default as ShowIATANumberOnCheckoutFeature } from '@/providers/feature/ShowIATANumberOnCheckoutFeature';\nexport { default as StepDateNextButtonAboveDatepickerFeature } from '@/providers/feature/StepDateNextButtonAboveDatepickerFeature';\n\n// Contexts\nexport { registerReplacement, withDI } from '@/providers/DIProvider';\nexport * from '@/providers/RoomstayThemeEngine';\nexport { default as RoomstayThemeEngine } from '@/providers/RoomstayThemeEngine';\nexport * from '@/util/Analytics/Analytics';\nexport * from '@/util/Analytics/GoogleAnalytics4';\nexport * from '@/util/Analytics/UniversalAnalytics';\nexport { default as DataLayer } from '@/util/DataLayer';\nexport * from '@/util/DataLayer';\nexport * from '@/util/DefaultValueManager';\nexport * from '@/util/RouteManager';\nexport * from '@frontend/contexts';\nexport { useFormContext } from 'react-hook-form';\n\n// Models\nexport { default as API } from '@/api/BookingAPI';\nexport * from '@/models/Api/HotelDTO';\nexport * from '@/models/Api/HotelOverrideDTO';\nexport type { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nexport * from '@/models/Client/Hotel/Company';\nexport * from '@/models/Client/Hotel/DistanceUnitType.types';\nexport * from '@/models/Client/Hotel/Hotel';\nexport { HotelDataSource } from '@/models/Client/Hotel/HotelDataSource.types';\nexport * from '@/models/Client/Hotel/HotelPerk';\nexport * from '@/models/Client/Hotel/WeekdayStartsOn.types';\n\n// Steps\nexport { default as StepAddon } from '@/pages/steps/StepAddon/StepAddon';\nexport { default as StepConfirmation } from '@/pages/steps/StepConfirmation/StepConfirmation';\nexport { default as StepDate } from '@/pages/steps/StepDate/StepDate';\nexport { default as StepGroupedRoom } from '@/pages/steps/StepGroupedRoom/StepGroupedRoom';\nexport { default as StepHotel } from '@/pages/steps/StepHotel/StepHotel';\nexport { default as StepRoom } from '@/pages/steps/StepRoom/StepRoom';\nexport { default as StepThanks } from '@/pages/steps/StepThanks/StepThanks';\nexport * from '@/translations/Translation';\nexport { default as StepManager } from '@/util/StepManager';\n\n// Util\n\nexport type { default as ColorProfile } from '@/models/Client/Hotel/ColorProfile';\nexport * from '@/util/Color';\nexport * from '@/util/Debounce';\n\n// Hooks\n\nexport * from '@/events/index';\nexport * from '@/hooks/CurrentHotelHook';\nexport * from '@/hooks/EventHook';\n\n/** @deprecated use `roomstay.events` instead */\nexport { default as RoomstayEventManager } from '@/events/RoomstayEventManager';\n\nexport const events = {\n on: RoomstayEventManager.addEvent,\n raise: RoomstayEventManager.raise,\n};\n\nexport * from './config';\n\ndeclare const RS_VERSION: string;\nexport const Version = RS_VERSION;\n\nStepManager.currentSteps = {\n 0: StepDate,\n 10: StepRoom,\n 20: StepConfirmation,\n 30: StepThanks,\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: Look into resolving this.\nimport ReactRaw from 'react';\n\nimport StepConfirmation from '@/pages/steps/StepConfirmation/StepConfirmation';\nimport StepDate from '@/pages/steps/StepDate/StepDate';\nimport StepRoom from '@/pages/steps/StepRoom/StepRoom';\nimport StepThanks from '@/pages/steps/StepThanks/StepThanks';\nimport StepManager from '@/util/StepManager';\n\nimport RoomstayEventManager from './events/RoomstayEventManager';\n\nexport const react = ReactRaw;\n\nexport { useTranslation } from 'react-i18next';\nexport { Link } from 'react-router-dom';\n\n// Components\nexport { default as AutoAutoHeight } from '@/animations/AutoAutoHeight';\nexport * from '@/components/generic/Alert';\nexport { default as Alert } from '@/components/generic/Alert';\nexport { default as BEButton } from '@/components/generic/BEButton';\nexport { EBookingWizardOverlayDirection, EBookingWizardTheme } from '@/components/generic/BookingWizard/BookingWizard';\nexport { default as Checkbox } from '@/components/generic/Checkbox/Checkbox';\nexport { default as Currency } from '@/components/generic/Currency';\nexport { default as Headline } from '@/components/generic/Headline';\nexport * from '@/components/generic/Icon/Icon';\nexport { default as Icon } from '@/components/generic/Icon/Icon';\nexport { default as InputGroup } from '@/components/generic/InputGroup/InputGroup';\nexport { default as LineBreak } from '@/components/generic/LineBreak';\nexport { BE_HOTEL_LOCATION_MAP_BLOCK, OriginalHotelLocationMapBlock } from '@/components/generic/map/BEHotelLocationMapBlock';\nexport { default as RadioFields } from '@/components/generic/radio/RadioFields';\nexport * from '@/components/generic/Select/index';\nexport * from '@/components/generic/Text';\nexport { default as TextArea } from '@/components/generic/TextArea';\nexport { default as TextBox } from '@/components/generic/TextBox';\nexport { default as AddonsNotFoundBlock, BE_NO_ADDONS_FOUND_BLOCK } from '@/components/steps/addons/AddonsNotFoundBlock';\nexport * from '@/components/steps/confirmation/StepConfirmationCommentsComponent';\nexport { default as StepConfirmationCountrySelector } from '@/components/steps/confirmation/StepConfirmationCountrySelector';\nexport { BE_PEOPLE_PICKER_BLOCK, OriginalPeoplePickerBlock } from '@/components/steps/date/BEPeoplePickerBlock';\nexport { BE_OCCUPANCY_WARNING_BLOCK, default as OccupancyWarningBlock } from '@/components/steps/date/OccupancyWarningBlock';\nexport type { HotelInfoPerkRowProps } from '@/components/steps/hotel/HotelInfoPerksRow';\nexport { BE_HOTEL_INFO_PERK_ROW, default as HotelInfoPerksRow } from '@/components/steps/hotel/HotelInfoPerksRow';\nexport { BE_NO_ROOMS_FOUND_BLOCK, default as NoRoomsFoundBlock } from '@/components/steps/room/NoRoomsFoundBlock';\nexport { BE_RATES_NOT_FOUND_BLOCK, default as RatesNotFoundBlock } from '@/components/steps/room/RatesNotFoundBlock';\nexport type { RoomModalPerkRowProps } from '@/components/steps/room/RoomModalPerkRow';\nexport { BE_ROOM_MODAL_PERK_ROW, default as RoomModalPerkRow } from '@/components/steps/room/RoomModalPerkRow';\nexport * from '@/components/steps/room/StepRoomBestRateAlert';\nexport { default as StepNoRoomBestRateAlert } from '@/components/steps/room/StepRoomBestRateAlert';\nexport * from '@/components/summary/BESummary';\nexport * from '@/components/summary/BESummaryPerkBlock';\nexport * from '@/engines/BookingWizardEngine/BookingWizardEngine';\nexport * from '@/engines/CustomEngine/CustomEngine';\nexport * from '@/engines/FullPageBookingEngine/FullPageBookingEngine';\nexport * from '@/engines/InlineRoomMiniEngine/InlineRoomMiniEngine';\nexport * from '@/engines/MemberPortalWidget/MemberPortalWidget';\nexport * from '@/engines/RecentSearchesEngine/RecentSearchesEngine';\nexport { BE_STEP_THANKS_BLOCK, OriginalStepThanksBlock } from '@/pages/steps/StepThanks/StepThanksComponent';\n// Loaders\nexport { default as SmallSpinner } from '@/components/generic/loader/SmallSpinner';\n\n// Providers\nexport * from '@/providers/CurrencyProvider';\nexport { default as CurrencyProvider } from '@/providers/CurrencyProvider';\nexport { default as FeatureProvider } from '@/providers/FeatureProvider';\nexport * from '@/providers/LanguageProvider';\nexport * from '@/providers/PromotionProvider';\nexport { default as RatePillProvider } from '@/providers/RatePillProvider';\nexport { RoomSort } from '@/providers/RoomSortProvider';\nexport { default as LocalStorageProvider } from '@/providers/storage/LocalStorageProvider';\nexport { default as SessionProvider } from '@/providers/storage/SessionProvider';\n\n// Features\n\nexport { default as ConfirmationVerifyFeature } from '@/providers/feature/ConfirmationVerifyFeature';\nexport { default as DatePickerTypeFeature } from '@/providers/feature/DatePickerTypeFeature';\nexport { default as DerbysoftClickTrackingFeature } from '@/providers/feature/DerbysoftClickTrackingFeature';\nexport { default as E164PhoneNumberFieldFeature } from '@/providers/feature/E164PhoneNumberFieldFeature';\nexport { default as FeaturedPromoFeature } from '@/providers/feature/FeaturedPromoFeature';\nexport { default as FullPageEngineSmallSpacingFeature } from '@/providers/feature/FullPageEngineSmallSpacingFeature';\nexport { default as GiftCardFeature } from '@/providers/feature/GiftCardFeature';\nexport { default as GuestTitleFieldFeature } from '@/providers/feature/GuestTitleFieldFeature';\nexport { default as HotelGroupFeature } from '@/providers/feature/HotelGroupFeature';\nexport { default as InlineAddonStepFeature } from '@/providers/feature/InlineAddonStepFeature';\nexport { default as MemberPortalFeature } from '@/providers/feature/MemberPortalFeature';\nexport { default as PlanPayPricePreviewFeature } from '@/providers/feature/PlanPayPricePreviewFeature';\nexport { default as RoomRateReadMoreVersionFeature } from '@/providers/feature/RoomRateReadMoreVersionFeature';\nexport { default as RoomUpsellFeature } from '@/providers/feature/RoomUpsellFeature';\nexport { default as ShowIATANumberOnCheckoutFeature } from '@/providers/feature/ShowIATANumberOnCheckoutFeature';\nexport { EStepDateNextButtonLocation, default as StepDateNextButtonAboveDatepickerFeature } from '@/providers/feature/StepDateNextButtonAboveDatepickerFeature';\n\n// Contexts\nexport { registerReplacement, withDI } from '@/providers/DIProvider';\nexport * from '@/providers/RoomstayThemeEngine';\nexport { default as RoomstayThemeEngine } from '@/providers/RoomstayThemeEngine';\nexport * from '@/util/Analytics/Analytics';\nexport * from '@/util/Analytics/GoogleAnalytics4';\nexport * from '@/util/Analytics/UniversalAnalytics';\nexport * from '@/util/DataLayer';\nexport { default as DataLayer } from '@/util/DataLayer';\nexport * from '@/util/DefaultValueManager';\nexport * from '@/util/RouteManager';\nexport * from '@frontend/contexts';\nexport { useFormContext } from 'react-hook-form';\n\n// Models\nexport { default as API } from '@/api/BookingAPI';\nexport * from '@/models/Api/HotelDTO';\nexport * from '@/models/Api/HotelOverrideDTO';\nexport type { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nexport * from '@/models/Client/Hotel/Company';\nexport * from '@/models/Client/Hotel/DistanceUnitType.types';\nexport * from '@/models/Client/Hotel/Hotel';\nexport { HotelDataSource } from '@/models/Client/Hotel/HotelDataSource.types';\nexport * from '@/models/Client/Hotel/HotelPerk';\nexport * from '@/models/Client/Hotel/WeekdayStartsOn.types';\n\n// Steps\nexport { default as StepAddon } from '@/pages/steps/StepAddon/StepAddon';\nexport { default as StepConfirmation } from '@/pages/steps/StepConfirmation/StepConfirmation';\nexport { default as StepDate } from '@/pages/steps/StepDate/StepDate';\nexport { default as StepGroupedRoom } from '@/pages/steps/StepGroupedRoom/StepGroupedRoom';\nexport { default as StepHotel } from '@/pages/steps/StepHotel/StepHotel';\nexport { default as StepRoom } from '@/pages/steps/StepRoom/StepRoom';\nexport { default as StepThanks } from '@/pages/steps/StepThanks/StepThanks';\nexport * from '@/translations/Translation';\nexport { default as StepManager } from '@/util/StepManager';\n\n// Util\n\nexport type { default as ColorProfile } from '@/models/Client/Hotel/ColorProfile';\nexport * from '@/util/Color';\nexport * from '@/util/Debounce';\n\n// Hooks\n\nexport * from '@/events/index';\nexport * from '@/hooks/CurrentHotelHook';\nexport * from '@/hooks/EventHook';\n\n/** @deprecated use `roomstay.events` instead */\nexport { default as RoomstayEventManager } from '@/events/RoomstayEventManager';\n\nexport const events = {\n on: RoomstayEventManager.addEvent,\n raise: RoomstayEventManager.raise,\n};\n\nexport * from './config';\n\ndeclare const RS_VERSION: string;\nexport const Version = RS_VERSION;\n\nStepManager.currentSteps = {\n 0: StepDate,\n 10: StepRoom,\n 20: StepConfirmation,\n 30: StepThanks,\n};\n"]}
@@ -29,6 +29,7 @@ export type HotelRoomGroupsDTO = {
29
29
  requireInput: boolean;
30
30
  options: IAuxiliaryFilter['options'];
31
31
  requireSelection: boolean;
32
+ order: number;
32
33
  };
33
34
  };
34
35
  }[];