@roomstay/frontend 2.6.57 → 2.6.59

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 (130) hide show
  1. package/dist/493.bundle.js +1 -1
  2. package/dist/537.bundle.js +1 -0
  3. package/dist/903.bundle.js +1 -1
  4. package/dist/main.bundle.js +1 -1
  5. package/dist/src/api/AvailabilityAPI.js +8 -6
  6. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  7. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +1 -1
  8. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  9. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +9 -1
  10. package/dist/src/components/generic/BookingWizard/BookingWizard.js +86 -1
  11. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  12. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +14 -1
  13. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js +27 -0
  14. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -1
  15. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +19 -0
  16. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +116 -30
  17. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  18. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +12 -1
  19. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
  20. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +6 -2
  21. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +96 -29
  22. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  23. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +18 -3
  24. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +118 -27
  25. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  26. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +53 -18
  27. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  28. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js +5 -2
  29. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js.map +1 -1
  30. package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +6 -0
  31. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +8 -7
  32. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
  33. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.d.ts +2 -0
  34. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +11 -2
  35. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
  36. package/dist/src/components/generic/Event/EventCard.js +6 -2
  37. package/dist/src/components/generic/Event/EventCard.js.map +1 -1
  38. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +19 -4
  39. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  40. package/dist/src/components/generic/RadioButtonGroup/RadioButton.d.ts +1 -0
  41. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +2 -2
  42. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  43. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.d.ts +3 -2
  44. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +10 -10
  45. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  46. package/dist/src/components/generic/date/DatePicker.d.ts +5 -0
  47. package/dist/src/components/generic/date/DatePicker.js +7 -3
  48. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  49. package/dist/src/components/generic/date/DatePickerDay.js +13 -3
  50. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  51. package/dist/src/components/reservation/ReservationItem.js +5 -2
  52. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  53. package/dist/src/components/reservation/ReservationList.js +1 -1
  54. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  55. package/dist/src/components/steps/confirmation/PaymentInformation.js +4 -1
  56. package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -1
  57. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +7 -1
  58. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
  59. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +7 -4
  60. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  61. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +3 -1
  62. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  63. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +1 -1
  64. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  65. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +1 -0
  66. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  67. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +9 -7
  68. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  69. package/dist/src/contexts/DatePickerContext.d.ts +1 -0
  70. package/dist/src/contexts/DatePickerContext.js.map +1 -1
  71. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +3 -0
  72. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  73. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +3 -3
  74. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  75. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +9 -2
  76. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  77. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +10 -10
  78. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  79. package/dist/src/handlers/payment/PaymentHandler.d.ts +1 -0
  80. package/dist/src/handlers/payment/PaymentHandler.js.map +1 -1
  81. package/dist/src/handlers/payment/VGSMemberPaymentHandler.js +13 -35
  82. package/dist/src/handlers/payment/VGSMemberPaymentHandler.js.map +1 -1
  83. package/dist/src/index.d.ts +1 -0
  84. package/dist/src/index.js +5 -2
  85. package/dist/src/index.js.map +1 -1
  86. package/dist/src/models/Api/HotelDTO.d.ts +1 -1
  87. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  88. package/dist/src/models/BasketRow.d.ts +3 -6
  89. package/dist/src/models/BasketRow.js +11 -15
  90. package/dist/src/models/BasketRow.js.map +1 -1
  91. package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +4 -0
  92. package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
  93. package/dist/src/models/Client/Hotel/Hotel.d.ts +4 -0
  94. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  95. package/dist/src/models/Confirmation.d.ts +1 -2
  96. package/dist/src/models/Confirmation.js.map +1 -1
  97. package/dist/src/models/Room/Room.d.ts +7 -0
  98. package/dist/src/models/Room/Room.js +13 -0
  99. package/dist/src/models/Room/Room.js.map +1 -1
  100. package/dist/src/models/Room/RoomRate.js +3 -0
  101. package/dist/src/models/Room/RoomRate.js.map +1 -1
  102. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  103. package/dist/src/pages/findReservation/FindReservationResults.js +12 -8
  104. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  105. package/dist/src/providers/RoomstayThemeEngine.d.ts +1 -1
  106. package/dist/src/providers/RoomstayThemeEngine.js +20 -5
  107. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  108. package/dist/src/stories/RadioButtonGroup.stories.d.ts +1 -1
  109. package/dist/src/translations/Translation.d.ts +7 -1
  110. package/dist/src/translations/Translation.js +7 -1
  111. package/dist/src/translations/Translation.js.map +1 -1
  112. package/dist/src/translations/languages/en-gb.js +7 -1
  113. package/dist/src/translations/languages/en-gb.js.map +1 -1
  114. package/dist/src/util/Analytics/GoogleAnalytics4.js +27 -12
  115. package/dist/src/util/Analytics/GoogleAnalytics4.js.map +1 -1
  116. package/dist/src/util/Analytics/UniversalAnalytics.js +3 -3
  117. package/dist/src/util/Analytics/UniversalAnalytics.js.map +1 -1
  118. package/dist/src/util/DataLayer.d.ts +5 -1
  119. package/dist/src/util/DataLayer.js +9 -2
  120. package/dist/src/util/DataLayer.js.map +1 -1
  121. package/dist/src/util/EventsHelper.d.ts +4 -1
  122. package/dist/src/util/EventsHelper.js +15 -4
  123. package/dist/src/util/EventsHelper.js.map +1 -1
  124. package/dist/test.bundle.js +1 -1
  125. package/dist/tests/offline/entry/config/hotelSpecDefault.js +1 -1
  126. package/dist/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
  127. package/dist/vendors.bundle.js +1 -1
  128. package/package.json +2 -2
  129. package/dist/586.bundle.js +0 -1
  130. package/dist/850.bundle.js +0 -1
@@ -34,31 +34,42 @@ const react_i18next_1 = require("react-i18next");
34
34
  const AutoAutoHeight_1 = __importDefault(require("../../../../animations/AutoAutoHeight"));
35
35
  const BEButton_1 = __importDefault(require("../../BEButton"));
36
36
  const DateRangePicker_1 = __importDefault(require("../../DateRangePicker/DateRangePicker"));
37
- const Icon_1 = __importStar(require("../../Icon/Icon"));
38
37
  const Text_1 = __importDefault(require("../../Text"));
39
38
  const Translation_1 = require("../../../../translations/Translation");
40
39
  const FloatingDateRangePicker_1 = __importDefault(require("../../DateRangePicker/FloatingDateRangePicker"));
41
40
  const BookingWizard_1 = require("../BookingWizard");
42
41
  const BookingWizard_module_scss_1 = __importDefault(require("../BookingWizard.module.scss"));
43
- const BookingWizardBottomSheet_1 = __importDefault(require("../BookingWizardBottomSheet/BookingWizardBottomSheet"));
42
+ const BookingWizardBottomSheet_1 = __importStar(require("../BookingWizardBottomSheet/BookingWizardBottomSheet"));
43
+ const BookingWizardContent_1 = require("../BookingWizardContent");
44
44
  const BookingWizardContext_1 = require("../BookingWizardContext");
45
45
  const BookingWizardDateSelector_module_scss_1 = __importDefault(require("./BookingWizardDateSelector.module.scss"));
