@qite/tide-booking-component 1.4.124 → 1.4.126

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 (776) hide show
  1. package/README.md +26 -26
  2. package/build/build-cjs/index.js +40138 -0
  3. package/build/build-cjs/src/booking-product/components/age-select.d.ts +8 -0
  4. package/build/build-cjs/src/booking-product/components/amount-input.d.ts +10 -0
  5. package/build/build-cjs/src/booking-product/components/date-range-picker/calendar-day.d.ts +13 -0
  6. package/build/build-cjs/src/booking-product/components/date-range-picker/calendar.d.ts +19 -0
  7. package/build/build-cjs/src/booking-product/components/date-range-picker/index.d.ts +25 -0
  8. package/build/build-cjs/src/booking-product/components/dates.d.ts +14 -0
  9. package/build/build-cjs/src/booking-product/components/footer.d.ts +10 -0
  10. package/build/build-cjs/src/booking-product/components/header.d.ts +11 -0
  11. package/build/build-cjs/src/booking-product/components/list-view.d.ts +8 -0
  12. package/build/build-cjs/src/booking-product/components/product.d.ts +9 -0
  13. package/build/build-cjs/src/booking-product/components/rating.d.ts +6 -0
  14. package/build/build-cjs/src/booking-product/components/rooms.d.ts +10 -0
  15. package/build/build-cjs/src/booking-product/constants.d.ts +1 -0
  16. package/build/build-cjs/src/booking-product/index.d.ts +10 -0
  17. package/build/build-cjs/src/booking-product/settings-context.d.ts +6 -0
  18. package/build/build-cjs/src/booking-product/types.d.ts +61 -0
  19. package/build/build-cjs/src/booking-product/utils/api.d.ts +7 -0
  20. package/build/build-cjs/src/booking-product/utils/price.d.ts +1 -0
  21. package/build/build-cjs/src/booking-wizard/api-settings-slice.d.ts +4 -0
  22. package/build/build-cjs/src/booking-wizard/components/build-step-labels.d.ts +8 -0
  23. package/build/build-cjs/src/booking-wizard/components/labeled-input.d.ts +18 -0
  24. package/build/build-cjs/src/booking-wizard/components/labeled-select.d.ts +21 -0
  25. package/build/build-cjs/src/booking-wizard/components/message.d.ts +9 -0
  26. package/build/build-cjs/src/booking-wizard/components/multi-range-filter.d.ts +11 -0
  27. package/build/build-cjs/src/booking-wizard/components/phone-input.d.ts +17 -0
  28. package/build/build-cjs/src/booking-wizard/components/print-offer-button.d.ts +17 -0
  29. package/build/build-cjs/src/booking-wizard/components/step-indicator.d.ts +6 -0
  30. package/build/build-cjs/src/booking-wizard/components/step-route.d.ts +8 -0
  31. package/build/build-cjs/src/booking-wizard/features/booking/api.d.ts +11 -0
  32. package/build/build-cjs/src/booking-wizard/features/booking/booking-self-contained.d.ts +8 -0
  33. package/build/build-cjs/src/booking-wizard/features/booking/booking-slice.d.ts +61 -0
  34. package/build/build-cjs/src/booking-wizard/features/booking/booking.d.ts +8 -0
  35. package/build/build-cjs/src/booking-wizard/features/booking/constants.d.ts +8 -0
  36. package/build/build-cjs/src/booking-wizard/features/booking/selectors.d.ts +638 -0
  37. package/build/build-cjs/src/booking-wizard/features/confirmation/confirmation.d.ts +5 -0
  38. package/build/build-cjs/src/booking-wizard/features/error/error.d.ts +5 -0
  39. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-filter.d.ts +9 -0
  40. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-option-flight.d.ts +8 -0
  41. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-option-modal.d.ts +3 -0
  42. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-option.d.ts +10 -0
  43. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-utils.d.ts +6 -0
  44. package/build/build-cjs/src/booking-wizard/features/flight-options/index.d.ts +5 -0
  45. package/build/build-cjs/src/booking-wizard/features/price-details/price-details-api.d.ts +6 -0
  46. package/build/build-cjs/src/booking-wizard/features/price-details/price-details-slice.d.ts +23 -0
  47. package/build/build-cjs/src/booking-wizard/features/price-details/selectors.d.ts +378 -0
  48. package/build/build-cjs/src/booking-wizard/features/price-details/util.d.ts +2 -0
  49. package/build/build-cjs/src/booking-wizard/features/product-options/no-options.d.ts +3 -0
  50. package/build/build-cjs/src/booking-wizard/features/product-options/none-option.d.ts +9 -0
  51. package/build/build-cjs/src/booking-wizard/features/product-options/option-booking-airline-group.d.ts +8 -0
  52. package/build/build-cjs/src/booking-wizard/features/product-options/option-booking-group.d.ts +12 -0
  53. package/build/build-cjs/src/booking-wizard/features/product-options/option-item.d.ts +11 -0
  54. package/build/build-cjs/src/booking-wizard/features/product-options/option-pax-card.d.ts +10 -0
  55. package/build/build-cjs/src/booking-wizard/features/product-options/option-pax-group.d.ts +13 -0
  56. package/build/build-cjs/src/booking-wizard/features/product-options/option-room.d.ts +11 -0
  57. package/build/build-cjs/src/booking-wizard/features/product-options/option-unit-group.d.ts +13 -0
  58. package/build/build-cjs/src/booking-wizard/features/product-options/option-units-card.d.ts +9 -0
  59. package/build/build-cjs/src/booking-wizard/features/product-options/option-utils.d.ts +9 -0
  60. package/build/build-cjs/src/booking-wizard/features/product-options/options-form.d.ts +5 -0
  61. package/build/build-cjs/src/booking-wizard/features/room-options/index.d.ts +5 -0
  62. package/build/build-cjs/src/booking-wizard/features/room-options/room-utils.d.ts +9 -0
  63. package/build/build-cjs/src/booking-wizard/features/room-options/room.d.ts +12 -0
  64. package/build/build-cjs/src/booking-wizard/features/room-options/traveler-rooms.d.ts +9 -0
  65. package/build/build-cjs/src/booking-wizard/features/sidebar/index.d.ts +7 -0
  66. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar-flight.d.ts +9 -0
  67. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar-util.d.ts +13 -0
  68. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar.d.ts +0 -0
  69. package/build/build-cjs/src/booking-wizard/features/summary/summary-booking-option-pax.d.ts +7 -0
  70. package/build/build-cjs/src/booking-wizard/features/summary/summary-booking-option-unit.d.ts +7 -0
  71. package/build/build-cjs/src/booking-wizard/features/summary/summary-flight.d.ts +8 -0
  72. package/build/build-cjs/src/booking-wizard/features/summary/summary-per-booking-option-group.d.ts +7 -0
  73. package/build/build-cjs/src/booking-wizard/features/summary/summary-per-pax-option-group.d.ts +7 -0
  74. package/build/build-cjs/src/booking-wizard/features/summary/summary-per-unit-option-group.d.ts +7 -0
  75. package/build/build-cjs/src/booking-wizard/features/summary/summary-slice.d.ts +8 -0
  76. package/build/build-cjs/src/booking-wizard/features/summary/summary.d.ts +5 -0
  77. package/build/build-cjs/src/booking-wizard/features/travelers-form/controls/gender-control.d.ts +5 -0
  78. package/build/build-cjs/src/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +143 -0
  79. package/build/build-cjs/src/booking-wizard/features/travelers-form/travelers-form-util.d.ts +7 -0
  80. package/build/build-cjs/src/booking-wizard/features/travelers-form/travelers-form.d.ts +3 -0
  81. package/build/build-cjs/src/booking-wizard/features/travelers-form/type-ahead-input.d.ts +16 -0
  82. package/build/build-cjs/src/booking-wizard/features/travelers-form/validate-form.d.ts +4 -0
  83. package/build/build-cjs/src/booking-wizard/index.d.ts +12 -0
  84. package/build/build-cjs/src/booking-wizard/settings-context.d.ts +6 -0
  85. package/build/build-cjs/src/booking-wizard/store.d.ts +26 -0
  86. package/build/build-cjs/src/booking-wizard/types.d.ts +330 -0
  87. package/build/build-cjs/src/booking-wizard/use-offer-printer.d.ts +13 -0
  88. package/build/build-cjs/src/content/components/LanguageSwitcher.d.ts +12 -0
  89. package/build/build-cjs/src/content/components/accordion.d.ts +9 -0
  90. package/build/build-cjs/src/content/components/breadcrumb.d.ts +14 -0
  91. package/build/build-cjs/src/content/components/contact.d.ts +3 -0
  92. package/build/build-cjs/src/content/components/faq.d.ts +11 -0
  93. package/build/build-cjs/src/content/components/gallery.d.ts +13 -0
  94. package/build/build-cjs/src/content/components/image-with-text.d.ts +29 -0
  95. package/build/build-cjs/src/content/components/itinerary-map-view.d.ts +48 -0
  96. package/build/build-cjs/src/content/components/login.d.ts +3 -0
  97. package/build/build-cjs/src/content/components/personal-contact-form.d.ts +3 -0
  98. package/build/build-cjs/src/content/components/slider.d.ts +10 -0
  99. package/build/build-cjs/src/content/error/error.d.ts +6 -0
  100. package/build/build-cjs/src/content/featured-trips/featured-trip-card.d.ts +4 -0
  101. package/build/build-cjs/src/content/featured-trips/index.d.ts +4 -0
  102. package/build/build-cjs/src/content/featured-trips/types.d.ts +12 -0
  103. package/build/build-cjs/src/content/features/content-page/content-page-self-contained.d.ts +6 -0
  104. package/build/build-cjs/src/content/footer/index.d.ts +4 -0
  105. package/build/build-cjs/src/content/footer/types.d.ts +27 -0
  106. package/build/build-cjs/src/content/header/index.d.ts +4 -0
  107. package/build/build-cjs/src/content/header/types.d.ts +22 -0
  108. package/build/build-cjs/src/content/image-card-grid/index.d.ts +4 -0
  109. package/build/build-cjs/src/content/image-card-grid/types.d.ts +12 -0
  110. package/build/build-cjs/src/content/image-with-text-section/card.d.ts +4 -0
  111. package/build/build-cjs/src/content/image-with-text-section/index.d.ts +4 -0
  112. package/build/build-cjs/src/content/image-with-text-section/types.d.ts +19 -0
  113. package/build/build-cjs/src/content/login/confirm-component.d.ts +4 -0
  114. package/build/build-cjs/src/content/login/index.d.ts +4 -0
  115. package/build/build-cjs/src/content/login/login-component.d.ts +4 -0
  116. package/build/build-cjs/src/content/login/login-services.d.ts +6 -0
  117. package/build/build-cjs/src/content/login/reset-password-component.d.ts +4 -0
  118. package/build/build-cjs/src/content/login/types.d.ts +24 -0
  119. package/build/build-cjs/src/content/navbar/index.d.ts +4 -0
  120. package/build/build-cjs/src/content/navbar/placeholderData.d.ts +12 -0
  121. package/build/build-cjs/src/content/navbar/types.d.ts +32 -0
  122. package/build/build-cjs/src/form/components/fields/date-field.d.ts +4 -0
  123. package/build/build-cjs/src/form/components/fields/dropdown-field.d.ts +4 -0
  124. package/build/build-cjs/src/form/components/fields/field-label.d.ts +10 -0
  125. package/build/build-cjs/src/form/components/fields/form-field.d.ts +11 -0
  126. package/build/build-cjs/src/form/components/fields/info-text-field.d.ts +7 -0
  127. package/build/build-cjs/src/form/components/fields/multi-dropdown-field.d.ts +4 -0
  128. package/build/build-cjs/src/form/components/fields/multiline-field.d.ts +4 -0
  129. package/build/build-cjs/src/form/components/fields/number-field.d.ts +4 -0
  130. package/build/build-cjs/src/form/components/fields/optional-field.d.ts +4 -0
  131. package/build/build-cjs/src/form/components/fields/radio-checkbox-field.d.ts +4 -0
  132. package/build/build-cjs/src/form/components/fields/text-field.d.ts +4 -0
  133. package/build/build-cjs/src/form/components/fields/yes-no-field.d.ts +4 -0
  134. package/build/build-cjs/src/form/components/form-body.d.ts +9 -0
  135. package/build/build-cjs/src/form/components/form-container.d.ts +3 -0
  136. package/build/build-cjs/src/form/components/form-segment.d.ts +11 -0
  137. package/build/build-cjs/src/form/components/form-step.d.ts +9 -0
  138. package/build/build-cjs/src/form/form-configuration-context.d.ts +4 -0
  139. package/build/build-cjs/src/form/form-types.d.ts +7 -0
  140. package/build/build-cjs/src/form/hooks/use-form-state.d.ts +13 -0
  141. package/build/build-cjs/src/form/index.d.ts +7 -0
  142. package/build/build-cjs/src/form/types.d.ts +20 -0
  143. package/build/build-cjs/src/form/utils/captcha-util.d.ts +3 -0
  144. package/build/build-cjs/src/form/utils/form-initial-values-util.d.ts +3 -0
  145. package/build/build-cjs/src/form/utils/form-submit-util.d.ts +4 -0
  146. package/build/build-cjs/src/form/utils/form-validation-util.d.ts +8 -0
  147. package/build/build-cjs/src/form/utils/html-util.d.ts +16 -0
  148. package/build/build-cjs/src/form/utils/visibility-util.d.ts +4 -0
  149. package/{src/index.ts → build/build-cjs/src/index.d.ts} +29 -46
  150. package/build/build-cjs/src/qsm/components/QSMContainer/qsm-container.d.ts +3 -0
  151. package/build/build-cjs/src/qsm/components/date-picker/index.d.ts +3 -0
  152. package/build/build-cjs/src/qsm/components/date-range-picker/calendar-day.d.ts +12 -0
  153. package/build/build-cjs/src/qsm/components/date-range-picker/calendar.d.ts +24 -0
  154. package/build/build-cjs/src/qsm/components/date-range-picker/index.d.ts +10 -0
  155. package/build/build-cjs/src/qsm/components/double-search-input-group/index.d.ts +8 -0
  156. package/build/build-cjs/src/qsm/components/item-picker/index.d.ts +13 -0
  157. package/build/build-cjs/src/qsm/components/mobile-filter-modal/index.d.ts +3 -0
  158. package/build/build-cjs/src/qsm/components/search-input/index.d.ts +15 -0
  159. package/build/build-cjs/src/qsm/components/search-input-group/index.d.ts +13 -0
  160. package/build/build-cjs/src/qsm/components/travel-class-picker/index.d.ts +3 -0
  161. package/build/build-cjs/src/qsm/components/travel-input/index.d.ts +3 -0
  162. package/build/build-cjs/src/qsm/components/travel-input-group/index.d.ts +3 -0
  163. package/build/build-cjs/src/qsm/components/travel-nationality-picker/index.d.ts +3 -0
  164. package/build/build-cjs/src/qsm/components/travel-type-picker/index.d.ts +3 -0
  165. package/build/build-cjs/src/qsm/index.d.ts +7 -0
  166. package/build/build-cjs/src/qsm/qsm-configuration-context.d.ts +4 -0
  167. package/build/build-cjs/src/qsm/store/qsm-slice.d.ts +74 -0
  168. package/build/build-cjs/src/qsm/store/qsm-store.d.ts +10 -0
  169. package/build/build-cjs/src/qsm/types.d.ts +82 -0
  170. package/build/build-cjs/src/search-results/components/book-packaging-entry/index.d.ts +9 -0
  171. package/build/build-cjs/src/search-results/components/book-packaging-entry/wl-sidebar.d.ts +9 -0
  172. package/build/build-cjs/src/search-results/components/excursions/day-by-day-excursions.d.ts +5 -0
  173. package/build/build-cjs/src/search-results/components/excursions/excursion-details.d.ts +3 -0
  174. package/build/build-cjs/src/search-results/components/excursions/excursion-results.d.ts +8 -0
  175. package/build/build-cjs/src/search-results/components/filters/filters.d.ts +13 -0
  176. package/build/build-cjs/src/search-results/components/filters/flight-filters.d.ts +8 -0
  177. package/build/build-cjs/src/search-results/components/flight/flight-banner.d.ts +8 -0
  178. package/build/build-cjs/src/search-results/components/flight/flight-card.d.ts +7 -0
  179. package/build/build-cjs/src/search-results/components/flight/flight-leg.d.ts +7 -0
  180. package/build/build-cjs/src/search-results/components/flight/flight-path.d.ts +6 -0
  181. package/build/build-cjs/src/search-results/components/flight/flight-results.d.ts +8 -0
  182. package/build/build-cjs/src/search-results/components/flight/flight-search-context/index.d.ts +39 -0
  183. package/build/build-cjs/src/search-results/components/flight/flight-selection/independent-flight-option.d.ts +14 -0
  184. package/build/build-cjs/src/search-results/components/flight/flight-selection/independent-flight-selection.d.ts +7 -0
  185. package/build/build-cjs/src/search-results/components/flight/flight-selection/index.d.ts +8 -0
  186. package/build/build-cjs/src/search-results/components/flight/flight-selection/paired-flight-option.d.ts +7 -0
  187. package/build/build-cjs/src/search-results/components/flight/flight-selection/paired-flight-selection.d.ts +7 -0
  188. package/build/build-cjs/src/search-results/components/group-tour/group-tour-card.d.ts +9 -0
  189. package/build/build-cjs/src/search-results/components/group-tour/group-tour-results.d.ts +6 -0
  190. package/build/build-cjs/src/search-results/components/hotel/hotel-accommodation-results.d.ts +7 -0
  191. package/build/build-cjs/src/search-results/components/hotel/hotel-card.d.ts +8 -0
  192. package/build/build-cjs/src/search-results/components/item-picker/index.d.ts +15 -0
  193. package/build/build-cjs/src/search-results/components/itinerary/full-itinerary.d.ts +6 -0
  194. package/build/build-cjs/src/search-results/components/itinerary/index.d.ts +10 -0
  195. package/build/build-cjs/src/search-results/components/multi-range-filter.d.ts +11 -0
  196. package/build/build-cjs/src/search-results/components/round-trip/round-trip-results.d.ts +5 -0
  197. package/build/build-cjs/src/search-results/components/search-results-container/flight-search-results.d.ts +6 -0
  198. package/build/build-cjs/src/search-results/components/search-results-container/search-results-container.d.ts +6 -0
  199. package/build/build-cjs/src/search-results/components/spinner/spinner.d.ts +6 -0
  200. package/build/build-cjs/src/search-results/components/tab-views/index.d.ts +5 -0
  201. package/build/build-cjs/src/search-results/features/flights/flight-search-results-self-contained.d.ts +5 -0
  202. package/build/build-cjs/src/search-results/features/hotels/hotel-flight-search-results-self-contained.d.ts +5 -0
  203. package/build/build-cjs/src/search-results/features/hotels/hotel-search-results-self-contained.d.ts +5 -0
  204. package/build/build-cjs/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.d.ts +5 -0
  205. package/build/build-cjs/src/search-results/index.d.ts +8 -0
  206. package/{src/search-results/search-results-configuration-context.ts → build/build-cjs/src/search-results/search-results-configuration-context.d.ts} +4 -6
  207. package/build/build-cjs/src/search-results/store/search-results-selectors.d.ts +542 -0
  208. package/build/build-cjs/src/search-results/store/search-results-slice.d.ts +57 -0
  209. package/build/build-cjs/src/search-results/store/search-results-store.d.ts +10 -0
  210. package/build/build-cjs/src/search-results/types.d.ts +185 -0
  211. package/build/build-cjs/src/search-results/utils/flight-utils.d.ts +11 -0
  212. package/build/build-cjs/src/search-results/utils/packaging-utils.d.ts +7 -0
  213. package/build/build-cjs/src/search-results/utils/query-utils.d.ts +12 -0
  214. package/build/build-cjs/src/search-results/utils/search-results-utils.d.ts +8 -0
  215. package/build/build-cjs/src/shared/booking/booking-panel.d.ts +13 -0
  216. package/build/build-cjs/src/shared/booking/product-card.d.ts +8 -0
  217. package/build/build-cjs/src/shared/booking/shared-confirmation.d.ts +25 -0
  218. package/build/build-cjs/src/shared/booking/shared-sidebar.d.ts +34 -0
  219. package/build/build-cjs/src/shared/booking/step-indicators.d.ts +7 -0
  220. package/build/build-cjs/src/shared/booking/summary.d.ts +44 -0
  221. package/build/build-cjs/src/shared/booking/travelers-form.d.ts +79 -0
  222. package/build/build-cjs/src/shared/components/flyin/accommodation-flyin.d.ts +7 -0
  223. package/build/build-cjs/src/shared/components/flyin/flights-flyin.d.ts +7 -0
  224. package/build/build-cjs/src/shared/components/flyin/flyin.d.ts +20 -0
  225. package/build/build-cjs/src/shared/components/flyin/group-tour-flyin.d.ts +8 -0
  226. package/build/build-cjs/src/shared/components/flyin/packaging-flights-flyin.d.ts +9 -0
  227. package/build/build-cjs/src/shared/components/icon.d.ts +11 -0
  228. package/build/build-cjs/src/shared/components/loader.d.ts +6 -0
  229. package/build/build-cjs/src/shared/types.d.ts +16 -0
  230. package/build/build-cjs/src/shared/utils/booking-summary.d.ts +2 -0
  231. package/build/build-cjs/src/shared/utils/class-util.d.ts +1 -0
  232. package/build/build-cjs/src/shared/utils/localization-util.d.ts +51 -0
  233. package/build/build-cjs/src/shared/utils/query-string-util.d.ts +8 -0
  234. package/build/build-cjs/src/shared/utils/tide-api-utils.d.ts +4 -0
  235. package/build/build-cjs/src/shared/utils/use-media-query-util.d.ts +2 -0
  236. package/build/build-esm/index.js +40092 -0
  237. package/build/build-esm/src/booking-product/components/age-select.d.ts +8 -0
  238. package/build/build-esm/src/booking-product/components/amount-input.d.ts +10 -0
  239. package/build/build-esm/src/booking-product/components/date-range-picker/calendar-day.d.ts +13 -0
  240. package/build/build-esm/src/booking-product/components/date-range-picker/calendar.d.ts +19 -0
  241. package/build/build-esm/src/booking-product/components/date-range-picker/index.d.ts +25 -0
  242. package/build/build-esm/src/booking-product/components/dates.d.ts +14 -0
  243. package/build/build-esm/src/booking-product/components/footer.d.ts +10 -0
  244. package/build/build-esm/src/booking-product/components/header.d.ts +11 -0
  245. package/build/build-esm/src/booking-product/components/list-view.d.ts +8 -0
  246. package/build/build-esm/src/booking-product/components/product.d.ts +9 -0
  247. package/build/build-esm/src/booking-product/components/rating.d.ts +6 -0
  248. package/build/build-esm/src/booking-product/components/rooms.d.ts +10 -0
  249. package/build/build-esm/src/booking-product/constants.d.ts +1 -0
  250. package/build/build-esm/src/booking-product/index.d.ts +10 -0
  251. package/build/build-esm/src/booking-product/settings-context.d.ts +6 -0
  252. package/build/build-esm/src/booking-product/types.d.ts +61 -0
  253. package/build/build-esm/src/booking-product/utils/api.d.ts +7 -0
  254. package/build/build-esm/src/booking-product/utils/price.d.ts +1 -0
  255. package/build/build-esm/src/booking-wizard/api-settings-slice.d.ts +4 -0
  256. package/build/build-esm/src/booking-wizard/components/build-step-labels.d.ts +8 -0
  257. package/build/build-esm/src/booking-wizard/components/labeled-input.d.ts +18 -0
  258. package/build/build-esm/src/booking-wizard/components/labeled-select.d.ts +21 -0
  259. package/build/build-esm/src/booking-wizard/components/message.d.ts +9 -0
  260. package/build/build-esm/src/booking-wizard/components/multi-range-filter.d.ts +11 -0
  261. package/build/build-esm/src/booking-wizard/components/phone-input.d.ts +17 -0
  262. package/build/build-esm/src/booking-wizard/components/print-offer-button.d.ts +17 -0
  263. package/build/build-esm/src/booking-wizard/components/step-indicator.d.ts +6 -0
  264. package/build/build-esm/src/booking-wizard/components/step-route.d.ts +8 -0
  265. package/build/build-esm/src/booking-wizard/features/booking/api.d.ts +11 -0
  266. package/build/build-esm/src/booking-wizard/features/booking/booking-self-contained.d.ts +8 -0
  267. package/build/build-esm/src/booking-wizard/features/booking/booking-slice.d.ts +61 -0
  268. package/build/build-esm/src/booking-wizard/features/booking/booking.d.ts +8 -0
  269. package/build/build-esm/src/booking-wizard/features/booking/constants.d.ts +8 -0
  270. package/build/build-esm/src/booking-wizard/features/booking/selectors.d.ts +638 -0
  271. package/build/build-esm/src/booking-wizard/features/confirmation/confirmation.d.ts +5 -0
  272. package/build/build-esm/src/booking-wizard/features/error/error.d.ts +5 -0
  273. package/build/build-esm/src/booking-wizard/features/flight-options/flight-filter.d.ts +9 -0
  274. package/build/build-esm/src/booking-wizard/features/flight-options/flight-option-flight.d.ts +8 -0
  275. package/build/build-esm/src/booking-wizard/features/flight-options/flight-option-modal.d.ts +3 -0
  276. package/build/build-esm/src/booking-wizard/features/flight-options/flight-option.d.ts +10 -0
  277. package/build/build-esm/src/booking-wizard/features/flight-options/flight-utils.d.ts +6 -0
  278. package/build/build-esm/src/booking-wizard/features/flight-options/index.d.ts +5 -0
  279. package/build/build-esm/src/booking-wizard/features/price-details/price-details-api.d.ts +6 -0
  280. package/build/build-esm/src/booking-wizard/features/price-details/price-details-slice.d.ts +23 -0
  281. package/build/build-esm/src/booking-wizard/features/price-details/selectors.d.ts +378 -0
  282. package/build/build-esm/src/booking-wizard/features/price-details/util.d.ts +2 -0
  283. package/build/build-esm/src/booking-wizard/features/product-options/no-options.d.ts +3 -0
  284. package/build/build-esm/src/booking-wizard/features/product-options/none-option.d.ts +9 -0
  285. package/build/build-esm/src/booking-wizard/features/product-options/option-booking-airline-group.d.ts +8 -0
  286. package/build/build-esm/src/booking-wizard/features/product-options/option-booking-group.d.ts +12 -0
  287. package/build/build-esm/src/booking-wizard/features/product-options/option-item.d.ts +11 -0
  288. package/build/build-esm/src/booking-wizard/features/product-options/option-pax-card.d.ts +10 -0
  289. package/build/build-esm/src/booking-wizard/features/product-options/option-pax-group.d.ts +13 -0
  290. package/build/build-esm/src/booking-wizard/features/product-options/option-room.d.ts +11 -0
  291. package/build/build-esm/src/booking-wizard/features/product-options/option-unit-group.d.ts +13 -0
  292. package/build/build-esm/src/booking-wizard/features/product-options/option-units-card.d.ts +9 -0
  293. package/build/build-esm/src/booking-wizard/features/product-options/option-utils.d.ts +9 -0
  294. package/build/build-esm/src/booking-wizard/features/product-options/options-form.d.ts +5 -0
  295. package/build/build-esm/src/booking-wizard/features/room-options/index.d.ts +5 -0
  296. package/build/build-esm/src/booking-wizard/features/room-options/room-utils.d.ts +9 -0
  297. package/build/build-esm/src/booking-wizard/features/room-options/room.d.ts +12 -0
  298. package/build/build-esm/src/booking-wizard/features/room-options/traveler-rooms.d.ts +9 -0
  299. package/build/build-esm/src/booking-wizard/features/sidebar/index.d.ts +7 -0
  300. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar-flight.d.ts +9 -0
  301. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar-util.d.ts +13 -0
  302. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar.d.ts +0 -0
  303. package/build/build-esm/src/booking-wizard/features/summary/summary-booking-option-pax.d.ts +7 -0
  304. package/build/build-esm/src/booking-wizard/features/summary/summary-booking-option-unit.d.ts +7 -0
  305. package/build/build-esm/src/booking-wizard/features/summary/summary-flight.d.ts +8 -0
  306. package/build/build-esm/src/booking-wizard/features/summary/summary-per-booking-option-group.d.ts +7 -0
  307. package/build/build-esm/src/booking-wizard/features/summary/summary-per-pax-option-group.d.ts +7 -0
  308. package/build/build-esm/src/booking-wizard/features/summary/summary-per-unit-option-group.d.ts +7 -0
  309. package/build/build-esm/src/booking-wizard/features/summary/summary-slice.d.ts +8 -0
  310. package/build/build-esm/src/booking-wizard/features/summary/summary.d.ts +5 -0
  311. package/build/build-esm/src/booking-wizard/features/travelers-form/controls/gender-control.d.ts +5 -0
  312. package/build/build-esm/src/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +143 -0
  313. package/build/build-esm/src/booking-wizard/features/travelers-form/travelers-form-util.d.ts +7 -0
  314. package/build/build-esm/src/booking-wizard/features/travelers-form/travelers-form.d.ts +3 -0
  315. package/build/build-esm/src/booking-wizard/features/travelers-form/type-ahead-input.d.ts +16 -0
  316. package/build/build-esm/src/booking-wizard/features/travelers-form/validate-form.d.ts +4 -0
  317. package/build/build-esm/src/booking-wizard/index.d.ts +12 -0
  318. package/build/build-esm/src/booking-wizard/settings-context.d.ts +6 -0
  319. package/build/build-esm/src/booking-wizard/store.d.ts +26 -0
  320. package/build/build-esm/src/booking-wizard/types.d.ts +330 -0
  321. package/build/build-esm/src/booking-wizard/use-offer-printer.d.ts +13 -0
  322. package/build/build-esm/src/content/components/LanguageSwitcher.d.ts +12 -0
  323. package/build/build-esm/src/content/components/accordion.d.ts +9 -0
  324. package/build/build-esm/src/content/components/breadcrumb.d.ts +14 -0
  325. package/build/build-esm/src/content/components/contact.d.ts +3 -0
  326. package/build/build-esm/src/content/components/faq.d.ts +11 -0
  327. package/build/build-esm/src/content/components/gallery.d.ts +13 -0
  328. package/build/build-esm/src/content/components/image-with-text.d.ts +29 -0
  329. package/build/build-esm/src/content/components/itinerary-map-view.d.ts +48 -0
  330. package/build/build-esm/src/content/components/login.d.ts +3 -0
  331. package/build/build-esm/src/content/components/personal-contact-form.d.ts +3 -0
  332. package/build/build-esm/src/content/components/slider.d.ts +10 -0
  333. package/build/build-esm/src/content/error/error.d.ts +6 -0
  334. package/build/build-esm/src/content/featured-trips/featured-trip-card.d.ts +4 -0
  335. package/build/build-esm/src/content/featured-trips/index.d.ts +4 -0
  336. package/build/build-esm/src/content/featured-trips/types.d.ts +12 -0
  337. package/build/build-esm/src/content/features/content-page/content-page-self-contained.d.ts +6 -0
  338. package/build/build-esm/src/content/footer/index.d.ts +4 -0
  339. package/build/build-esm/src/content/footer/types.d.ts +27 -0
  340. package/build/build-esm/src/content/header/index.d.ts +4 -0
  341. package/build/build-esm/src/content/header/types.d.ts +22 -0
  342. package/build/build-esm/src/content/image-card-grid/index.d.ts +4 -0
  343. package/build/build-esm/src/content/image-card-grid/types.d.ts +12 -0
  344. package/build/build-esm/src/content/image-with-text-section/card.d.ts +4 -0
  345. package/build/build-esm/src/content/image-with-text-section/index.d.ts +4 -0
  346. package/build/build-esm/src/content/image-with-text-section/types.d.ts +19 -0
  347. package/build/build-esm/src/content/login/confirm-component.d.ts +4 -0
  348. package/build/build-esm/src/content/login/index.d.ts +4 -0
  349. package/build/build-esm/src/content/login/login-component.d.ts +4 -0
  350. package/build/build-esm/src/content/login/login-services.d.ts +6 -0
  351. package/build/build-esm/src/content/login/reset-password-component.d.ts +4 -0
  352. package/build/build-esm/src/content/login/types.d.ts +24 -0
  353. package/build/build-esm/src/content/navbar/index.d.ts +4 -0
  354. package/build/build-esm/src/content/navbar/placeholderData.d.ts +12 -0
  355. package/build/build-esm/src/content/navbar/types.d.ts +32 -0
  356. package/build/build-esm/src/form/components/fields/date-field.d.ts +4 -0
  357. package/build/build-esm/src/form/components/fields/dropdown-field.d.ts +4 -0
  358. package/build/build-esm/src/form/components/fields/field-label.d.ts +10 -0
  359. package/build/build-esm/src/form/components/fields/form-field.d.ts +11 -0
  360. package/build/build-esm/src/form/components/fields/info-text-field.d.ts +7 -0
  361. package/build/build-esm/src/form/components/fields/multi-dropdown-field.d.ts +4 -0
  362. package/build/build-esm/src/form/components/fields/multiline-field.d.ts +4 -0
  363. package/build/build-esm/src/form/components/fields/number-field.d.ts +4 -0
  364. package/build/build-esm/src/form/components/fields/optional-field.d.ts +4 -0
  365. package/build/build-esm/src/form/components/fields/radio-checkbox-field.d.ts +4 -0
  366. package/build/build-esm/src/form/components/fields/text-field.d.ts +4 -0
  367. package/build/build-esm/src/form/components/fields/yes-no-field.d.ts +4 -0
  368. package/build/build-esm/src/form/components/form-body.d.ts +9 -0
  369. package/build/build-esm/src/form/components/form-container.d.ts +3 -0
  370. package/build/build-esm/src/form/components/form-segment.d.ts +11 -0
  371. package/build/build-esm/src/form/components/form-step.d.ts +9 -0
  372. package/build/build-esm/src/form/form-configuration-context.d.ts +4 -0
  373. package/build/build-esm/src/form/form-types.d.ts +7 -0
  374. package/build/build-esm/src/form/hooks/use-form-state.d.ts +13 -0
  375. package/build/build-esm/src/form/index.d.ts +7 -0
  376. package/build/build-esm/src/form/types.d.ts +20 -0
  377. package/build/build-esm/src/form/utils/captcha-util.d.ts +3 -0
  378. package/build/build-esm/src/form/utils/form-initial-values-util.d.ts +3 -0
  379. package/build/build-esm/src/form/utils/form-submit-util.d.ts +4 -0
  380. package/build/build-esm/src/form/utils/form-validation-util.d.ts +8 -0
  381. package/build/build-esm/src/form/utils/html-util.d.ts +16 -0
  382. package/build/build-esm/src/form/utils/visibility-util.d.ts +4 -0
  383. package/build/build-esm/src/index.d.ts +29 -0
  384. package/build/build-esm/src/qsm/components/QSMContainer/qsm-container.d.ts +3 -0
  385. package/build/build-esm/src/qsm/components/date-picker/index.d.ts +3 -0
  386. package/build/build-esm/src/qsm/components/date-range-picker/calendar-day.d.ts +12 -0
  387. package/build/build-esm/src/qsm/components/date-range-picker/calendar.d.ts +24 -0
  388. package/build/build-esm/src/qsm/components/date-range-picker/index.d.ts +10 -0
  389. package/build/build-esm/src/qsm/components/double-search-input-group/index.d.ts +8 -0
  390. package/build/build-esm/src/qsm/components/item-picker/index.d.ts +13 -0
  391. package/build/build-esm/src/qsm/components/mobile-filter-modal/index.d.ts +3 -0
  392. package/build/build-esm/src/qsm/components/search-input/index.d.ts +15 -0
  393. package/build/build-esm/src/qsm/components/search-input-group/index.d.ts +13 -0
  394. package/build/build-esm/src/qsm/components/travel-class-picker/index.d.ts +3 -0
  395. package/build/build-esm/src/qsm/components/travel-input/index.d.ts +3 -0
  396. package/build/build-esm/src/qsm/components/travel-input-group/index.d.ts +3 -0
  397. package/build/build-esm/src/qsm/components/travel-nationality-picker/index.d.ts +3 -0
  398. package/build/build-esm/src/qsm/components/travel-type-picker/index.d.ts +3 -0
  399. package/build/build-esm/src/qsm/index.d.ts +7 -0
  400. package/build/build-esm/src/qsm/qsm-configuration-context.d.ts +4 -0
  401. package/build/build-esm/src/qsm/store/qsm-slice.d.ts +74 -0
  402. package/build/build-esm/src/qsm/store/qsm-store.d.ts +10 -0
  403. package/build/build-esm/src/qsm/types.d.ts +82 -0
  404. package/build/build-esm/src/search-results/components/book-packaging-entry/index.d.ts +9 -0
  405. package/build/build-esm/src/search-results/components/book-packaging-entry/wl-sidebar.d.ts +9 -0
  406. package/build/build-esm/src/search-results/components/excursions/day-by-day-excursions.d.ts +5 -0
  407. package/build/build-esm/src/search-results/components/excursions/excursion-details.d.ts +3 -0
  408. package/build/build-esm/src/search-results/components/excursions/excursion-results.d.ts +8 -0
  409. package/build/build-esm/src/search-results/components/filters/filters.d.ts +13 -0
  410. package/build/build-esm/src/search-results/components/filters/flight-filters.d.ts +8 -0
  411. package/build/build-esm/src/search-results/components/flight/flight-banner.d.ts +8 -0
  412. package/build/build-esm/src/search-results/components/flight/flight-card.d.ts +7 -0
  413. package/build/build-esm/src/search-results/components/flight/flight-leg.d.ts +7 -0
  414. package/build/build-esm/src/search-results/components/flight/flight-path.d.ts +6 -0
  415. package/build/build-esm/src/search-results/components/flight/flight-results.d.ts +8 -0
  416. package/build/build-esm/src/search-results/components/flight/flight-search-context/index.d.ts +39 -0
  417. package/build/build-esm/src/search-results/components/flight/flight-selection/independent-flight-option.d.ts +14 -0
  418. package/build/build-esm/src/search-results/components/flight/flight-selection/independent-flight-selection.d.ts +7 -0
  419. package/build/build-esm/src/search-results/components/flight/flight-selection/index.d.ts +8 -0
  420. package/build/build-esm/src/search-results/components/flight/flight-selection/paired-flight-option.d.ts +7 -0
  421. package/build/build-esm/src/search-results/components/flight/flight-selection/paired-flight-selection.d.ts +7 -0
  422. package/build/build-esm/src/search-results/components/group-tour/group-tour-card.d.ts +9 -0
  423. package/build/build-esm/src/search-results/components/group-tour/group-tour-results.d.ts +6 -0
  424. package/build/build-esm/src/search-results/components/hotel/hotel-accommodation-results.d.ts +7 -0
  425. package/build/build-esm/src/search-results/components/hotel/hotel-card.d.ts +8 -0
  426. package/build/build-esm/src/search-results/components/item-picker/index.d.ts +15 -0
  427. package/build/build-esm/src/search-results/components/itinerary/full-itinerary.d.ts +6 -0
  428. package/build/build-esm/src/search-results/components/itinerary/index.d.ts +10 -0
  429. package/build/build-esm/src/search-results/components/multi-range-filter.d.ts +11 -0
  430. package/build/build-esm/src/search-results/components/round-trip/round-trip-results.d.ts +5 -0
  431. package/build/build-esm/src/search-results/components/search-results-container/flight-search-results.d.ts +6 -0
  432. package/build/build-esm/src/search-results/components/search-results-container/search-results-container.d.ts +6 -0
  433. package/build/build-esm/src/search-results/components/spinner/spinner.d.ts +6 -0
  434. package/build/build-esm/src/search-results/components/tab-views/index.d.ts +5 -0
  435. package/build/build-esm/src/search-results/features/flights/flight-search-results-self-contained.d.ts +5 -0
  436. package/build/build-esm/src/search-results/features/hotels/hotel-flight-search-results-self-contained.d.ts +5 -0
  437. package/build/build-esm/src/search-results/features/hotels/hotel-search-results-self-contained.d.ts +5 -0
  438. package/build/build-esm/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.d.ts +5 -0
  439. package/build/build-esm/src/search-results/index.d.ts +8 -0
  440. package/build/build-esm/src/search-results/search-results-configuration-context.d.ts +4 -0
  441. package/build/build-esm/src/search-results/store/search-results-selectors.d.ts +542 -0
  442. package/build/build-esm/src/search-results/store/search-results-slice.d.ts +57 -0
  443. package/build/build-esm/src/search-results/store/search-results-store.d.ts +10 -0
  444. package/build/build-esm/src/search-results/types.d.ts +185 -0
  445. package/build/build-esm/src/search-results/utils/flight-utils.d.ts +11 -0
  446. package/build/build-esm/src/search-results/utils/packaging-utils.d.ts +7 -0
  447. package/build/build-esm/src/search-results/utils/query-utils.d.ts +12 -0
  448. package/build/build-esm/src/search-results/utils/search-results-utils.d.ts +8 -0
  449. package/build/build-esm/src/shared/booking/booking-panel.d.ts +13 -0
  450. package/build/build-esm/src/shared/booking/product-card.d.ts +8 -0
  451. package/build/build-esm/src/shared/booking/shared-confirmation.d.ts +25 -0
  452. package/build/build-esm/src/shared/booking/shared-sidebar.d.ts +34 -0
  453. package/build/build-esm/src/shared/booking/step-indicators.d.ts +7 -0
  454. package/build/build-esm/src/shared/booking/summary.d.ts +44 -0
  455. package/build/build-esm/src/shared/booking/travelers-form.d.ts +79 -0
  456. package/build/build-esm/src/shared/components/flyin/accommodation-flyin.d.ts +7 -0
  457. package/build/build-esm/src/shared/components/flyin/flights-flyin.d.ts +7 -0
  458. package/build/build-esm/src/shared/components/flyin/flyin.d.ts +20 -0
  459. package/build/build-esm/src/shared/components/flyin/group-tour-flyin.d.ts +8 -0
  460. package/build/build-esm/src/shared/components/flyin/packaging-flights-flyin.d.ts +9 -0
  461. package/build/build-esm/src/shared/components/icon.d.ts +11 -0
  462. package/build/build-esm/src/shared/components/loader.d.ts +6 -0
  463. package/build/build-esm/src/shared/types.d.ts +16 -0
  464. package/build/build-esm/src/shared/utils/booking-summary.d.ts +2 -0
  465. package/build/build-esm/src/shared/utils/class-util.d.ts +1 -0
  466. package/build/build-esm/src/shared/utils/localization-util.d.ts +51 -0
  467. package/build/build-esm/src/shared/utils/query-string-util.d.ts +8 -0
  468. package/build/build-esm/src/shared/utils/tide-api-utils.d.ts +4 -0
  469. package/build/build-esm/src/shared/utils/use-media-query-util.d.ts +2 -0
  470. package/package.json +6 -2
  471. package/styles/abstracts/_mixins.scss +74 -74
  472. package/styles/abstracts/_variables.scss +57 -57
  473. package/styles/base/_fonts.scss +2 -2
  474. package/styles/base/_normalize.scss +227 -227
  475. package/styles/base/_typography.scss +35 -35
  476. package/styles/booking-joker-variables.scss +596 -596
  477. package/styles/booking-product-variables.scss +330 -330
  478. package/styles/booking-product.scss +438 -438
  479. package/styles/booking-qsm-variables.scss +501 -501
  480. package/styles/booking-qsm.scss +52 -52
  481. package/styles/booking-search-results-variables.scss +728 -728
  482. package/styles/booking-search-results.scss +53 -53
  483. package/styles/booking-wizard-variables.scss +603 -603
  484. package/styles/booking-wizard.scss +61 -61
  485. package/styles/components/_accordion.scss +67 -67
  486. package/styles/components/_animations.scss +39 -39
  487. package/styles/components/_base.scss +107 -107
  488. package/styles/components/_booking.scss +906 -906
  489. package/styles/components/_breadcrumb.scss +92 -92
  490. package/styles/components/_button.scss +238 -238
  491. package/styles/components/_checkbox.scss +230 -230
  492. package/styles/components/_contact.scss +255 -255
  493. package/styles/components/_content.scss +336 -336
  494. package/styles/components/_cta.scss +238 -238
  495. package/styles/components/_date-list.scss +41 -41
  496. package/styles/components/_date-range-picker.scss +223 -223
  497. package/styles/components/_decrement-increment.scss +35 -35
  498. package/styles/components/_dropdown.scss +77 -77
  499. package/styles/components/_error.scss +50 -50
  500. package/styles/components/_faq.scss +30 -30
  501. package/styles/components/_flight-option.scss +1432 -1432
  502. package/styles/components/_flyin.scss +830 -830
  503. package/styles/components/_footer.scss +135 -135
  504. package/styles/components/_form.scss +1693 -1693
  505. package/styles/components/_gallery.scss +317 -317
  506. package/styles/components/_header.scss +113 -113
  507. package/styles/components/_image-with-text.scss +206 -206
  508. package/styles/components/_img-slider.scss +175 -175
  509. package/styles/components/_info-message.scss +75 -75
  510. package/styles/components/_input.scss +35 -35
  511. package/styles/components/_list.scss +185 -185
  512. package/styles/components/_loader.scss +152 -152
  513. package/styles/components/_login.scss +140 -140
  514. package/styles/components/_map-view.scss +1100 -0
  515. package/styles/components/_mixins.scss +579 -579
  516. package/styles/components/_navbar.scss +765 -765
  517. package/styles/components/_passenger-picker.scss +306 -306
  518. package/styles/components/_phone-input.scss +8 -8
  519. package/styles/components/_placeholders.scss +165 -165
  520. package/styles/components/_pricing-summary.scss +163 -163
  521. package/styles/components/_qsm.scss +17 -17
  522. package/styles/components/_radiobutton.scss +170 -170
  523. package/styles/components/_search.scss +2089 -2089
  524. package/styles/components/_select-wrapper.scss +81 -81
  525. package/styles/components/_slider.scss +128 -128
  526. package/styles/components/_spinner.scss +29 -29
  527. package/styles/components/_step-indicators.scss +187 -187
  528. package/styles/components/_table.scss +81 -81
  529. package/styles/components/_tide-form.scss +541 -0
  530. package/styles/components/_tree.scss +648 -648
  531. package/styles/components/_typeahead.scss +275 -275
  532. package/styles/components/_variables.scss +89 -89
  533. package/styles/content-blocks-variables.scss +543 -507
  534. package/styles/content-blocks.scss +66 -65
  535. package/styles/font.scss +2 -2
  536. package/styles/qsm/_calendar.scss +274 -274
  537. package/styles/qsm/_qsm.scss +1097 -1097
  538. package/styles/search.scss +1200 -1200
  539. package/styles/tide-form-variables.scss +275 -0
  540. package/styles/tide-form.scss +56 -0
  541. package/.claude/settings.local.json +0 -11
  542. package/.husky/pre-commit +0 -22
  543. package/.nvmrc +0 -1
  544. package/.prettierignore +0 -32
  545. package/.prettierrc +0 -9
  546. package/.vs/ProjectSettings.json +0 -3
  547. package/.vs/VSWorkspaceState.json +0 -5
  548. package/.vs/slnx.sqlite +0 -0
  549. package/.vs/tide-booking-component/FileContentIndex/5099fed1-8dd7-4fc6-b744-64dad71a8a83.vsidx +0 -0
  550. package/.vs/tide-booking-component/FileContentIndex/d4b119f1-fe2e-4d31-b8af-b66c5a71cfeb.vsidx +0 -0
  551. package/.vs/tide-booking-component/FileContentIndex/f9097dbd-6c75-40d4-82b3-c6dd4aa48f0c.vsidx +0 -0
  552. package/.vs/tide-booking-component/config/applicationhost.config +0 -1021
  553. package/.vs/tide-booking-component/v17/.wsuo +0 -0
  554. package/MEMORY.md +0 -97
  555. package/NEXTSTEPS.md +0 -94
  556. package/rollup.config.js +0 -16
  557. package/src/booking-product/components/age-select.tsx +0 -35
  558. package/src/booking-product/components/amount-input.tsx +0 -51
  559. package/src/booking-product/components/date-range-picker/calendar-day.tsx +0 -46
  560. package/src/booking-product/components/date-range-picker/calendar.tsx +0 -155
  561. package/src/booking-product/components/date-range-picker/index.tsx +0 -185
  562. package/src/booking-product/components/dates.tsx +0 -153
  563. package/src/booking-product/components/footer.tsx +0 -54
  564. package/src/booking-product/components/header.tsx +0 -58
  565. package/src/booking-product/components/list-view.tsx +0 -54
  566. package/src/booking-product/components/product.tsx +0 -447
  567. package/src/booking-product/components/rating.tsx +0 -21
  568. package/src/booking-product/components/rooms.tsx +0 -192
  569. package/src/booking-product/constants.ts +0 -1
  570. package/src/booking-product/index.tsx +0 -21
  571. package/src/booking-product/settings-context.ts +0 -16
  572. package/src/booking-product/types.ts +0 -68
  573. package/src/booking-product/utils/api.ts +0 -26
  574. package/src/booking-product/utils/price.ts +0 -28
  575. package/src/booking-wizard/api-settings-slice.ts +0 -24
  576. package/src/booking-wizard/components/labeled-input.tsx +0 -56
  577. package/src/booking-wizard/components/labeled-select.tsx +0 -54
  578. package/src/booking-wizard/components/message.tsx +0 -21
  579. package/src/booking-wizard/components/multi-range-filter.tsx +0 -99
  580. package/src/booking-wizard/components/phone-input.tsx +0 -146
  581. package/src/booking-wizard/components/print-offer-button.tsx +0 -53
  582. package/src/booking-wizard/components/step-indicator.tsx +0 -36
  583. package/src/booking-wizard/components/step-route.tsx +0 -51
  584. package/src/booking-wizard/declarations.d.ts +0 -4
  585. package/src/booking-wizard/features/booking/api.ts +0 -44
  586. package/src/booking-wizard/features/booking/booking-self-contained.tsx +0 -364
  587. package/src/booking-wizard/features/booking/booking-slice.ts +0 -634
  588. package/src/booking-wizard/features/booking/booking.tsx +0 -388
  589. package/src/booking-wizard/features/booking/constants.ts +0 -16
  590. package/src/booking-wizard/features/booking/selectors.ts +0 -411
  591. package/src/booking-wizard/features/confirmation/confirmation.tsx +0 -46
  592. package/src/booking-wizard/features/error/error.tsx +0 -71
  593. package/src/booking-wizard/features/flight-options/flight-filter.tsx +0 -371
  594. package/src/booking-wizard/features/flight-options/flight-option-flight.tsx +0 -354
  595. package/src/booking-wizard/features/flight-options/flight-option-modal.tsx +0 -211
  596. package/src/booking-wizard/features/flight-options/flight-option.tsx +0 -57
  597. package/src/booking-wizard/features/flight-options/flight-utils.ts +0 -423
  598. package/src/booking-wizard/features/flight-options/index.tsx +0 -170
  599. package/src/booking-wizard/features/price-details/price-details-api.ts +0 -20
  600. package/src/booking-wizard/features/price-details/price-details-slice.ts +0 -79
  601. package/src/booking-wizard/features/price-details/selectors.ts +0 -118
  602. package/src/booking-wizard/features/price-details/util.ts +0 -115
  603. package/src/booking-wizard/features/product-options/no-options.tsx +0 -18
  604. package/src/booking-wizard/features/product-options/none-option.tsx +0 -73
  605. package/src/booking-wizard/features/product-options/option-booking-airline-group.tsx +0 -53
  606. package/src/booking-wizard/features/product-options/option-booking-group.tsx +0 -152
  607. package/src/booking-wizard/features/product-options/option-item.tsx +0 -236
  608. package/src/booking-wizard/features/product-options/option-pax-card.tsx +0 -159
  609. package/src/booking-wizard/features/product-options/option-pax-group.tsx +0 -122
  610. package/src/booking-wizard/features/product-options/option-room.tsx +0 -226
  611. package/src/booking-wizard/features/product-options/option-unit-group.tsx +0 -138
  612. package/src/booking-wizard/features/product-options/option-units-card.tsx +0 -148
  613. package/src/booking-wizard/features/product-options/options-form.tsx +0 -382
  614. package/src/booking-wizard/features/room-options/index.tsx +0 -132
  615. package/src/booking-wizard/features/room-options/room-utils.ts +0 -154
  616. package/src/booking-wizard/features/room-options/room.tsx +0 -123
  617. package/src/booking-wizard/features/room-options/traveler-rooms.tsx +0 -64
  618. package/src/booking-wizard/features/sidebar/index.tsx +0 -89
  619. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +0 -66
  620. package/src/booking-wizard/features/sidebar/sidebar-util.ts +0 -143
  621. package/src/booking-wizard/features/sidebar/sidebar.tsx +0 -349
  622. package/src/booking-wizard/features/summary/summary-booking-option-pax.tsx +0 -23
  623. package/src/booking-wizard/features/summary/summary-booking-option-unit.tsx +0 -23
  624. package/src/booking-wizard/features/summary/summary-flight.tsx +0 -36
  625. package/src/booking-wizard/features/summary/summary-per-booking-option-group.tsx +0 -60
  626. package/src/booking-wizard/features/summary/summary-per-pax-option-group.tsx +0 -56
  627. package/src/booking-wizard/features/summary/summary-per-unit-option-group.tsx +0 -58
  628. package/src/booking-wizard/features/summary/summary-slice.ts +0 -27
  629. package/src/booking-wizard/features/summary/summary.tsx +0 -578
  630. package/src/booking-wizard/features/travelers-form/controls/gender-control.tsx +0 -60
  631. package/src/booking-wizard/features/travelers-form/travelers-form-slice.ts +0 -157
  632. package/src/booking-wizard/features/travelers-form/travelers-form-util.ts +0 -10
  633. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +0 -181
  634. package/src/booking-wizard/features/travelers-form/type-ahead-input.tsx +0 -85
  635. package/src/booking-wizard/features/travelers-form/validate-form.ts +0 -178
  636. package/src/booking-wizard/index.tsx +0 -27
  637. package/src/booking-wizard/settings-context.ts +0 -64
  638. package/src/booking-wizard/store.ts +0 -26
  639. package/src/booking-wizard/types.ts +0 -350
  640. package/src/booking-wizard/use-offer-printer.ts +0 -108
  641. package/src/content/components/LanguageSwitcher.tsx +0 -158
  642. package/src/content/components/accordion.tsx +0 -30
  643. package/src/content/components/breadcrumb.tsx +0 -67
  644. package/src/content/components/contact.tsx +0 -210
  645. package/src/content/components/faq.tsx +0 -42
  646. package/src/content/components/gallery.tsx +0 -153
  647. package/src/content/components/image-with-text.tsx +0 -119
  648. package/src/content/components/login.tsx +0 -161
  649. package/src/content/components/personal-contact-form.tsx +0 -809
  650. package/src/content/components/slider.tsx +0 -237
  651. package/src/content/error/error.tsx +0 -27
  652. package/src/content/featured-trips/featured-trip-card.tsx +0 -48
  653. package/src/content/featured-trips/index.tsx +0 -19
  654. package/src/content/featured-trips/types.ts +0 -13
  655. package/src/content/features/content-page/content-page-self-contained.tsx +0 -895
  656. package/src/content/footer/index.tsx +0 -159
  657. package/src/content/footer/types.ts +0 -36
  658. package/src/content/header/index.tsx +0 -43
  659. package/src/content/header/types.ts +0 -26
  660. package/src/content/image-card-grid/index.tsx +0 -34
  661. package/src/content/image-card-grid/types.ts +0 -13
  662. package/src/content/image-with-text-section/card.tsx +0 -58
  663. package/src/content/image-with-text-section/index.tsx +0 -22
  664. package/src/content/image-with-text-section/types.ts +0 -20
  665. package/src/content/login/confirm-component.tsx +0 -149
  666. package/src/content/login/index.tsx +0 -70
  667. package/src/content/login/login-component.tsx +0 -159
  668. package/src/content/login/login-services.ts +0 -109
  669. package/src/content/login/reset-password-component.tsx +0 -191
  670. package/src/content/login/types.ts +0 -29
  671. package/src/content/navbar/index.tsx +0 -354
  672. package/src/content/navbar/placeholderData.tsx +0 -173
  673. package/src/content/navbar/types.ts +0 -43
  674. package/src/qsm/components/QSMContainer/qsm-container.tsx +0 -671
  675. package/src/qsm/components/date-picker/index.tsx +0 -152
  676. package/src/qsm/components/date-range-picker/calendar-day.tsx +0 -49
  677. package/src/qsm/components/date-range-picker/calendar.tsx +0 -211
  678. package/src/qsm/components/date-range-picker/index.tsx +0 -404
  679. package/src/qsm/components/double-search-input-group/index.tsx +0 -78
  680. package/src/qsm/components/item-picker/index.tsx +0 -65
  681. package/src/qsm/components/mobile-filter-modal/index.tsx +0 -321
  682. package/src/qsm/components/search-input/index.tsx +0 -91
  683. package/src/qsm/components/search-input-group/index.tsx +0 -209
  684. package/src/qsm/components/travel-class-picker/index.tsx +0 -28
  685. package/src/qsm/components/travel-input/index.tsx +0 -241
  686. package/src/qsm/components/travel-input-group/index.tsx +0 -114
  687. package/src/qsm/components/travel-nationality-picker/index.tsx +0 -28
  688. package/src/qsm/components/travel-type-picker/index.tsx +0 -28
  689. package/src/qsm/index.tsx +0 -26
  690. package/src/qsm/qsm-configuration-context.ts +0 -31
  691. package/src/qsm/store/qsm-slice.ts +0 -282
  692. package/src/qsm/store/qsm-store.ts +0 -13
  693. package/src/qsm/types.ts +0 -110
  694. package/src/search-results/components/book-packaging-entry/index.tsx +0 -266
  695. package/src/search-results/components/book-packaging-entry/wl-sidebar.tsx +0 -173
  696. package/src/search-results/components/excursions/day-by-day-excursions.tsx +0 -168
  697. package/src/search-results/components/excursions/excursion-details.tsx +0 -340
  698. package/src/search-results/components/excursions/excursion-results.tsx +0 -186
  699. package/src/search-results/components/filters/filters.tsx +0 -229
  700. package/src/search-results/components/filters/flight-filters.tsx +0 -671
  701. package/src/search-results/components/flight/flight-banner.tsx +0 -35
  702. package/src/search-results/components/flight/flight-card.tsx +0 -38
  703. package/src/search-results/components/flight/flight-leg.tsx +0 -61
  704. package/src/search-results/components/flight/flight-path.tsx +0 -23
  705. package/src/search-results/components/flight/flight-results.tsx +0 -208
  706. package/src/search-results/components/flight/flight-search-context/index.tsx +0 -628
  707. package/src/search-results/components/flight/flight-selection/independent-flight-option.tsx +0 -168
  708. package/src/search-results/components/flight/flight-selection/independent-flight-selection.tsx +0 -184
  709. package/src/search-results/components/flight/flight-selection/index.tsx +0 -19
  710. package/src/search-results/components/flight/flight-selection/paired-flight-option.tsx +0 -255
  711. package/src/search-results/components/flight/flight-selection/paired-flight-selection.tsx +0 -38
  712. package/src/search-results/components/group-tour/group-tour-card.tsx +0 -105
  713. package/src/search-results/components/group-tour/group-tour-results.tsx +0 -62
  714. package/src/search-results/components/hotel/hotel-accommodation-results.tsx +0 -244
  715. package/src/search-results/components/hotel/hotel-card.tsx +0 -110
  716. package/src/search-results/components/item-picker/index.tsx +0 -81
  717. package/src/search-results/components/itinerary/full-itinerary.tsx +0 -374
  718. package/src/search-results/components/itinerary/index.tsx +0 -437
  719. package/src/search-results/components/multi-range-filter.tsx +0 -104
  720. package/src/search-results/components/round-trip/round-trip-results.tsx +0 -199
  721. package/src/search-results/components/search-results-container/flight-search-results.tsx +0 -137
  722. package/src/search-results/components/search-results-container/search-results-container.tsx +0 -1764
  723. package/src/search-results/components/spinner/spinner.tsx +0 -24
  724. package/src/search-results/components/tab-views/index.tsx +0 -53
  725. package/src/search-results/features/flights/flight-search-results-self-contained.tsx +0 -294
  726. package/src/search-results/features/hotels/hotel-flight-search-results-self-contained.tsx +0 -143
  727. package/src/search-results/features/hotels/hotel-search-results-self-contained.tsx +0 -220
  728. package/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.tsx +0 -65
  729. package/src/search-results/index.tsx +0 -25
  730. package/src/search-results/store/search-results-selectors.ts +0 -84
  731. package/src/search-results/store/search-results-slice.ts +0 -351
  732. package/src/search-results/store/search-results-store.ts +0 -13
  733. package/src/search-results/types.ts +0 -266
  734. package/src/search-results/utils/flight-utils.ts +0 -98
  735. package/src/search-results/utils/packaging-utils.ts +0 -75
  736. package/src/search-results/utils/query-utils.ts +0 -153
  737. package/src/search-results/utils/search-results-utils.ts +0 -538
  738. package/src/shared/booking/booking-panel.tsx +0 -25
  739. package/src/shared/booking/product-card.tsx +0 -23
  740. package/src/shared/booking/shared-confirmation.tsx +0 -105
  741. package/src/shared/booking/shared-sidebar.tsx +0 -432
  742. package/src/shared/booking/step-indicators.tsx +0 -30
  743. package/src/shared/booking/summary.tsx +0 -382
  744. package/src/shared/booking/travelers-form.tsx +0 -874
  745. package/src/shared/components/flyin/accommodation-flyin.tsx +0 -424
  746. package/src/shared/components/flyin/flights-flyin.tsx +0 -508
  747. package/src/shared/components/flyin/flyin.tsx +0 -241
  748. package/src/shared/components/flyin/group-tour-flyin.tsx +0 -294
  749. package/src/shared/components/flyin/packaging-flights-flyin.tsx +0 -171
  750. package/src/shared/components/icon.tsx +0 -1114
  751. package/src/shared/components/loader.tsx +0 -16
  752. package/src/shared/tide-sprites.svg +0 -117
  753. package/src/shared/translations/ar-SA.json +0 -398
  754. package/src/shared/translations/da-DK.json +0 -398
  755. package/src/shared/translations/de-DE.json +0 -398
  756. package/src/shared/translations/en-GB.json +0 -402
  757. package/src/shared/translations/es-ES.json +0 -398
  758. package/src/shared/translations/fr-BE.json +0 -402
  759. package/src/shared/translations/fr-FR.json +0 -398
  760. package/src/shared/translations/is-IS.json +0 -398
  761. package/src/shared/translations/it-IT.json +0 -398
  762. package/src/shared/translations/ja-JP.json +0 -398
  763. package/src/shared/translations/nl-BE.json +0 -402
  764. package/src/shared/translations/nl-NL.json +0 -398
  765. package/src/shared/translations/no-NO.json +0 -398
  766. package/src/shared/translations/pl-PL.json +0 -398
  767. package/src/shared/translations/pt-PT.json +0 -398
  768. package/src/shared/translations/sv-SE.json +0 -398
  769. package/src/shared/types.ts +0 -31
  770. package/src/shared/utils/booking-summary.tsx +0 -57
  771. package/src/shared/utils/class-util.ts +0 -7
  772. package/src/shared/utils/localization-util.ts +0 -316
  773. package/src/shared/utils/query-string-util.ts +0 -91
  774. package/src/shared/utils/tide-api-utils.ts +0 -42
  775. package/src/shared/utils/use-media-query-util.ts +0 -19
  776. package/tsconfig.json +0 -24
