@qite/tide-booking-component 1.4.124 → 1.4.125

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 (774) hide show
  1. package/README.md +26 -26
  2. package/build/build-cjs/index.js +40120 -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/labeled-input.d.ts +18 -0
  23. package/build/build-cjs/src/booking-wizard/components/labeled-select.d.ts +21 -0
  24. package/build/build-cjs/src/booking-wizard/components/message.d.ts +9 -0
  25. package/build/build-cjs/src/booking-wizard/components/multi-range-filter.d.ts +11 -0
  26. package/build/build-cjs/src/booking-wizard/components/phone-input.d.ts +17 -0
  27. package/build/build-cjs/src/booking-wizard/components/print-offer-button.d.ts +17 -0
  28. package/build/build-cjs/src/booking-wizard/components/step-indicator.d.ts +6 -0
  29. package/build/build-cjs/src/booking-wizard/components/step-route.d.ts +8 -0
  30. package/build/build-cjs/src/booking-wizard/features/booking/api.d.ts +11 -0
  31. package/build/build-cjs/src/booking-wizard/features/booking/booking-self-contained.d.ts +8 -0
  32. package/build/build-cjs/src/booking-wizard/features/booking/booking-slice.d.ts +62 -0
  33. package/build/build-cjs/src/booking-wizard/features/booking/booking.d.ts +8 -0
  34. package/build/build-cjs/src/booking-wizard/features/booking/constants.d.ts +8 -0
  35. package/build/build-cjs/src/booking-wizard/features/booking/selectors.d.ts +639 -0
  36. package/build/build-cjs/src/booking-wizard/features/confirmation/confirmation.d.ts +5 -0
  37. package/build/build-cjs/src/booking-wizard/features/error/error.d.ts +5 -0
  38. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-filter.d.ts +9 -0
  39. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-option-flight.d.ts +8 -0
  40. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-option-modal.d.ts +3 -0
  41. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-option.d.ts +10 -0
  42. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-utils.d.ts +6 -0
  43. package/build/build-cjs/src/booking-wizard/features/flight-options/index.d.ts +5 -0
  44. package/build/build-cjs/src/booking-wizard/features/price-details/price-details-api.d.ts +6 -0
  45. package/build/build-cjs/src/booking-wizard/features/price-details/price-details-slice.d.ts +23 -0
  46. package/build/build-cjs/src/booking-wizard/features/price-details/selectors.d.ts +378 -0
  47. package/build/build-cjs/src/booking-wizard/features/price-details/util.d.ts +2 -0
  48. package/build/build-cjs/src/booking-wizard/features/product-options/no-options.d.ts +3 -0
  49. package/build/build-cjs/src/booking-wizard/features/product-options/none-option.d.ts +9 -0
  50. package/build/build-cjs/src/booking-wizard/features/product-options/option-booking-airline-group.d.ts +8 -0
  51. package/build/build-cjs/src/booking-wizard/features/product-options/option-booking-group.d.ts +12 -0
  52. package/build/build-cjs/src/booking-wizard/features/product-options/option-item.d.ts +11 -0
  53. package/build/build-cjs/src/booking-wizard/features/product-options/option-pax-card.d.ts +10 -0
  54. package/build/build-cjs/src/booking-wizard/features/product-options/option-pax-group.d.ts +13 -0
  55. package/build/build-cjs/src/booking-wizard/features/product-options/option-room.d.ts +11 -0
  56. package/build/build-cjs/src/booking-wizard/features/product-options/option-unit-group.d.ts +13 -0
  57. package/build/build-cjs/src/booking-wizard/features/product-options/option-units-card.d.ts +9 -0
  58. package/build/build-cjs/src/booking-wizard/features/product-options/option-utils.d.ts +9 -0
  59. package/build/build-cjs/src/booking-wizard/features/product-options/options-form.d.ts +5 -0
  60. package/build/build-cjs/src/booking-wizard/features/room-options/index.d.ts +5 -0
  61. package/build/build-cjs/src/booking-wizard/features/room-options/room-utils.d.ts +9 -0
  62. package/build/build-cjs/src/booking-wizard/features/room-options/room.d.ts +12 -0
  63. package/build/build-cjs/src/booking-wizard/features/room-options/traveler-rooms.d.ts +9 -0
  64. package/build/build-cjs/src/booking-wizard/features/sidebar/index.d.ts +7 -0
  65. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar-flight.d.ts +9 -0
  66. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar-util.d.ts +13 -0
  67. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar.d.ts +0 -0
  68. package/build/build-cjs/src/booking-wizard/features/summary/summary-booking-option-pax.d.ts +7 -0
  69. package/build/build-cjs/src/booking-wizard/features/summary/summary-booking-option-unit.d.ts +7 -0
  70. package/build/build-cjs/src/booking-wizard/features/summary/summary-flight.d.ts +8 -0
  71. package/build/build-cjs/src/booking-wizard/features/summary/summary-per-booking-option-group.d.ts +7 -0
  72. package/build/build-cjs/src/booking-wizard/features/summary/summary-per-pax-option-group.d.ts +7 -0
  73. package/build/build-cjs/src/booking-wizard/features/summary/summary-per-unit-option-group.d.ts +7 -0
  74. package/build/build-cjs/src/booking-wizard/features/summary/summary-slice.d.ts +8 -0
  75. package/build/build-cjs/src/booking-wizard/features/summary/summary.d.ts +5 -0
  76. package/build/build-cjs/src/booking-wizard/features/travelers-form/controls/gender-control.d.ts +5 -0
  77. package/build/build-cjs/src/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +143 -0
  78. package/build/build-cjs/src/booking-wizard/features/travelers-form/travelers-form-util.d.ts +7 -0
  79. package/build/build-cjs/src/booking-wizard/features/travelers-form/travelers-form.d.ts +3 -0
  80. package/build/build-cjs/src/booking-wizard/features/travelers-form/type-ahead-input.d.ts +16 -0
  81. package/build/build-cjs/src/booking-wizard/features/travelers-form/validate-form.d.ts +4 -0
  82. package/build/build-cjs/src/booking-wizard/index.d.ts +12 -0
  83. package/build/build-cjs/src/booking-wizard/settings-context.d.ts +6 -0
  84. package/build/build-cjs/src/booking-wizard/store.d.ts +26 -0
  85. package/build/build-cjs/src/booking-wizard/types.d.ts +330 -0
  86. package/build/build-cjs/src/booking-wizard/use-offer-printer.d.ts +13 -0
  87. package/build/build-cjs/src/content/components/LanguageSwitcher.d.ts +12 -0
  88. package/build/build-cjs/src/content/components/accordion.d.ts +9 -0
  89. package/build/build-cjs/src/content/components/breadcrumb.d.ts +14 -0
  90. package/build/build-cjs/src/content/components/contact.d.ts +3 -0
  91. package/build/build-cjs/src/content/components/faq.d.ts +11 -0
  92. package/build/build-cjs/src/content/components/gallery.d.ts +13 -0
  93. package/build/build-cjs/src/content/components/image-with-text.d.ts +29 -0
  94. package/build/build-cjs/src/content/components/itinerary-map-view.d.ts +48 -0
  95. package/build/build-cjs/src/content/components/login.d.ts +3 -0
  96. package/build/build-cjs/src/content/components/personal-contact-form.d.ts +3 -0
  97. package/build/build-cjs/src/content/components/slider.d.ts +10 -0
  98. package/build/build-cjs/src/content/error/error.d.ts +6 -0
  99. package/build/build-cjs/src/content/featured-trips/featured-trip-card.d.ts +4 -0
  100. package/build/build-cjs/src/content/featured-trips/index.d.ts +4 -0
  101. package/build/build-cjs/src/content/featured-trips/types.d.ts +12 -0
  102. package/build/build-cjs/src/content/features/content-page/content-page-self-contained.d.ts +6 -0
  103. package/build/build-cjs/src/content/footer/index.d.ts +4 -0
  104. package/build/build-cjs/src/content/footer/types.d.ts +27 -0
  105. package/build/build-cjs/src/content/header/index.d.ts +4 -0
  106. package/build/build-cjs/src/content/header/types.d.ts +22 -0
  107. package/build/build-cjs/src/content/image-card-grid/index.d.ts +4 -0
  108. package/build/build-cjs/src/content/image-card-grid/types.d.ts +12 -0
  109. package/build/build-cjs/src/content/image-with-text-section/card.d.ts +4 -0
  110. package/build/build-cjs/src/content/image-with-text-section/index.d.ts +4 -0
  111. package/build/build-cjs/src/content/image-with-text-section/types.d.ts +19 -0
  112. package/build/build-cjs/src/content/login/confirm-component.d.ts +4 -0
  113. package/build/build-cjs/src/content/login/index.d.ts +4 -0
  114. package/build/build-cjs/src/content/login/login-component.d.ts +4 -0
  115. package/build/build-cjs/src/content/login/login-services.d.ts +6 -0
  116. package/build/build-cjs/src/content/login/reset-password-component.d.ts +4 -0
  117. package/build/build-cjs/src/content/login/types.d.ts +24 -0
  118. package/build/build-cjs/src/content/navbar/index.d.ts +4 -0
  119. package/build/build-cjs/src/content/navbar/placeholderData.d.ts +12 -0
  120. package/build/build-cjs/src/content/navbar/types.d.ts +32 -0
  121. package/build/build-cjs/src/form/components/fields/date-field.d.ts +4 -0
  122. package/build/build-cjs/src/form/components/fields/dropdown-field.d.ts +4 -0
  123. package/build/build-cjs/src/form/components/fields/field-label.d.ts +10 -0
  124. package/build/build-cjs/src/form/components/fields/form-field.d.ts +11 -0
  125. package/build/build-cjs/src/form/components/fields/info-text-field.d.ts +7 -0
  126. package/build/build-cjs/src/form/components/fields/multi-dropdown-field.d.ts +4 -0
  127. package/build/build-cjs/src/form/components/fields/multiline-field.d.ts +4 -0
  128. package/build/build-cjs/src/form/components/fields/number-field.d.ts +4 -0
  129. package/build/build-cjs/src/form/components/fields/optional-field.d.ts +4 -0
  130. package/build/build-cjs/src/form/components/fields/radio-checkbox-field.d.ts +4 -0
  131. package/build/build-cjs/src/form/components/fields/text-field.d.ts +4 -0
  132. package/build/build-cjs/src/form/components/fields/yes-no-field.d.ts +4 -0
  133. package/build/build-cjs/src/form/components/form-body.d.ts +9 -0
  134. package/build/build-cjs/src/form/components/form-container.d.ts +3 -0
  135. package/build/build-cjs/src/form/components/form-segment.d.ts +11 -0
  136. package/build/build-cjs/src/form/components/form-step.d.ts +9 -0
  137. package/build/build-cjs/src/form/form-configuration-context.d.ts +4 -0
  138. package/build/build-cjs/src/form/form-types.d.ts +7 -0
  139. package/build/build-cjs/src/form/hooks/use-form-state.d.ts +13 -0
  140. package/build/build-cjs/src/form/index.d.ts +7 -0
  141. package/build/build-cjs/src/form/types.d.ts +20 -0
  142. package/build/build-cjs/src/form/utils/captcha-util.d.ts +3 -0
  143. package/build/build-cjs/src/form/utils/form-initial-values-util.d.ts +3 -0
  144. package/build/build-cjs/src/form/utils/form-submit-util.d.ts +4 -0
  145. package/build/build-cjs/src/form/utils/form-validation-util.d.ts +8 -0
  146. package/build/build-cjs/src/form/utils/html-util.d.ts +16 -0
  147. package/build/build-cjs/src/form/utils/visibility-util.d.ts +4 -0
  148. package/{src/index.ts → build/build-cjs/src/index.d.ts} +29 -46
  149. package/build/build-cjs/src/qsm/components/QSMContainer/qsm-container.d.ts +3 -0
  150. package/build/build-cjs/src/qsm/components/date-picker/index.d.ts +3 -0
  151. package/build/build-cjs/src/qsm/components/date-range-picker/calendar-day.d.ts +12 -0
  152. package/build/build-cjs/src/qsm/components/date-range-picker/calendar.d.ts +24 -0
  153. package/build/build-cjs/src/qsm/components/date-range-picker/index.d.ts +10 -0
  154. package/build/build-cjs/src/qsm/components/double-search-input-group/index.d.ts +8 -0
  155. package/build/build-cjs/src/qsm/components/item-picker/index.d.ts +13 -0
  156. package/build/build-cjs/src/qsm/components/mobile-filter-modal/index.d.ts +3 -0
  157. package/build/build-cjs/src/qsm/components/search-input/index.d.ts +15 -0
  158. package/build/build-cjs/src/qsm/components/search-input-group/index.d.ts +13 -0
  159. package/build/build-cjs/src/qsm/components/travel-class-picker/index.d.ts +3 -0
  160. package/build/build-cjs/src/qsm/components/travel-input/index.d.ts +3 -0
  161. package/build/build-cjs/src/qsm/components/travel-input-group/index.d.ts +3 -0
  162. package/build/build-cjs/src/qsm/components/travel-nationality-picker/index.d.ts +3 -0
  163. package/build/build-cjs/src/qsm/components/travel-type-picker/index.d.ts +3 -0
  164. package/build/build-cjs/src/qsm/index.d.ts +7 -0
  165. package/build/build-cjs/src/qsm/qsm-configuration-context.d.ts +4 -0
  166. package/build/build-cjs/src/qsm/store/qsm-slice.d.ts +74 -0
  167. package/build/build-cjs/src/qsm/store/qsm-store.d.ts +10 -0
  168. package/build/build-cjs/src/qsm/types.d.ts +82 -0
  169. package/build/build-cjs/src/search-results/components/book-packaging-entry/index.d.ts +9 -0
  170. package/build/build-cjs/src/search-results/components/book-packaging-entry/wl-sidebar.d.ts +9 -0
  171. package/build/build-cjs/src/search-results/components/excursions/day-by-day-excursions.d.ts +5 -0
  172. package/build/build-cjs/src/search-results/components/excursions/excursion-details.d.ts +3 -0
  173. package/build/build-cjs/src/search-results/components/excursions/excursion-results.d.ts +8 -0
  174. package/build/build-cjs/src/search-results/components/filters/filters.d.ts +13 -0
  175. package/build/build-cjs/src/search-results/components/filters/flight-filters.d.ts +8 -0
  176. package/build/build-cjs/src/search-results/components/flight/flight-banner.d.ts +8 -0
  177. package/build/build-cjs/src/search-results/components/flight/flight-card.d.ts +7 -0
  178. package/build/build-cjs/src/search-results/components/flight/flight-leg.d.ts +7 -0
  179. package/build/build-cjs/src/search-results/components/flight/flight-path.d.ts +6 -0
  180. package/build/build-cjs/src/search-results/components/flight/flight-results.d.ts +8 -0
  181. package/build/build-cjs/src/search-results/components/flight/flight-search-context/index.d.ts +39 -0
  182. package/build/build-cjs/src/search-results/components/flight/flight-selection/independent-flight-option.d.ts +14 -0
  183. package/build/build-cjs/src/search-results/components/flight/flight-selection/independent-flight-selection.d.ts +7 -0
  184. package/build/build-cjs/src/search-results/components/flight/flight-selection/index.d.ts +8 -0
  185. package/build/build-cjs/src/search-results/components/flight/flight-selection/paired-flight-option.d.ts +7 -0
  186. package/build/build-cjs/src/search-results/components/flight/flight-selection/paired-flight-selection.d.ts +7 -0
  187. package/build/build-cjs/src/search-results/components/group-tour/group-tour-card.d.ts +9 -0
  188. package/build/build-cjs/src/search-results/components/group-tour/group-tour-results.d.ts +6 -0
  189. package/build/build-cjs/src/search-results/components/hotel/hotel-accommodation-results.d.ts +7 -0
  190. package/build/build-cjs/src/search-results/components/hotel/hotel-card.d.ts +8 -0
  191. package/build/build-cjs/src/search-results/components/item-picker/index.d.ts +15 -0
  192. package/build/build-cjs/src/search-results/components/itinerary/full-itinerary.d.ts +6 -0
  193. package/build/build-cjs/src/search-results/components/itinerary/index.d.ts +10 -0
  194. package/build/build-cjs/src/search-results/components/multi-range-filter.d.ts +11 -0
  195. package/build/build-cjs/src/search-results/components/round-trip/round-trip-results.d.ts +5 -0
  196. package/build/build-cjs/src/search-results/components/search-results-container/flight-search-results.d.ts +6 -0
  197. package/build/build-cjs/src/search-results/components/search-results-container/search-results-container.d.ts +6 -0
  198. package/build/build-cjs/src/search-results/components/spinner/spinner.d.ts +6 -0
  199. package/build/build-cjs/src/search-results/components/tab-views/index.d.ts +5 -0
  200. package/build/build-cjs/src/search-results/features/flights/flight-search-results-self-contained.d.ts +5 -0
  201. package/build/build-cjs/src/search-results/features/hotels/hotel-flight-search-results-self-contained.d.ts +5 -0
  202. package/build/build-cjs/src/search-results/features/hotels/hotel-search-results-self-contained.d.ts +5 -0
  203. package/build/build-cjs/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.d.ts +5 -0
  204. package/build/build-cjs/src/search-results/index.d.ts +8 -0
  205. package/{src/search-results/search-results-configuration-context.ts → build/build-cjs/src/search-results/search-results-configuration-context.d.ts} +4 -6
  206. package/build/build-cjs/src/search-results/store/search-results-selectors.d.ts +542 -0
  207. package/build/build-cjs/src/search-results/store/search-results-slice.d.ts +57 -0
  208. package/build/build-cjs/src/search-results/store/search-results-store.d.ts +10 -0
  209. package/build/build-cjs/src/search-results/types.d.ts +185 -0
  210. package/build/build-cjs/src/search-results/utils/flight-utils.d.ts +11 -0
  211. package/build/build-cjs/src/search-results/utils/packaging-utils.d.ts +7 -0
  212. package/build/build-cjs/src/search-results/utils/query-utils.d.ts +12 -0
  213. package/build/build-cjs/src/search-results/utils/search-results-utils.d.ts +8 -0
  214. package/build/build-cjs/src/shared/booking/booking-panel.d.ts +13 -0
  215. package/build/build-cjs/src/shared/booking/product-card.d.ts +8 -0
  216. package/build/build-cjs/src/shared/booking/shared-confirmation.d.ts +25 -0
  217. package/build/build-cjs/src/shared/booking/shared-sidebar.d.ts +34 -0
  218. package/build/build-cjs/src/shared/booking/step-indicators.d.ts +7 -0
  219. package/build/build-cjs/src/shared/booking/summary.d.ts +44 -0
  220. package/build/build-cjs/src/shared/booking/travelers-form.d.ts +79 -0
  221. package/build/build-cjs/src/shared/components/flyin/accommodation-flyin.d.ts +7 -0
  222. package/build/build-cjs/src/shared/components/flyin/flights-flyin.d.ts +7 -0
  223. package/build/build-cjs/src/shared/components/flyin/flyin.d.ts +20 -0
  224. package/build/build-cjs/src/shared/components/flyin/group-tour-flyin.d.ts +8 -0
  225. package/build/build-cjs/src/shared/components/flyin/packaging-flights-flyin.d.ts +9 -0
  226. package/build/build-cjs/src/shared/components/icon.d.ts +11 -0
  227. package/build/build-cjs/src/shared/components/loader.d.ts +6 -0
  228. package/build/build-cjs/src/shared/types.d.ts +16 -0
  229. package/build/build-cjs/src/shared/utils/booking-summary.d.ts +2 -0
  230. package/build/build-cjs/src/shared/utils/class-util.d.ts +1 -0
  231. package/build/build-cjs/src/shared/utils/localization-util.d.ts +51 -0
  232. package/build/build-cjs/src/shared/utils/query-string-util.d.ts +8 -0
  233. package/build/build-cjs/src/shared/utils/tide-api-utils.d.ts +4 -0
  234. package/build/build-cjs/src/shared/utils/use-media-query-util.d.ts +2 -0
  235. package/build/build-esm/index.js +40074 -0
  236. package/build/build-esm/src/booking-product/components/age-select.d.ts +8 -0
  237. package/build/build-esm/src/booking-product/components/amount-input.d.ts +10 -0
  238. package/build/build-esm/src/booking-product/components/date-range-picker/calendar-day.d.ts +13 -0
  239. package/build/build-esm/src/booking-product/components/date-range-picker/calendar.d.ts +19 -0
  240. package/build/build-esm/src/booking-product/components/date-range-picker/index.d.ts +25 -0
  241. package/build/build-esm/src/booking-product/components/dates.d.ts +14 -0
  242. package/build/build-esm/src/booking-product/components/footer.d.ts +10 -0
  243. package/build/build-esm/src/booking-product/components/header.d.ts +11 -0
  244. package/build/build-esm/src/booking-product/components/list-view.d.ts +8 -0
  245. package/build/build-esm/src/booking-product/components/product.d.ts +9 -0
  246. package/build/build-esm/src/booking-product/components/rating.d.ts +6 -0
  247. package/build/build-esm/src/booking-product/components/rooms.d.ts +10 -0
  248. package/build/build-esm/src/booking-product/constants.d.ts +1 -0
  249. package/build/build-esm/src/booking-product/index.d.ts +10 -0
  250. package/build/build-esm/src/booking-product/settings-context.d.ts +6 -0
  251. package/build/build-esm/src/booking-product/types.d.ts +61 -0
  252. package/build/build-esm/src/booking-product/utils/api.d.ts +7 -0
  253. package/build/build-esm/src/booking-product/utils/price.d.ts +1 -0
  254. package/build/build-esm/src/booking-wizard/api-settings-slice.d.ts +4 -0
  255. package/build/build-esm/src/booking-wizard/components/labeled-input.d.ts +18 -0
  256. package/build/build-esm/src/booking-wizard/components/labeled-select.d.ts +21 -0
  257. package/build/build-esm/src/booking-wizard/components/message.d.ts +9 -0
  258. package/build/build-esm/src/booking-wizard/components/multi-range-filter.d.ts +11 -0
  259. package/build/build-esm/src/booking-wizard/components/phone-input.d.ts +17 -0
  260. package/build/build-esm/src/booking-wizard/components/print-offer-button.d.ts +17 -0
  261. package/build/build-esm/src/booking-wizard/components/step-indicator.d.ts +6 -0
  262. package/build/build-esm/src/booking-wizard/components/step-route.d.ts +8 -0
  263. package/build/build-esm/src/booking-wizard/features/booking/api.d.ts +11 -0
  264. package/build/build-esm/src/booking-wizard/features/booking/booking-self-contained.d.ts +8 -0
  265. package/build/build-esm/src/booking-wizard/features/booking/booking-slice.d.ts +62 -0
  266. package/build/build-esm/src/booking-wizard/features/booking/booking.d.ts +8 -0
  267. package/build/build-esm/src/booking-wizard/features/booking/constants.d.ts +8 -0
  268. package/build/build-esm/src/booking-wizard/features/booking/selectors.d.ts +639 -0
  269. package/build/build-esm/src/booking-wizard/features/confirmation/confirmation.d.ts +5 -0
  270. package/build/build-esm/src/booking-wizard/features/error/error.d.ts +5 -0
  271. package/build/build-esm/src/booking-wizard/features/flight-options/flight-filter.d.ts +9 -0
  272. package/build/build-esm/src/booking-wizard/features/flight-options/flight-option-flight.d.ts +8 -0
  273. package/build/build-esm/src/booking-wizard/features/flight-options/flight-option-modal.d.ts +3 -0
  274. package/build/build-esm/src/booking-wizard/features/flight-options/flight-option.d.ts +10 -0
  275. package/build/build-esm/src/booking-wizard/features/flight-options/flight-utils.d.ts +6 -0
  276. package/build/build-esm/src/booking-wizard/features/flight-options/index.d.ts +5 -0
  277. package/build/build-esm/src/booking-wizard/features/price-details/price-details-api.d.ts +6 -0
  278. package/build/build-esm/src/booking-wizard/features/price-details/price-details-slice.d.ts +23 -0
  279. package/build/build-esm/src/booking-wizard/features/price-details/selectors.d.ts +378 -0
  280. package/build/build-esm/src/booking-wizard/features/price-details/util.d.ts +2 -0
  281. package/build/build-esm/src/booking-wizard/features/product-options/no-options.d.ts +3 -0
  282. package/build/build-esm/src/booking-wizard/features/product-options/none-option.d.ts +9 -0
  283. package/build/build-esm/src/booking-wizard/features/product-options/option-booking-airline-group.d.ts +8 -0
  284. package/build/build-esm/src/booking-wizard/features/product-options/option-booking-group.d.ts +12 -0
  285. package/build/build-esm/src/booking-wizard/features/product-options/option-item.d.ts +11 -0
  286. package/build/build-esm/src/booking-wizard/features/product-options/option-pax-card.d.ts +10 -0
  287. package/build/build-esm/src/booking-wizard/features/product-options/option-pax-group.d.ts +13 -0
  288. package/build/build-esm/src/booking-wizard/features/product-options/option-room.d.ts +11 -0
  289. package/build/build-esm/src/booking-wizard/features/product-options/option-unit-group.d.ts +13 -0
  290. package/build/build-esm/src/booking-wizard/features/product-options/option-units-card.d.ts +9 -0
  291. package/build/build-esm/src/booking-wizard/features/product-options/option-utils.d.ts +9 -0
  292. package/build/build-esm/src/booking-wizard/features/product-options/options-form.d.ts +5 -0
  293. package/build/build-esm/src/booking-wizard/features/room-options/index.d.ts +5 -0
  294. package/build/build-esm/src/booking-wizard/features/room-options/room-utils.d.ts +9 -0
  295. package/build/build-esm/src/booking-wizard/features/room-options/room.d.ts +12 -0
  296. package/build/build-esm/src/booking-wizard/features/room-options/traveler-rooms.d.ts +9 -0
  297. package/build/build-esm/src/booking-wizard/features/sidebar/index.d.ts +7 -0
  298. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar-flight.d.ts +9 -0
  299. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar-util.d.ts +13 -0
  300. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar.d.ts +0 -0
  301. package/build/build-esm/src/booking-wizard/features/summary/summary-booking-option-pax.d.ts +7 -0
  302. package/build/build-esm/src/booking-wizard/features/summary/summary-booking-option-unit.d.ts +7 -0
  303. package/build/build-esm/src/booking-wizard/features/summary/summary-flight.d.ts +8 -0
  304. package/build/build-esm/src/booking-wizard/features/summary/summary-per-booking-option-group.d.ts +7 -0
  305. package/build/build-esm/src/booking-wizard/features/summary/summary-per-pax-option-group.d.ts +7 -0
  306. package/build/build-esm/src/booking-wizard/features/summary/summary-per-unit-option-group.d.ts +7 -0
  307. package/build/build-esm/src/booking-wizard/features/summary/summary-slice.d.ts +8 -0
  308. package/build/build-esm/src/booking-wizard/features/summary/summary.d.ts +5 -0
  309. package/build/build-esm/src/booking-wizard/features/travelers-form/controls/gender-control.d.ts +5 -0
  310. package/build/build-esm/src/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +143 -0
  311. package/build/build-esm/src/booking-wizard/features/travelers-form/travelers-form-util.d.ts +7 -0
  312. package/build/build-esm/src/booking-wizard/features/travelers-form/travelers-form.d.ts +3 -0
  313. package/build/build-esm/src/booking-wizard/features/travelers-form/type-ahead-input.d.ts +16 -0
  314. package/build/build-esm/src/booking-wizard/features/travelers-form/validate-form.d.ts +4 -0
  315. package/build/build-esm/src/booking-wizard/index.d.ts +12 -0
  316. package/build/build-esm/src/booking-wizard/settings-context.d.ts +6 -0
  317. package/build/build-esm/src/booking-wizard/store.d.ts +26 -0
  318. package/build/build-esm/src/booking-wizard/types.d.ts +330 -0
  319. package/build/build-esm/src/booking-wizard/use-offer-printer.d.ts +13 -0
  320. package/build/build-esm/src/content/components/LanguageSwitcher.d.ts +12 -0
  321. package/build/build-esm/src/content/components/accordion.d.ts +9 -0
  322. package/build/build-esm/src/content/components/breadcrumb.d.ts +14 -0
  323. package/build/build-esm/src/content/components/contact.d.ts +3 -0
  324. package/build/build-esm/src/content/components/faq.d.ts +11 -0
  325. package/build/build-esm/src/content/components/gallery.d.ts +13 -0
  326. package/build/build-esm/src/content/components/image-with-text.d.ts +29 -0
  327. package/build/build-esm/src/content/components/itinerary-map-view.d.ts +48 -0
  328. package/build/build-esm/src/content/components/login.d.ts +3 -0
  329. package/build/build-esm/src/content/components/personal-contact-form.d.ts +3 -0
  330. package/build/build-esm/src/content/components/slider.d.ts +10 -0
  331. package/build/build-esm/src/content/error/error.d.ts +6 -0
  332. package/build/build-esm/src/content/featured-trips/featured-trip-card.d.ts +4 -0
  333. package/build/build-esm/src/content/featured-trips/index.d.ts +4 -0
  334. package/build/build-esm/src/content/featured-trips/types.d.ts +12 -0
  335. package/build/build-esm/src/content/features/content-page/content-page-self-contained.d.ts +6 -0
  336. package/build/build-esm/src/content/footer/index.d.ts +4 -0
  337. package/build/build-esm/src/content/footer/types.d.ts +27 -0
  338. package/build/build-esm/src/content/header/index.d.ts +4 -0
  339. package/build/build-esm/src/content/header/types.d.ts +22 -0
  340. package/build/build-esm/src/content/image-card-grid/index.d.ts +4 -0
  341. package/build/build-esm/src/content/image-card-grid/types.d.ts +12 -0
  342. package/build/build-esm/src/content/image-with-text-section/card.d.ts +4 -0
  343. package/build/build-esm/src/content/image-with-text-section/index.d.ts +4 -0
  344. package/build/build-esm/src/content/image-with-text-section/types.d.ts +19 -0
  345. package/build/build-esm/src/content/login/confirm-component.d.ts +4 -0
  346. package/build/build-esm/src/content/login/index.d.ts +4 -0
  347. package/build/build-esm/src/content/login/login-component.d.ts +4 -0
  348. package/build/build-esm/src/content/login/login-services.d.ts +6 -0
  349. package/build/build-esm/src/content/login/reset-password-component.d.ts +4 -0
  350. package/build/build-esm/src/content/login/types.d.ts +24 -0
  351. package/build/build-esm/src/content/navbar/index.d.ts +4 -0
  352. package/build/build-esm/src/content/navbar/placeholderData.d.ts +12 -0
  353. package/build/build-esm/src/content/navbar/types.d.ts +32 -0
  354. package/build/build-esm/src/form/components/fields/date-field.d.ts +4 -0
  355. package/build/build-esm/src/form/components/fields/dropdown-field.d.ts +4 -0
  356. package/build/build-esm/src/form/components/fields/field-label.d.ts +10 -0
  357. package/build/build-esm/src/form/components/fields/form-field.d.ts +11 -0
  358. package/build/build-esm/src/form/components/fields/info-text-field.d.ts +7 -0
  359. package/build/build-esm/src/form/components/fields/multi-dropdown-field.d.ts +4 -0
  360. package/build/build-esm/src/form/components/fields/multiline-field.d.ts +4 -0
  361. package/build/build-esm/src/form/components/fields/number-field.d.ts +4 -0
  362. package/build/build-esm/src/form/components/fields/optional-field.d.ts +4 -0
  363. package/build/build-esm/src/form/components/fields/radio-checkbox-field.d.ts +4 -0
  364. package/build/build-esm/src/form/components/fields/text-field.d.ts +4 -0
  365. package/build/build-esm/src/form/components/fields/yes-no-field.d.ts +4 -0
  366. package/build/build-esm/src/form/components/form-body.d.ts +9 -0
  367. package/build/build-esm/src/form/components/form-container.d.ts +3 -0
  368. package/build/build-esm/src/form/components/form-segment.d.ts +11 -0
  369. package/build/build-esm/src/form/components/form-step.d.ts +9 -0
  370. package/build/build-esm/src/form/form-configuration-context.d.ts +4 -0
  371. package/build/build-esm/src/form/form-types.d.ts +7 -0
  372. package/build/build-esm/src/form/hooks/use-form-state.d.ts +13 -0
  373. package/build/build-esm/src/form/index.d.ts +7 -0
  374. package/build/build-esm/src/form/types.d.ts +20 -0
  375. package/build/build-esm/src/form/utils/captcha-util.d.ts +3 -0
  376. package/build/build-esm/src/form/utils/form-initial-values-util.d.ts +3 -0
  377. package/build/build-esm/src/form/utils/form-submit-util.d.ts +4 -0
  378. package/build/build-esm/src/form/utils/form-validation-util.d.ts +8 -0
  379. package/build/build-esm/src/form/utils/html-util.d.ts +16 -0
  380. package/build/build-esm/src/form/utils/visibility-util.d.ts +4 -0
  381. package/build/build-esm/src/index.d.ts +29 -0
  382. package/build/build-esm/src/qsm/components/QSMContainer/qsm-container.d.ts +3 -0
  383. package/build/build-esm/src/qsm/components/date-picker/index.d.ts +3 -0
  384. package/build/build-esm/src/qsm/components/date-range-picker/calendar-day.d.ts +12 -0
  385. package/build/build-esm/src/qsm/components/date-range-picker/calendar.d.ts +24 -0
  386. package/build/build-esm/src/qsm/components/date-range-picker/index.d.ts +10 -0
  387. package/build/build-esm/src/qsm/components/double-search-input-group/index.d.ts +8 -0
  388. package/build/build-esm/src/qsm/components/item-picker/index.d.ts +13 -0
  389. package/build/build-esm/src/qsm/components/mobile-filter-modal/index.d.ts +3 -0
  390. package/build/build-esm/src/qsm/components/search-input/index.d.ts +15 -0
  391. package/build/build-esm/src/qsm/components/search-input-group/index.d.ts +13 -0
  392. package/build/build-esm/src/qsm/components/travel-class-picker/index.d.ts +3 -0
  393. package/build/build-esm/src/qsm/components/travel-input/index.d.ts +3 -0
  394. package/build/build-esm/src/qsm/components/travel-input-group/index.d.ts +3 -0
  395. package/build/build-esm/src/qsm/components/travel-nationality-picker/index.d.ts +3 -0
  396. package/build/build-esm/src/qsm/components/travel-type-picker/index.d.ts +3 -0
  397. package/build/build-esm/src/qsm/index.d.ts +7 -0
  398. package/build/build-esm/src/qsm/qsm-configuration-context.d.ts +4 -0
  399. package/build/build-esm/src/qsm/store/qsm-slice.d.ts +74 -0
  400. package/build/build-esm/src/qsm/store/qsm-store.d.ts +10 -0
  401. package/build/build-esm/src/qsm/types.d.ts +82 -0
  402. package/build/build-esm/src/search-results/components/book-packaging-entry/index.d.ts +9 -0
  403. package/build/build-esm/src/search-results/components/book-packaging-entry/wl-sidebar.d.ts +9 -0
  404. package/build/build-esm/src/search-results/components/excursions/day-by-day-excursions.d.ts +5 -0
  405. package/build/build-esm/src/search-results/components/excursions/excursion-details.d.ts +3 -0
  406. package/build/build-esm/src/search-results/components/excursions/excursion-results.d.ts +8 -0
  407. package/build/build-esm/src/search-results/components/filters/filters.d.ts +13 -0
  408. package/build/build-esm/src/search-results/components/filters/flight-filters.d.ts +8 -0
  409. package/build/build-esm/src/search-results/components/flight/flight-banner.d.ts +8 -0
  410. package/build/build-esm/src/search-results/components/flight/flight-card.d.ts +7 -0
  411. package/build/build-esm/src/search-results/components/flight/flight-leg.d.ts +7 -0
  412. package/build/build-esm/src/search-results/components/flight/flight-path.d.ts +6 -0
  413. package/build/build-esm/src/search-results/components/flight/flight-results.d.ts +8 -0
  414. package/build/build-esm/src/search-results/components/flight/flight-search-context/index.d.ts +39 -0
  415. package/build/build-esm/src/search-results/components/flight/flight-selection/independent-flight-option.d.ts +14 -0
  416. package/build/build-esm/src/search-results/components/flight/flight-selection/independent-flight-selection.d.ts +7 -0
  417. package/build/build-esm/src/search-results/components/flight/flight-selection/index.d.ts +8 -0
  418. package/build/build-esm/src/search-results/components/flight/flight-selection/paired-flight-option.d.ts +7 -0
  419. package/build/build-esm/src/search-results/components/flight/flight-selection/paired-flight-selection.d.ts +7 -0
  420. package/build/build-esm/src/search-results/components/group-tour/group-tour-card.d.ts +9 -0
  421. package/build/build-esm/src/search-results/components/group-tour/group-tour-results.d.ts +6 -0
  422. package/build/build-esm/src/search-results/components/hotel/hotel-accommodation-results.d.ts +7 -0
  423. package/build/build-esm/src/search-results/components/hotel/hotel-card.d.ts +8 -0
  424. package/build/build-esm/src/search-results/components/item-picker/index.d.ts +15 -0
  425. package/build/build-esm/src/search-results/components/itinerary/full-itinerary.d.ts +6 -0
  426. package/build/build-esm/src/search-results/components/itinerary/index.d.ts +10 -0
  427. package/build/build-esm/src/search-results/components/multi-range-filter.d.ts +11 -0
  428. package/build/build-esm/src/search-results/components/round-trip/round-trip-results.d.ts +5 -0
  429. package/build/build-esm/src/search-results/components/search-results-container/flight-search-results.d.ts +6 -0
  430. package/build/build-esm/src/search-results/components/search-results-container/search-results-container.d.ts +6 -0
  431. package/build/build-esm/src/search-results/components/spinner/spinner.d.ts +6 -0
  432. package/build/build-esm/src/search-results/components/tab-views/index.d.ts +5 -0
  433. package/build/build-esm/src/search-results/features/flights/flight-search-results-self-contained.d.ts +5 -0
  434. package/build/build-esm/src/search-results/features/hotels/hotel-flight-search-results-self-contained.d.ts +5 -0
  435. package/build/build-esm/src/search-results/features/hotels/hotel-search-results-self-contained.d.ts +5 -0
  436. package/build/build-esm/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.d.ts +5 -0
  437. package/build/build-esm/src/search-results/index.d.ts +8 -0
  438. package/build/build-esm/src/search-results/search-results-configuration-context.d.ts +4 -0
  439. package/build/build-esm/src/search-results/store/search-results-selectors.d.ts +542 -0
  440. package/build/build-esm/src/search-results/store/search-results-slice.d.ts +57 -0
  441. package/build/build-esm/src/search-results/store/search-results-store.d.ts +10 -0
  442. package/build/build-esm/src/search-results/types.d.ts +185 -0
  443. package/build/build-esm/src/search-results/utils/flight-utils.d.ts +11 -0
  444. package/build/build-esm/src/search-results/utils/packaging-utils.d.ts +7 -0
  445. package/build/build-esm/src/search-results/utils/query-utils.d.ts +12 -0
  446. package/build/build-esm/src/search-results/utils/search-results-utils.d.ts +8 -0
  447. package/build/build-esm/src/shared/booking/booking-panel.d.ts +13 -0
  448. package/build/build-esm/src/shared/booking/product-card.d.ts +8 -0
  449. package/build/build-esm/src/shared/booking/shared-confirmation.d.ts +25 -0
  450. package/build/build-esm/src/shared/booking/shared-sidebar.d.ts +34 -0
  451. package/build/build-esm/src/shared/booking/step-indicators.d.ts +7 -0
  452. package/build/build-esm/src/shared/booking/summary.d.ts +44 -0
  453. package/build/build-esm/src/shared/booking/travelers-form.d.ts +79 -0
  454. package/build/build-esm/src/shared/components/flyin/accommodation-flyin.d.ts +7 -0
  455. package/build/build-esm/src/shared/components/flyin/flights-flyin.d.ts +7 -0
  456. package/build/build-esm/src/shared/components/flyin/flyin.d.ts +20 -0
  457. package/build/build-esm/src/shared/components/flyin/group-tour-flyin.d.ts +8 -0
  458. package/build/build-esm/src/shared/components/flyin/packaging-flights-flyin.d.ts +9 -0
  459. package/build/build-esm/src/shared/components/icon.d.ts +11 -0
  460. package/build/build-esm/src/shared/components/loader.d.ts +6 -0
  461. package/build/build-esm/src/shared/types.d.ts +16 -0
  462. package/build/build-esm/src/shared/utils/booking-summary.d.ts +2 -0
  463. package/build/build-esm/src/shared/utils/class-util.d.ts +1 -0
  464. package/build/build-esm/src/shared/utils/localization-util.d.ts +51 -0
  465. package/build/build-esm/src/shared/utils/query-string-util.d.ts +8 -0
  466. package/build/build-esm/src/shared/utils/tide-api-utils.d.ts +4 -0
  467. package/build/build-esm/src/shared/utils/use-media-query-util.d.ts +2 -0
  468. package/package.json +6 -2
  469. package/styles/abstracts/_mixins.scss +74 -74
  470. package/styles/abstracts/_variables.scss +57 -57
  471. package/styles/base/_fonts.scss +2 -2
  472. package/styles/base/_normalize.scss +227 -227
  473. package/styles/base/_typography.scss +35 -35
  474. package/styles/booking-joker-variables.scss +596 -596
  475. package/styles/booking-product-variables.scss +330 -330
  476. package/styles/booking-product.scss +438 -438
  477. package/styles/booking-qsm-variables.scss +501 -501
  478. package/styles/booking-qsm.scss +52 -52
  479. package/styles/booking-search-results-variables.scss +728 -728
  480. package/styles/booking-search-results.scss +53 -53
  481. package/styles/booking-wizard-variables.scss +603 -603
  482. package/styles/booking-wizard.scss +61 -61
  483. package/styles/components/_accordion.scss +67 -67
  484. package/styles/components/_animations.scss +39 -39
  485. package/styles/components/_base.scss +107 -107
  486. package/styles/components/_booking.scss +906 -906
  487. package/styles/components/_breadcrumb.scss +92 -92
  488. package/styles/components/_button.scss +238 -238
  489. package/styles/components/_checkbox.scss +230 -230
  490. package/styles/components/_contact.scss +255 -255
  491. package/styles/components/_content.scss +336 -336
  492. package/styles/components/_cta.scss +238 -238
  493. package/styles/components/_date-list.scss +41 -41
  494. package/styles/components/_date-range-picker.scss +223 -223
  495. package/styles/components/_decrement-increment.scss +35 -35
  496. package/styles/components/_dropdown.scss +77 -77
  497. package/styles/components/_error.scss +50 -50
  498. package/styles/components/_faq.scss +30 -30
  499. package/styles/components/_flight-option.scss +1432 -1432
  500. package/styles/components/_flyin.scss +830 -830
  501. package/styles/components/_footer.scss +135 -135
  502. package/styles/components/_form.scss +1693 -1693
  503. package/styles/components/_gallery.scss +317 -317
  504. package/styles/components/_header.scss +113 -113
  505. package/styles/components/_image-with-text.scss +206 -206
  506. package/styles/components/_img-slider.scss +175 -175
  507. package/styles/components/_info-message.scss +75 -75
  508. package/styles/components/_input.scss +35 -35
  509. package/styles/components/_list.scss +185 -185
  510. package/styles/components/_loader.scss +152 -152
  511. package/styles/components/_login.scss +140 -140
  512. package/styles/components/_map-view.scss +1100 -0
  513. package/styles/components/_mixins.scss +579 -579
  514. package/styles/components/_navbar.scss +765 -765
  515. package/styles/components/_passenger-picker.scss +306 -306
  516. package/styles/components/_phone-input.scss +8 -8
  517. package/styles/components/_placeholders.scss +165 -165
  518. package/styles/components/_pricing-summary.scss +163 -163
  519. package/styles/components/_qsm.scss +17 -17
  520. package/styles/components/_radiobutton.scss +170 -170
  521. package/styles/components/_search.scss +2089 -2089
  522. package/styles/components/_select-wrapper.scss +81 -81
  523. package/styles/components/_slider.scss +128 -128
  524. package/styles/components/_spinner.scss +29 -29
  525. package/styles/components/_step-indicators.scss +187 -187
  526. package/styles/components/_table.scss +81 -81
  527. package/styles/components/_tide-form.scss +541 -0
  528. package/styles/components/_tree.scss +648 -648
  529. package/styles/components/_typeahead.scss +275 -275
  530. package/styles/components/_variables.scss +89 -89
  531. package/styles/content-blocks-variables.scss +543 -507
  532. package/styles/content-blocks.scss +66 -65
  533. package/styles/font.scss +2 -2
  534. package/styles/qsm/_calendar.scss +274 -274
  535. package/styles/qsm/_qsm.scss +1097 -1097
  536. package/styles/search.scss +1200 -1200
  537. package/styles/tide-form-variables.scss +275 -0
  538. package/styles/tide-form.scss +56 -0
  539. package/.claude/settings.local.json +0 -11
  540. package/.husky/pre-commit +0 -22
  541. package/.nvmrc +0 -1
  542. package/.prettierignore +0 -32
  543. package/.prettierrc +0 -9
  544. package/.vs/ProjectSettings.json +0 -3
  545. package/.vs/VSWorkspaceState.json +0 -5
  546. package/.vs/slnx.sqlite +0 -0
  547. package/.vs/tide-booking-component/FileContentIndex/5099fed1-8dd7-4fc6-b744-64dad71a8a83.vsidx +0 -0
  548. package/.vs/tide-booking-component/FileContentIndex/d4b119f1-fe2e-4d31-b8af-b66c5a71cfeb.vsidx +0 -0
  549. package/.vs/tide-booking-component/FileContentIndex/f9097dbd-6c75-40d4-82b3-c6dd4aa48f0c.vsidx +0 -0
  550. package/.vs/tide-booking-component/config/applicationhost.config +0 -1021
  551. package/.vs/tide-booking-component/v17/.wsuo +0 -0
  552. package/MEMORY.md +0 -97
  553. package/NEXTSTEPS.md +0 -94
  554. package/rollup.config.js +0 -16
  555. package/src/booking-product/components/age-select.tsx +0 -35
  556. package/src/booking-product/components/amount-input.tsx +0 -51
  557. package/src/booking-product/components/date-range-picker/calendar-day.tsx +0 -46
  558. package/src/booking-product/components/date-range-picker/calendar.tsx +0 -155
  559. package/src/booking-product/components/date-range-picker/index.tsx +0 -185
  560. package/src/booking-product/components/dates.tsx +0 -153
  561. package/src/booking-product/components/footer.tsx +0 -54
  562. package/src/booking-product/components/header.tsx +0 -58
  563. package/src/booking-product/components/list-view.tsx +0 -54
  564. package/src/booking-product/components/product.tsx +0 -447
  565. package/src/booking-product/components/rating.tsx +0 -21
  566. package/src/booking-product/components/rooms.tsx +0 -192
  567. package/src/booking-product/constants.ts +0 -1
  568. package/src/booking-product/index.tsx +0 -21
  569. package/src/booking-product/settings-context.ts +0 -16
  570. package/src/booking-product/types.ts +0 -68
  571. package/src/booking-product/utils/api.ts +0 -26
  572. package/src/booking-product/utils/price.ts +0 -28
  573. package/src/booking-wizard/api-settings-slice.ts +0 -24
  574. package/src/booking-wizard/components/labeled-input.tsx +0 -56
  575. package/src/booking-wizard/components/labeled-select.tsx +0 -54
  576. package/src/booking-wizard/components/message.tsx +0 -21
  577. package/src/booking-wizard/components/multi-range-filter.tsx +0 -99
  578. package/src/booking-wizard/components/phone-input.tsx +0 -146
  579. package/src/booking-wizard/components/print-offer-button.tsx +0 -53
  580. package/src/booking-wizard/components/step-indicator.tsx +0 -36
  581. package/src/booking-wizard/components/step-route.tsx +0 -51
  582. package/src/booking-wizard/declarations.d.ts +0 -4
  583. package/src/booking-wizard/features/booking/api.ts +0 -44
  584. package/src/booking-wizard/features/booking/booking-self-contained.tsx +0 -364
  585. package/src/booking-wizard/features/booking/booking-slice.ts +0 -634
  586. package/src/booking-wizard/features/booking/booking.tsx +0 -388
  587. package/src/booking-wizard/features/booking/constants.ts +0 -16
  588. package/src/booking-wizard/features/booking/selectors.ts +0 -411
  589. package/src/booking-wizard/features/confirmation/confirmation.tsx +0 -46
  590. package/src/booking-wizard/features/error/error.tsx +0 -71
  591. package/src/booking-wizard/features/flight-options/flight-filter.tsx +0 -371
  592. package/src/booking-wizard/features/flight-options/flight-option-flight.tsx +0 -354
  593. package/src/booking-wizard/features/flight-options/flight-option-modal.tsx +0 -211
  594. package/src/booking-wizard/features/flight-options/flight-option.tsx +0 -57
  595. package/src/booking-wizard/features/flight-options/flight-utils.ts +0 -423
  596. package/src/booking-wizard/features/flight-options/index.tsx +0 -170
  597. package/src/booking-wizard/features/price-details/price-details-api.ts +0 -20
  598. package/src/booking-wizard/features/price-details/price-details-slice.ts +0 -79
  599. package/src/booking-wizard/features/price-details/selectors.ts +0 -118
  600. package/src/booking-wizard/features/price-details/util.ts +0 -115
  601. package/src/booking-wizard/features/product-options/no-options.tsx +0 -18
  602. package/src/booking-wizard/features/product-options/none-option.tsx +0 -73
  603. package/src/booking-wizard/features/product-options/option-booking-airline-group.tsx +0 -53
  604. package/src/booking-wizard/features/product-options/option-booking-group.tsx +0 -152
  605. package/src/booking-wizard/features/product-options/option-item.tsx +0 -236
  606. package/src/booking-wizard/features/product-options/option-pax-card.tsx +0 -159
  607. package/src/booking-wizard/features/product-options/option-pax-group.tsx +0 -122
  608. package/src/booking-wizard/features/product-options/option-room.tsx +0 -226
  609. package/src/booking-wizard/features/product-options/option-unit-group.tsx +0 -138
  610. package/src/booking-wizard/features/product-options/option-units-card.tsx +0 -148
  611. package/src/booking-wizard/features/product-options/options-form.tsx +0 -382
  612. package/src/booking-wizard/features/room-options/index.tsx +0 -132
  613. package/src/booking-wizard/features/room-options/room-utils.ts +0 -154
  614. package/src/booking-wizard/features/room-options/room.tsx +0 -123
  615. package/src/booking-wizard/features/room-options/traveler-rooms.tsx +0 -64
  616. package/src/booking-wizard/features/sidebar/index.tsx +0 -89
  617. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +0 -66
  618. package/src/booking-wizard/features/sidebar/sidebar-util.ts +0 -143
  619. package/src/booking-wizard/features/sidebar/sidebar.tsx +0 -349
  620. package/src/booking-wizard/features/summary/summary-booking-option-pax.tsx +0 -23
  621. package/src/booking-wizard/features/summary/summary-booking-option-unit.tsx +0 -23
  622. package/src/booking-wizard/features/summary/summary-flight.tsx +0 -36
  623. package/src/booking-wizard/features/summary/summary-per-booking-option-group.tsx +0 -60
  624. package/src/booking-wizard/features/summary/summary-per-pax-option-group.tsx +0 -56
  625. package/src/booking-wizard/features/summary/summary-per-unit-option-group.tsx +0 -58
  626. package/src/booking-wizard/features/summary/summary-slice.ts +0 -27
  627. package/src/booking-wizard/features/summary/summary.tsx +0 -578
  628. package/src/booking-wizard/features/travelers-form/controls/gender-control.tsx +0 -60
  629. package/src/booking-wizard/features/travelers-form/travelers-form-slice.ts +0 -157
  630. package/src/booking-wizard/features/travelers-form/travelers-form-util.ts +0 -10
  631. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +0 -181
  632. package/src/booking-wizard/features/travelers-form/type-ahead-input.tsx +0 -85
  633. package/src/booking-wizard/features/travelers-form/validate-form.ts +0 -178
  634. package/src/booking-wizard/index.tsx +0 -27
  635. package/src/booking-wizard/settings-context.ts +0 -64
  636. package/src/booking-wizard/store.ts +0 -26
  637. package/src/booking-wizard/types.ts +0 -350
  638. package/src/booking-wizard/use-offer-printer.ts +0 -108
  639. package/src/content/components/LanguageSwitcher.tsx +0 -158
  640. package/src/content/components/accordion.tsx +0 -30
  641. package/src/content/components/breadcrumb.tsx +0 -67
  642. package/src/content/components/contact.tsx +0 -210
  643. package/src/content/components/faq.tsx +0 -42
  644. package/src/content/components/gallery.tsx +0 -153
  645. package/src/content/components/image-with-text.tsx +0 -119
  646. package/src/content/components/login.tsx +0 -161
  647. package/src/content/components/personal-contact-form.tsx +0 -809
  648. package/src/content/components/slider.tsx +0 -237
  649. package/src/content/error/error.tsx +0 -27
  650. package/src/content/featured-trips/featured-trip-card.tsx +0 -48
  651. package/src/content/featured-trips/index.tsx +0 -19
  652. package/src/content/featured-trips/types.ts +0 -13
  653. package/src/content/features/content-page/content-page-self-contained.tsx +0 -895
  654. package/src/content/footer/index.tsx +0 -159
  655. package/src/content/footer/types.ts +0 -36
  656. package/src/content/header/index.tsx +0 -43
  657. package/src/content/header/types.ts +0 -26
  658. package/src/content/image-card-grid/index.tsx +0 -34
  659. package/src/content/image-card-grid/types.ts +0 -13
  660. package/src/content/image-with-text-section/card.tsx +0 -58
  661. package/src/content/image-with-text-section/index.tsx +0 -22
  662. package/src/content/image-with-text-section/types.ts +0 -20
  663. package/src/content/login/confirm-component.tsx +0 -149
  664. package/src/content/login/index.tsx +0 -70
  665. package/src/content/login/login-component.tsx +0 -159
  666. package/src/content/login/login-services.ts +0 -109
  667. package/src/content/login/reset-password-component.tsx +0 -191
  668. package/src/content/login/types.ts +0 -29
  669. package/src/content/navbar/index.tsx +0 -354
  670. package/src/content/navbar/placeholderData.tsx +0 -173
  671. package/src/content/navbar/types.ts +0 -43
  672. package/src/qsm/components/QSMContainer/qsm-container.tsx +0 -671
  673. package/src/qsm/components/date-picker/index.tsx +0 -152
  674. package/src/qsm/components/date-range-picker/calendar-day.tsx +0 -49
  675. package/src/qsm/components/date-range-picker/calendar.tsx +0 -211
  676. package/src/qsm/components/date-range-picker/index.tsx +0 -404
  677. package/src/qsm/components/double-search-input-group/index.tsx +0 -78
  678. package/src/qsm/components/item-picker/index.tsx +0 -65
  679. package/src/qsm/components/mobile-filter-modal/index.tsx +0 -321
  680. package/src/qsm/components/search-input/index.tsx +0 -91
  681. package/src/qsm/components/search-input-group/index.tsx +0 -209
  682. package/src/qsm/components/travel-class-picker/index.tsx +0 -28
  683. package/src/qsm/components/travel-input/index.tsx +0 -241
  684. package/src/qsm/components/travel-input-group/index.tsx +0 -114
  685. package/src/qsm/components/travel-nationality-picker/index.tsx +0 -28
  686. package/src/qsm/components/travel-type-picker/index.tsx +0 -28
  687. package/src/qsm/index.tsx +0 -26
  688. package/src/qsm/qsm-configuration-context.ts +0 -31
  689. package/src/qsm/store/qsm-slice.ts +0 -282
  690. package/src/qsm/store/qsm-store.ts +0 -13
  691. package/src/qsm/types.ts +0 -110
  692. package/src/search-results/components/book-packaging-entry/index.tsx +0 -266
  693. package/src/search-results/components/book-packaging-entry/wl-sidebar.tsx +0 -173
  694. package/src/search-results/components/excursions/day-by-day-excursions.tsx +0 -168
  695. package/src/search-results/components/excursions/excursion-details.tsx +0 -340
  696. package/src/search-results/components/excursions/excursion-results.tsx +0 -186
  697. package/src/search-results/components/filters/filters.tsx +0 -229
  698. package/src/search-results/components/filters/flight-filters.tsx +0 -671
  699. package/src/search-results/components/flight/flight-banner.tsx +0 -35
  700. package/src/search-results/components/flight/flight-card.tsx +0 -38
  701. package/src/search-results/components/flight/flight-leg.tsx +0 -61
  702. package/src/search-results/components/flight/flight-path.tsx +0 -23
  703. package/src/search-results/components/flight/flight-results.tsx +0 -208
  704. package/src/search-results/components/flight/flight-search-context/index.tsx +0 -628
  705. package/src/search-results/components/flight/flight-selection/independent-flight-option.tsx +0 -168
  706. package/src/search-results/components/flight/flight-selection/independent-flight-selection.tsx +0 -184
  707. package/src/search-results/components/flight/flight-selection/index.tsx +0 -19
  708. package/src/search-results/components/flight/flight-selection/paired-flight-option.tsx +0 -255
  709. package/src/search-results/components/flight/flight-selection/paired-flight-selection.tsx +0 -38
  710. package/src/search-results/components/group-tour/group-tour-card.tsx +0 -105
  711. package/src/search-results/components/group-tour/group-tour-results.tsx +0 -62
  712. package/src/search-results/components/hotel/hotel-accommodation-results.tsx +0 -244
  713. package/src/search-results/components/hotel/hotel-card.tsx +0 -110
  714. package/src/search-results/components/item-picker/index.tsx +0 -81
  715. package/src/search-results/components/itinerary/full-itinerary.tsx +0 -374
  716. package/src/search-results/components/itinerary/index.tsx +0 -437
  717. package/src/search-results/components/multi-range-filter.tsx +0 -104
  718. package/src/search-results/components/round-trip/round-trip-results.tsx +0 -199
  719. package/src/search-results/components/search-results-container/flight-search-results.tsx +0 -137
  720. package/src/search-results/components/search-results-container/search-results-container.tsx +0 -1764
  721. package/src/search-results/components/spinner/spinner.tsx +0 -24
  722. package/src/search-results/components/tab-views/index.tsx +0 -53
  723. package/src/search-results/features/flights/flight-search-results-self-contained.tsx +0 -294
  724. package/src/search-results/features/hotels/hotel-flight-search-results-self-contained.tsx +0 -143
  725. package/src/search-results/features/hotels/hotel-search-results-self-contained.tsx +0 -220
  726. package/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.tsx +0 -65
  727. package/src/search-results/index.tsx +0 -25
  728. package/src/search-results/store/search-results-selectors.ts +0 -84
  729. package/src/search-results/store/search-results-slice.ts +0 -351
  730. package/src/search-results/store/search-results-store.ts +0 -13
  731. package/src/search-results/types.ts +0 -266
  732. package/src/search-results/utils/flight-utils.ts +0 -98
  733. package/src/search-results/utils/packaging-utils.ts +0 -75
  734. package/src/search-results/utils/query-utils.ts +0 -153
  735. package/src/search-results/utils/search-results-utils.ts +0 -538
  736. package/src/shared/booking/booking-panel.tsx +0 -25
  737. package/src/shared/booking/product-card.tsx +0 -23
  738. package/src/shared/booking/shared-confirmation.tsx +0 -105
  739. package/src/shared/booking/shared-sidebar.tsx +0 -432
  740. package/src/shared/booking/step-indicators.tsx +0 -30
  741. package/src/shared/booking/summary.tsx +0 -382
  742. package/src/shared/booking/travelers-form.tsx +0 -874
  743. package/src/shared/components/flyin/accommodation-flyin.tsx +0 -424
  744. package/src/shared/components/flyin/flights-flyin.tsx +0 -508
  745. package/src/shared/components/flyin/flyin.tsx +0 -241
  746. package/src/shared/components/flyin/group-tour-flyin.tsx +0 -294
  747. package/src/shared/components/flyin/packaging-flights-flyin.tsx +0 -171
  748. package/src/shared/components/icon.tsx +0 -1114
  749. package/src/shared/components/loader.tsx +0 -16
  750. package/src/shared/tide-sprites.svg +0 -117
  751. package/src/shared/translations/ar-SA.json +0 -398
  752. package/src/shared/translations/da-DK.json +0 -398
  753. package/src/shared/translations/de-DE.json +0 -398
  754. package/src/shared/translations/en-GB.json +0 -402
  755. package/src/shared/translations/es-ES.json +0 -398
  756. package/src/shared/translations/fr-BE.json +0 -402
  757. package/src/shared/translations/fr-FR.json +0 -398
  758. package/src/shared/translations/is-IS.json +0 -398
  759. package/src/shared/translations/it-IT.json +0 -398
  760. package/src/shared/translations/ja-JP.json +0 -398
  761. package/src/shared/translations/nl-BE.json +0 -402
  762. package/src/shared/translations/nl-NL.json +0 -398
  763. package/src/shared/translations/no-NO.json +0 -398
  764. package/src/shared/translations/pl-PL.json +0 -398
  765. package/src/shared/translations/pt-PT.json +0 -398
  766. package/src/shared/translations/sv-SE.json +0 -398
  767. package/src/shared/types.ts +0 -31
  768. package/src/shared/utils/booking-summary.tsx +0 -57
  769. package/src/shared/utils/class-util.ts +0 -7
  770. package/src/shared/utils/localization-util.ts +0 -316
  771. package/src/shared/utils/query-string-util.ts +0 -91
  772. package/src/shared/utils/tide-api-utils.ts +0 -42
  773. package/src/shared/utils/use-media-query-util.ts +0 -19
  774. package/tsconfig.json +0 -24