46
46
  const BookingWizardDateSelector = (props) => {
47
- const { defaultStartDate, defaultEndDate, dateFormat = 'MMM DD', showYearOnCalendar, yearDisplayOption } = props;
48
- const { overlay, theme, layout, type: overlayType, isMobile, isSmallContainer } = (0, BookingWizardContext_1.useBookingWizard)();
47
+ const { defaultStartDate, defaultEndDate, dateFormat = 'MMM DD', showYearOnCalendar, yearDisplayOption, divider = true, hidden, inactive } = props;
48
+ if (hidden)
49
+ return null;
50
+ const { overlay, theme, layout, type: overlayType, isMobile, isSmallContainer, stateSections, onPrevHandler, onNextHandler, isImagesTheme, isImagesThemeMobile, } = (0, BookingWizardContext_1.useBookingWizard)();
49
51
  const { t } = (0, react_i18next_1.useTranslation)();
50
52
  const checkOutDatePickerRef = react_1.default.useRef(null);
51
- const [startDate, setStartDate] = (0, react_1.useState)(defaultStartDate !== null && defaultStartDate !== void 0 ? defaultStartDate : (0, dayjs_1.default)());
52
- const [endDate, setEndDate] = (0, react_1.useState)(defaultEndDate !== null && defaultEndDate !== void 0 ? defaultEndDate : (0, dayjs_1.default)().add(1, 'days'));
53
+ //With isImagesTheme, default both startDate and endDate are null
54
+ const [startDate, setStartDate] = (0, react_1.useState)(defaultStartDate !== null && defaultStartDate !== void 0 ? defaultStartDate : (isImagesTheme ? null : (0, dayjs_1.default)()));
55
+ const [endDate, setEndDate] = (0, react_1.useState)(defaultEndDate !== null && defaultEndDate !== void 0 ? defaultEndDate : (isImagesTheme ? null : (0, dayjs_1.default)().add(1, 'days')));
53
56
  const [selectingStartDate, setSelectingStartDate] = (0, react_1.useState)(startDate);
54
57
  const [selectingEndDate, setSelectingEndDate] = (0, react_1.useState)(endDate);
55
58
  const [isOpen, setIsOpen] = (0, react_1.useState)(false);
59
+ const [isOverlayOpen, setIsOverlayOpen] = (0, react_1.useState)(false);
56
60
  const [checkInWrapperRef, setCheckInWrapperRef] = react_1.default.useState();
61
+ const [monthCount, setMonthCount] = (0, react_1.useState)(2);
62
+ (0, react_1.useEffect)(() => {
63
+ const opening = stateSections[BookingWizard_1.EBookingWizardSection.Date].opening;
64
+ setIsOpen(opening);
65
+ }, [stateSections]);
57
66
  let RowWrapper = react_1.default.Fragment;
58
67
  const rowWrapperProps = {};
59
68
  if (layout === 'button' || isMobile || isSmallContainer) {
60
69
  RowWrapper = 'div';
61
- rowWrapperProps.className = BookingWizard_module_scss_1.default.itemGroup;
70
+ rowWrapperProps.className = (0, classnames_1.default)(BookingWizard_module_scss_1.default.itemGroup, {
71
+ [BookingWizard_module_scss_1.default['inactive']]: inactive,
72
+ });
62
73
  rowWrapperProps.ref = (ref) => {
63
74
  if (layout === 'button') {
64
75
  setCheckInWrapperRef(ref);
@@ -69,7 +80,9 @@ const BookingWizardDateSelector = (props) => {
69
80
  var _a;
70
81
  setStartDate(startDate);
71
82
  setEndDate(endDate);
72
- setIsOpen(false);
83
+ if (!isImagesThemeMobile) {
84
+ setIsOpen(false);
85
+ }
73
86
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, startDate, endDate);
74
87
  };
75
88
  const _onCheckoutDateChange = (newEndDate) => {
@@ -77,7 +90,9 @@ const BookingWizardDateSelector = (props) => {
77
90
  (_a = props === null || props === void 0 ? void 0 : props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, startDate, newEndDate);
78
91
  setEndDate(newEndDate);
79
92
  if (newEndDate) {
80
- setIsOpen(false);
93
+ if (!isImagesThemeMobile) {
94
+ setIsOpen(false);
95
+ }
81
96
  }
82
97
  };
83
98
  const _toggleInlineDatePicker = () => {
@@ -85,19 +100,45 @@ const BookingWizardDateSelector = (props) => {
85
100
  (_a = checkOutDatePickerRef === null || checkOutDatePickerRef === void 0 ? void 0 : checkOutDatePickerRef.current) === null || _a === void 0 ? void 0 : _a.toggle();
86
101
  setIsOpen(!isOpen);
87
102
  };
103
+ const onOverlayOpenChange = (isOpen) => {
104
+ setIsOverlayOpen(isOpen);
105
+ };
106
+ const ClearButton = ({ date, onClick }) => {
107
+ return isImagesTheme ? react_1.default.createElement(BookingWizardContent_1.BWClearButton, { hidden: isOverlayOpen && !!date, onClick: onClick }) : react_1.default.createElement(react_1.default.Fragment, null);
108
+ };
109
+ const onApply = () => {
110
+ setDate(selectingStartDate, selectingEndDate);
111
+ };
88
112
  const _checkInDate = (date, disabledClass) => {
89
- return (react_1.default.createElement("div", { className: disabledClass ? '' : BookingWizard_module_scss_1.default.item, onClick: _toggleInlineDatePicker },
90
- react_1.default.createElement("label", { className: BookingWizard_module_scss_1.default.label }, t(Translation_1.Translation.Misc.CheckIn)),
91
- layout === 'horizontal-condensed' ? (react_1.default.createElement(react_1.default.Fragment, null,
92
- react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardDateSelector_module_scss_1.default.date, BookingWizardDateSelector_module_scss_1.default['line-1']), bold: true }, (date === null || date === void 0 ? void 0 : date.format('DD')) || '-'),
93
- react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardDateSelector_module_scss_1.default.date, BookingWizardDateSelector_module_scss_1.default['line-2']), bold: true }, (date === null || date === void 0 ? void 0 : date.format('MMM')) || '-'))) : (react_1.default.createElement(Text_1.default, { className: BookingWizardDateSelector_module_scss_1.default.date, bold: true }, (date === null || date === void 0 ? void 0 : date.format(dateFormat)) || '-'))));
113
+ const defaultPlaceHolder = isImagesTheme ? t(Translation_1.Translation.Misc.CheckInPlaceHolder) : '-';
114
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)({
115
+ [BookingWizard_module_scss_1.default.item]: !disabledClass,
116
+ [BookingWizard_module_scss_1.default['item-fullwidth']]: isImagesTheme,
117
+ }), onClick: _toggleInlineDatePicker },
118
+ react_1.default.createElement("div", { className: BookingWizard_module_scss_1.default['item-with-icon'] },
119
+ react_1.default.createElement("div", null,
120
+ react_1.default.createElement("label", { className: BookingWizard_module_scss_1.default.label }, t(Translation_1.Translation.Misc.CheckIn)),
121
+ layout === 'horizontal-condensed' ? (react_1.default.createElement(react_1.default.Fragment, null,
122
+ react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardDateSelector_module_scss_1.default.date, BookingWizardDateSelector_module_scss_1.default['line-1'], BookingWizard_module_scss_1.default.value), bold: true }, (date === null || date === void 0 ? void 0 : date.format('DD')) || defaultPlaceHolder),
123
+ react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardDateSelector_module_scss_1.default.date, BookingWizardDateSelector_module_scss_1.default['line-2'], BookingWizard_module_scss_1.default.value), bold: true }, (date === null || date === void 0 ? void 0 : date.format('MMM')) || defaultPlaceHolder))) : (react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardDateSelector_module_scss_1.default.date, BookingWizard_module_scss_1.default.value), bold: true }, (date === null || date === void 0 ? void 0 : date.format(dateFormat)) || defaultPlaceHolder))),
124
+ react_1.default.createElement(ClearButton, { date: date, onClick: () => {
125
+ setDate(null, endDate);
126
+ } }))));
94
127
  };
95
128
  const _checkOutDate = (date) => {
96
- return (react_1.default.createElement("div", { className: BookingWizard_module_scss_1.default.item, onClick: _toggleInlineDatePicker },
97
- react_1.default.createElement("label", { className: BookingWizard_module_scss_1.default.label }, t(Translation_1.Translation.Misc.CheckOut)),
98
- layout === 'horizontal-condensed' ? (react_1.default.createElement(react_1.default.Fragment, null,
99
- react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardDateSelector_module_scss_1.default.date, BookingWizardDateSelector_module_scss_1.default['line-1']), bold: true }, (date === null || date === void 0 ? void 0 : date.format('DD')) || '-'),
100
- react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardDateSelector_module_scss_1.default.date, BookingWizardDateSelector_module_scss_1.default['line-2']), bold: true }, (date === null || date === void 0 ? void 0 : date.format('MMM')) || '-'))) : (react_1.default.createElement(Text_1.default, { className: BookingWizardDateSelector_module_scss_1.default.date, bold: true }, (date === null || date === void 0 ? void 0 : date.format(dateFormat)) || '-'))));
129
+ const defaultPlaceHolder = isImagesTheme ? t(Translation_1.Translation.Misc.CheckOutPlaceHolder) : '-';
130
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)(BookingWizard_module_scss_1.default.item, {
131
+ [BookingWizard_module_scss_1.default['active']]: isOverlayOpen && !!startDate && !endDate,
132
+ }), onClick: _toggleInlineDatePicker },
133
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(BookingWizard_module_scss_1.default['item-with-icon']) },
134
+ react_1.default.createElement("div", null,
135
+ react_1.default.createElement("label", { className: BookingWizard_module_scss_1.default.label }, t(Translation_1.Translation.Misc.CheckOut)),
136
+ layout === 'horizontal-condensed' ? (react_1.default.createElement(react_1.default.Fragment, null,
137
+ react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardDateSelector_module_scss_1.default.date, BookingWizardDateSelector_module_scss_1.default['line-1'], BookingWizard_module_scss_1.default.value), bold: true }, (date === null || date === void 0 ? void 0 : date.format('DD')) || defaultPlaceHolder),
138
+ react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardDateSelector_module_scss_1.default.date, BookingWizardDateSelector_module_scss_1.default['line-2'], BookingWizard_module_scss_1.default.value), bold: true }, (date === null || date === void 0 ? void 0 : date.format('MMM')) || defaultPlaceHolder))) : (react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardDateSelector_module_scss_1.default.date, BookingWizard_module_scss_1.default.value), bold: true }, (date === null || date === void 0 ? void 0 : date.format(dateFormat)) || defaultPlaceHolder))),
139
+ react_1.default.createElement(ClearButton, { date: date, onClick: () => {
140
+ setDate(startDate, null);
141
+ } }))));
101
142
  };
