@qite/tide-booking-component 1.3.1 → 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 +16348 -7394
  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 +15949 -7383
  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 -384
  212. package/src/booking-wizard/features/booking/booking-slice.ts +665 -662
  213. package/src/booking-wizard/features/booking/booking.tsx +361 -356
  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 -278
  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,68 +1,68 @@
1
- import { BookingPackageFlight } from "@qite/tide-client/build/types";
2
- import { first, last } from "lodash";
3
- import React from "react";
4
- import { useSelector } from "react-redux";
5
- import { selectTranslations } from "../booking/selectors";
6
- import { getAirlines, getDateText, parseFlightLines } from "./sidebar-util";
7
-
8
- interface SidebarFlightProps {
9
- title: string;
10
- flight: BookingPackageFlight;
11
- }
12
-
13
- const SidebarFlight: React.FC<SidebarFlightProps> = ({ title, flight }) => {
14
- const flightLines = parseFlightLines(flight.flightMetaData);
15
- const firstFlight = first(flightLines);
16
- const lastFlight = last(flightLines);
17
- const translations = useSelector(selectTranslations);
18
-
19
- return (
20
- <div className="pricing-summary__group">
21
- <h6 className="pricing-summary__title">{title}</h6>
22
- <div className="pricing-summary__row">
23
- <div className="pricing-summary__property">
24
- {translations.SIDEBAR.FLIGHT_DEPARTURE}
25
- </div>
26
- <div className="pricing-summary__value pricing-summary__value--flight">
27
- {firstFlight?.departureAirportDescription} (
28
- {firstFlight?.departureAirportIata})<br />
29
- {getDateText(firstFlight?.departureDate)} {firstFlight?.departureTime}
30
- </div>
31
- </div>
32
-
33
- <div className="pricing-summary__row">
34
- <div className="pricing-summary__property">
35
- {translations.SIDEBAR.FLIGHT_ARRIVAL}
36
- </div>
37
- <div className="pricing-summary__value pricing-summary__value--flight">
38
- {lastFlight?.arrivalAirportDescription} (
39
- {lastFlight?.arrivalAirportIata})<br />
40
- {getDateText(lastFlight?.arrivalDate)} {lastFlight?.arrivalTime}
41
- </div>
42
- </div>
43
-
44
- <div className="pricing-summary__row">
45
- <div className="pricing-summary__property">
46
- {flight.flightMetaData.flightLines.length > 1 && (
47
- <i>
48
- {flight.flightMetaData.flightLines.length - 1}
49
- {"x "}
50
- {translations.SIDEBAR.CHANGES}
51
- </i>
52
- )}
53
- </div>
54
- <div className="pricing-summary__value">{getAirlines(flightLines)}</div>
55
- </div>
56
- {flight.flightMetaData.luggageIncluded && (
57
- <div className="pricing-summary__row">
58
- <div className="pricing-summary__property"></div>
59
- <div className="pricing-summary__value">
60
- {translations.SIDEBAR.LUGGAGE_INCLUDED}
61
- </div>
62
- </div>
63
- )}
64
- </div>
65
- );
66
- };
67
-
68
- export default SidebarFlight;
1
+ import { BookingPackageFlight } from "@qite/tide-client/build/types";
2
+ import { first, last } from "lodash";
3
+ import React from "react";
4
+ import { useSelector } from "react-redux";
5
+ import { selectTranslations } from "../booking/selectors";
6
+ import { getAirlines, getDateText, parseFlightLines } from "./sidebar-util";
7
+
8
+ interface SidebarFlightProps {
9
+ title: string;
10
+ flight: BookingPackageFlight;
11
+ }
12
+
13
+ const SidebarFlight: React.FC<SidebarFlightProps> = ({ title, flight }) => {
14
+ const flightLines = parseFlightLines(flight.flightMetaData);
15
+ const firstFlight = first(flightLines);
16
+ const lastFlight = last(flightLines);
17
+ const translations = useSelector(selectTranslations);
18
+
19
+ return (
20
+ <div className="pricing-summary__group">
21
+ <h6 className="pricing-summary__title">{title}</h6>
22
+ <div className="pricing-summary__row">
23
+ <div className="pricing-summary__property">
24
+ {translations.SIDEBAR.FLIGHT_DEPARTURE}
25
+ </div>
26
+ <div className="pricing-summary__value pricing-summary__value--flight">
27
+ {firstFlight?.departureAirportDescription} (
28
+ {firstFlight?.departureAirportIata})<br />
29
+ {getDateText(firstFlight?.departureDate)} {firstFlight?.departureTime}
30
+ </div>
31
+ </div>
32
+
33
+ <div className="pricing-summary__row">
34
+ <div className="pricing-summary__property">
35
+ {translations.SIDEBAR.FLIGHT_ARRIVAL}
36
+ </div>
37
+ <div className="pricing-summary__value pricing-summary__value--flight">
38
+ {lastFlight?.arrivalAirportDescription} (
39
+ {lastFlight?.arrivalAirportIata})<br />
40
+ {getDateText(lastFlight?.arrivalDate)} {lastFlight?.arrivalTime}
41
+ </div>
42
+ </div>
43
+
44
+ <div className="pricing-summary__row">
45
+ <div className="pricing-summary__property">
46
+ {flight.flightMetaData.flightLines.length > 1 && (
47
+ <i>
48
+ {flight.flightMetaData.flightLines.length - 1}
49
+ {"x "}
50
+ {translations.SIDEBAR.CHANGES}
51
+ </i>
52
+ )}
53
+ </div>
54
+ <div className="pricing-summary__value">{getAirlines(flightLines)}</div>
55
+ </div>
56
+ {flight.flightMetaData.luggageIncluded && (
57
+ <div className="pricing-summary__row">
58
+ <div className="pricing-summary__property"></div>
59
+ <div className="pricing-summary__value">
60
+ {translations.SIDEBAR.LUGGAGE_INCLUDED}
61
+ </div>
62
+ </div>
63
+ )}
64
+ </div>
65
+ );
66
+ };
67
+
68
+ export default SidebarFlight;
@@ -1,177 +1,177 @@
1
- import { BookingPackageFlightMetaData } from "@qite/tide-client/build/types";
2
- import { differenceInCalendarDays, format, parseISO } from "date-fns";
3
- import { compact, orderBy, uniq } from "lodash";
4
- import { useSelector } from "react-redux";
5
- import { FlightLine } from "../../types";
6
- import { selectTranslations } from "../booking/selectors";
7
-
8
- export const getTravelersText = (
9
- rooms: { adults: number[]; children: number[] }[]
10
- ): string[] => {
11
- const translations = useSelector(selectTranslations);
12
-
13
- return rooms.map((r) =>
14
- compact([
15
- r.adults.length,
16
- r.adults.length === 1 && ` ${translations.SIDEBAR.TRAVELERS_ADULT}`,
17
- r.adults.length > 1 && ` ${translations.SIDEBAR.TRAVELERS_ADULTS}`,
18
- r.adults && r.adults.length && r.children && r.children.length && ", ",
19
- r.children.length,
20
- r.children.length === 1 && ` ${translations.SIDEBAR.TRAVELERS_CHILD}`,
21
- r.children.length > 1 && ` ${translations.SIDEBAR.TRAVELERS_CHILDREN}`,
22
- ]).join("")
23
- );
24
- };
25
-
26
- export const getDateText = (
27
- date: string | undefined,
28
- hideYear?: boolean
29
- ): string | undefined => {
30
- if (!date) {
31
- // No date set
32
- return undefined;
33
- }
34
-
35
- try {
36
- return hideYear
37
- ? format(parseISO(date), "dd/MM")
38
- : format(parseISO(date), "dd/MM/yyyy");
39
- } catch {
40
- // Error while parsing date
41
- return undefined;
42
- }
43
- };
44
-
45
- export const getDatePeriodText = (
46
- from?: string,
47
- to?: string,
48
- nightsOnly?: boolean
49
- ) => {
50
- if (!from || !to) {
51
- return undefined;
52
- }
53
-
54
- const translations = useSelector(selectTranslations);
55
-
56
- try {
57
- const fromDate = parseISO(from);
58
- const toDate = parseISO(to);
59
-
60
- const dayDifference = differenceInCalendarDays(toDate, fromDate);
61
- const daysLabel =
62
- dayDifference == 0
63
- ? `1 ${translations.OPTIONS_FORM.DAY}`
64
- : `${dayDifference + 1} ${translations.OPTIONS_FORM.DAYS}`;
65
-
66
- if (!dayDifference) return daysLabel;
67
-
68
- const nightsLabel =
69
- dayDifference == 1
70
- ? `1 ${translations.OPTIONS_FORM.NIGHT}`
71
- : `${dayDifference} ${translations.OPTIONS_FORM.NIGHTS}`;
72
-
73
- return nightsOnly ? nightsLabel : `${daysLabel}, ${nightsLabel}`;
74
- } catch {
75
- return undefined;
76
- }
77
- };
78
-
79
- export const getFlightText = (
80
- firstFlight: FlightLine | undefined,
81
- lastFlight: FlightLine | undefined
82
- ): string => {
83
- return compact([
84
- firstFlight?.departureAirportDescription,
85
- ` (${firstFlight?.departureAirportIata})`,
86
- firstFlight?.departureAirportDescription &&
87
- lastFlight?.arrivalAirportDescription &&
88
- " > ",
89
- lastFlight?.arrivalAirportDescription,
90
- ` (${lastFlight?.arrivalAirportIata})`,
91
- ]).join("");
92
- };
93
-
94
- export const getAirlines = (flightLines: FlightLine[] | undefined) => {
95
- return uniq(
96
- flightLines
97
- ?.filter((x) => x.airlineDescription)
98
- ?.map((flightLine) => flightLine.airlineDescription)
99
- ).join(", ");
100
- };
101
-
102
- export const getFlightHours = (
103
- firstFlight: FlightLine | undefined,
104
- lastFlight: FlightLine | undefined
105
- ): string => {
106
- return compact([
107
- getDateText(firstFlight?.departureDate),
108
- " ",
109
- firstFlight?.departureTime,
110
- " > ",
111
- getDateText(lastFlight?.arrivalDate),
112
- " ",
113
- lastFlight?.arrivalTime,
114
- ]).join("");
115
- };
116
-
117
- export const parseFlightLines = (
118
- metaDatas: BookingPackageFlightMetaData
119
- ): FlightLine[] | undefined => {
120
- if (!metaDatas.flightLines) {
121
- return undefined;
122
- }
123
-
124
- const parsedFlightLines: FlightLine[] = metaDatas.flightLines.map(
125
- (parsedFlightLine) => {
126
- const departureDate = parseFlightLineDateTime(
127
- parsedFlightLine.departureDate,
128
- parsedFlightLine.departureTime
129
- );
130
- const arrivalDate = parseFlightLineDateTime(
131
- parsedFlightLine.arrivalDate,
132
- parsedFlightLine.arrivalTime
133
- );
134
-
135
- return <FlightLine>{
136
- departureAirportIata: parsedFlightLine.departureAirport,
137
- departureAirportDescription:
138
- parsedFlightLine.departureAirportDescription,
139
- departureDate: departureDate,
140
- departureTime: parsedFlightLine.departureTime,
141
- arrivalAirportIata: parsedFlightLine.arrivalAirport,
142
- arrivalAirportDescription: parsedFlightLine.arrivalAirportDescription,
143
- arrivalDate: arrivalDate,
144
- arrivalTime: parsedFlightLine.arrivalTime,
145
- airlineIata: parsedFlightLine.airline,
146
- airlineDescription: parsedFlightLine.operatingAirlineDescription,
147
- airlineNumber: parsedFlightLine.number,
148
- travelClass: parsedFlightLine.travelClass,
149
- };
150
- }
151
- );
152
-
153
- return orderBy(parsedFlightLines, "departureDate", "asc");
154
- };
155
-
156
- const parseFlightLineDateTime = (
157
- date: string,
158
- time: string
159
- ): string | undefined => {
160
- try {
161
- // Parse date
162
- const parsedDate = parseISO(date);
163
-
164
- // Parse time
165
- const parsedTimeHours = parseInt(time.substring(0, 2));
166
- const parsedTimeMinutes = parseInt(time.substring(3, 5));
167
-
168
- if (!Number.isNaN(parsedTimeHours) && !Number.isNaN(parsedTimeMinutes)) {
169
- parsedDate.setUTCHours(parsedTimeHours, parsedTimeMinutes);
170
- }
171
-
172
- return parsedDate.toISOString().slice(0, -1);
173
- } catch {
174
- // Parsing failed
175
- return undefined;
176
- }
177
- };
1
+ import { BookingPackageFlightMetaData } from "@qite/tide-client/build/types";
2
+ import { differenceInCalendarDays, format, parseISO } from "date-fns";
3
+ import { compact, orderBy, uniq } from "lodash";
4
+ import { useSelector } from "react-redux";
5
+ import { FlightLine } from "../../types";
6
+ import { selectTranslations } from "../booking/selectors";
7
+
8
+ export const getTravelersText = (
9
+ rooms: { adults: number[]; children: number[] }[]
10
+ ): string[] => {
11
+ const translations = useSelector(selectTranslations);
12
+
13
+ return rooms.map((r) =>
14
+ compact([
15
+ r.adults.length,
16
+ r.adults.length === 1 && ` ${translations.SIDEBAR.TRAVELERS_ADULT}`,
17
+ r.adults.length > 1 && ` ${translations.SIDEBAR.TRAVELERS_ADULTS}`,
18
+ r.adults && r.adults.length && r.children && r.children.length && ", ",
19
+ r.children.length,
20
+ r.children.length === 1 && ` ${translations.SIDEBAR.TRAVELERS_CHILD}`,
21
+ r.children.length > 1 && ` ${translations.SIDEBAR.TRAVELERS_CHILDREN}`,
22
+ ]).join("")
23
+ );
24
+ };
25
+
26
+ export const getDateText = (
27
+ date: string | undefined,
28
+ hideYear?: boolean
29
+ ): string | undefined => {
30
+ if (!date) {
31
+ // No date set
32
+ return undefined;
33
+ }
34
+
35
+ try {
36
+ return hideYear
37
+ ? format(parseISO(date), "dd/MM")
38
+ : format(parseISO(date), "dd/MM/yyyy");
39
+ } catch {
40
+ // Error while parsing date
41
+ return undefined;
42
+ }
43
+ };
44
+
45
+ export const getDatePeriodText = (
46
+ from?: string,
47
+ to?: string,
48
+ nightsOnly?: boolean
49
+ ) => {
50
+ if (!from || !to) {
51
+ return undefined;
52
+ }
53
+
54
+ const translations = useSelector(selectTranslations);
55
+
56
+ try {
57
+ const fromDate = parseISO(from);
58
+ const toDate = parseISO(to);
59
+
60
+ const dayDifference = differenceInCalendarDays(toDate, fromDate);
61
+ const daysLabel =
62
+ dayDifference == 0
63
+ ? `1 ${translations.OPTIONS_FORM.DAY}`
64
+ : `${dayDifference + 1} ${translations.OPTIONS_FORM.DAYS}`;
65
+
66
+ if (!dayDifference) return daysLabel;
67
+
68
+ const nightsLabel =
69
+ dayDifference == 1
70
+ ? `1 ${translations.OPTIONS_FORM.NIGHT}`
71
+ : `${dayDifference} ${translations.OPTIONS_FORM.NIGHTS}`;
72
+
73
+ return nightsOnly ? nightsLabel : `${daysLabel}, ${nightsLabel}`;
74
+ } catch {
75
+ return undefined;
76
+ }
77
+ };
78
+
79
+ export const getFlightText = (
80
+ firstFlight: FlightLine | undefined,
81
+ lastFlight: FlightLine | undefined
82
+ ): string => {
83
+ return compact([
84
+ firstFlight?.departureAirportDescription,
85
+ ` (${firstFlight?.departureAirportIata})`,
86
+ firstFlight?.departureAirportDescription &&
87
+ lastFlight?.arrivalAirportDescription &&
88
+ " > ",
89
+ lastFlight?.arrivalAirportDescription,
90
+ ` (${lastFlight?.arrivalAirportIata})`,
91
+ ]).join("");
92
+ };
93
+
94
+ export const getAirlines = (flightLines: FlightLine[] | undefined) => {
95
+ return uniq(
96
+ flightLines
97
+ ?.filter((x) => x.airlineDescription)
98
+ ?.map((flightLine) => flightLine.airlineDescription)
99
+ ).join(", ");
100
+ };
101
+
102
+ export const getFlightHours = (
103
+ firstFlight: FlightLine | undefined,
104
+ lastFlight: FlightLine | undefined
105
+ ): string => {
106
+ return compact([
107
+ getDateText(firstFlight?.departureDate),
108
+ " ",
109
+ firstFlight?.departureTime,
110
+ " > ",
111
+ getDateText(lastFlight?.arrivalDate),
112
+ " ",
113
+ lastFlight?.arrivalTime,
114
+ ]).join("");
115
+ };
116
+
117
+ export const parseFlightLines = (
118
+ metaDatas: BookingPackageFlightMetaData
119
+ ): FlightLine[] | undefined => {
120
+ if (!metaDatas.flightLines) {
121
+ return undefined;
122
+ }
123
+
124
+ const parsedFlightLines: FlightLine[] = metaDatas.flightLines.map(
125
+ (parsedFlightLine) => {
126
+ const departureDate = parseFlightLineDateTime(
127
+ parsedFlightLine.departureDate,
128
+ parsedFlightLine.departureTime
129
+ );
130
+ const arrivalDate = parseFlightLineDateTime(
131
+ parsedFlightLine.arrivalDate,
132
+ parsedFlightLine.arrivalTime
133
+ );
134
+
135
+ return <FlightLine>{
136
+ departureAirportIata: parsedFlightLine.departureAirport,
137
+ departureAirportDescription:
138
+ parsedFlightLine.departureAirportDescription,
139
+ departureDate: departureDate,
140
+ departureTime: parsedFlightLine.departureTime,
141
+ arrivalAirportIata: parsedFlightLine.arrivalAirport,
142
+ arrivalAirportDescription: parsedFlightLine.arrivalAirportDescription,
143
+ arrivalDate: arrivalDate,
144
+ arrivalTime: parsedFlightLine.arrivalTime,
145
+ airlineIata: parsedFlightLine.airline,
146
+ airlineDescription: parsedFlightLine.operatingAirlineDescription,
147
+ airlineNumber: parsedFlightLine.number,
148
+ travelClass: parsedFlightLine.travelClass,
149
+ };
150
+ }
151
+ );
152
+
153
+ return orderBy(parsedFlightLines, "departureDate", "asc");
154
+ };
155
+
156
+ const parseFlightLineDateTime = (
157
+ date: string,
158
+ time: string
159
+ ): string | undefined => {
160
+ try {
161
+ // Parse date
162
+ const parsedDate = parseISO(date);
163
+
164
+ // Parse time
165
+ const parsedTimeHours = parseInt(time.substring(0, 2));
166
+ const parsedTimeMinutes = parseInt(time.substring(3, 5));
167
+
168
+ if (!Number.isNaN(parsedTimeHours) && !Number.isNaN(parsedTimeMinutes)) {
169
+ parsedDate.setUTCHours(parsedTimeHours, parsedTimeMinutes);
170
+ }
171
+
172
+ return parsedDate.toISOString().slice(0, -1);
173
+ } catch {
174
+ // Parsing failed
175
+ return undefined;
176
+ }
177
+ };