@qite/tide-booking-component 1.3.2 → 1.3.3

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 (305) hide show
  1. package/.vs/ProjectSettings.json +3 -3
  2. package/.vs/VSWorkspaceState.json +5 -5
  3. package/README.md +8 -8
  4. package/build/build-cjs/booking-product/components/age-select.d.ts +8 -8
  5. package/build/build-cjs/booking-product/components/amount-input.d.ts +10 -10
  6. package/build/build-cjs/booking-product/components/date-range-picker/calendar-day.d.ts +12 -12
  7. package/build/build-cjs/booking-product/components/date-range-picker/calendar.d.ts +19 -19
  8. package/build/build-cjs/booking-product/components/date-range-picker/index.d.ts +20 -23
  9. package/build/build-cjs/booking-product/components/dates.d.ts +9 -9
  10. package/build/build-cjs/booking-product/components/footer.d.ts +10 -10
  11. package/build/build-cjs/booking-product/components/header.d.ts +11 -11
  12. package/build/build-cjs/booking-product/components/icon.d.ts +10 -10
  13. package/build/build-cjs/booking-product/components/product.d.ts +9 -9
  14. package/build/build-cjs/booking-product/components/rating.d.ts +6 -6
  15. package/build/build-cjs/booking-product/components/rooms.d.ts +10 -10
  16. package/build/build-cjs/booking-product/index.d.ts +10 -10
  17. package/build/build-cjs/booking-product/settings-context.d.ts +5 -6
  18. package/build/build-cjs/booking-product/types.d.ts +25 -25
  19. package/build/build-cjs/booking-product/utils/api.d.ts +16 -6
  20. package/build/build-cjs/booking-product/utils/price.d.ts +9 -1
  21. package/build/build-cjs/booking-wizard/api-settings-slice.d.ts +14 -4
  22. package/build/build-cjs/booking-wizard/components/icon.d.ts +10 -10
  23. package/build/build-cjs/booking-wizard/components/labeled-input.d.ts +18 -18
  24. package/build/build-cjs/booking-wizard/components/labeled-select.d.ts +21 -21
  25. package/build/build-cjs/booking-wizard/components/message.d.ts +9 -9
  26. package/build/build-cjs/booking-wizard/components/multi-range-filter.d.ts +11 -11
  27. package/build/build-cjs/booking-wizard/components/print-offer-button.d.ts +17 -17
  28. package/build/build-cjs/booking-wizard/components/product-card.d.ts +8 -8
  29. package/build/build-cjs/booking-wizard/components/step-indicator.d.ts +6 -6
  30. package/build/build-cjs/booking-wizard/components/step-route.d.ts +9 -9
  31. package/build/build-cjs/booking-wizard/features/booking/api.d.ts +29 -10
  32. package/build/build-cjs/booking-wizard/features/booking/booking-self-contained.d.ts +8 -8
  33. package/build/build-cjs/booking-wizard/features/booking/booking-slice.d.ts +177 -46
  34. package/build/build-cjs/booking-wizard/features/booking/booking.d.ts +8 -8
  35. package/build/build-cjs/booking-wizard/features/booking/constants.d.ts +15 -8
  36. package/build/build-cjs/booking-wizard/features/booking/selectors.d.ts +308 -136
  37. package/build/build-cjs/booking-wizard/features/confirmation/confirmation.d.ts +4 -5
  38. package/build/build-cjs/booking-wizard/features/error/error.d.ts +4 -5
  39. package/build/build-cjs/booking-wizard/features/flight-options/flight-filter.d.ts +9 -9
  40. package/build/build-cjs/booking-wizard/features/flight-options/flight-option-flight.d.ts +8 -8
  41. package/build/build-cjs/booking-wizard/features/flight-options/flight-option-modal.d.ts +3 -3
  42. package/build/build-cjs/booking-wizard/features/flight-options/flight-option.d.ts +10 -10
  43. package/build/build-cjs/booking-wizard/features/flight-options/flight-utils.d.ts +16 -6
  44. package/build/build-cjs/booking-wizard/features/flight-options/index.d.ts +4 -5
  45. package/build/build-cjs/booking-wizard/features/price-details/price-details-api.d.ts +15 -6
  46. package/build/build-cjs/booking-wizard/features/price-details/price-details-slice.d.ts +121 -80
  47. package/build/build-cjs/booking-wizard/features/price-details/util.d.ts +5 -2
  48. package/build/build-cjs/booking-wizard/features/product-options/no-options.d.ts +3 -3
  49. package/build/build-cjs/booking-wizard/features/product-options/none-option.d.ts +17 -9
  50. package/build/build-cjs/booking-wizard/features/product-options/option-booking-airline-group.d.ts +17 -8
  51. package/build/build-cjs/booking-wizard/features/product-options/option-booking-group.d.ts +18 -12
  52. package/build/build-cjs/booking-wizard/features/product-options/option-item.d.ts +11 -11
  53. package/build/build-cjs/booking-wizard/features/product-options/option-pax-card.d.ts +13 -10
  54. package/build/build-cjs/booking-wizard/features/product-options/option-pax-group.d.ts +20 -13
  55. package/build/build-cjs/booking-wizard/features/product-options/option-room.d.ts +18 -10
  56. package/build/build-cjs/booking-wizard/features/product-options/option-unit-group.d.ts +20 -13
  57. package/build/build-cjs/booking-wizard/features/product-options/option-units-card.d.ts +9 -9
  58. package/build/build-cjs/booking-wizard/features/product-options/options-form.d.ts +4 -5
  59. package/build/build-cjs/booking-wizard/features/room-options/index.d.ts +4 -5
  60. package/build/build-cjs/booking-wizard/features/room-options/room-utils.d.ts +29 -9
  61. package/build/build-cjs/booking-wizard/features/room-options/room.d.ts +15 -12
  62. package/build/build-cjs/booking-wizard/features/room-options/traveler-rooms.d.ts +13 -9
  63. package/build/build-cjs/booking-wizard/features/sidebar/index.d.ts +7 -7
  64. package/build/build-cjs/booking-wizard/features/sidebar/sidebar-flight.d.ts +8 -8
  65. package/build/build-cjs/booking-wizard/features/sidebar/sidebar-util.d.ts +31 -12
  66. package/build/build-cjs/booking-wizard/features/sidebar/sidebar.d.ts +29 -25
  67. package/build/build-cjs/booking-wizard/features/summary/summary-booking-option-pax.d.ts +7 -7
  68. package/build/build-cjs/booking-wizard/features/summary/summary-booking-option-unit.d.ts +7 -7
  69. package/build/build-cjs/booking-wizard/features/summary/summary-flight.d.ts +8 -8
  70. package/build/build-cjs/booking-wizard/features/summary/summary-per-booking-option-group.d.ts +10 -7
  71. package/build/build-cjs/booking-wizard/features/summary/summary-per-pax-option-group.d.ts +10 -7
  72. package/build/build-cjs/booking-wizard/features/summary/summary-per-unit-option-group.d.ts +10 -7
  73. package/build/build-cjs/booking-wizard/features/summary/summary-slice.d.ts +14 -8
  74. package/build/build-cjs/booking-wizard/features/summary/summary.d.ts +4 -5
  75. package/build/build-cjs/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +75 -49
  76. package/build/build-cjs/booking-wizard/features/travelers-form/travelers-form.d.ts +4 -5
  77. package/build/build-cjs/booking-wizard/features/travelers-form/type-ahead-input.d.ts +16 -16
  78. package/build/build-cjs/booking-wizard/features/travelers-form/validate-form.d.ts +9 -4
  79. package/build/build-cjs/booking-wizard/index.d.ts +12 -12
  80. package/build/build-cjs/booking-wizard/settings-context.d.ts +5 -6
  81. package/build/build-cjs/booking-wizard/store.d.ts +44 -24
  82. package/build/build-cjs/booking-wizard/types.d.ts +253 -257
  83. package/build/build-cjs/booking-wizard/use-offer-printer.d.ts +19 -13
  84. package/build/build-cjs/index.d.ts +3 -3
  85. package/build/build-cjs/index.js +16332 -7414
  86. package/build/build-cjs/shared/components/loader.d.ts +6 -6
  87. package/build/build-cjs/shared/types.d.ts +4 -4
  88. package/build/build-cjs/shared/utils/class-util.d.ts +1 -1
  89. package/build/build-cjs/shared/utils/localization-util.d.ts +248 -248
  90. package/build/build-cjs/shared/utils/query-string-util.d.ts +29 -8
  91. package/build/build-cjs/shared/utils/tide-api-utils.d.ts +6 -4
  92. package/build/build-esm/booking-product/components/age-select.d.ts +8 -8
  93. package/build/build-esm/booking-product/components/amount-input.d.ts +10 -10
  94. package/build/build-esm/booking-product/components/date-range-picker/calendar-day.d.ts +12 -12
  95. package/build/build-esm/booking-product/components/date-range-picker/calendar.d.ts +19 -19
  96. package/build/build-esm/booking-product/components/date-range-picker/index.d.ts +20 -23
  97. package/build/build-esm/booking-product/components/dates.d.ts +9 -9
  98. package/build/build-esm/booking-product/components/footer.d.ts +10 -10
  99. package/build/build-esm/booking-product/components/header.d.ts +11 -11
  100. package/build/build-esm/booking-product/components/icon.d.ts +10 -10
  101. package/build/build-esm/booking-product/components/product.d.ts +9 -9
  102. package/build/build-esm/booking-product/components/rating.d.ts +6 -6
  103. package/build/build-esm/booking-product/components/rooms.d.ts +10 -10
  104. package/build/build-esm/booking-product/index.d.ts +10 -10
  105. package/build/build-esm/booking-product/settings-context.d.ts +5 -6
  106. package/build/build-esm/booking-product/types.d.ts +25 -25
  107. package/build/build-esm/booking-product/utils/api.d.ts +16 -6
  108. package/build/build-esm/booking-product/utils/price.d.ts +9 -1
  109. package/build/build-esm/booking-wizard/api-settings-slice.d.ts +14 -4
  110. package/build/build-esm/booking-wizard/components/icon.d.ts +10 -10
  111. package/build/build-esm/booking-wizard/components/labeled-input.d.ts +18 -18
  112. package/build/build-esm/booking-wizard/components/labeled-select.d.ts +21 -21
  113. package/build/build-esm/booking-wizard/components/message.d.ts +9 -9
  114. package/build/build-esm/booking-wizard/components/multi-range-filter.d.ts +11 -11
  115. package/build/build-esm/booking-wizard/components/print-offer-button.d.ts +17 -17
  116. package/build/build-esm/booking-wizard/components/product-card.d.ts +8 -8
  117. package/build/build-esm/booking-wizard/components/step-indicator.d.ts +6 -6
  118. package/build/build-esm/booking-wizard/components/step-route.d.ts +9 -9
  119. package/build/build-esm/booking-wizard/features/booking/api.d.ts +29 -10
  120. package/build/build-esm/booking-wizard/features/booking/booking-self-contained.d.ts +8 -8
  121. package/build/build-esm/booking-wizard/features/booking/booking-slice.d.ts +177 -46
  122. package/build/build-esm/booking-wizard/features/booking/booking.d.ts +8 -8
  123. package/build/build-esm/booking-wizard/features/booking/constants.d.ts +15 -8
  124. package/build/build-esm/booking-wizard/features/booking/selectors.d.ts +308 -136
  125. package/build/build-esm/booking-wizard/features/confirmation/confirmation.d.ts +4 -5
  126. package/build/build-esm/booking-wizard/features/error/error.d.ts +4 -5
  127. package/build/build-esm/booking-wizard/features/flight-options/flight-filter.d.ts +9 -9
  128. package/build/build-esm/booking-wizard/features/flight-options/flight-option-flight.d.ts +8 -8
  129. package/build/build-esm/booking-wizard/features/flight-options/flight-option-modal.d.ts +3 -3
  130. package/build/build-esm/booking-wizard/features/flight-options/flight-option.d.ts +10 -10
  131. package/build/build-esm/booking-wizard/features/flight-options/flight-utils.d.ts +16 -6
  132. package/build/build-esm/booking-wizard/features/flight-options/index.d.ts +4 -5
  133. package/build/build-esm/booking-wizard/features/price-details/price-details-api.d.ts +15 -6
  134. package/build/build-esm/booking-wizard/features/price-details/price-details-slice.d.ts +121 -80
  135. package/build/build-esm/booking-wizard/features/price-details/util.d.ts +5 -2
  136. package/build/build-esm/booking-wizard/features/product-options/no-options.d.ts +3 -3
  137. package/build/build-esm/booking-wizard/features/product-options/none-option.d.ts +17 -9
  138. package/build/build-esm/booking-wizard/features/product-options/option-booking-airline-group.d.ts +17 -8
  139. package/build/build-esm/booking-wizard/features/product-options/option-booking-group.d.ts +18 -12
  140. package/build/build-esm/booking-wizard/features/product-options/option-item.d.ts +11 -11
  141. package/build/build-esm/booking-wizard/features/product-options/option-pax-card.d.ts +13 -10
  142. package/build/build-esm/booking-wizard/features/product-options/option-pax-group.d.ts +20 -13
  143. package/build/build-esm/booking-wizard/features/product-options/option-room.d.ts +18 -10
  144. package/build/build-esm/booking-wizard/features/product-options/option-unit-group.d.ts +20 -13
  145. package/build/build-esm/booking-wizard/features/product-options/option-units-card.d.ts +9 -9
  146. package/build/build-esm/booking-wizard/features/product-options/options-form.d.ts +4 -5
  147. package/build/build-esm/booking-wizard/features/room-options/index.d.ts +4 -5
  148. package/build/build-esm/booking-wizard/features/room-options/room-utils.d.ts +29 -9
  149. package/build/build-esm/booking-wizard/features/room-options/room.d.ts +15 -12
  150. package/build/build-esm/booking-wizard/features/room-options/traveler-rooms.d.ts +13 -9
  151. package/build/build-esm/booking-wizard/features/sidebar/index.d.ts +7 -7
  152. package/build/build-esm/booking-wizard/features/sidebar/sidebar-flight.d.ts +8 -8
  153. package/build/build-esm/booking-wizard/features/sidebar/sidebar-util.d.ts +31 -12
  154. package/build/build-esm/booking-wizard/features/sidebar/sidebar.d.ts +29 -25
  155. package/build/build-esm/booking-wizard/features/summary/summary-booking-option-pax.d.ts +7 -7
  156. package/build/build-esm/booking-wizard/features/summary/summary-booking-option-unit.d.ts +7 -7
  157. package/build/build-esm/booking-wizard/features/summary/summary-flight.d.ts +8 -8
  158. package/build/build-esm/booking-wizard/features/summary/summary-per-booking-option-group.d.ts +10 -7
  159. package/build/build-esm/booking-wizard/features/summary/summary-per-pax-option-group.d.ts +10 -7
  160. package/build/build-esm/booking-wizard/features/summary/summary-per-unit-option-group.d.ts +10 -7
  161. package/build/build-esm/booking-wizard/features/summary/summary-slice.d.ts +14 -8
  162. package/build/build-esm/booking-wizard/features/summary/summary.d.ts +4 -5
  163. package/build/build-esm/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +75 -49
  164. package/build/build-esm/booking-wizard/features/travelers-form/travelers-form.d.ts +4 -5
  165. package/build/build-esm/booking-wizard/features/travelers-form/type-ahead-input.d.ts +16 -16
  166. package/build/build-esm/booking-wizard/features/travelers-form/validate-form.d.ts +9 -4
  167. package/build/build-esm/booking-wizard/index.d.ts +12 -12
  168. package/build/build-esm/booking-wizard/settings-context.d.ts +5 -6
  169. package/build/build-esm/booking-wizard/store.d.ts +44 -24
  170. package/build/build-esm/booking-wizard/types.d.ts +253 -257
  171. package/build/build-esm/booking-wizard/use-offer-printer.d.ts +19 -13
  172. package/build/build-esm/index.d.ts +3 -3
  173. package/build/build-esm/index.js +15926 -7396
  174. package/build/build-esm/shared/components/loader.d.ts +6 -6
  175. package/build/build-esm/shared/types.d.ts +4 -4
  176. package/build/build-esm/shared/utils/class-util.d.ts +1 -1
  177. package/build/build-esm/shared/utils/localization-util.d.ts +248 -248
  178. package/build/build-esm/shared/utils/query-string-util.d.ts +29 -8
  179. package/build/build-esm/shared/utils/tide-api-utils.d.ts +6 -4
  180. package/package.json +75 -75
  181. package/rollup.config.js +23 -23
  182. package/src/booking-product/components/age-select.tsx +35 -35
  183. package/src/booking-product/components/amount-input.tsx +78 -78
  184. package/src/booking-product/components/date-range-picker/calendar-day.tsx +58 -58
  185. package/src/booking-product/components/date-range-picker/calendar.tsx +178 -178
  186. package/src/booking-product/components/date-range-picker/index.tsx +196 -196
  187. package/src/booking-product/components/dates.tsx +136 -136
  188. package/src/booking-product/components/footer.tsx +69 -69
  189. package/src/booking-product/components/header.tsx +79 -79
  190. package/src/booking-product/components/icon.tsx +251 -251
  191. package/src/booking-product/components/product.tsx +314 -314
  192. package/src/booking-product/components/rating.tsx +21 -21
  193. package/src/booking-product/components/rooms.tsx +195 -195
  194. package/src/booking-product/index.tsx +30 -30
  195. package/src/booking-product/settings-context.ts +14 -14
  196. package/src/booking-product/types.ts +28 -28
  197. package/src/booking-product/utils/api.ts +25 -25
  198. package/src/booking-product/utils/price.ts +29 -29
  199. package/src/booking-wizard/api-settings-slice.ts +24 -24
  200. package/src/booking-wizard/components/icon.tsx +508 -508
  201. package/src/booking-wizard/components/labeled-input.tsx +64 -64
  202. package/src/booking-wizard/components/labeled-select.tsx +69 -69
  203. package/src/booking-wizard/components/message.tsx +34 -34
  204. package/src/booking-wizard/components/multi-range-filter.tsx +113 -113
  205. package/src/booking-wizard/components/print-offer-button.tsx +63 -66
  206. package/src/booking-wizard/components/product-card.tsx +37 -37
  207. package/src/booking-wizard/components/step-indicator.tsx +51 -51
  208. package/src/booking-wizard/components/step-route.tsx +27 -27
  209. package/src/booking-wizard/declarations.d.ts +4 -4
  210. package/src/booking-wizard/features/booking/api.ts +49 -49
  211. package/src/booking-wizard/features/booking/booking-self-contained.tsx +389 -389
  212. package/src/booking-wizard/features/booking/booking-slice.ts +665 -663
  213. package/src/booking-wizard/features/booking/booking.tsx +361 -361
  214. package/src/booking-wizard/features/booking/constants.ts +16 -16
  215. package/src/booking-wizard/features/booking/selectors.ts +441 -441
  216. package/src/booking-wizard/features/confirmation/confirmation.tsx +97 -97
  217. package/src/booking-wizard/features/error/error.tsx +78 -78
  218. package/src/booking-wizard/features/flight-options/flight-filter.tsx +432 -432
  219. package/src/booking-wizard/features/flight-options/flight-option-flight.tsx +385 -385
  220. package/src/booking-wizard/features/flight-options/flight-option-modal.tsx +229 -229
  221. package/src/booking-wizard/features/flight-options/flight-option.tsx +81 -81
  222. package/src/booking-wizard/features/flight-options/flight-utils.ts +516 -516
  223. package/src/booking-wizard/features/flight-options/index.tsx +196 -196
  224. package/src/booking-wizard/features/price-details/price-details-api.ts +24 -24
  225. package/src/booking-wizard/features/price-details/price-details-slice.ts +178 -178
  226. package/src/booking-wizard/features/price-details/util.ts +155 -155
  227. package/src/booking-wizard/features/product-options/no-options.tsx +21 -21
  228. package/src/booking-wizard/features/product-options/none-option.tsx +120 -120
  229. package/src/booking-wizard/features/product-options/option-booking-airline-group.tsx +64 -64
  230. package/src/booking-wizard/features/product-options/option-booking-group.tsx +216 -216
  231. package/src/booking-wizard/features/product-options/option-item.tsx +317 -317
  232. package/src/booking-wizard/features/product-options/option-pax-card.tsx +201 -201
  233. package/src/booking-wizard/features/product-options/option-pax-group.tsx +175 -175
  234. package/src/booking-wizard/features/product-options/option-room.tsx +321 -321
  235. package/src/booking-wizard/features/product-options/option-unit-group.tsx +198 -198
  236. package/src/booking-wizard/features/product-options/option-units-card.tsx +185 -185
  237. package/src/booking-wizard/features/product-options/options-form.tsx +481 -563
  238. package/src/booking-wizard/features/room-options/index.tsx +187 -187
  239. package/src/booking-wizard/features/room-options/room-utils.ts +190 -190
  240. package/src/booking-wizard/features/room-options/room.tsx +160 -160
  241. package/src/booking-wizard/features/room-options/traveler-rooms.tsx +75 -75
  242. package/src/booking-wizard/features/sidebar/index.tsx +76 -76
  243. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +68 -68
  244. package/src/booking-wizard/features/sidebar/sidebar-util.ts +177 -177
  245. package/src/booking-wizard/features/sidebar/sidebar.tsx +364 -364
  246. package/src/booking-wizard/features/summary/summary-booking-option-pax.tsx +25 -25
  247. package/src/booking-wizard/features/summary/summary-booking-option-unit.tsx +25 -25
  248. package/src/booking-wizard/features/summary/summary-flight.tsx +39 -39
  249. package/src/booking-wizard/features/summary/summary-per-booking-option-group.tsx +69 -69
  250. package/src/booking-wizard/features/summary/summary-per-pax-option-group.tsx +63 -63
  251. package/src/booking-wizard/features/summary/summary-per-unit-option-group.tsx +66 -66
  252. package/src/booking-wizard/features/summary/summary-slice.ts +28 -28
  253. package/src/booking-wizard/features/summary/summary.tsx +674 -674
  254. package/src/booking-wizard/features/travelers-form/travelers-form-slice.ts +164 -164
  255. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +754 -754
  256. package/src/booking-wizard/features/travelers-form/type-ahead-input.tsx +101 -101
  257. package/src/booking-wizard/features/travelers-form/validate-form.ts +245 -245
  258. package/src/booking-wizard/index.tsx +36 -36
  259. package/src/booking-wizard/settings-context.ts +62 -62
  260. package/src/booking-wizard/store.ts +31 -31
  261. package/src/booking-wizard/types.ts +279 -279
  262. package/src/booking-wizard/use-offer-printer.ts +117 -136
  263. package/src/index.ts +4 -4
  264. package/src/shared/components/loader.tsx +16 -16
  265. package/src/shared/translations/en-GB.json +237 -237
  266. package/src/shared/translations/fr-BE.json +238 -238
  267. package/src/shared/translations/nl-BE.json +237 -237
  268. package/src/shared/types.ts +4 -4
  269. package/src/shared/utils/class-util.ts +9 -9
  270. package/src/shared/utils/localization-util.ts +62 -62
  271. package/src/shared/utils/query-string-util.ts +119 -119
  272. package/src/shared/utils/tide-api-utils.ts +36 -36
  273. package/styles/booking-product-variables.scss +394 -394
  274. package/styles/booking-product.scss +446 -446
  275. package/styles/booking-wizard-variables.scss +873 -873
  276. package/styles/booking-wizard.scss +59 -59
  277. package/styles/components/_animations.scss +39 -39
  278. package/styles/components/_base.scss +107 -107
  279. package/styles/components/_booking.scss +879 -879
  280. package/styles/components/_button.scss +238 -238
  281. package/styles/components/_checkbox.scss +219 -219
  282. package/styles/components/_cta.scss +208 -208
  283. package/styles/components/_date-list.scss +41 -41
  284. package/styles/components/_date-range-picker.scss +225 -225
  285. package/styles/components/_decrement-increment.scss +35 -35
  286. package/styles/components/_dropdown.scss +72 -72
  287. package/styles/components/_flight-option.scss +1429 -1429
  288. package/styles/components/_form.scss +1583 -1583
  289. package/styles/components/_info-message.scss +71 -71
  290. package/styles/components/_input.scss +25 -25
  291. package/styles/components/_list.scss +187 -187
  292. package/styles/components/_loader.scss +72 -72
  293. package/styles/components/_mixins.scss +550 -550
  294. package/styles/components/_placeholders.scss +166 -166
  295. package/styles/components/_pricing-summary.scss +155 -155
  296. package/styles/components/_qsm.scss +17 -17
  297. package/styles/components/_radiobutton.scss +170 -170
  298. package/styles/components/_select-wrapper.scss +80 -80
  299. package/styles/components/_spinner.scss +29 -29
  300. package/styles/components/_step-indicators.scss +168 -168
  301. package/styles/components/_table.scss +81 -81
  302. package/styles/components/_tree.scss +530 -530
  303. package/styles/components/_typeahead.scss +281 -281
  304. package/styles/components/_variables.scss +89 -89
  305. package/tsconfig.json +24 -24