102
143
  const _combineDates = (checkIn, checkOut) => {
103
144
  return (react_1.default.createElement("div", { onClick: _toggleInlineDatePicker },
@@ -117,20 +158,41 @@ const BookingWizardDateSelector = (props) => {
117
158
  react_1.default.createElement(DateRangePicker_1.default, { selectedStartDate: startDate, selectedEndDate: endDate, onStartDateChanged: setStartDate, onEndDateChanged: _onCheckoutDateChange, theme: layout === 'horizontal-condensed' ? BookingWizard_1.EBookingWizardTheme.Specific : theme, showYearOnCalendar: showYearOnCalendar, yearDisplayOption: yearDisplayOption }))))));
118
159
  }
119
160
  if (overlayType === 'bottom-sheet') {
161
+ const DateRangePickerFooter = () => {
162
+ if (isImagesTheme) {
163
+ return (react_1.default.createElement(BEButton_1.default, { stopIconAnimation: true, outline: true, rounded: true, wide: true, onClick: () => {
164
+ setMonthCount((prev) => prev + 4);
165
+ } }, t(Translation_1.Translation.Misc.LoadMoreDates)));
166
+ }
167
+ else {
168
+ return (react_1.default.createElement(BEButton_1.default, { wide: true, primary: true, filled: true, onClick: onApply }, t(Translation_1.Translation.Misc.Apply)));
169
+ }
170
+ };
120
171
  return (react_1.default.createElement(react_1.default.Fragment, null,
121
172
  react_1.default.createElement(RowWrapper, Object.assign({}, rowWrapperProps), !isMobile && layout === 'horizontal' ? (react_1.default.createElement("div", { className: BookingWizard_module_scss_1.default.item }, _combineDates(startDate, endDate))) : (react_1.default.createElement(react_1.default.Fragment, null,
122
173
  _checkInDate(startDate),
123
174
  react_1.default.createElement("div", { className: BookingWizard_module_scss_1.default.divider }),
124
175
  _checkOutDate(endDate)))),
125
- react_1.default.createElement(BookingWizardBottomSheet_1.default, { className: (0, classnames_1.default)(BookingWizardDateSelector_module_scss_1.default.container, BookingWizardDateSelector_module_scss_1.default['bottom-sheet-container']), open: isOpen, onDismiss: () => setIsOpen(false), header: react_1.default.createElement("div", { className: BookingWizardDateSelector_module_scss_1.default.header },
126
- react_1.default.createElement(Text_1.default, null, t(Translation_1.Translation.Misc.ChooseDates)),
127
- " ",
128
- react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.Close, onClick: () => setIsOpen(false) })) },
176
+ react_1.default.createElement(BookingWizardBottomSheet_1.default, { className: (0, classnames_1.default)(BookingWizardDateSelector_module_scss_1.default.container, BookingWizardDateSelector_module_scss_1.default['bottom-sheet-container'], {
177
+ [BookingWizardDateSelector_module_scss_1.default['custom-overlay-images-theme']]: isImagesTheme,
178
+ }), open: isOpen, onDismiss: () => {
179
+ if (!isImagesThemeMobile) {
180
+ setIsOpen(false);
181
+ }
182
+ }, header: react_1.default.createElement(BookingWizardBottomSheet_1.BWBottomSheetHeader, { title: t(Translation_1.Translation.Misc.ChooseDates), onClose: () => setIsOpen(false) }), footer: react_1.default.createElement(BookingWizardBottomSheet_1.BWBottomSheetFooter, { hidePrev: stateSections[BookingWizard_1.EBookingWizardSection.Date].isFirst, onPrev: () => onPrevHandler(BookingWizard_1.EBookingWizardSection.Date), onNext: () => onNextHandler(BookingWizard_1.EBookingWizardSection.Date), disabledNext: !startDate || !endDate }) },
129
183
  react_1.default.createElement("div", { className: BookingWizardDateSelector_module_scss_1.default['bottom-sheet-container-box'] },
130
- react_1.default.createElement(DateRangePicker_1.default, { selectedStartDate: startDate, selectedEndDate: endDate, onStartDateChanged: setSelectingStartDate, onEndDateChanged: setSelectingEndDate, theme: theme, showYearOnCalendar: showYearOnCalendar, yearDisplayOption: yearDisplayOption }),
131
- react_1.default.createElement(BEButton_1.default, { wide: true, primary: true, filled: true, onClick: () => {
132
- setDate(selectingStartDate, selectingEndDate);
133
- } }, t(Translation_1.Translation.Misc.Apply))))));
184
+ react_1.default.createElement(DateRangePicker_1.default, { selectedStartDate: startDate, selectedEndDate: endDate, onStartDateChanged: (date) => {
185
+ setSelectingStartDate(date);
186
+ if (isImagesThemeMobile) {
187
+ setStartDate(date);
188
+ }
189
+ }, onEndDateChanged: (date) => {
190
+ setSelectingEndDate(date);
191
+ if (isImagesThemeMobile) {
192
+ _onCheckoutDateChange(date);
193
+ }
194
+ }, theme: theme, showYearOnCalendar: showYearOnCalendar, yearDisplayOption: yearDisplayOption, className: BookingWizardDateSelector_module_scss_1.default['bottom-sheet-container-box-calendar'], showMultipleMonths: isImagesTheme, showArrows: theme !== BookingWizard_1.EBookingWizardTheme.Images, monthCount: monthCount }),
195
+ react_1.default.createElement(DateRangePickerFooter, null)))));
134
196
  }
135
197
  if (layout === 'horizontal' && theme === BookingWizard_1.EBookingWizardTheme.Specific && !isMobile && !isSmallContainer) {
136
198
  return (react_1.default.createElement(RowWrapper, Object.assign({}, rowWrapperProps),
@@ -139,11 +201,16 @@ const BookingWizardDateSelector = (props) => {
139
201
  fallbackPlacements: overlay === null || overlay === void 0 ? void 0 : overlay.fallbackPlacements,
140
202
  }, showYearOnCalendar: showYearOnCalendar, yearDisplayOption: yearDisplayOption }, _combineDates(startDate, endDate))));
141
203
  }
204
+ const DateNotes = () => {
205
+ return (props === null || props === void 0 ? void 0 : props.notes) && isImagesTheme ? react_1.default.createElement("div", { className: BookingWizard_module_scss_1.default.notes }, props === null || props === void 0 ? void 0 : props.notes) : null;
206
+ };
142
207
  return (react_1.default.createElement(RowWrapper, Object.assign({}, rowWrapperProps),
143
- react_1.default.createElement(FloatingDateRangePicker_1.default, { ref: checkOutDatePickerRef, container: checkInWrapperRef, startDate: startDate, endDate: endDate, selectedDateChanged: setDate, overlayOffset: overlay === null || overlay === void 0 ? void 0 : overlay.dateOffset, theme: layout === 'horizontal-condensed' ? BookingWizard_1.EBookingWizardTheme.Specific : theme, showMultipleMonths: showMultipleMonths, className: BookingWizard_module_scss_1.default.item, overlay: {
208
+ react_1.default.createElement(FloatingDateRangePicker_1.default, { ref: checkOutDatePickerRef, container: checkInWrapperRef, startDate: startDate, endDate: endDate, selectedDateChanged: setDate, overlayOffset: overlay === null || overlay === void 0 ? void 0 : overlay.dateOffset, theme: layout === 'horizontal-condensed' ? BookingWizard_1.EBookingWizardTheme.Specific : theme, showMultipleMonths: showMultipleMonths, className: (0, classnames_1.default)(BookingWizard_module_scss_1.default.item, {
209
+ [BookingWizard_module_scss_1.default['active']]: isOverlayOpen && !!endDate,
210
+ }), overlay: {
144
211
  placement: overlay === null || overlay === void 0 ? void 0 : overlay.placement,
145
212
  fallbackPlacements: overlay === null || overlay === void 0 ? void 0 : overlay.fallbackPlacements,
146
- }, showYearOnCalendar: showYearOnCalendar, yearDisplayOption: yearDisplayOption }, _checkInDate(startDate, true)),
213
+ }, showYearOnCalendar: showYearOnCalendar, yearDisplayOption: yearDisplayOption, notes: react_1.default.createElement(DateNotes, null), onOverlayOpenChange: onOverlayOpenChange }, _checkInDate(startDate, true)),
147
214
  react_1.default.createElement("div", { className: layout !== 'button' && !isMobile ? BookingWizard_module_scss_1.default.divider : '' }),
148
215
  _checkOutDate(endDate)));