package/MEMORY.md DELETED
@@ -1,97 +0,0 @@
1
- # TIDE-3053 — Expose payment URL in self-contained booking wizard
2
-
3
- ## Goal
4
-
5
- Make the Tide PSP payment flow usable from the **self-contained** booking-wizard build (`selfcontained/booking-wizard`). Until this change the wrapper had no way to opt into payment-link generation, even though the underlying React component already supported it. Also give the embedding host page a way to **see and act on** the `paymentUrl` returned by Tide instead of being force-redirected.
6
-
7
- ## Background — how the payment flow already worked in the underlying component
8
-
9
- These settings already exist on `Settings` (see [src/booking-wizard/types.ts](src/booking-wizard/types.ts)):
10
-
11
- - `generatePaymentUrl` — master switch. When true, the booking call sends `returnPaymentUrl: true` and Tide responds with a `paymentUrl` (PSP URL).
12
- - `skipPaymentWithAgent` — when an agent is selected, suppress the redirect anyway (B2B flow).
13
-
14
- The booking-request builder at [src/booking-wizard/features/booking/selectors.ts:321-325](src/booking-wizard/features/booking/selectors.ts:321) computes `returnPaymentUrl` from those two settings + the selected agent. The summary page at [src/booking-wizard/features/summary/summary.tsx](src/booking-wizard/features/summary/summary.tsx) then submits the booking, gets a `paymentUrl` back, and (previously) auto-redirected to it.
15
-
16
- The self-contained wrapper at [selfcontained/booking-wizard/index.tsx](selfcontained/booking-wizard/index.tsx) reads HTML attributes off the inner `<div>` and builds a `Settings` object — but it never read any payment-related attributes, so `generatePaymentUrl` defaulted to `false` and the whole chain was inert.
17
-
18
- ## Changes in this branch
19
-
20
- ### 1. `selfcontained/booking-wizard/index.tsx`
21
-
22
- Read three new HTML attributes from the settings element and pass them through to the `Settings` context:
23
-
24
- | Attribute | Type | Meaning |
25
- | ---------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
26
- | `generatePaymentUrl` | presence-based boolean | Enables PSP payment-link generation |
27
- | `skipPaymentWithAgent` | presence-based boolean | Skips the payment redirect when an agent is selected |
28
- | `paymentRedirectUrl` | string | URL Tide passes to the PSP as the "return after payment" URL. If omitted, falls back to the previous default (built from `basePath` + booking query string). |
29
-
30
- ### 2. `src/booking-wizard/types.ts`
31
-
32
- Added `paymentRedirectUrl?: string` to `Settings`.
33
-
34
- ### 3. `src/booking-wizard/features/summary/summary.tsx`
35
-
36
- Two behavior changes (apply to both the routed and self-contained wizard builds):
37
-
38
- a. **Configurable PSP return URL.** When `settings.paymentRedirectUrl` is set, it is used verbatim as `bookRequest.payload.redirectUrl`. Otherwise the previous `${protocol}//${host}${basePath}?${bookingQueryString}` construction is used. This lets the host pass a URL that includes a `{bookingNr}` placeholder for Tide to substitute server-side (see "Open question" below).
39
-
40
- b. **`paymentUrl` is exposed via a `CustomEvent`.** When the booking response contains a `paymentUrl`, a cancelable `CustomEvent` named `tide-booking-payment-url` is dispatched on the `#tide-booking` element (or `window` as fallback) before the auto-redirect. Detail payload:
41
-
42
- ```ts
43
- {
44
- paymentUrl: string;
45
- bookingNumber: string;
46
- }
47
- ```
48
-
49
- The event bubbles and is cancelable. If a listener calls `e.preventDefault()`, the component will **not** auto-redirect to `paymentUrl` — the host page is then responsible for whatever happens next (open in new tab, modal, custom redirect, etc.). When nothing listens (or the listener doesn't `preventDefault`), the existing behavior is preserved: `window.location.href = paymentUrl`.
50
-
51
- ## How a host page consumes this
52
-
53
- ```html
54
- <div id="tide-booking">
55
- <div
56
- officeId="1"
57
- apiUrl="..."
58
- apiKey="..."
59
- productCode="..."
60
- generatePaymentUrl
61
- paymentRedirectUrl="https://example.com/confirmation?bookingNr={bookingNr}"></div>
62
- </div>
63
-
64
- <script src="dist/bundle.js"></script>
65
- <script>
66
- document.getElementById('tide-booking').addEventListener('tide-booking-payment-url', (e) => {
67
- console.log(e.detail.paymentUrl, e.detail.bookingNumber);
68
- // Option A: do nothing → component auto-redirects to e.detail.paymentUrl
69
- // Option B: e.preventDefault(); window.open(e.detail.paymentUrl, '_blank'); etc.
70
- });
71
- </script>
72
- ```
73
-
74
- ## Open question to confirm with the Tide backend team
75
-
76
- The user-confirmed behavior is: **Tide's API uses the `redirectUrl` string verbatim — it does not append `bookingNr` automatically.** In the Sitecore integration, a `{bookingNr}` (or similar) placeholder is included in the `redirectUrl` and Tide substitutes the actual booking number server-side before handing the URL to the PSP.
77
-
78
- We need confirmation of:
79
-
80
- 1. The exact placeholder syntax Tide's API supports (`{bookingNr}`? `{{bookingNr}}`? something else?).
81
- 2. Whether other tokens are supported (e.g. `{officeId}`, `{transactionId}`).
82
-
83
- The wizard already handles the return: [booking-self-contained.tsx:132](src/booking-wizard/features/booking/booking-self-contained.tsx:132) reads `bookingNr` from the URL on load and jumps to the confirmation step. So once the placeholder syntax is confirmed and the host page sends e.g. `?bookingNr={bookingNr}`, the resume flow should work end-to-end.
84
-
85
- ## Not done in this PR (deliberately)
86
-
87
- - **No UI changes.** The summary spinner / "Redirecting to payment provider…" label is unchanged. There is no UI for the host to "review the URL" before redirecting — that's expected to be host-side.
88
- - **No end-to-end test against a real PSP-configured Tide office.** Needs verification.
89
- - **Search-results booking flow is untouched.** [src/search-results/components/book-packaging-entry/index.tsx:184](src/search-results/components/book-packaging-entry/index.tsx:184) still does an unconditional `window.location.href = paymentUrl`. If consistent behavior across both booking surfaces is desired, the same `CustomEvent` should be added there (it already has its own `generatePaymentUrl` flag on a separate context type).
90
- - **Type declaration for the custom event.** Consumers using TypeScript will currently see `e.detail` as `any` because the event isn't declared in a `WindowEventMap` augmentation. Consider adding a `.d.ts` if the host site is in TS.
91
-
92
- ## Files touched
93
-
94
- - `selfcontained/booking-wizard/index.tsx`
95
- - `src/booking-wizard/types.ts`
96
- - `src/booking-wizard/features/summary/summary.tsx`
97
- - `MEMORY.md` (this file)
package/NEXTSTEPS.md DELETED
@@ -1,94 +0,0 @@
1
- # NEXTSTEPS — TIDESUPP-75 / Booking-product & wizard rework
2
-
3
- > **Delete this file when the items below are resolved.** It is a scratch handoff doc, not permanent repo documentation.
4
-
5
- Code work is complete and committed across this branch (`feature/product-component-some-rework-other-service-types`). The items below are what a human needs to do before this merges to master.
6
-
7
- ---
8
-
9
- ## 1. Install lint-staged (one command, blocks commits if skipped)
10
-
11
- The new pre-commit hook in `.husky/pre-commit` calls `npx lint-staged`, but the package isn't yet a dependency. Pin to v15 because v16+ requires Node 20.12+ and our `.nvmrc` is 20.10.
12
-
13
- ```bash
14
- npm install --save-dev lint-staged@^15
15
- ```
16
-
17
- Verify by making a small commit. Expected behavior: prettier runs only on the files you changed, working tree stays clean afterwards. If it goes haywire, revert `.husky/pre-commit` and the `lint-staged` block in `package.json` from git history.
18
-
19
- ## 2. End-to-end test against a real Tide office
20
-
21
- The booking-product changes (`disableRooms`, `mainIcon`, `customTranslationsUrl`) haven't been tested against the actual Tide booking API for a non-package product (course, rental, excursion). Steps:
22
-
23
- 1. Pick a Tide office configured with a non-accommodation product.
24
- 2. Configure the self-contained build in a host page (or use `selfcontained/booking-product/index.html` directly with the right API key).
25
- 3. Set `disableRooms`, an appropriate `mainIcon` (e.g. `ui-excursion`), and `customTranslationsUrl` pointing at a customer-rebranded JSON file.
26
- 4. Confirm:
27
- - Booking submits successfully end-to-end
28
- - The price reflects pax count correctly even with the room scaffolding hidden
29
- - All translation overrides are visible in the rendered UI (no flash of default copy)
30
-
31
- Same exercise for the booking-wizard with `customTranslationsUrl`.
32
-
33
- ## 3. Visual QA across the affected screens
34
-
35
- Click through every page in the playground (`/`, `/boeken`, `/product`, search-results pages) and confirm nothing layout-broke from the `Rooms` component changes. Particularly:
36
-
37
- - The `disableRooms` path on the product page: adults/children inputs still aligned, age-of-children selector still appears when children > 0.
38
- - The wizard summary and sidebar still render correctly with the `SHARED.ROOM / ROOMS` translation overrides in effect.
39
-
40
- ## 4. Translation file completeness
41
-
42
- The example files at `playground/public/translations/{en-GB,nl-BE}.json` and `selfcontained/booking-product/translations/en-GB.json` only override 5–6 keys (the ones relevant for the demo). If the first real customer wants a fuller rebrand, they'll need a more complete override. Worth pre-emptively documenting the full set of overrideable keys for them — start from `src/shared/translations/en-GB.json`.
43
-
44
- ## 5. Confirm `{bookingNr}` placeholder behaviour with Tide backend (TIDE-3053 follow-up)
45
-
46
- Not strictly part of this ticket, but the booking-wizard payment URL work from the previous branch is gated on this answer:
47
-
48
- > Does Tide's booking API substitute a `{bookingNr}` token (or similar) in the `redirectUrl` we send, or does it pass the URL through verbatim?
49
-
50
- If the answer is "verbatim", the wizard's existing `bookingNr`-on-return resume logic won't work for PSP-driven flows and we need a different design.
51
-
52
- ## 6. Optional: extend the same `customTranslationsUrl` pattern to search-results
53
-
54
- Search-results' booking entry (`src/search-results/components/book-packaging-entry/index.tsx`) has its own `generatePaymentUrl` and unconditional `window.location.href = paymentUrl`. For consistency it could get the same `tide-booking-payment-url` CustomEvent treatment as the wizard. Small follow-up, not blocking.
55
-
56
- ## 7. Items deliberately not done (carry-over for later)
57
-
58
- - **Vite migration off CRA**: discussed and explicitly deferred. Tracked separately.
59
- - **Icon component refactor**: the 1114-line switch statement is hard to extend. Quickest fix is to enable the existing `icons` sprite escape hatch (Icon component already supports it, line 16 just needs to read from settings context). ~15 min job.
60
- - **TypeScript declaration for `tide-booking-payment-url` event**: consumers see `e.detail` as `any`. A `.d.ts` augmenting `WindowEventMap` would fix it.
61
- - **Deep merge in `selectTranslations`**: currently a 2-level shallow merge. Sufficient for today's translation file shapes but breaks if anyone adds 3-level nesting.
62
-
63
- ---
64
-
65
- ## File index for the reviewer
66
-
67
- ### TIDESUPP-75 booking-product (already committed)
68
-
69
- - `selfcontained/booking-product/index.tsx`
70
- - `src/booking-product/components/product.tsx` (fetch + render gate)
71
- - `src/booking-product/components/rooms.tsx` (`disableRooms` branch)
72
- - `src/booking-product/components/header.tsx` (`mainIcon`)
73
- - `src/booking-product/components/{age-select,amount-input,dates,footer,list-view}.tsx` (one-line each)
74
- - `src/booking-product/types.ts`
75
- - `src/shared/utils/localization-util.ts` (`getTranslations` overload)
76
- - `playground/public/translations/en-GB.json` + `nl-BE.json`
77
- - `selfcontained/booking-product/translations/en-GB.json`
78
- - `playground/src/components/product-page.tsx`
79
-
80
- ### Booking-wizard `customTranslationsUrl` (already committed)
81
-
82
- - `src/booking-wizard/types.ts`
83
- - `src/booking-wizard/features/booking/booking-self-contained.tsx`
84
- - `src/booking-wizard/features/booking/booking.tsx`
85
- - `selfcontained/booking-wizard/index.tsx`
86
- - `playground/src/components/booking-page.tsx`
87
-
88
- ### Tooling (already committed)
89
-
90
- - `README.md`, `playground/README.md` (--legacy-peer-deps note)
91
- - `.prettierignore`
92
- - `package.json` (lint-staged config block + evaluation comment)
93
- - `.husky/pre-commit` (replaced with `npx lint-staged`)
94
- - `.gitignore` (added `.claude/`)
package/rollup.config.js DELETED
@@ -1,16 +0,0 @@
1
- import commonjs from '@rollup/plugin-commonjs';
2
- import del from 'rollup-plugin-delete';
3
- import json from '@rollup/plugin-json';
4
- import nodeResolve from '@rollup/plugin-node-resolve';
5
- import packageJson from './package.json';
6
- import peerDepsExternal from 'rollup-plugin-peer-deps-external';
7
- import typescript from 'rollup-plugin-typescript2';
8
-
9
- export default {
10
- input: 'src/index.ts',
11
- output: [
12
- { file: packageJson.main, format: 'cjs', banner: '/* eslint-disable */', inlineDynamicImports: true },
13
- { file: packageJson.module, format: 'esm', banner: '/* eslint-disable */', inlineDynamicImports: true }
14
- ],
15
- plugins: [peerDepsExternal(), json(), nodeResolve(), commonjs(), typescript(), del({ targets: ['build/*'] })]
16
- };
@@ -1,35 +0,0 @@
1
- import { range } from 'lodash';
2
- import React, { useContext } from 'react';
3
- import { getTranslations } from '../../shared/utils/localization-util';
4
- import SettingsContext from '../settings-context';
5
-
6
- interface AgeSelectProps {
7
- value?: number;
8
- disabled?: boolean;
9
- onChange?: (value: number) => void;
10
- }
11
-
12
- const AgeSelect: React.FC<AgeSelectProps> = ({ value, disabled, onChange }) => {
13
- const { language, customTranslations } = useContext(SettingsContext);
14
- const translations = getTranslations(language, customTranslations);
15
-
16
- const handleChange: React.ChangeEventHandler<HTMLSelectElement> = (event) => {
17
- if (onChange) {
18
- onChange(event.target.selectedIndex);
19
- }
20
- };
21
-
22
- return (
23
- <div className="dropdown dropdown--small">
24
- <select onChange={handleChange} value={value ?? 0} disabled={disabled}>
25
- {range(0, 18).map((age) => (
26
- <option key={age} value={age}>
27
- {age} {translations.PRODUCT.YEAR}
28
- </option>
29
- ))}
30
- </select>
31
- </div>
32
- );
33
- };
34
-
35
- export default AgeSelect;
@@ -1,51 +0,0 @@
1
- import React, { useContext } from 'react';
2
- import { getTranslations } from '../../shared/utils/localization-util';
3
- import SettingsContext from '../settings-context';
4
- import { buildClassName } from '../../shared/utils/class-util';
5
- import Icon from '../../shared/components/icon';
6
-
7
- interface AmountInputProps {
8
- label: string;
9
- value: number;
10
- disabled?: boolean;
11
- min?: number;
12
- onChange?: (value: number) => void;
13
- }
14
-
15
- const AmountInput: React.FC<AmountInputProps> = ({ label, value, disabled, min, onChange }) => {
16
- const { language, customTranslations } = useContext(SettingsContext);
17
- const translations = getTranslations(language, customTranslations);
18
-
19
- const handleIncreaseClick: React.MouseEventHandler<HTMLButtonElement> = (event) => {
20
- if (onChange) {
21
- onChange(value + 1);
22
- }
23
- };
24
-
25
- const handleDecreaseClick: React.MouseEventHandler<HTMLButtonElement> = (event) => {
26
- if (onChange) {
27
- onChange(Math.max(value - 1, min ?? 0));
28
- }
29
- };
30
-
31
- return (
32
- <div className={buildClassName(['decrement-increment', disabled && 'decrement-increment--disabled'])}>
33
- <label className="decrement-increment__label">{label}</label>
34
- <div className="decrement-increment__ui">
35
- {!disabled && (
36
- <button type="button" className="button button--decrement" title={translations.INPUT.DECREASE} disabled={disabled} onClick={handleDecreaseClick}>
37
- <Icon name="ui-min" />
38
- </button>
39
- )}
40
- <span>{value}</span>
41
- {!disabled && (
42
- <button type="button" className="button button--increment" title={translations.INPUT.INCREASE} disabled={disabled} onClick={handleIncreaseClick}>
43
- <Icon name="ui-plus" />
44
- </button>
45
- )}
46
- </div>
47
- </div>
48
- );
49
- };
50
-
51
- export default AmountInput;
@@ -1,46 +0,0 @@
1
- import React from 'react';
2
- import { getDate, isToday } from 'date-fns';
3
- import { buildClassName } from '../../../shared/utils/class-util';
4
-
5
- interface CalendarDayProps {
6
- day: Date;
7
- isSelected: boolean;
8
- isDisabled: boolean;
9
- isOutsideMonth: boolean;
10
- extraClassNames?: string[];
11
- onClick: (date: Date) => void;
12
- onMouseOver: (date: Date) => void;
13
- children?: any;
14
- }
15
-
16
- const CalendarDay: React.FC<CalendarDayProps> = ({ day, isSelected, isDisabled, isOutsideMonth, extraClassNames = [], children, onClick, onMouseOver }) => {
17
- const handleClick = () => {
18
- if (onClick && !isDisabled) {
19
- onClick(day);
20
- }
21
- };
22
-
23
- const handleMouseOver = () => {
24
- if (onMouseOver) {
25
- onMouseOver(day);
26
- }
27
- };
28
-
29
- const classNames = buildClassName([
30
- 'calendar__day',
31
- isToday(day) && 'calendar__day--today',
32
- isDisabled && 'calendar__day--disabled',
33
- isOutsideMonth && 'calendar__day--outside-month',
34
- isSelected && 'calendar__day--selected',
35
- ...extraClassNames
36
- ]);
37
-
38
- return (
39
- <div className={classNames} onClick={handleClick} onMouseOver={handleMouseOver}>
40
- {getDate(day).toString().padStart(2, '0')}
41
- {children}
42
- </div>
43
- );
44
- };
45
-
46
- export default CalendarDay;
@@ -1,155 +0,0 @@
1
- import {
2
- addWeeks,
3
- eachDayOfInterval,
4
- endOfMonth,
5
- endOfWeek,
6
- format,
7
- getISODay,
8
- getISOWeek,
9
- getMonth,
10
- getYear,
11
- isSameMonth,
12
- startOfMonth,
13
- startOfWeek
14
- } from 'date-fns';
15
- import { chunk, isFunction, range } from 'lodash';
16
- import React, { useContext } from 'react';
17
- import { buildClassName } from '../../../shared/utils/class-util';
18
- import { getLocale } from '../../../shared/utils/localization-util';
19
- import SettingsContext from '../../settings-context';
20
- import CalendarDay from './calendar-day';
21
- import Icon from '../../../shared/components/icon';
22
-
23
- interface CalendarProps {
24
- year?: number;
25
- month?: number;
26
- hasPreviousButton?: boolean;
27
- hasNextButton?: boolean;
28
- hasFixedHeight?: boolean;
29
- weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
30
- disabledDaysFunction?: (date: Date) => boolean;
31
- selectedDaysFunction?: (date: Date) => boolean;
32
- extraClassNamesFunction?: (date: Date) => string[];
33
- dayContentFunction?: (date: Date) => JSX.Element | null | undefined;
34
- onDayClick?: (date: Date) => void;
35
- onDayMouseOver?: (date: Date) => void;
36
- onNextClick?: (year: number, month: number) => void;
37
- onPreviousClick?: (year: number, month: number) => void;
38
- }
39
-
40
- const Calendar: React.FC<CalendarProps> = ({
41
- year = getYear(new Date()),
42
- month = getMonth(new Date()),
43
- hasPreviousButton = true,
44
- hasNextButton = true,
45
- hasFixedHeight = true,
46
- weekStartsOn = 1,
47
- disabledDaysFunction,
48
- selectedDaysFunction,
49
- extraClassNamesFunction,
50
- dayContentFunction,
51
- onDayClick,
52
- onDayMouseOver,
53
- onNextClick,
54
- onPreviousClick
55
- }) => {
56
- const { language } = useContext(SettingsContext);
57
-
58
- const locale = getLocale(language);
59
- const handleDayClick = (day: Date) => {
60
- if (onDayClick) {
61
- onDayClick(day);
62
- }
63
- };
64
-
65
- const handleDayMouseOver = (day: Date) => {
66
- if (onDayMouseOver) {
67
- onDayMouseOver(day);
68
- }
69
- };
70
-
71
- const handleNextClick = () => {
72
- const nextMonth = (month + 1) % 12;
73
- const nextMonthsYear = nextMonth < month ? year + 1 : year;
74
-
75
- if (onNextClick) {
76
- onNextClick(nextMonthsYear, nextMonth);
77
- }
78
- };
79
-
80
- const handlePreviousClick = () => {
81
- const previousMonth = (month - 1) % 12;
82
- const previousMonthsYear = previousMonth > month ? year - 1 : year;
83
-
84
- if (onPreviousClick) {
85
- onPreviousClick(previousMonthsYear, previousMonth);
86
- }
87
- };
88
-
89
- const focusDate = new Date(year, month);
90
- const firstDay = startOfWeek(startOfMonth(focusDate), { weekStartsOn });
91
- const lastDay = hasFixedHeight ? endOfWeek(addWeeks(firstDay, 5), { weekStartsOn }) : endOfWeek(endOfMonth(focusDate), { weekStartsOn });
92
- const calendarDays = eachDayOfInterval({ start: firstDay, end: lastDay });
93
-
94
- const mapDay = (day: Date) => {
95
- const isoDay = getISODay(day);
96
- const isDisabled = isFunction(disabledDaysFunction) && disabledDaysFunction(day);
97
- const isSelected = isFunction(selectedDaysFunction) && selectedDaysFunction(day);
98
- const isOutsideMonth = !isSameMonth(day, focusDate);
99
- const extraClassNames = isFunction(extraClassNamesFunction) ? extraClassNamesFunction(day) : undefined;
100
-
101
- return (
102
- <CalendarDay
103
- key={`day_${isoDay}`}
104
- day={day}
105
- isSelected={isSelected}
106
- isDisabled={isDisabled}
107
- isOutsideMonth={isOutsideMonth}
108
- extraClassNames={extraClassNames}
109
- onClick={handleDayClick}
110
- onMouseOver={handleDayMouseOver}>
111
- {isFunction(dayContentFunction) ? dayContentFunction(day) : undefined}
112
- </CalendarDay>
113
- );
114
- };
115
-
116
- const mapWeek = (weekDays: Date[]) => {
117
- if (weekDays.length === 0) {
118
- return null;
119
- }
120
-
121
- const isoWeek = getISOWeek(weekDays[0]);
122
-
123
- return (
124
- <div className="calendar__week" key={`week_${isoWeek}`}>
125
- {weekDays.map(mapDay)}
126
- </div>
127
- );
128
- };
129
-
130
- return (
131
- <div className="calendar">
132
- <div className="calendar__header">
133
- <div className="calendar__pager">
134
- <div className={buildClassName(['calendar__previous', !hasPreviousButton && 'calendar__previous--disabled'])} onClick={handlePreviousClick}>
135
- <Icon name="ui-chevron" />
136
- </div>
137
- <div className="calendar__current-month">{format(focusDate, 'MMMM yyyy', { locale })}</div>
138
- <div className={buildClassName(['calendar__next', !hasNextButton && 'calendar__next--disabled'])} onClick={handleNextClick}>
139
- <Icon name="ui-chevron" />
140
- </div>
141
- </div>
142
- <div className="calendar__day-labels">
143
- {range(0, 7).map((i) => (
144
- <div className="calendar__day-label" key={`day_${i}`}>
145
- {format(calendarDays[i], 'EEEEEE', { locale: locale })}
146
- </div>
147
- ))}
148
- </div>
149
- </div>
150
- <div className="calendar__body">{chunk(calendarDays, 7).map(mapWeek)}</div>
151
- </div>
152
- );
153
- };
154
-
155
- export default Calendar;