@@ -1,160 +1,160 @@
1
- import React, { useEffect, useState } from "react";
2
- import { useSelector } from "react-redux";
3
- import { getPriceDifferenceText } from "../../../shared/utils/localization-util";
4
- import { SelectableRoomAccommodation } from "../../types";
5
- import { selectTranslations } from "../booking/selectors";
6
- import { getDatePeriodText, getDateText } from "../sidebar/sidebar-util";
7
- import { buildClassName } from "../../../shared/utils/class-util";
8
-
9
- interface RoomOptionProps {
10
- room: SelectableRoomAccommodation;
11
- hasAlternatives?: boolean;
12
- selectedRoomPrice?: number;
13
- onAcommodationChange?: (
14
- accommodationCode: string,
15
- regimeCode: string
16
- ) => void;
17
- onRegimeChange?: (code: string) => void;
18
- onToggleAlternatives?: () => void;
19
- }
20
-
21
- const RoomOption: React.FC<RoomOptionProps> = ({
22
- room,
23
- hasAlternatives,
24
- selectedRoomPrice,
25
- onAcommodationChange,
26
- onRegimeChange,
27
- onToggleAlternatives,
28
- }) => {
29
- const translations = useSelector(selectTranslations);
30
-
31
- const [roomPrice, setRoomPrice] = useState<number>(0);
32
- const [roomRegimeCode, setRoomRegimeCode] = useState<string>(room.regimeCode);
33
-
34
- useEffect(() => {
35
- setRoomPrice(room.price);
36
- }, [room.code, room.regimeCode]);
37
-
38
- const getPriceDifference = (selectedPrice: number, currentPrice: number) => {
39
- const priceDifference = (selectedPrice ?? 0) - currentPrice;
40
- if (priceDifference !== 0) {
41
- return `(${getPriceDifferenceText(priceDifference)})`;
42
- } else {
43
- return "";
44
- }
45
- };
46
-
47
- const selectAccommodation = () => {
48
- if (onAcommodationChange) {
49
- onAcommodationChange(room.code, roomRegimeCode);
50
- }
51
- };
52
-
53
- const handleRegimeChange: React.FormEventHandler<HTMLSelectElement> = (e) => {
54
- let regimeCode = e.currentTarget.value;
55
-
56
- const option = room.regimes.find(
57
- (x) => x.code === regimeCode || (x.code === null && regimeCode === "")
58
- )!;
59
- setRoomRegimeCode(option.code);
60
- setRoomPrice(option.price);
61
-
62
- if (onRegimeChange) {
63
- onRegimeChange(regimeCode);
64
- }
65
-
66
- e.preventDefault();
67
- };
68
-
69
- return (
70
- <>
71
- <div className="form__room">
72
- {room.viewHtml && (
73
- <div
74
- className="form__room__wrapper"
75
- dangerouslySetInnerHTML={{ __html: room.viewHtml }}
76
- />
77
- )}
78
- {!room.viewHtml && (
79
- <div className="form__room__wrapper">
80
- {room.image && (
81
- <div className="form__room__image">
82
- <img src={room.image} alt="" className="form__room__img" />
83
- </div>
84
- )}
85
- <div className="form__room__body">
86
- <div className="">
87
- <h3 className="form__room__title">{room.title}</h3>
88
- {room.description && (
89
- <p className="form__room__text">{room.description}</p>
90
- )}
91
- <ul className="list--usps form__room__usps">
92
- {room.usps.map((usp, uspIndex) => (
93
- <li key={uspIndex} className="list__item">
94
- {usp}
95
- </li>
96
- ))}
97
- </ul>
98
- </div>
99
- </div>
100
- </div>
101
- )}
102
- <div className="form__room__footer">
103
- <div className="form__room__footer__top">
104
- <p className="form__room__dates">
105
- {getDateText(room.from)} - {getDateText(room.to)}
106
- </p>
107
- <span className="form__room__days">
108
- {getDatePeriodText(room.from, room.to)}
109
- </span>
110
- </div>
111
- <div className="form__room__footer__bottom">
112
- {selectedRoomPrice != undefined && (
113
- <p className="form__room__price form__room__price--increase">
114
- <span>{getPriceDifference(roomPrice, selectedRoomPrice)}</span>
115
- </p>
116
- )}
117
- {hasAlternatives && onToggleAlternatives && (
118
- <button
119
- type="button"
120
- onClick={onToggleAlternatives}
121
- className="form__room__alternatives__btn"
122
- >
123
- {translations.ROOM_OPTIONS_FORM.SHOW_ALTERNATIVES}
124
- </button>
125
- )}
126
- <div className="select-wrapper">
127
- <div className="select-wrapper__select">
128
- <select
129
- defaultValue={roomRegimeCode}
130
- onChange={handleRegimeChange}
131
- >
132
- {room.regimes.map((regime) => (
133
- <option key={regime.code} value={regime.code ?? ""}>
134
- {regime.title}{" "}
135
- {getPriceDifference(regime.price, roomPrice)}
136
- </option>
137
- ))}
138
- </select>
139
- </div>
140
- </div>
141
- <button
142
- type="button"
143
- onClick={selectAccommodation}
144
- className={buildClassName([
145
- "cta",
146
- selectedRoomPrice ? "cta--select" : "cta--selected",
147
- ])}
148
- >
149
- {selectedRoomPrice
150
- ? translations.SHARED.SELECT
151
- : translations.SHARED.SELECTED}
152
- </button>
153
- </div>
154
- </div>
155
- </div>
156
- </>
157
- );
158
- };
159
-
160
- export default RoomOption;
1
+ import React, { useEffect, useState } from "react";
2
+ import { useSelector } from "react-redux";
3
+ import { getPriceDifferenceText } from "../../../shared/utils/localization-util";
4
+ import { SelectableRoomAccommodation } from "../../types";
5
+ import { selectTranslations } from "../booking/selectors";
6
+ import { getDatePeriodText, getDateText } from "../sidebar/sidebar-util";
7
+ import { buildClassName } from "../../../shared/utils/class-util";
8
+
9
+ interface RoomOptionProps {
10
+ room: SelectableRoomAccommodation;
11
+ hasAlternatives?: boolean;
12
+ selectedRoomPrice?: number;
13
+ onAcommodationChange?: (
14
+ accommodationCode: string,
15
+ regimeCode: string
16
+ ) => void;
17
+ onRegimeChange?: (code: string) => void;
18
+ onToggleAlternatives?: () => void;
19
+ }
20
+
21
+ const RoomOption: React.FC<RoomOptionProps> = ({
22
+ room,
23
+ hasAlternatives,
24
+ selectedRoomPrice,
25
+ onAcommodationChange,
26
+ onRegimeChange,
27
+ onToggleAlternatives,
28
+ }) => {
29
+ const translations = useSelector(selectTranslations);
30
+
31
+ const [roomPrice, setRoomPrice] = useState<number>(0);
32
+ const [roomRegimeCode, setRoomRegimeCode] = useState<string>(room.regimeCode);
33
+
34
+ useEffect(() => {
35
+ setRoomPrice(room.price);
36
+ }, [room.code, room.regimeCode]);
37
+
38
+ const getPriceDifference = (selectedPrice: number, currentPrice: number) => {
39
+ const priceDifference = (selectedPrice ?? 0) - currentPrice;
40
+ if (priceDifference !== 0) {
41
+ return `(${getPriceDifferenceText(priceDifference)})`;
42
+ } else {
43
+ return "";
44
+ }
45
+ };
46
+
47
+ const selectAccommodation = () => {
48
+ if (onAcommodationChange) {
49
+ onAcommodationChange(room.code, roomRegimeCode);
50
+ }
51
+ };
52
+
53
+ const handleRegimeChange: React.FormEventHandler<HTMLSelectElement> = (e) => {
54
+ let regimeCode = e.currentTarget.value;
55
+
56
+ const option = room.regimes.find(
57
+ (x) => x.code === regimeCode || (x.code === null && regimeCode === "")
58
+ )!;
59
+ setRoomRegimeCode(option.code);
60
+ setRoomPrice(option.price);
61
+
62
+ if (onRegimeChange) {
63
+ onRegimeChange(regimeCode);
64
+ }
65
+
66
+ e.preventDefault();
67
+ };
68
+
69
+ return (
70
+ <>
71
+ <div className="form__room">
72
+ {room.viewHtml && (
73
+ <div
74
+ className="form__room__wrapper"
75
+ dangerouslySetInnerHTML={{ __html: room.viewHtml }}
76
+ />
77
+ )}
78
+ {!room.viewHtml && (
79
+ <div className="form__room__wrapper">
80
+ {room.image && (
81
+ <div className="form__room__image">
82
+ <img src={room.image} alt="" className="form__room__img" />
83
+ </div>
84
+ )}
85
+ <div className="form__room__body">
86
+ <div className="">
87
+ <h3 className="form__room__title">{room.title}</h3>
88
+ {room.description && (
89
+ <p className="form__room__text">{room.description}</p>
90
+ )}
91
+ <ul className="list--usps form__room__usps">
92
+ {room.usps.map((usp, uspIndex) => (
93
+ <li key={uspIndex} className="list__item">
94
+ {usp}
95
+ </li>
96
+ ))}
97
+ </ul>
98
+ </div>
99
+ </div>
100
+ </div>
101
+ )}
102
+ <div className="form__room__footer">
103
+ <div className="form__room__footer__top">
104
+ <p className="form__room__dates">
105
+ {getDateText(room.from)} - {getDateText(room.to)}
106
+ </p>
107
+ <span className="form__room__days">
108
+ {getDatePeriodText(room.from, room.to)}
109
+ </span>
110
+ </div>
111
+ <div className="form__room__footer__bottom">
112
+ {selectedRoomPrice != undefined && (
113
+ <p className="form__room__price form__room__price--increase">
114
+ <span>{getPriceDifference(roomPrice, selectedRoomPrice)}</span>
115
+ </p>
116
+ )}
117
+ {hasAlternatives && onToggleAlternatives && (
118
+ <button
119
+ type="button"
120
+ onClick={onToggleAlternatives}
121
+ className="form__room__alternatives__btn"
122
+ >
123
+ {translations.ROOM_OPTIONS_FORM.SHOW_ALTERNATIVES}
124
+ </button>
125
+ )}
126
+ <div className="select-wrapper">
127
+ <div className="select-wrapper__select">
128
+ <select
129
+ defaultValue={roomRegimeCode}
130
+ onChange={handleRegimeChange}
131
+ >
132
+ {room.regimes.map((regime) => (
133
+ <option key={regime.code} value={regime.code ?? ""}>
134
+ {regime.title}{" "}
135
+ {getPriceDifference(regime.price, roomPrice)}
136
+ </option>
137
+ ))}
138
+ </select>
139
+ </div>
140
+ </div>
141
+ <button
142
+ type="button"
143
+ onClick={selectAccommodation}
144
+ className={buildClassName([
145
+ "cta",
146
+ selectedRoomPrice ? "cta--select" : "cta--selected",
147
+ ])}
148
+ >
149
+ {selectedRoomPrice
150
+ ? translations.SHARED.SELECT
151
+ : translations.SHARED.SELECTED}
152
+ </button>
153
+ </div>
154
+ </div>
155
+ </div>
156
+ </>
157
+ );
158
+ };
159
+
160
+ export default RoomOption;
@@ -1,75 +1,75 @@
1
- import React, { useState } from "react";
2
- import { SelectableRoom } from "../../types";
3
- import { useSelector } from "react-redux";
4
- import { selectTranslations } from "../booking/selectors";
5
- import RoomOption from "./room";
6
- import { isEmpty } from "lodash";
7
-
8
- interface TravelerRoomsProps {
9
- index: number;
10
- room: SelectableRoom;
11
- onRoomChange: (
12
- index: number,
13
- accommodationCode: string,
14
- regimeCode: string | null
15
- ) => void;
16
- }
17
-
18
- const TravelerRooms: React.FC<TravelerRoomsProps> = ({
19
- index,
20
- room,
21
- onRoomChange,
22
- }) => {
23
- const translations = useSelector(selectTranslations);
24
- const [showAlternatives, setShowAlternatives] = useState<boolean>(false);
25
-
26
- const selectedAccommodationCode = room.selected.code;
27
-
28
- return (
29
- <div key={room.index} className="form__room__container">
30
- <div className="form__room__header">
31
- <h5>
32
- {translations.ROOM_OPTIONS_FORM.TRAVELER_GROUP} {room.index + 1}
33
- </h5>
34
- </div>
35
-
36
- <RoomOption
37
- room={room.selected}
38
- hasAlternatives={!isEmpty(room.alternatives)}
39
- onRegimeChange={(regimeCode) =>
40
- onRoomChange(index, selectedAccommodationCode, regimeCode)
41
- }
42
- onToggleAlternatives={() => setShowAlternatives(!showAlternatives)}
43
- />
44
-
45
- {!isEmpty(room.alternatives) && showAlternatives && (
46
- <div className="form__room__alternatives">
47
- <div className="form__room__alternatives__header">
48
- {translations.ROOM_OPTIONS_FORM.ALTERNATIVES_TRAVELER_GROUP}{" "}
49
- {room.index + 1}
50
- </div>
51
-
52
- {showAlternatives && (
53
- <>
54
- <div className="form__room__alternatives__content">
55
- {room.alternatives.map((alternative, alternativeIndex) => (
56
- <RoomOption
57
- key={alternativeIndex}
58
- room={alternative}
59
- selectedRoomPrice={room.selected.price}
60
- onAcommodationChange={(accommodationCode, regimeCode) => {
61
- setShowAlternatives(false);
62
- onRoomChange(index, accommodationCode, regimeCode);
63
- }}
64
- />
65
- ))}
66
- </div>
67
- </>
68
- )}
69
- </div>
70
- )}
71
- </div>
72
- );
73
- };
74
-
75
- export default TravelerRooms;
1
+ import React, { useState } from "react";
2
+ import { SelectableRoom } from "../../types";
3
+ import { useSelector } from "react-redux";
4
+ import { selectTranslations } from "../booking/selectors";
5
+ import RoomOption from "./room";
6
+ import { isEmpty } from "lodash";
7
+
8
+ interface TravelerRoomsProps {
9
+ index: number;
10
+ room: SelectableRoom;
11
+ onRoomChange: (
12
+ index: number,
13
+ accommodationCode: string,
14
+ regimeCode: string | null
15
+ ) => void;
16
+ }
17
+
18
+ const TravelerRooms: React.FC<TravelerRoomsProps> = ({
19
+ index,
20
+ room,
21
+ onRoomChange,
22
+ }) => {
23
+ const translations = useSelector(selectTranslations);
24
+ const [showAlternatives, setShowAlternatives] = useState<boolean>(false);
25
+
26
+ const selectedAccommodationCode = room.selected.code;
27
+
28
+ return (
29
+ <div key={room.index} className="form__room__container">
30
+ <div className="form__room__header">
31
+ <h5>
32
+ {translations.ROOM_OPTIONS_FORM.TRAVELER_GROUP} {room.index + 1}
33
+ </h5>
34
+ </div>
35
+
36
+ <RoomOption
37
+ room={room.selected}
38
+ hasAlternatives={!isEmpty(room.alternatives)}
39
+ onRegimeChange={(regimeCode) =>
40
+ onRoomChange(index, selectedAccommodationCode, regimeCode)
41
+ }
42
+ onToggleAlternatives={() => setShowAlternatives(!showAlternatives)}
43
+ />
44
+
45
+ {!isEmpty(room.alternatives) && showAlternatives && (
46
+ <div className="form__room__alternatives">
47
+ <div className="form__room__alternatives__header">
48
+ {translations.ROOM_OPTIONS_FORM.ALTERNATIVES_TRAVELER_GROUP}{" "}
49
+ {room.index + 1}
50
+ </div>
51
+
52
+ {showAlternatives && (
53
+ <>
54
+ <div className="form__room__alternatives__content">
55
+ {room.alternatives.map((alternative, alternativeIndex) => (
56
+ <RoomOption
57
+ key={alternativeIndex}
58
+ room={alternative}
59
+ selectedRoomPrice={room.selected.price}
60
+ onAcommodationChange={(accommodationCode, regimeCode) => {
61
+ setShowAlternatives(false);
62
+ onRoomChange(index, accommodationCode, regimeCode);
63
+ }}
64
+ />
65
+ ))}
66
+ </div>
67
+ </>
68
+ )}
69
+ </div>
70
+ )}
71
+ </div>
72
+ );
73
+ };
74
+
75
+ export default TravelerRooms;
@@ -1,76 +1,76 @@
1
- import {
2
- selectDepartureFlight,
3
- selectIsFetchingProductOptions,
4
- selectIsOnRequest,
5
- selectPackageRooms,
6
- selectReturnFlight,
7
- } from "../booking/selectors";
8
- import { getDateText, getTravelersText } from "./sidebar-util";
9
- import { selectFormRooms } from "../travelers-form/travelers-form-slice";
10
- import {
11
- selectBasePrice,
12
- selectDeposit,
13
- selectIsFetchingPriceDetails,
14
- selectSeparateExtraPriceDetails,
15
- selectSeparatePackagePriceDetails,
16
- selectTotalPrice,
17
- } from "../price-details/price-details-slice";
18
- import { useSelector } from "react-redux";
19
-
20
- import React from "react";
21
- import SettingsContext from "../../settings-context";
22
- import Sidebar from "./sidebar";
23
- import { selectBookingAttributes } from "../booking/selectors";
24
- import { useContext } from "react";
25
-
26
- interface SidebarProps {
27
- productName: string;
28
- thumbnailUrl?: string;
29
- }
30
-
31
- const SidebarContainer: React.FC<SidebarProps> = ({
32
- productName,
33
- thumbnailUrl,
34
- }) => {
35
- const { sidebarHeaderComponent, sidebarFooterComponent, loaderComponent } =
36
- useContext(SettingsContext);
37
- const bookingAttributes = useSelector(selectBookingAttributes);
38
- const rooms = useSelector(selectFormRooms);
39
- const travelerRooms = getTravelersText(rooms);
40
- const departureFlight = useSelector(selectDepartureFlight);
41
- const returnFlight = useSelector(selectReturnFlight);
42
- const isFetchingProductOptions = useSelector(selectIsFetchingProductOptions);
43
- const isFetchingPriceDetails = useSelector(selectIsFetchingPriceDetails);
44
- const accommodations = useSelector(selectPackageRooms);
45
-
46
- const isLoading = isFetchingProductOptions || isFetchingPriceDetails;
47
-
48
- return (
49
- <Sidebar
50
- productName={productName}
51
- thumbnailUrl={thumbnailUrl}
52
- isLoading={isLoading}
53
- startDateText={getDateText(bookingAttributes?.startDate)}
54
- endDateText={
55
- bookingAttributes?.startDate !== bookingAttributes?.endDate
56
- ? getDateText(bookingAttributes?.endDate)
57
- : undefined
58
- }
59
- travelerRooms={travelerRooms}
60
- departureFlight={departureFlight}
61
- returnFlight={returnFlight}
62
- basePrice={useSelector(selectBasePrice)}
63
- totalPrice={useSelector(selectTotalPrice)}
64
- includedCosts={useSelector(selectSeparatePackagePriceDetails)}
65
- extraCosts={useSelector(selectSeparateExtraPriceDetails)}
66
- accommodations={accommodations}
67
- deposit={useSelector(selectDeposit)}
68
- isOnRequest={useSelector(selectIsOnRequest)}
69
- headerComponent={sidebarHeaderComponent ?? undefined}
70
- footerComponent={sidebarFooterComponent ?? undefined}
71
- loaderComponent={loaderComponent ?? undefined}
72
- />
73
- );
74
- };
75
-
76
- export default SidebarContainer;
1
+ import {
2
+ selectDepartureFlight,
3
+ selectIsFetchingProductOptions,
4
+ selectIsOnRequest,
5
+ selectPackageRooms,
6
+ selectReturnFlight,
7
+ } from "../booking/selectors";
8
+ import { getDateText, getTravelersText } from "./sidebar-util";
9
+ import { selectFormRooms } from "../travelers-form/travelers-form-slice";
10
+ import {
11
+ selectBasePrice,
12
+ selectDeposit,
13
+ selectIsFetchingPriceDetails,
14
+ selectSeparateExtraPriceDetails,
15
+ selectSeparatePackagePriceDetails,
16
+ selectTotalPrice,
17
+ } from "../price-details/price-details-slice";
18
+ import { useSelector } from "react-redux";
19
+
20
+ import React from "react";
21
+ import SettingsContext from "../../settings-context";
22
+ import Sidebar from "./sidebar";
23
+ import { selectBookingAttributes } from "../booking/selectors";
24
+ import { useContext } from "react";
25
+
26
+ interface SidebarProps {
27
+ productName: string;
28
+ thumbnailUrl?: string;
29
+ }
30
+
31
+ const SidebarContainer: React.FC<SidebarProps> = ({
32
+ productName,
33
+ thumbnailUrl,
34
+ }) => {
35
+ const { sidebarHeaderComponent, sidebarFooterComponent, loaderComponent } =
36
+ useContext(SettingsContext);
37
+ const bookingAttributes = useSelector(selectBookingAttributes);
38
+ const rooms = useSelector(selectFormRooms);
39
+ const travelerRooms = getTravelersText(rooms);
40
+ const departureFlight = useSelector(selectDepartureFlight);
41
+ const returnFlight = useSelector(selectReturnFlight);
42
+ const isFetchingProductOptions = useSelector(selectIsFetchingProductOptions);
43
+ const isFetchingPriceDetails = useSelector(selectIsFetchingPriceDetails);
44
+ const accommodations = useSelector(selectPackageRooms);
45
+
46
+ const isLoading = isFetchingProductOptions || isFetchingPriceDetails;
47
+
48
+ return (
49
+ <Sidebar
50
+ productName={productName}
51
+ thumbnailUrl={thumbnailUrl}
52
+ isLoading={isLoading}
53
+ startDateText={getDateText(bookingAttributes?.startDate)}
54
+ endDateText={
55
+ bookingAttributes?.startDate !== bookingAttributes?.endDate
56
+ ? getDateText(bookingAttributes?.endDate)
57
+ : undefined
58
+ }
59
+ travelerRooms={travelerRooms}
60
+ departureFlight={departureFlight}
61
+ returnFlight={returnFlight}
62
+ basePrice={useSelector(selectBasePrice)}
63
+ totalPrice={useSelector(selectTotalPrice)}
64
+ includedCosts={useSelector(selectSeparatePackagePriceDetails)}
65
+ extraCosts={useSelector(selectSeparateExtraPriceDetails)}
66
+ accommodations={accommodations}
67
+ deposit={useSelector(selectDeposit)}
68
+ isOnRequest={useSelector(selectIsOnRequest)}
69
+ headerComponent={sidebarHeaderComponent ?? undefined}
70
+ footerComponent={sidebarFooterComponent ?? undefined}
71
+ loaderComponent={loaderComponent ?? undefined}
72
+ />
73
+ );
74
+ };
75
+
76
+ export default SidebarContainer;