149
216
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BookingWizardDateSelector.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames';\nimport dayjs, { Dayjs } from 'dayjs';\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport BEButton from '@/components/generic/BEButton';\nimport DateRangePicker from '@/components/generic/DateRangePicker/DateRangePicker';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport Text from '@/components/generic/Text';\nimport { ShowYearOnCalendarProps } from '@/models/Api/HotelOverrideDTO';\nimport { Translation } from '@/translations/Translation';\n\nimport FloatingDateRangePicker, { FloatingDateRangePickerHandle } from '../../DateRangePicker/FloatingDateRangePicker';\nimport { EBookingWizardTheme } from '../BookingWizard';\nimport bookingWizardStyles from '../BookingWizard.module.scss';\nimport BookingWizardBottomSheet from '../BookingWizardBottomSheet/BookingWizardBottomSheet';\nimport { useBookingWizard } from '../BookingWizardContext';\nimport styles from './BookingWizardDateSelector.module.scss';\n\nexport interface BookingWizardDateSelectorProps extends ShowYearOnCalendarProps {\n open?: boolean;\n defaultStartDate?: dayjs.Dayjs;\n defaultEndDate?: dayjs.Dayjs;\n dateFormat?: string;\n onChange?: (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => void;\n}\n\nexport const BookingWizardDateSelector: React.FC<BookingWizardDateSelectorProps> = (props) => {\n const { defaultStartDate, defaultEndDate, dateFormat = 'MMM DD', showYearOnCalendar, yearDisplayOption } = props;\n const { overlay, theme, layout, type: overlayType, isMobile, isSmallContainer } = useBookingWizard();\n const { t } = useTranslation();\n\n const checkOutDatePickerRef = React.useRef<FloatingDateRangePickerHandle>(null);\n\n const [startDate, setStartDate] = useState<dayjs.Dayjs | null>(defaultStartDate ?? dayjs());\n const [endDate, setEndDate] = useState<dayjs.Dayjs | null>(defaultEndDate ?? dayjs().add(1, 'days'));\n const [selectingStartDate, setSelectingStartDate] = useState<dayjs.Dayjs | null>(startDate);\n const [selectingEndDate, setSelectingEndDate] = useState<dayjs.Dayjs | null>(endDate);\n const [isOpen, setIsOpen] = useState(false);\n const [checkInWrapperRef, setCheckInWrapperRef] = React.useState<HTMLElement | undefined>();\n\n let RowWrapper: any = React.Fragment;\n const rowWrapperProps = {} as any;\n if (layout === 'button' || isMobile || isSmallContainer) {\n RowWrapper = 'div';\n rowWrapperProps.className = bookingWizardStyles.itemGroup;\n rowWrapperProps.ref = (ref: any) => {\n if (layout === 'button') {\n setCheckInWrapperRef(ref);\n }\n };\n }\n\n const setDate = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => {\n setStartDate(startDate);\n setEndDate(endDate);\n\n setIsOpen(false);\n\n props.onChange?.(startDate, endDate);\n };\n\n const _onCheckoutDateChange = (newEndDate: dayjs.Dayjs) => {\n props?.onChange?.(startDate as Dayjs, newEndDate);\n\n setEndDate(newEndDate);\n if (newEndDate) {\n setIsOpen(false);\n }\n };\n\n const _toggleInlineDatePicker = () => {\n checkOutDatePickerRef?.current?.toggle();\n setIsOpen(!isOpen);\n };\n\n const _checkInDate = (date?: dayjs.Dayjs, disabledClass?: boolean) => {\n return (\n <div className={disabledClass ? '' : bookingWizardStyles.item} onClick={_toggleInlineDatePicker}>\n <label className={bookingWizardStyles.label}>{t(Translation.Misc.CheckIn)}</label>\n {layout === 'horizontal-condensed' ? (\n <>\n <Text className={classNames(styles.date, styles['line-1'])} bold>\n {date?.format('DD') || '-'}\n </Text>\n <Text className={classNames(styles.date, styles['line-2'])} bold>\n {date?.format('MMM') || '-'}\n </Text>\n </>\n ) : (\n <Text className={styles.date} bold>\n {date?.format(dateFormat) || '-'}\n </Text>\n )}\n </div>\n );\n };\n\n const _checkOutDate = (date?: dayjs.Dayjs) => {\n return (\n <div className={bookingWizardStyles.item} onClick={_toggleInlineDatePicker}>\n <label className={bookingWizardStyles.label}>{t(Translation.Misc.CheckOut)}</label>\n {layout === 'horizontal-condensed' ? (\n <>\n <Text className={classNames(styles.date, styles['line-1'])} bold>\n {date?.format('DD') || '-'}\n </Text>\n <Text className={classNames(styles.date, styles['line-2'])} bold>\n {date?.format('MMM') || '-'}\n </Text>\n </>\n ) : (\n <Text className={styles.date} bold>\n {date?.format(dateFormat) || '-'}\n </Text>\n )}\n </div>\n );\n };\n\n const _combineDates = (checkIn?: dayjs.Dayjs, checkOut?: dayjs.Dayjs) => {\n return (\n <div onClick={_toggleInlineDatePicker}>\n <label className={bookingWizardStyles.label}>{t(Translation.Misc.Dates)}</label>\n <Text className={styles.date} bold>{`${checkIn?.format(dateFormat) || ''} - ${checkOut?.format(dateFormat) || ''}`}</Text>\n </div>\n );\n };\n\n const showMultipleMonths = layout === 'horizontal' && !isMobile;\n\n if (overlayType === 'inline') {\n return (\n <div className={classNames(styles.container, { [styles['--open']]: isOpen })}>\n <RowWrapper {...rowWrapperProps}>\n {_checkInDate(startDate as Dayjs)}\n <div className={bookingWizardStyles.divider} />\n {_checkOutDate(endDate as Dayjs)}\n </RowWrapper>\n <div className={styles['inline-container']}>\n <AutoAutoHeight open={isOpen}>\n <div className={styles['inline-box']}>\n <DateRangePicker\n selectedStartDate={startDate as Dayjs}\n selectedEndDate={endDate as Dayjs}\n onStartDateChanged={setStartDate}\n onEndDateChanged={_onCheckoutDateChange}\n theme={layout === 'horizontal-condensed' ? EBookingWizardTheme.Specific : theme}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n />\n </div>\n </AutoAutoHeight>\n </div>\n </div>\n );\n }\n\n if (overlayType === 'bottom-sheet') {\n return (\n <>\n <RowWrapper {...rowWrapperProps}>\n {!isMobile && layout === 'horizontal' ? (\n <div className={bookingWizardStyles.item}>{_combineDates(startDate as Dayjs, endDate as Dayjs)}</div>\n ) : (\n <>\n {_checkInDate(startDate as Dayjs)}\n <div className={bookingWizardStyles.divider} />\n {_checkOutDate(endDate as Dayjs)}\n </>\n )}\n </RowWrapper>\n <BookingWizardBottomSheet\n className={classNames(styles.container, styles['bottom-sheet-container'])}\n open={isOpen}\n onDismiss={() => setIsOpen(false)}\n header={\n <div className={styles.header}>\n <Text>{t(Translation.Misc.ChooseDates)}</Text> <Icon icon={IconType.Close} onClick={() => setIsOpen(false)} />\n </div>\n }\n >\n <div className={styles['bottom-sheet-container-box']}>\n <DateRangePicker\n selectedStartDate={startDate as Dayjs}\n selectedEndDate={endDate as Dayjs}\n onStartDateChanged={setSelectingStartDate}\n onEndDateChanged={setSelectingEndDate}\n theme={theme}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n />\n <BEButton\n wide\n primary\n filled\n onClick={() => {\n setDate(selectingStartDate as Dayjs, selectingEndDate as Dayjs);\n }}\n >\n {t(Translation.Misc.Apply)}\n </BEButton>\n </div>\n </BookingWizardBottomSheet>\n </>\n );\n }\n\n if (layout === 'horizontal' && theme === EBookingWizardTheme.Specific && !isMobile && !isSmallContainer) {\n return (\n <RowWrapper {...rowWrapperProps}>\n <FloatingDateRangePicker\n ref={checkOutDatePickerRef}\n container={checkInWrapperRef}\n startDate={startDate as Dayjs}\n endDate={endDate as Dayjs}\n selectedDateChanged={setDate}\n overlayOffset={overlay?.dateOffset}\n className={bookingWizardStyles.item}\n theme={theme}\n showMultipleMonths={showMultipleMonths}\n overlay={{\n placement: overlay?.placement,\n fallbackPlacements: overlay?.fallbackPlacements,\n }}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n >\n {_combineDates(startDate as Dayjs, endDate as Dayjs)}\n </FloatingDateRangePicker>\n </RowWrapper>\n );\n }\n\n return (\n <RowWrapper {...rowWrapperProps}>\n <FloatingDateRangePicker\n ref={checkOutDatePickerRef}\n container={checkInWrapperRef}\n startDate={startDate as Dayjs}\n endDate={endDate as Dayjs}\n selectedDateChanged={setDate}\n overlayOffset={overlay?.dateOffset}\n theme={layout === 'horizontal-condensed' ? EBookingWizardTheme.Specific : theme}\n showMultipleMonths={showMultipleMonths}\n className={bookingWizardStyles.item}\n overlay={{\n placement: overlay?.placement,\n fallbackPlacements: overlay?.fallbackPlacements,\n }}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n >\n {_checkInDate(startDate as Dayjs, true)}\n </FloatingDateRangePicker>\n <div className={layout !== 'button' && !isMobile ? bookingWizardStyles.divider : ''} />\n {_checkOutDate(endDate as Dayjs)}\n </RowWrapper>\n );\n};\n"]}
1
+ {"version":3,"file":"BookingWizardDateSelector.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames';\nimport dayjs, { Dayjs } from 'dayjs';\nimport React, { ReactNode, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport BEButton from '@/components/generic/BEButton';\nimport DateRangePicker from '@/components/generic/DateRangePicker/DateRangePicker';\nimport Text from '@/components/generic/Text';\nimport { ShowYearOnCalendarProps } from '@/models/Api/HotelOverrideDTO';\nimport { Translation } from '@/translations/Translation';\n\nimport FloatingDateRangePicker, { FloatingDateRangePickerHandle } from '../../DateRangePicker/FloatingDateRangePicker';\nimport { EBookingWizardSection, EBookingWizardTheme } from '../BookingWizard';\nimport bookingWizardStyles from '../BookingWizard.module.scss';\nimport BookingWizardBottomSheet, { BWBottomSheetFooter, BWBottomSheetHeader } from '../BookingWizardBottomSheet/BookingWizardBottomSheet';\nimport { BWClearButton } from '../BookingWizardContent';\nimport { useBookingWizard } from '../BookingWizardContext';\nimport styles from './BookingWizardDateSelector.module.scss';\n\nexport interface BookingWizardDateSelectorProps extends ShowYearOnCalendarProps {\n open?: boolean;\n defaultStartDate?: dayjs.Dayjs;\n defaultEndDate?: dayjs.Dayjs;\n dateFormat?: string;\n onChange?: (startDate: dayjs.Dayjs | null, endDate: dayjs.Dayjs | null) => void;\n notes?: ReactNode;\n divider?: boolean;\n hidden?: boolean;\n inactive?: boolean;\n}\n\nexport const BookingWizardDateSelector: React.FC<BookingWizardDateSelectorProps> = (props) => {\n const { defaultStartDate, defaultEndDate, dateFormat = 'MMM DD', showYearOnCalendar, yearDisplayOption, divider = true, hidden, inactive } = props;\n if (hidden) return null;\n const {\n overlay,\n theme,\n layout,\n type: overlayType,\n isMobile,\n isSmallContainer,\n stateSections,\n onPrevHandler,\n onNextHandler,\n isImagesTheme,\n isImagesThemeMobile,\n } = useBookingWizard();\n const { t } = useTranslation();\n\n const checkOutDatePickerRef = React.useRef<FloatingDateRangePickerHandle>(null);\n\n //With isImagesTheme, default both startDate and endDate are null\n const [startDate, setStartDate] = useState<dayjs.Dayjs | null>(defaultStartDate ?? (isImagesTheme ? null : dayjs()));\n const [endDate, setEndDate] = useState<dayjs.Dayjs | null>(defaultEndDate ?? (isImagesTheme ? null : dayjs().add(1, 'days')));\n const [selectingStartDate, setSelectingStartDate] = useState<dayjs.Dayjs | null>(startDate);\n const [selectingEndDate, setSelectingEndDate] = useState<dayjs.Dayjs | null>(endDate);\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const [isOverlayOpen, setIsOverlayOpen] = useState<boolean>(false);\n const [checkInWrapperRef, setCheckInWrapperRef] = React.useState<HTMLElement | undefined>();\n const [monthCount, setMonthCount] = useState<number>(2);\n\n useEffect(() => {\n const opening = stateSections[EBookingWizardSection.Date].opening;\n setIsOpen(opening);\n }, [stateSections]);\n\n let RowWrapper: any = React.Fragment;\n const rowWrapperProps = {} as any;\n if (layout === 'button' || isMobile || isSmallContainer) {\n RowWrapper = 'div';\n rowWrapperProps.className = classNames(bookingWizardStyles.itemGroup, {\n [bookingWizardStyles['inactive']]: inactive,\n });\n rowWrapperProps.ref = (ref: any) => {\n if (layout === 'button') {\n setCheckInWrapperRef(ref);\n }\n };\n }\n\n const setDate = (startDate: dayjs.Dayjs | null, endDate: dayjs.Dayjs | null) => {\n setStartDate(startDate);\n setEndDate(endDate);\n\n if (!isImagesThemeMobile) {\n setIsOpen(false);\n }\n\n props.onChange?.(startDate, endDate);\n };\n\n const _onCheckoutDateChange = (newEndDate: dayjs.Dayjs) => {\n props?.onChange?.(startDate as Dayjs, newEndDate);\n\n setEndDate(newEndDate);\n if (newEndDate) {\n if (!isImagesThemeMobile) {\n setIsOpen(false);\n }\n }\n };\n\n const _toggleInlineDatePicker = () => {\n checkOutDatePickerRef?.current?.toggle();\n setIsOpen(!isOpen);\n };\n\n const onOverlayOpenChange = (isOpen: boolean) => {\n setIsOverlayOpen(isOpen);\n };\n\n const ClearButton = ({ date, onClick }: { date?: dayjs.Dayjs; onClick: any }) => {\n return isImagesTheme ? <BWClearButton hidden={isOverlayOpen && !!date} onClick={onClick} /> : <></>;\n };\n\n const onApply = () => {\n setDate(selectingStartDate as Dayjs, selectingEndDate as Dayjs);\n };\n\n const _checkInDate = (date?: dayjs.Dayjs, disabledClass?: boolean) => {\n const defaultPlaceHolder = isImagesTheme ? t(Translation.Misc.CheckInPlaceHolder) : '-';\n return (\n <div\n className={classNames({\n [bookingWizardStyles.item]: !disabledClass,\n [bookingWizardStyles['item-fullwidth']]: isImagesTheme,\n })}\n onClick={_toggleInlineDatePicker}\n >\n <div className={bookingWizardStyles['item-with-icon']}>\n <div>\n <label className={bookingWizardStyles.label}>{t(Translation.Misc.CheckIn)}</label>\n {layout === 'horizontal-condensed' ? (\n <>\n <Text className={classNames(styles.date, styles['line-1'], bookingWizardStyles.value)} bold>\n {date?.format('DD') || defaultPlaceHolder}\n </Text>\n <Text className={classNames(styles.date, styles['line-2'], bookingWizardStyles.value)} bold>\n {date?.format('MMM') || defaultPlaceHolder}\n </Text>\n </>\n ) : (\n <Text className={classNames(styles.date, bookingWizardStyles.value)} bold>\n {date?.format(dateFormat) || defaultPlaceHolder}\n </Text>\n )}\n </div>\n <ClearButton\n date={date}\n onClick={() => {\n setDate(null, endDate);\n }}\n />\n </div>\n </div>\n );\n };\n\n const _checkOutDate = (date?: dayjs.Dayjs) => {\n const defaultPlaceHolder = isImagesTheme ? t(Translation.Misc.CheckOutPlaceHolder) : '-';\n return (\n <div\n className={classNames(bookingWizardStyles.item, {\n [bookingWizardStyles['active']]: isOverlayOpen && !!startDate && !endDate,\n })}\n onClick={_toggleInlineDatePicker}\n >\n <div className={classNames(bookingWizardStyles['item-with-icon'])}>\n <div>\n <label className={bookingWizardStyles.label}>{t(Translation.Misc.CheckOut)}</label>\n {layout === 'horizontal-condensed' ? (\n <>\n <Text className={classNames(styles.date, styles['line-1'], bookingWizardStyles.value)} bold>\n {date?.format('DD') || defaultPlaceHolder}\n </Text>\n <Text className={classNames(styles.date, styles['line-2'], bookingWizardStyles.value)} bold>\n {date?.format('MMM') || defaultPlaceHolder}\n </Text>\n </>\n ) : (\n <Text className={classNames(styles.date, bookingWizardStyles.value)} bold>\n {date?.format(dateFormat) || defaultPlaceHolder}\n </Text>\n )}\n </div>\n <ClearButton\n date={date}\n onClick={() => {\n setDate(startDate, null);\n }}\n />\n </div>\n </div>\n );\n };\n\n const _combineDates = (checkIn?: dayjs.Dayjs, checkOut?: dayjs.Dayjs) => {\n return (\n <div onClick={_toggleInlineDatePicker}>\n <label className={bookingWizardStyles.label}>{t(Translation.Misc.Dates)}</label>\n <Text className={styles.date} bold>{`${checkIn?.format(dateFormat) || ''} - ${checkOut?.format(dateFormat) || ''}`}</Text>\n </div>\n );\n };\n\n const showMultipleMonths = layout === 'horizontal' && !isMobile;\n\n if (overlayType === 'inline') {\n return (\n <div className={classNames(styles.container, { [styles['--open']]: isOpen })}>\n <RowWrapper {...rowWrapperProps}>\n {_checkInDate(startDate as Dayjs)}\n <div className={bookingWizardStyles.divider} />\n {_checkOutDate(endDate as Dayjs)}\n </RowWrapper>\n <div className={styles['inline-container']}>\n <AutoAutoHeight open={isOpen}>\n <div className={styles['inline-box']}>\n <DateRangePicker\n selectedStartDate={startDate as Dayjs}\n selectedEndDate={endDate as Dayjs}\n onStartDateChanged={setStartDate}\n onEndDateChanged={_onCheckoutDateChange}\n theme={layout === 'horizontal-condensed' ? EBookingWizardTheme.Specific : theme}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n />\n </div>\n </AutoAutoHeight>\n </div>\n </div>\n );\n }\n\n if (overlayType === 'bottom-sheet') {\n const DateRangePickerFooter = () => {\n if (isImagesTheme) {\n return (\n <BEButton\n stopIconAnimation\n outline\n rounded\n wide\n onClick={() => {\n setMonthCount((prev) => prev + 4);\n }}\n >\n {t(Translation.Misc.LoadMoreDates)}\n </BEButton>\n );\n } else {\n return (\n <BEButton wide primary filled onClick={onApply}>\n {t(Translation.Misc.Apply)}\n </BEButton>\n );\n }\n };\n\n return (\n <>\n <RowWrapper {...rowWrapperProps}>\n {!isMobile && layout === 'horizontal' ? (\n <div className={bookingWizardStyles.item}>{_combineDates(startDate as Dayjs, endDate as Dayjs)}</div>\n ) : (\n <>\n {_checkInDate(startDate as Dayjs)}\n <div className={bookingWizardStyles.divider} />\n {_checkOutDate(endDate as Dayjs)}\n </>\n )}\n </RowWrapper>\n <BookingWizardBottomSheet\n className={classNames(styles.container, styles['bottom-sheet-container'], {\n [styles['custom-overlay-images-theme']]: isImagesTheme,\n })}\n open={isOpen}\n onDismiss={() => {\n if (!isImagesThemeMobile) {\n setIsOpen(false);\n }\n }}\n header={<BWBottomSheetHeader title={t(Translation.Misc.ChooseDates)} onClose={() => setIsOpen(false)} />}\n footer={\n <BWBottomSheetFooter\n hidePrev={stateSections[EBookingWizardSection.Date].isFirst}\n onPrev={() => onPrevHandler(EBookingWizardSection.Date)}\n onNext={() => onNextHandler(EBookingWizardSection.Date)}\n disabledNext={!startDate || !endDate}\n />\n }\n >\n <div className={styles['bottom-sheet-container-box']}>\n <DateRangePicker\n selectedStartDate={startDate as Dayjs}\n selectedEndDate={endDate as Dayjs}\n onStartDateChanged={(date: dayjs.Dayjs) => {\n setSelectingStartDate(date);\n if (isImagesThemeMobile) {\n setStartDate(date);\n }\n }}\n onEndDateChanged={(date: dayjs.Dayjs) => {\n setSelectingEndDate(date);\n if (isImagesThemeMobile) {\n _onCheckoutDateChange(date);\n }\n }}\n theme={theme}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n className={styles['bottom-sheet-container-box-calendar']}\n showMultipleMonths={isImagesTheme}\n showArrows={theme !== EBookingWizardTheme.Images}\n monthCount={monthCount}\n />\n <DateRangePickerFooter />\n </div>\n </BookingWizardBottomSheet>\n </>\n );\n }\n\n if (layout === 'horizontal' && theme === EBookingWizardTheme.Specific && !isMobile && !isSmallContainer) {\n return (\n <RowWrapper {...rowWrapperProps}>\n <FloatingDateRangePicker\n ref={checkOutDatePickerRef}\n container={checkInWrapperRef}\n startDate={startDate as Dayjs}\n endDate={endDate as Dayjs}\n selectedDateChanged={setDate}\n overlayOffset={overlay?.dateOffset}\n className={bookingWizardStyles.item}\n theme={theme}\n showMultipleMonths={showMultipleMonths}\n overlay={{\n placement: overlay?.placement,\n fallbackPlacements: overlay?.fallbackPlacements,\n }}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n >\n {_combineDates(startDate as Dayjs, endDate as Dayjs)}\n </FloatingDateRangePicker>\n </RowWrapper>\n );\n }\n\n const DateNotes = () => {\n return props?.notes && isImagesTheme ? <div className={bookingWizardStyles.notes}>{props?.notes}</div> : null;\n };\n\n return (\n <RowWrapper {...rowWrapperProps}>\n <FloatingDateRangePicker\n ref={checkOutDatePickerRef}\n container={checkInWrapperRef}\n startDate={startDate as Dayjs}\n endDate={endDate as Dayjs}\n selectedDateChanged={setDate}\n overlayOffset={overlay?.dateOffset}\n theme={layout === 'horizontal-condensed' ? EBookingWizardTheme.Specific : theme}\n showMultipleMonths={showMultipleMonths}\n className={classNames(bookingWizardStyles.item, {\n [bookingWizardStyles['active']]: isOverlayOpen && !!endDate,\n })}\n overlay={{\n placement: overlay?.placement,\n fallbackPlacements: overlay?.fallbackPlacements,\n }}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n notes={<DateNotes />}\n onOverlayOpenChange={onOverlayOpenChange}\n >\n {_checkInDate(startDate as Dayjs, true)}\n </FloatingDateRangePicker>\n <div className={layout !== 'button' && !isMobile ? bookingWizardStyles.divider : ''} />\n {_checkOutDate(endDate as Dayjs)}\n </RowWrapper>\n );\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ import React, { FC, ReactNode } from 'react';
2
2
  export interface BookingWizardGuestSelectorProps {
3
3
  disableChild?: boolean;
4
4
  showInfants?: boolean;
@@ -20,7 +20,7 @@ export interface BookingWizardGuestSelectorProps {
20
20
  * @param children
21
21
  * @param room
22
22
  */
23
- onChange?: ({ adults, children, room }: {
23
+ onChange?: (params: {
24
24
  adults: number;
25
25
  children: number;
26
26
  infants: number;
@@ -32,7 +32,7 @@ export interface BookingWizardGuestSelectorProps {
32
32
  * @param children
33
33
  * @param room
34
34
  */
35
- onEditingChange?: ({ adults, children, room }: {
35
+ onEditingChange?: (params: {
36
36
  adults: number;
37
37
  children: number;
38
38
  infants: number;
@@ -46,5 +46,20 @@ export interface BookingWizardGuestSelectorProps {
46
46
  max?: number;
47
47
  };
48
48
  };
49
+ notes?: ReactNode;
50
+ onOverlayOpenChange?: (isOpen: boolean) => void;
51
+ promoCodeConfig?: {
52
+ divider: boolean;
53
+ withLabel: boolean;
54
+ promoCode: string;
55
+ setPromoCode: React.Dispatch<React.SetStateAction<string>>;
56
+ onChange: (value?: string) => Promise<void>;
57
+ valid: boolean | undefined;
58
+ hideTooltip: boolean | undefined;
59
+ };
60
+ submitConfig?: {
61
+ onSubmit: () => false | undefined;
62
+ disabledNext: boolean;
63
+ };
49
64
  }
50
65
  export declare const BookingWizardGuestSelector: FC<BookingWizardGuestSelectorProps>;
@@ -39,12 +39,15 @@ const Text_1 = __importStar(require("../../Text"));
39
39
  const Translation_1 = require("../../../../translations/Translation");
40
40
  const StringHelper_1 = __importDefault(require("../../../../util/StringHelper"));
41
41
  const AgedBetweenLabel_1 = require("../../AgedBetweenLabel/AgedBetweenLabel");
42
- const BookingWizardBottomSheet_1 = __importDefault(require("../BookingWizardBottomSheet/BookingWizardBottomSheet"));
42
+ const BookingWizard_1 = require("../BookingWizard");
43
+ const BookingWizard_module_scss_1 = __importDefault(require("../BookingWizard.module.scss"));
44
+ const BookingWizardBottomSheet_1 = __importStar(require("../BookingWizardBottomSheet/BookingWizardBottomSheet"));
45
+ const BookingWizardContent_1 = require("../BookingWizardContent");
43
46
  const BookingWizardContext_1 = require("../BookingWizardContext");
44
47
  const BookingWizardGuestSelector_module_scss_1 = __importDefault(require("./BookingWizardGuestSelector.module.scss"));
45
- const BookingWizardGuestSelector = ({ disableChild, showInfants, minAdultAge, maxAdultAge, maxAdults = 10, maxChildren = 10, maxInfants = 10, disableRoom, defaultValue, followElement, hideTooltip, onChange, onEditingChange, ageRange, }) => {
48
+ const BookingWizardGuestSelector = ({ disableChild, showInfants, minAdultAge, maxAdultAge, maxAdults = 10, maxChildren = 10, maxInfants = 10, disableRoom, defaultValue, followElement, hideTooltip, onChange, onEditingChange, ageRange, notes, onOverlayOpenChange, promoCodeConfig, submitConfig, }) => {
46
49
  var _a, _b, _c, _d;
47
- const { overlay, type: overlayType, layout, isSmallContainer } = (0, BookingWizardContext_1.useBookingWizard)();
50
+ const { overlay, type: overlayType, layout, isSmallContainer, stateSections, isImagesTheme, isImagesThemeMobile, onPrevHandler } = (0, BookingWizardContext_1.useBookingWizard)();
48
51
  const { t } = (0, react_i18next_1.useTranslation)();
49
52
  const ref = (0, react_1.useRef)(null);
50
53
  const targetRef = (0, react_1.useRef)(null);
@@ -57,12 +60,14 @@ const BookingWizardGuestSelector = ({ disableChild, showInfants, minAdultAge, ma
57
60
  const [editingInfants, setEditingInfants] = (0, react_1.useState)(infants);
58
61
  const [editingRoom, setEditingRoom] = (0, react_1.useState)(room);
59
62
  const [open, setOpen] = (0, react_1.useState)(false);
63
+ const autoApply = isImagesTheme;
60
64
  (0, react_1.useEffect)(() => {
61
- var _a, _b, _c;
65
+ var _a, _b, _c, _d;
62
66
  setAdults((_a = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.adults) !== null && _a !== void 0 ? _a : 1);
63
67
  setChildren((_b = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.children) !== null && _b !== void 0 ? _b : 0);
64
68
  setInfants((_c = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.infants) !== null && _c !== void 0 ? _c : 0);
65
- }, [defaultValue]);
69
+ setRoom((_d = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.room) !== null && _d !== void 0 ? _d : 1);
70
+ }, [defaultValue, isImagesTheme]);
66
71
  (0, react_1.useEffect)(() => {
67
72
  setEditingAdults(adults);
68
73
  }, [adults]);
@@ -72,6 +77,11 @@ const BookingWizardGuestSelector = ({ disableChild, showInfants, minAdultAge, ma
72
77
  (0, react_1.useEffect)(() => {
73
78
  setEditingInfants(infants);
74
79
  }, [infants]);
80
+ (0, react_1.useEffect)(() => {
81
+ if (stateSections && stateSections[BookingWizard_1.EBookingWizardSection.Guest]) {
82
+ setOpen(stateSections[BookingWizard_1.EBookingWizardSection.Guest].opening);
83
+ }
84
+ }, [stateSections]);
75
85
  const onApply = () => {
76
86
  setAdults(editingAdults);
77
87
  setChildren(editingChildren);
@@ -83,6 +93,12 @@ const BookingWizardGuestSelector = ({ disableChild, showInfants, minAdultAge, ma
83
93
  (0, react_1.useEffect)(() => {
84
94
  onEditingChange === null || onEditingChange === void 0 ? void 0 : onEditingChange({ adults: editingAdults, children: editingChildren, infants: editingInfants, room: editingRoom });
85
95
  }, [editingAdults, editingChildren, editingAdults, editingRoom]);
96
+ (0, react_1.useEffect)(() => {
97
+ onOverlayOpenChange === null || onOverlayOpenChange === void 0 ? void 0 : onOverlayOpenChange(open);
98
+ return () => {
99
+ onOverlayOpenChange === null || onOverlayOpenChange === void 0 ? void 0 : onOverlayOpenChange(false);
100
+ };
101
+ }, [open]);
86
102
  const getValueAsText = () => {
87
103
  if (layout === 'horizontal-condensed') {
88
104
  return adults + children;
@@ -90,6 +106,11 @@ const BookingWizardGuestSelector = ({ disableChild, showInfants, minAdultAge, ma
90
106
  if (layout === 'booking-summary') {
91
107
  return StringHelper_1.default.pluralWithCount(adults + children + infants, 'Guest', t);
92
108
  }
109
+ if (isImagesTheme) {
110
+ if (adults + children + infants === 0) {
111
+ return t(Translation_1.Translation.Misc.GuestsPlaceHolder);
112
+ }
113
+ }
93
114
  const parts = [StringHelper_1.default.pluralWithCount(adults, 'Adult', t)];
94
115
  if (children > 0) {
95
116
  parts.push(StringHelper_1.default.pluralWithCount(children, 'Child', t));
@@ -99,28 +120,87 @@ const BookingWizardGuestSelector = ({ disableChild, showInfants, minAdultAge, ma
99
120
  }
100
121
  return parts.join(' - ');
101
122
  };
123
+ const GuestNotes = () => {
124
+ return notes ? react_1.default.createElement("div", { className: BookingWizard_module_scss_1.default.notes }, notes) : null;
125
+ };
126
+ const onChangeAdults = (applyButton, newValue) => {
127
+ if (applyButton) {
128
+ setEditingAdults(newValue);
129
+ }
130
+ else {
131
+ setAdults(newValue);
132
+ if (autoApply) {
133
+ onChange === null || onChange === void 0 ? void 0 : onChange({ adults: newValue, children: editingChildren, infants: editingInfants, room: editingRoom });
134
+ }
135
+ }
136
+ };
137
+ const onChangeChildren = (applyButton, newValue) => {
138
+ if (applyButton) {
139
+ setEditingChildren(newValue);
140
+ }
141
+ else {
142
+ setChildren(newValue);
143
+ if (autoApply) {
144
+ onChange === null || onChange === void 0 ? void 0 : onChange({ adults: editingAdults, children: newValue, infants: editingInfants, room: editingRoom });
145
+ }
146
+ }
147
+ };
148
+ const onChangeInfants = (applyButton, newValue) => {
149
+ if (applyButton) {
150
+ setEditingInfants(newValue);
151
+ }
152
+ else {
153
+ setInfants(newValue);
154
+ if (autoApply) {
155
+ onChange === null || onChange === void 0 ? void 0 : onChange({ adults: editingAdults, children: editingChildren, infants: newValue, room: editingRoom });
156
+ }
157
+ }
158
+ };
159
+ const onChangeRoom = (applyButton, newValue) => {
160
+ if (applyButton) {
161
+ setEditingRoom(newValue);
162
+ }
163
+ else {
164
+ setRoom(newValue);
165
+ if (autoApply) {
166
+ onChange === null || onChange === void 0 ? void 0 : onChange({ adults: editingAdults, children: editingChildren, infants: editingInfants, room: newValue });
167
+ }
168
+ }
169
+ };
102
170
  const inner = (applyButton = true) => {
103
171
  var _a, _b, _c, _d;
104
172
  return (react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default['popper--box'] },
105
173
  react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default['popper--content'], ref: ref },
106
- react_1.default.createElement("div", null,
174
+ react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default['row-wrapper'] },
175
+ react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default.row },
176
+ react_1.default.createElement(Text_1.default, { className: BookingWizardGuestSelector_module_scss_1.default['title'], type: Text_1.TextType.Small }, StringHelper_1.default.plural(editingAdults, 'Adult', t)),
177
+ react_1.default.createElement(NumberIncrement_1.default, { number: editingAdults, min: 1, max: maxAdults, onChange: (value) => onChangeAdults(applyButton, value), textSize: Text_1.TextType.Small, hideTooltips: hideTooltip })),
178
+ react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default['sub-title'] },
179
+ react_1.default.createElement(AgedBetweenLabel_1.AgedBetweenLabel, { min: minAdultAge, max: maxAdultAge })),
180
+ react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default.divider })),
181
+ disableChild ? null : (react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default['row-wrapper'] },
107
182
  react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default.row },
108
- react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small }, StringHelper_1.default.plural(editingAdults, 'Adult', t)),
109
- react_1.default.createElement(NumberIncrement_1.default, { number: editingAdults, min: 1, max: maxAdults, onChange: applyButton ? setEditingAdults : setAdults, textSize: Text_1.TextType.Small, hideTooltips: hideTooltip })),
110
- react_1.default.createElement(AgedBetweenLabel_1.AgedBetweenLabel, { min: minAdultAge, max: maxAdultAge })),
111
- disableChild ? null : (react_1.default.createElement("div", null,
183
+ react_1.default.createElement(Text_1.default, { className: BookingWizardGuestSelector_module_scss_1.default['title'], type: Text_1.TextType.Small }, StringHelper_1.default.plural(editingChildren, 'Child', t)),
184
+ react_1.default.createElement(NumberIncrement_1.default, { number: editingChildren, min: 0, max: maxChildren, onChange: (value) => onChangeChildren(applyButton, value), textSize: Text_1.TextType.Small, hideTooltips: hideTooltip })),
185
+ react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default['sub-title'] },
186
+ react_1.default.createElement(AgedBetweenLabel_1.AgedBetweenLabel, { min: (_a = ageRange === null || ageRange === void 0 ? void 0 : ageRange.child) === null || _a === void 0 ? void 0 : _a.min, max: (_b = ageRange === null || ageRange === void 0 ? void 0 : ageRange.child) === null || _b === void 0 ? void 0 : _b.max })),
187
+ react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default.divider }))),
188
+ showInfants ? (react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default['row-wrapper'] },
112
189
  react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default.row },
113
- react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small }, StringHelper_1.default.plural(editingChildren, 'Child', t)),
114
- react_1.default.createElement(NumberIncrement_1.default, { number: editingChildren, min: 0, max: maxChildren, onChange: applyButton ? setEditingChildren : setChildren, textSize: Text_1.TextType.Small, hideTooltips: hideTooltip })),
115
- react_1.default.createElement(AgedBetweenLabel_1.AgedBetweenLabel, { min: (_a = ageRange === null || ageRange === void 0 ? void 0 : ageRange.child) === null || _a === void 0 ? void 0 : _a.min, max: (_b = ageRange === null || ageRange === void 0 ? void 0 : ageRange.child) === null || _b === void 0 ? void 0 : _b.max }))),
116
- showInfants ? (react_1.default.createElement("div", null,
190
+ react_1.default.createElement(Text_1.default, { className: BookingWizardGuestSelector_module_scss_1.default['title'], type: Text_1.TextType.Small }, StringHelper_1.default.plural(editingInfants, 'Infant', t)),
191
+ react_1.default.createElement(NumberIncrement_1.default, { number: editingInfants, min: 0, max: maxInfants, onChange: (value) => onChangeInfants(applyButton, value), textSize: Text_1.TextType.Small, hideTooltips: hideTooltip })),
192
+ react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default['sub-title'] },
193
+ react_1.default.createElement(AgedBetweenLabel_1.AgedBetweenLabel, { min: (_c = ageRange === null || ageRange === void 0 ? void 0 : ageRange.infant) === null || _c === void 0 ? void 0 : _c.min, max: (_d = ageRange === null || ageRange === void 0 ? void 0 : ageRange.infant) === null || _d === void 0 ? void 0 : _d.max })),
194
+ react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default.divider }))) : null,
195
+ disableRoom ? null : (react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default['row-wrapper'] },
117
196
  react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default.row },