@@ -1,874 +0,0 @@
1
- import { compact, get, sortBy } from 'lodash';
2
- import React, { ReactNode, useMemo, useState } from 'react';
3
- import { FormikProps } from 'formik';
4
- import flat from 'flat';
5
- import { format, parse } from 'date-fns';
6
- import { Country, RoomTraveler, Traveler, TravelersFormValues } from '../../booking-wizard/types';
7
- import LabeledInput from '../../booking-wizard/components/labeled-input';
8
- import LabeledSelect from '../../booking-wizard/components/labeled-select';
9
- import PhoneInput from '../../booking-wizard/components/phone-input';
10
- import GenderControl from '../../booking-wizard/features/travelers-form/controls/gender-control';
11
- import TypeAheadInput from '../../booking-wizard/features/travelers-form/type-ahead-input';
12
- import { buildClassName } from '../utils/class-util';
13
- import { CountryItem, PackagingEntry, PackagingEntryPax } from '@qite/tide-client';
14
-
15
- export type TravelersFormField = { type: string };
16
- export type AgentOption = { id: number | string; name: string; postalCode?: string; location?: string };
17
- export type TypeAheadOption = { key: string; value: string; text: string };
18
-
19
- export interface SharedTravelersSettings {
20
- countries?: Country[];
21
- formFields?: TravelersFormField[];
22
- mainBookerFormFields?: TravelersFormField[];
23
- }
24
-
25
- export interface SharedTravelersFormProps {
26
- formik: FormikProps<TravelersFormValues>;
27
- translations: any;
28
- travellersSettings?: SharedTravelersSettings;
29
- countries?: CountryItem[];
30
- agents?: AgentOption[];
31
- bookingType?: string;
32
- agentAdressId?: number;
33
- travelersFirstStep?: boolean;
34
- isUnavailable?: boolean;
35
- useCompactForm?: boolean;
36
- showAllCountries?: boolean;
37
- showAgentSelection?: boolean;
38
- initialShowAgents?: boolean;
39
- renderPreviousButton?: () => ReactNode;
40
- onBookingTypeChange?: (bookingType: string) => void;
41
- }
42
-
43
- export function createTraveler(traveler: RoomTraveler, followNumber: { number: number }, personTranslation?: string, isCompact?: boolean): Traveler {
44
- if (isCompact) {
45
- return {
46
- id: traveler.id,
47
- firstName: personTranslation,
48
- lastName: `${followNumber.number++}`,
49
- birthDate: '',
50
- gender: '',
51
- age: traveler.age || 30
52
- } as Traveler;
53
- }
54
-
55
- return {
56
- id: traveler.id,
57
- firstName: '',
58
- lastName: '',
59
- birthDate: '',
60
- gender: ''
61
- } as Traveler;
62
- }
63
-
64
- export function createInitialValuesFromRooms(
65
- formRooms: { adults: RoomTraveler[]; children: RoomTraveler[] }[],
66
- startDate?: string,
67
- agentAdressId?: number,
68
- personTranslation?: string,
69
- isCompact?: boolean
70
- ): TravelersFormValues {
71
- const followNumber = { number: 1 };
72
-
73
- const initialValues = {
74
- startDate,
75
- rooms: formRooms.map((room) => ({
76
- adults: room.adults.map((traveler) => createTraveler(traveler, followNumber, personTranslation, isCompact)),
77
- children: room.children.map((traveler) => createTraveler(traveler, followNumber, personTranslation, isCompact))
78
- })),
79
- mainBookerId: -1,
80
- street: '',
81
- houseNumber: '',
82
- box: '',
83
- zipCode: '',
84
- place: '',
85
- country: '',
86
- phone: '',
87
- email: '',
88
- emailConfirmation: '',
89
- travelAgentId: agentAdressId ?? 0,
90
- travelAgentName: ''
91
- } as TravelersFormValues;
92
-
93
- if (initialValues.rooms?.[0]?.adults?.[0]) {
94
- initialValues.mainBookerId = initialValues.rooms[0].adults[0].id;
95
- }
96
-
97
- return initialValues;
98
- }
99
-
100
- export function createInitialValuesFromEditablePackagingEntry(editablePackagingEntry: PackagingEntry, agentAdressId?: number): TravelersFormValues {
101
- const pax = editablePackagingEntry?.pax ?? [];
102
- const rooms = editablePackagingEntry.rooms.map((room) => {
103
- const roomPax = pax.filter((x: PackagingEntryPax) => room.paxIds.includes(x.id));
104
- const adults = roomPax.filter((x: PackagingEntryPax) => x.age! >= 18);
105
- const children = roomPax.filter((x: PackagingEntryPax) => x.age! < 18);
106
- return {
107
- adults: adults.map((roomTraveler: PackagingEntryPax) => {
108
- return {
109
- id: roomTraveler.id,
110
- firstName: roomTraveler.firstName ?? '',
111
- lastName: roomTraveler.lastName ?? '',
112
- birthDate: roomTraveler.dateOfBirth ? format(new Date(roomTraveler.dateOfBirth), 'yyyy-MM-dd') : '',
113
- gender: ''
114
- } as Traveler;
115
- }),
116
- children: children.map((roomTraveler: PackagingEntryPax) => {
117
- return {
118
- id: roomTraveler.id,
119
- firstName: roomTraveler.firstName ?? '',
120
- lastName: roomTraveler.lastName ?? '',
121
- birthDate: roomTraveler.dateOfBirth ? format(new Date(roomTraveler.dateOfBirth), 'yyyy-MM-dd') : '',
122
- gender: ''
123
- } as Traveler;
124
- })
125
- };
126
- });
127
-
128
- const values = createInitialValuesFromRooms(
129
- rooms.map((room) => ({ adults: room.adults as RoomTraveler[], children: room.children as RoomTraveler[] })),
130
- editablePackagingEntry?.lines?.[0]?.from,
131
- agentAdressId
132
- );
133
-
134
- values.rooms = rooms;
135
- values.mainBookerId = pax.find((x: any) => x.isMainBooker)?.id ?? rooms[0]?.adults?.[0]?.id ?? -1;
136
-
137
- const address = editablePackagingEntry?.address;
138
-
139
- values.street = address?.street ?? '';
140
- values.houseNumber = address?.houseNumber ?? '';
141
- values.box = address?.box ?? '';
142
- values.zipCode = address?.zipCode ?? '';
143
- values.place = address?.place ?? '';
144
- values.country = address?.country ?? '';
145
- values.phone = address?.phone ?? '';
146
- values.email = address?.email ?? '';
147
- values.emailConfirmation = address?.email ?? '';
148
- values.travelAgentId = address?.travelAgentId ?? agentAdressId ?? 0;
149
-
150
- return values;
151
- }
152
-
153
- export function applyTravelersFormValuesToEditablePackagingEntry(editablePackagingEntry: PackagingEntry, values: TravelersFormValues) {
154
- const travelers = values.rooms.flatMap((room) => [...room.adults, ...room.children]);
155
-
156
- return {
157
- ...editablePackagingEntry,
158
- pax: (editablePackagingEntry.pax ?? []).map((pax) => {
159
- const traveler = travelers.find((x) => x.id === pax.id);
160
- if (!traveler) return pax;
161
-
162
- return {
163
- ...pax,
164
- firstName: traveler.firstName ?? '',
165
- lastName: traveler.lastName ?? '',
166
- dateOfBirth: traveler.birthDate || null,
167
- isMainBooker: traveler.id === values.mainBookerId
168
- };
169
- }),
170
- address: {
171
- ...editablePackagingEntry.address,
172
- street: values.street,
173
- houseNumber: values.houseNumber,
174
- box: values.box,
175
- zipCode: values.zipCode,
176
- place: values.place,
177
- country: values.country,
178
- travelAgentId: values.travelAgentId,
179
- phone: values.phone,
180
- email: values.email
181
- }
182
- };
183
- }
184
-
185
- const SharedTravelersForm: React.FC<SharedTravelersFormProps> = ({
186
- formik,
187
- translations,
188
- travellersSettings,
189
- countries,
190
- agents,
191
- bookingType,
192
- agentAdressId,
193
- travelersFirstStep = false,
194
- isUnavailable = false,
195
- useCompactForm = false,
196
- showAllCountries = false,
197
- showAgentSelection = false,
198
- initialShowAgents = false,
199
- renderPreviousButton,
200
- onBookingTypeChange
201
- }) => {
202
- const [showAgents, setShowAgents] = useState<boolean>(initialShowAgents);
203
-
204
- const typeaheadAgents = useMemo<TypeAheadOption[]>(
205
- () =>
206
- sortBy(
207
- agents?.map((agent) => ({
208
- key: `${agent.id}`,
209
- value: `${agent.name}${agent.postalCode || agent.location ? ` (${compact([agent.postalCode, agent.location]).join(' ')})` : ''}`,
210
- text: `${agent.name}${agent.postalCode || agent.location ? ` (${compact([agent.postalCode, agent.location]).join(' ')})` : ''}`
211
- })),
212
- 'value'
213
- ) ?? [],
214
- [agents]
215
- );
216
-
217
- const [filteredAgents, setFilteredAgents] = useState<TypeAheadOption[]>(typeaheadAgents);
218
-
219
- const flatErrors: Record<string, string> = flat(formik.errors);
220
- const errorKeys = Object.keys(flatErrors).filter((key) => get(formik.touched, key));
221
- const hasVisibleError = (key: string) => get(formik.errors, key) && get(formik.touched, key);
222
-
223
- const mainBooker = formik.values.rooms
224
- .find((room) => room.adults.find((traveler) => traveler.id === formik.values.mainBookerId))
225
- ?.adults.find((traveler) => traveler.id === formik.values.mainBookerId);
226
-
227
- const countryOptions = [
228
- { key: 'empty', value: undefined, label: translations.TRAVELERS_FORM.SELECT_COUNTRY },
229
- ...(showAllCountries
230
- ? countries?.map((country) => ({ key: country.iso2, value: country.iso2, label: country.name })) ?? []
231
- : travellersSettings?.countries?.map((country) => ({ key: country.iso2, value: country.iso2, label: country.name })) ?? [
232
- { key: 'be', value: 'be', label: translations.TRAVELERS_FORM.COUNTRIES.BELGIUM },
233
- { key: 'nl', value: 'nl', label: translations.TRAVELERS_FORM.COUNTRIES.NETHERLANDS },
234
- { key: 'fr', value: 'fr', label: translations.TRAVELERS_FORM.COUNTRIES.FRANCE }
235
- ])
236
- ];
237
-
238
- const handleMainBookerChange: React.FormEventHandler<HTMLInputElement> = (event) => {
239
- formik.setFieldValue('mainBookerId', parseInt(event.currentTarget.value, 10));
240
- };
241
-
242
- const handleAgentChange = (value: string) => {
243
- setFilteredAgents(typeaheadAgents.filter((x) => x.value.toLocaleLowerCase().indexOf(value.toLocaleLowerCase()) > -1));
244
- formik.setFieldValue('travelAgentName', value);
245
- };
246
-
247
- const handleAgentSelect = (key: string) => {
248
- const agent = typeaheadAgents.find((x) => x.key === key);
249
-
250
- formik.setValues({
251
- ...formik.values,
252
- travelAgentId: Number(agent?.key),
253
- travelAgentName: agent?.value ?? ''
254
- });
255
-
256
- onBookingTypeChange?.(agentAdressId && agentAdressId !== 0 ? 'b2b' : 'b2b2c');
257
- };
258
-
259
- const handleAgentClear = () => {
260
- formik.setValues({ ...formik.values, travelAgentId: 0, travelAgentName: '' });
261
- onBookingTypeChange?.('b2c');
262
- };
263
-
264
- const toggleAgent = (value: boolean) => {
265
- setShowAgents(value);
266
- if (!value) {
267
- handleAgentClear();
268
- setFilteredAgents([]);
269
- }
270
- };
271
-
272
- const handleAddTraveler = (roomIndex: number) => {
273
- const rooms = [...formik.values.rooms];
274
- const newAdult = { id: Date.now(), firstName: '', lastName: '', birthDate: '', gender: '' } as Traveler;
275
- rooms[roomIndex] = { ...rooms[roomIndex], adults: [...rooms[roomIndex].adults, newAdult] };
276
- formik.setFieldValue('rooms', rooms);
277
- };
278
-
279
- const handleRemoveTraveler = (roomIndex: number, travelerIndex: number) => {
280
- const rooms = [...formik.values.rooms];
281
- const adults = [...rooms[roomIndex].adults];
282
- if (adults.length <= 1) return;
283
-
284
- adults.splice(travelerIndex, 1);
285
- rooms[roomIndex] = { ...rooms[roomIndex], adults };
286
- formik.setFieldValue('rooms', rooms);
287
- };
288
-
289
- const handleAddRoom = () => {
290
- const rooms = [...formik.values.rooms];
291
- rooms.push({ adults: [{ id: Date.now(), firstName: '', lastName: '', birthDate: '', gender: '' } as Traveler], children: [] });
292
- formik.setFieldValue('rooms', rooms);
293
- };
294
-
295
- const handleRemoveRoom = (roomIndex: number) => {
296
- const rooms = [...formik.values.rooms];
297
- rooms.splice(roomIndex, 1);
298
- formik.setFieldValue('rooms', rooms);
299
- };
300
-
301
- const renderGenderControl = (name: string, value: Traveler) => (
302
- <div className={buildClassName(['form__group', hasVisibleError(name) && 'form__group--error'])}>
303
- <label className="form__label">{translations.TRAVELERS_FORM.GENDER_ID} *</label>
304
- <div className="radiobutton-group">
305
- {[
306
- ['m', translations.TRAVELERS_FORM.MALE_GENDER],
307
- ['f', translations.TRAVELERS_FORM.FEMALE_GENDER]
308
- ].map(([gender, label]) => (
309
- <div className="radiobutton" key={gender}>
310
- <label className="radiobutton__label">
311
- <input
312
- type="radio"
313
- className="radiobutton__input"
314
- name={name}
315
- onChange={formik.handleChange}
316
- onBlur={formik.handleBlur}
317
- value={gender}
318
- checked={value.gender === gender}
319
- />
320
- {label}
321
- </label>
322
- </div>
323
- ))}
324
- </div>
325
- </div>
326
- );
327
-
328
- const getControl = (type: string, value: Traveler, name: string) => {
329
- switch (type) {
330
- case 'gender':
331
- return <GenderControl translations={translations} value={value} formik={formik} name={name} />;
332
- case 'firstName':
333
- return (
334
- <LabeledInput
335
- hasError={hasVisibleError(name)}
336
- extraClassName="form__group--md-33"
337
- label={translations.TRAVELERS_FORM.FIRST_NAME}
338
- required
339
- name={name}
340
- onChange={formik.handleChange}
341
- onBlur={formik.handleBlur}
342
- value={value.firstName}
343
- />
344
- );
345
- case 'lastName':
346
- return (
347
- <LabeledInput
348
- hasError={hasVisibleError(name)}
349
- extraClassName="form__group--md-33"
350
- label={translations.TRAVELERS_FORM.LAST_NAME}
351
- required
352
- name={name}
353
- onChange={formik.handleChange}
354
- onBlur={formik.handleBlur}
355
- value={value.lastName}
356
- />
357
- );
358
- case 'birthDate':
359
- return (
360
- <LabeledInput
361
- type="date"
362
- hasError={hasVisibleError(name)}
363
- extraClassName="form__group--md-33"
364
- label={translations.TRAVELERS_FORM.BIRTHDATE}
365
- required
366
- name={name}
367
- onChange={formik.handleChange}
368
- onBlur={formik.handleBlur}
369
- value={value.birthDate}
370
- />
371
- );
372
- case 'country':
373
- return (
374
- <LabeledSelect
375
- hasError={hasVisibleError('country')}
376
- label={translations.TRAVELERS_FORM.COUNTRY}
377
- required
378
- name="country"
379
- onChange={formik.handleChange}
380
- onBlur={formik.handleBlur}
381
- value={formik.values.country}
382
- options={countryOptions}
383
- />
384
- );
385
- case 'phone':
386
- return (
387
- <PhoneInput
388
- countries={travellersSettings?.countries ?? []}
389
- countryIso2={formik.values.country}
390
- hasError={hasVisibleError('phone')}
391
- label={translations.TRAVELERS_FORM.PHONE}
392
- required
393
- name="phone"
394
- onChange={formik.handleChange}
395
- onBlur={formik.handleBlur}
396
- value={formik.values.phone}
397
- />
398
- );
399
- case 'email':
400
- return (
401
- <>
402
- <LabeledInput
403
- type="email"
404
- hasError={hasVisibleError('email')}
405
- extraClassName="form__group--md-33"
406
- label={translations.TRAVELERS_FORM.EMAIL}
407
- required
408
- name="email"
409
- onChange={formik.handleChange}
410
- onBlur={formik.handleBlur}
411
- value={formik.values.email}
412
- />
413
- <LabeledInput
414
- type="email"
415
- hasError={hasVisibleError('emailConfirmation')}
416
- extraClassName="form__group--md-33"
417
- label={translations.TRAVELERS_FORM.REPEAT_EMAIL}
418
- required
419
- name="emailConfirmation"
420
- onChange={formik.handleChange}
421
- onBlur={formik.handleBlur}
422
- value={formik.values.emailConfirmation}
423
- />
424
- </>
425
- );
426
- case 'street':
427
- return (
428
- <LabeledInput
429
- hasError={hasVisibleError('street')}
430
- extraClassName="form__group--50 form__group--sm-60"
431
- label={translations.TRAVELERS_FORM.STREET}
432
- required
433
- name="street"
434
- onChange={formik.handleChange}
435
- onBlur={formik.handleBlur}
436
- value={formik.values.street}
437
- />
438
- );
439
-
440
- case 'houseNumber':
441
- return (
442
- <LabeledInput
443
- hasError={hasVisibleError('houseNumber')}
444
- extraClassName="form__group--30 form__group--sm-20"
445
- label={translations.TRAVELERS_FORM.HOUSE_NUMBER}
446
- required
447
- name="houseNumber"
448
- onChange={formik.handleChange}
449
- onBlur={formik.handleBlur}
450
- value={formik.values.houseNumber}
451
- />
452
- );
453
-
454
- case 'box':
455
- return (
456
- <LabeledInput
457
- hasError={hasVisibleError('box')}
458
- extraClassName="form__group--20"
459
- label={translations.TRAVELERS_FORM.POST_BOX}
460
- name="box"
461
- onChange={formik.handleChange}
462
- onBlur={formik.handleBlur}
463
- value={formik.values.box}
464
- />
465
- );
466
-
467
- case 'zipCode':
468
- return (
469
- <LabeledInput
470
- hasError={hasVisibleError('zipCode')}
471
- extraClassName="form__group--40 form__group--sm-20"
472
- label={translations.TRAVELERS_FORM.ZIPCODE}
473
- required
474
- name="zipCode"
475
- onChange={formik.handleChange}
476
- onBlur={formik.handleBlur}
477
- value={formik.values.zipCode}
478
- />
479
- );
480
-
481
- case 'place':
482
- return (
483
- <LabeledInput
484
- hasError={hasVisibleError('place')}
485
- extraClassName="form__group--60 form__group--sm-40"
486
- label={translations.TRAVELERS_FORM.CITY}
487
- required
488
- name="place"
489
- onChange={formik.handleChange}
490
- onBlur={formik.handleBlur}
491
- value={formik.values.place}
492
- />
493
- );
494
- default:
495
- return null;
496
- }
497
- };
498
-
499
- const renderRoomLabel = (room: TravelersFormValues['rooms'][number]) =>
500
- compact([
501
- room.adults.length,
502
- room.adults.length === 1 && ` ${translations.TRAVELERS_FORM.ADULT}`,
503
- room.adults.length > 1 && ` ${translations.TRAVELERS_FORM.ADULTS}`,
504
- room.adults?.length && room.children?.length && ', ',
505
- room.children.length,
506
- room.children.length === 1 && ` ${translations.TRAVELERS_FORM.CHILD}`,
507
- room.children.length > 1 && ` ${translations.TRAVELERS_FORM.CHILDREN}`
508
- ]).join('');
509
-
510
- const renderTravelerFields = (travelerValues: Traveler, namePrefix: string, isAdult: boolean, roomIndex: number, travelerIndex: number) => {
511
- if (useCompactForm) {
512
- return (
513
- <div className="form__row">
514
- <LabeledInput
515
- hasError={hasVisibleError(`${namePrefix}.age`)}
516
- extraClassName="form__group--md-33"
517
- label={translations.TRAVELERS_FORM.AGE}
518
- required
519
- name={`${namePrefix}.age`}
520
- onChange={formik.handleChange}
521
- onBlur={formik.handleBlur}
522
- value={travelerValues.age}
523
- />
524
- </div>
525
- );
526
- }
527
-
528
- if (travellersSettings?.formFields?.length) {
529
- return (
530
- <div className="travelers-form__grid">
531
- {travellersSettings.formFields.map((field, index) => (
532
- <div key={index} className={`control control--${field.type}`}>
533
- {getControl(field.type, travelerValues, `${namePrefix}.${field.type}`)}
534
- </div>
535
- ))}
536
- </div>
537
- );
538
- }
539
-
540
- return (
541
- <>
542
- <div className="form__row">{renderGenderControl(`${namePrefix}.gender`, travelerValues)}</div>
543
- <div className="form__row">
544
- <LabeledInput
545
- hasError={hasVisibleError(`${namePrefix}.firstName`)}
546
- extraClassName="form__group--md-33"
547
- label={translations.TRAVELERS_FORM.FIRST_NAME}
548
- required
549
- name={`${namePrefix}.firstName`}
550
- onChange={formik.handleChange}
551
- onBlur={formik.handleBlur}
552
- value={travelerValues.firstName}
553
- />
554
- <LabeledInput
555
- hasError={hasVisibleError(`${namePrefix}.lastName`)}
556
- extraClassName="form__group--md-33"
557
- label={translations.TRAVELERS_FORM.LAST_NAME}
558
- required
559
- name={`${namePrefix}.lastName`}
560
- onChange={formik.handleChange}
561
- onBlur={formik.handleBlur}
562
- value={travelerValues.lastName}
563
- />
564
- <LabeledInput
565
- type="date"
566
- hasError={hasVisibleError(`${namePrefix}.birthDate`)}
567
- extraClassName="form__group--md-33"
568
- label={translations.TRAVELERS_FORM.BIRTHDATE}
569
- required
570
- name={`${namePrefix}.birthDate`}
571
- onChange={formik.handleChange}
572
- onBlur={formik.handleBlur}
573
- value={travelerValues.birthDate}
574
- />
575
- </div>
576
- {travelersFirstStep && isAdult && formik.values.rooms[roomIndex].adults.length > 1 && (
577
- <button type="button" className="cta cta--secondary" onClick={() => handleRemoveTraveler(roomIndex, travelerIndex)}>
578
- {translations.TRAVELERS_FORM.REMOVE_TRAVELER}
579
- </button>
580
- )}
581
- </>
582
- );
583
- };
584
-
585
- return (
586
- <form
587
- className="form form__travelers"
588
- name="booking--travellers"
589
- id="booking--travellers"
590
- noValidate
591
- onSubmit={formik.handleSubmit}
592
- onReset={formik.handleReset}>
593
- <div className="form__travelers__wrapper">
594
- {formik.values.rooms.map((room, roomIndex) => (
595
- <div key={roomIndex}>
596
- {formik.values.rooms.length > 1 && (
597
- <div className="form__region">
598
- <div className="form__region-header">
599
- <h5 className="form__region-heading">
600
- {translations.SHARED.ROOM} {roomIndex + 1}
601
- </h5>
602
- <p className="form__region-label">{renderRoomLabel(room)}</p>
603
- </div>
604
- {!useCompactForm && travelersFirstStep && formik.values.rooms.length > 1 && (
605
- <button type="button" className="cta cta--secondary" onClick={() => handleRemoveRoom(roomIndex)}>
606
- Verwijder reisgezelschap
607
- </button>
608
- )}
609
- </div>
610
- )}
611
-
612
- {room.adults.map((travelerValues, index) => (
613
- <div className="form__region" key={travelerValues.id}>
614
- <div className="form__region-header">
615
- <h5 className="form__region-heading">
616
- {translations.TRAVELERS_FORM.TRAVELER} {index + 1}
617
- </h5>
618
- <p className="form__region-label">{translations.TRAVELERS_FORM.ADULT}</p>
619
- <div className="radiobutton">
620
- <label className="radiobutton__label">
621
- <input
622
- type="radio"
623
- name="mainBookerId"
624
- onChange={handleMainBookerChange}
625
- onBlur={formik.handleBlur}
626
- value={travelerValues.id}
627
- checked={formik.values.mainBookerId === travelerValues.id}
628
- className="radiobutton__input"
629
- />
630
- {translations.TRAVELERS_FORM.MAIN_BOOKER}
631
- </label>
632
- </div>
633
- </div>
634
- {renderTravelerFields(travelerValues, `rooms[${roomIndex}].adults[${index}]`, true, roomIndex, index)}
635
- </div>
636
- ))}
637
-
638
- {room.children.map((travelerValues, index) => (
639
- <div className="form__region" key={travelerValues.id}>
640
- <div className="form__region-header">
641
- <h5 className="form__region-heading">
642
- {translations.TRAVELERS_FORM.TRAVELER} {room.adults.length + index + 1}
643
- </h5>
644
- <p className="form__region-label">{translations.TRAVELERS_FORM.CHILD}</p>
645
- </div>
646
- {renderTravelerFields(travelerValues, `rooms[${roomIndex}].children[${index}]`, false, roomIndex, index)}
647
- </div>
648
- ))}
649
-
650
- {!useCompactForm && travelersFirstStep && (
651
- <div className="form__region">
652
- <button type="button" className="cta cta--select" onClick={() => handleAddTraveler(roomIndex)}>
653
- {translations.TRAVELERS_FORM.ADD_TRAVELER}
654
- </button>
655
- </div>
656
- )}
657
- </div>
658
- ))}
659
-
660
- {!useCompactForm && (bookingType !== 'b2b' || travellersSettings?.mainBookerFormFields?.length) ? (
661
- <div className="form__region">
662
- <div className="form__region-header">
663
- <h5 className="form__region-heading">{translations.TRAVELERS_FORM.MAIN_BOOKER}</h5>
664
- <p className="form__region-label">
665
- {compact([
666
- compact([mainBooker?.firstName, mainBooker?.lastName]).join(' '),
667
- mainBooker?.birthDate && format(parse(mainBooker.birthDate, 'yyyy-MM-dd', new Date()), 'dd-MM-yyyy')
668
- ]).join(', ')}
669
- </p>
670
- </div>
671
- {travellersSettings?.mainBookerFormFields?.length ? (
672
- <div className="main-booker-form__grid">
673
- {travellersSettings.mainBookerFormFields.map((field, index) => (
674
- <div key={index} className={`control control--${field.type}`}>
675
- {getControl(field.type, {} as Traveler, field.type)}
676
- </div>
677
- ))}
678
- </div>
679
- ) : (
680
- <>
681
- <div className="form__twocolumn">
682
- <div className="form__twocolumn-column">
683
- <div className="form__row">
684
- <LabeledInput
685
- hasError={hasVisibleError('street')}
686
- extraClassName="form__group--50 form__group--sm-60"
687
- label={translations.TRAVELERS_FORM.STREET}
688
- required
689
- name="street"
690
- onChange={formik.handleChange}
691
- onBlur={formik.handleBlur}
692
- value={formik.values.street}
693
- />
694
- <LabeledInput
695
- hasError={hasVisibleError('houseNumber')}
696
- extraClassName="form__group--30 form__group--sm-20"
697
- label={translations.TRAVELERS_FORM.HOUSE_NUMBER}
698
- required
699
- name="houseNumber"
700
- onChange={formik.handleChange}
701
- onBlur={formik.handleBlur}
702
- value={formik.values.houseNumber}
703
- />
704
- <LabeledInput
705
- hasError={hasVisibleError('box')}
706
- extraClassName="form__group--20"
707
- label={translations.TRAVELERS_FORM.POST_BOX}
708
- name="box"
709
- onChange={formik.handleChange}
710
- onBlur={formik.handleBlur}
711
- value={formik.values.box}
712
- />
713
- </div>
714
- </div>
715
- <div className="form__twocolumn-column">
716
- <div className="form__row">
717
- <LabeledInput
718
- hasError={hasVisibleError('zipCode')}
719
- extraClassName="form__group--40 form__group--sm-20"
720
- label={translations.TRAVELERS_FORM.ZIPCODE}
721
- required
722
- name="zipCode"
723
- onChange={formik.handleChange}
724
- onBlur={formik.handleBlur}
725
- value={formik.values.zipCode}
726
- />
727
- <LabeledInput
728
- hasError={hasVisibleError('place')}
729
- extraClassName="form__group--60 form__group--sm-40"
730
- label={translations.TRAVELERS_FORM.CITY}
731
- required
732
- name="place"
733
- onChange={formik.handleChange}
734
- onBlur={formik.handleBlur}
735
- value={formik.values.place}
736
- />
737
- <LabeledSelect
738
- hasError={hasVisibleError('country')}
739
- extraClassName="form__group--sm-40"
740
- label={translations.TRAVELERS_FORM.COUNTRY}
741
- required
742
- name="country"
743
- onChange={formik.handleChange}
744
- onBlur={formik.handleBlur}
745
- value={formik.values.country}
746
- options={countryOptions}
747
- />
748
- </div>
749
- </div>
750
- </div>
751
- <div className="form__row">
752
- <LabeledInput
753
- hasError={hasVisibleError('phone')}
754
- extraClassName="form__group--md-33"
755
- label={translations.TRAVELERS_FORM.PHONE}
756
- required
757
- name="phone"
758
- onChange={formik.handleChange}
759
- onBlur={formik.handleBlur}
760
- value={formik.values.phone}
761
- />
762
- <LabeledInput
763
- type="email"
764
- hasError={hasVisibleError('email')}
765
- extraClassName="form__group--md-33"
766
- label={translations.TRAVELERS_FORM.EMAIL}
767
- required
768
- name="email"
769
- onChange={formik.handleChange}
770
- onBlur={formik.handleBlur}
771
- value={formik.values.email}
772
- />
773
- <LabeledInput
774
- type="email"
775
- hasError={hasVisibleError('emailConfirmation')}
776
- extraClassName="form__group--md-33"
777
- label={translations.TRAVELERS_FORM.REPEAT_EMAIL}
778
- required
779
- name="emailConfirmation"
780
- onChange={formik.handleChange}
781
- onBlur={formik.handleBlur}
782
- value={formik.values.emailConfirmation}
783
- />
784
- </div>
785
- </>
786
- )}
787
- </div>
788
- ) : !useCompactForm ? (
789
- <div className="form__region">
790
- <div className="form__row">
791
- <LabeledInput
792
- hasError={hasVisibleError('phone')}
793
- extraClassName="form__group--md-33"
794
- label={translations.TRAVELERS_FORM.PHONE}
795
- required
796
- name="phone"
797
- onChange={formik.handleChange}
798
- onBlur={formik.handleBlur}
799
- value={formik.values.phone}
800
- />
801
- </div>
802
- </div>
803
- ) : null}
804
-
805
- {!useCompactForm && showAgentSelection && (
806
- <div className="form__region">
807
- <div className="form__region-header">
808
- <h5 className="form__region-heading">{translations.TRAVELERS_FORM.BOOK_WITH_AGENT}</h5>
809
- <div className="checkbox" id="cbxChooseOffice">
810
- <label className="checkbox__label">
811
- <input
812
- type="checkbox"
813
- name="booking--mainbooker"
814
- checked={showAgents}
815
- onChange={() => toggleAgent(!showAgents)}
816
- className="checkbox__input"
817
- />
818
- {translations.TRAVELERS_FORM.CHOOSE_OFFICE}
819
- </label>
820
- </div>
821
- </div>
822
- {showAgents && (
823
- <div className="form__row form__row--choose-office">
824
- <div className={buildClassName(['form__group', 'form__group--icon', hasVisibleError('travelAgentId') && 'form__group--error'])}>
825
- <TypeAheadInput
826
- value={formik.values.travelAgentName}
827
- options={filteredAgents}
828
- onChange={handleAgentChange}
829
- onSelect={handleAgentSelect}
830
- onClear={handleAgentClear}
831
- name="travelAgentName"
832
- placeholder={translations.TRAVELERS_FORM.CHOOSE_AGENT_PLACEHOLDER}
833
- />
834
- </div>
835
- </div>
836
- )}
837
- </div>
838
- )}
839
- </div>
840
-
841
- {!useCompactForm && errorKeys.length > 0 && (
842
- <div className="form__region form__region--errors">
843
- <div className="form__row">
844
- <div className="form__group">
845
- <p className="form__error-heading">{translations.TRAVELERS_FORM.VALIDATION_MESSAGE}:</p>
846
- <ul className="list">
847
- {errorKeys.map((key) => (
848
- <li key={key}>{get(flatErrors, key)}</li>
849
- ))}
850
- </ul>
851
- </div>
852
- </div>
853
- </div>
854
- )}
855
-
856
- {travelersFirstStep && (
857
- <div className="booking__navigator">
858
- <button type="button" className="cta cta--select" onClick={handleAddRoom}>
859
- {translations.TRAVELERS_FORM.ADD_ROOM}
860
- </button>
861
- </div>
862
- )}
863
-
864
- <div className="booking__navigator">
865
- {renderPreviousButton?.()}
866
- <button type="submit" title={translations.STEPS.NEXT} className={'cta' + (isUnavailable ? ' cta--disabled' : '')}>
867
- {translations.STEPS.NEXT}
868
- </button>
869
- </div>
870
- </form>
871
- );
872
- };
873
-
874
- export default SharedTravelersForm;