118
- react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small }, StringHelper_1.default.plural(editingInfants, 'Infant', t)),
119
- react_1.default.createElement(NumberIncrement_1.default, { number: editingInfants, min: 0, max: maxInfants, onChange: applyButton ? setEditingInfants : setInfants, textSize: Text_1.TextType.Small, hideTooltips: hideTooltip })),
120
- react_1.default.createElement(AgedBetweenLabel_1.AgedBetweenLabel, { min: (_c = ageRange === null || ageRange === void 0 ? void 0 : ageRange.infant) === null || _c === void 0 ? void 0 : _c.min, max: (_d = ageRange === null || ageRange === void 0 ? void 0 : ageRange.infant) === null || _d === void 0 ? void 0 : _d.max }))) : null,
121
- disableRoom ? null : (react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default.row },
122
- react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small }, StringHelper_1.default.plural(editingRoom, 'Room', t)),
123
- react_1.default.createElement(NumberIncrement_1.default, { number: editingRoom, min: 1, max: 10, onChange: applyButton ? setEditingRoom : setRoom, textSize: Text_1.TextType.Small, hideTooltips: hideTooltip }))),
197
+ react_1.default.createElement(Text_1.default, { className: BookingWizardGuestSelector_module_scss_1.default['title'], type: Text_1.TextType.Small }, StringHelper_1.default.plural(editingRoom, 'Room', t)),
198
+ react_1.default.createElement(NumberIncrement_1.default, { number: editingRoom, min: 1, max: 10, onChange: (value) => onChangeRoom(applyButton, value), textSize: Text_1.TextType.Small, hideTooltips: hideTooltip })),
199
+ react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default.divider }))),
200
+ react_1.default.createElement(GuestNotes, null),
201
+ isImagesThemeMobile && promoCodeConfig && (react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default['row-wrapper'] },
202
+ react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default.row },
203
+ react_1.default.createElement(BookingWizardContent_1.BWPromoCodeSection, { divider: promoCodeConfig.divider, withLabel: promoCodeConfig.withLabel, promoCode: promoCodeConfig.promoCode, setPromoCode: promoCodeConfig.setPromoCode, onChange: promoCodeConfig.onChange, valid: promoCodeConfig.valid, hideTooltip: promoCodeConfig.hideTooltip, t: t, inactive: false, hidden: false, isImagesTheme: true })))),
124
204
  applyButton ? (react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default['popper--action'] },
125
205
  react_1.default.createElement(BEButton_1.default, { wide: overlayType === 'bottom-sheet', className: (0, classnames_1.default)(BookingWizardGuestSelector_module_scss_1.default.applyBtn, {
126
206
  [BookingWizardGuestSelector_module_scss_1.default['--booking-summary']]: layout === 'booking-summary',
@@ -132,17 +212,26 @@ const BookingWizardGuestSelector = ({ disableChild, showInfants, minAdultAge, ma
132
212
  react_1.default.createElement(AutoAutoHeight_1.default, { open: open }, inner(false))));
133
213
  }
134
214
  if (['bottom-sheet', 'top-sheet'].includes(overlayType)) {
135
- return (react_1.default.createElement(BookingWizardBottomSheet_1.default, Object.assign({ className: (0, classnames_1.default)(BookingWizardGuestSelector_module_scss_1.default.container, BookingWizardGuestSelector_module_scss_1.default['--bottom-sheet']), open: open, onDismiss: () => setOpen(false), header: react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default.header },
136
- react_1.default.createElement(Text_1.default, null, t(Translation_1.Translation.Misc.HowManyGuests)),
137
- " ",
138
- react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.Close, onClick: () => setOpen(false) })) }, ('top-sheet' === overlayType && {
215
+ return (react_1.default.createElement(BookingWizardBottomSheet_1.default, Object.assign({ className: (0, classnames_1.default)(BookingWizardGuestSelector_module_scss_1.default.container, BookingWizardGuestSelector_module_scss_1.default['--bottom-sheet'], {
216
+ [BookingWizardGuestSelector_module_scss_1.default['custom-overlay-images-theme']]: isImagesTheme,
217
+ }), open: open, onDismiss: () => {
218
+ if (!isImagesThemeMobile) {
219
+ setOpen(false);
220
+ }
221
+ }, header: react_1.default.createElement(BookingWizardBottomSheet_1.BWBottomSheetHeader, { title: t(Translation_1.Translation.Misc.HowManyGuests), onClose: () => setOpen(false) }), footer: submitConfig ? (react_1.default.createElement(BookingWizardBottomSheet_1.BWBottomSheetFooter, { hidePrev: stateSections[BookingWizard_1.EBookingWizardSection.Guest].isFirst, onPrev: () => onPrevHandler(BookingWizard_1.EBookingWizardSection.Guest), onNext: () => submitConfig.onSubmit(), nextLabel: t(Translation_1.Translation.Misc.BookNow), disabledNext: submitConfig.disabledNext })) : null }, ('top-sheet' === overlayType && {
139
222
  snapPoints: ({ maxHeight }) => [maxHeight],
140
223
  })),
141
224
  react_1.default.createElement("div", { className: BookingWizardGuestSelector_module_scss_1.default.popper },
142
- inner(),
225
+ inner(!autoApply),
143
226
  " ")));
144
227
  }
145
- return (react_1.default.createElement(Overlay_1.Overlay, { offset: overlay === null || overlay === void 0 ? void 0 : overlay.offset, usePortal: false, followElement: followElement || targetRef.current, placement: overlay === null || overlay === void 0 ? void 0 : overlay.placement, fallbackPlacements: overlay === null || overlay === void 0 ? void 0 : overlay.fallbackPlacements, strategy: "absolute", open: open, onClose: () => setOpen === null || setOpen === void 0 ? void 0 : setOpen(!open), className: BookingWizardGuestSelector_module_scss_1.default.popper, containerClassName: (0, classnames_1.default)(BookingWizardGuestSelector_module_scss_1.default['custom-overlay'], { [BookingWizardGuestSelector_module_scss_1.default['small-container']]: isSmallContainer }), hideStyles: true }, inner()));
228
+ return (react_1.default.createElement(Overlay_1.Overlay, { offset: overlay === null || overlay === void 0 ? void 0 : overlay.offset, usePortal: false, followElement: followElement || targetRef.current, placement: overlay === null || overlay === void 0 ? void 0 : overlay.placement, fallbackPlacements: overlay === null || overlay === void 0 ? void 0 : overlay.fallbackPlacements, strategy: "absolute", open: open, onClose: () => setOpen === null || setOpen === void 0 ? void 0 : setOpen(!open), className: BookingWizardGuestSelector_module_scss_1.default.popper, containerClassName: (0, classnames_1.default)(BookingWizardGuestSelector_module_scss_1.default['custom-overlay'], {
229
+ [BookingWizardGuestSelector_module_scss_1.default['small-container']]: isSmallContainer,
230
+ [BookingWizardGuestSelector_module_scss_1.default['custom-overlay-images-theme']]: isImagesTheme,
231
+ }), hideStyles: true }, inner(!isImagesTheme)));
232
+ };
233
+ const DropdownIcon = () => {
234
+ return ['horizontal-condensed', 'booking-summary'].includes(layout) || isImagesTheme ? react_1.default.createElement(react_1.default.Fragment, null) : react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.Dropdown });
146
235
  };
147
236
  return (react_1.default.createElement("div", { ref: targetRef, className: (0, classnames_1.default)(BookingWizardGuestSelector_module_scss_1.default.container, {
148
237
  [BookingWizardGuestSelector_module_scss_1.default['--inline']]: overlayType === 'inline',
@@ -152,8 +241,10 @@ const BookingWizardGuestSelector = ({ disableChild, showInfants, minAdultAge, ma
152
241
  react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardGuestSelector_module_scss_1.default['text-display'], {
153
242
  [BookingWizardGuestSelector_module_scss_1.default['--line-1']]: layout === 'horizontal-condensed',
154
243
  [BookingWizardGuestSelector_module_scss_1.default['--line-booking-summary']]: layout === 'booking-summary',
244
+ [BookingWizard_module_scss_1.default.value]: isImagesTheme,
245
+ [BookingWizard_module_scss_1.default['text-display']]: isImagesTheme,
155
246
  }), bold: true }, getValueAsText()),
156
- ['horizontal-condensed', 'booking-summary'].includes(layout) ? null : react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.Dropdown })),
247
+ react_1.default.createElement(DropdownIcon, null)),
157
248
  content()));
158
249
  };
159
250
  exports.BookingWizardGuestSelector = BookingWizardGuestSelector;