@mirai/core 0.3.397 → 0.3.398

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 (204) hide show
  1. package/build/Core.constants.js +6 -1
  2. package/build/Core.constants.js.map +1 -1
  3. package/build/Core.provider.js +1 -2
  4. package/build/Core.provider.js.map +1 -1
  5. package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js +7 -3
  6. package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js.map +1 -1
  7. package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.skeleton.test.js.snap +290 -0
  8. package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.test.js.snap +4 -4
  9. package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +5 -5
  10. package/build/components/Booking/components/Field/Field.js +1 -1
  11. package/build/components/Booking/components/Field/Field.js.map +1 -1
  12. package/build/components/Booking/components/Field/__tests__/__snapshots__/Field.test.js.snap +10 -10
  13. package/build/components/Booking/components/Hotelverse/Hotelverse.js +15 -15
  14. package/build/components/Booking/components/Hotelverse/Hotelverse.js.map +1 -1
  15. package/build/components/Booking/components/Hotelverse/__tests__/__snapshots__/Hotelverse.test.js.snap +108 -0
  16. package/build/components/Booking/helpers/getButtonPaymentKey.js +2 -7
  17. package/build/components/Booking/helpers/getButtonPaymentKey.js.map +1 -1
  18. package/build/components/Booking/helpers/getButtonPaymentKey.l10n.js +0 -3
  19. package/build/components/Booking/helpers/getButtonPaymentKey.l10n.js.map +1 -1
  20. package/build/components/Booking/partials/Booking.FormCancel.js +4 -3
  21. package/build/components/Booking/partials/Booking.FormCancel.js.map +1 -1
  22. package/build/components/Booking/partials/Booking.FormEdit.js +2 -2
  23. package/build/components/Booking/partials/Booking.FormEdit.js.map +1 -1
  24. package/build/components/Booking/partials/Booking.FormResend.js +4 -3
  25. package/build/components/Booking/partials/Booking.FormResend.js.map +1 -1
  26. package/build/components/Booking/partials/Booking.Information.js +5 -4
  27. package/build/components/Booking/partials/Booking.Information.js.map +1 -1
  28. package/build/components/Booking/partials/Booking.Payment.js +4 -3
  29. package/build/components/Booking/partials/Booking.Payment.js.map +1 -1
  30. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.FormCancel.test.js.snap +546 -0
  31. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.FormEdit.test.js.snap +46 -0
  32. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.FormResend.test.js.snap +166 -0
  33. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Information.test.js.snap +110 -0
  34. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Menu.test.js.snap +4 -4
  35. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Modal.test.js.snap +4 -4
  36. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.ModalAgency.test.js.snap +319 -0
  37. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Payment.test.js.snap +178 -0
  38. package/build/components/BookingQuery/BookingQuery.js +1 -0
  39. package/build/components/BookingQuery/BookingQuery.js.map +1 -1
  40. package/build/components/BookingQuery/__tests__/__snapshots__/BookingQuery.test.js.snap +10 -10
  41. package/build/components/ButtonFinder/__tests__/__snapshots__/ButtonFinder.test.js.snap +5 -5
  42. package/build/components/Chat/Chat.js +7 -4
  43. package/build/components/Chat/Chat.js.map +1 -1
  44. package/build/components/Chat/__tests__/__snapshots__/Chat.constants.test.js.snap +27 -0
  45. package/build/components/Chat/__tests__/__snapshots__/Chat.test.js.snap +634 -0
  46. package/build/components/Chat/components/Avatar/__tests__/__snapshots__/Avatar.test.jsx.snap +5 -5
  47. package/build/components/Chat/components/Input/__tests__/__snapshots__/Input.test.jsx.snap +4 -4
  48. package/build/components/Chat/components/InputRich/__tests__/__snapshots__/InputRich.test.jsx.snap +4 -4
  49. package/build/components/Chat/components/Message/__tests__/__snapshots__/Message.test.jsx.snap +10 -10
  50. package/build/components/Chat/components/Message/components/Booking.js +3 -2
  51. package/build/components/Chat/components/Message/components/Booking.js.map +1 -1
  52. package/build/components/Chat/components/Message/components/Card.js +3 -2
  53. package/build/components/Chat/components/Message/components/Card.js.map +1 -1
  54. package/build/components/Chat/components/Message/components/Environment.js +5 -4
  55. package/build/components/Chat/components/Message/components/Environment.js.map +1 -1
  56. package/build/components/Chat/components/Message/components/__tests__/__snapshots__/Booking.test.js.snap +53 -0
  57. package/build/components/Chat/components/Message/components/__tests__/__snapshots__/Card.test.js.snap +29 -0
  58. package/build/components/Chat/components/Message/components/__tests__/__snapshots__/Environment.test.js.snap +44 -0
  59. package/build/components/Chat/components/Offline/Offline.js +5 -4
  60. package/build/components/Chat/components/Offline/Offline.js.map +1 -1
  61. package/build/components/Chat/components/Offline/__tests__/__snapshots__/Offline.test.js.snap +162 -0
  62. package/build/components/Chat/helpers/__tests__/__snapshots__/getVerboseDate.test.js.snap +9 -0
  63. package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +8 -8
  64. package/build/components/Checkout/components/InputRadio/__tests__/__snapshots__/InputRadio.test.js.snap +4 -4
  65. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Confirmation.test.js.snap +6 -6
  66. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +4 -4
  67. package/build/components/Deals/__tests__/__snapshots__/Deals.Calendar.test.js.snap +3 -3
  68. package/build/components/Deals/__tests__/__snapshots__/Deals.constants.js.snap +15 -0
  69. package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +4 -4
  70. package/build/components/Environment/Environment.State.js +7 -5
  71. package/build/components/Environment/Environment.State.js.map +1 -1
  72. package/build/components/Environment/__tests__/__snapshots__/Environment.State.test.js.snap +120 -0
  73. package/build/components/Environment/__tests__/__snapshots__/Environment.test.js.snap +988 -0
  74. package/build/components/Finder/__tests__/__snapshots__/Finder.constants.test.js.snap +39 -0
  75. package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +14 -14
  76. package/build/components/Finder/components/Calendar/__tests__/__snapshots__/Calendar.test.js.snap +9 -9
  77. package/build/components/Finder/components/Places/__tests__/__snapshots__/Places.test.js.snap +5 -5
  78. package/build/components/Finder/helpers/__tests__/__snapshots__/getForwarderUrl.test.js.snap +7 -0
  79. package/build/components/Header/__tests__/__snapshots__/Header.test.js.snap +1187 -0
  80. package/build/components/Profile/components/Bookings/__tests__/__snapshots__/Bookings.test.js.snap +1 -1
  81. package/build/components/Rates/Rates.Content.js +3 -2
  82. package/build/components/Rates/Rates.Content.js.map +1 -1
  83. package/build/components/Rates/Rates.Footer.js +5 -4
  84. package/build/components/Rates/Rates.Footer.js.map +1 -1
  85. package/build/components/Rates/Rates.RoomSelector.js +6 -4
  86. package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
  87. package/build/components/Rates/Rates.constants.js +1 -0
  88. package/build/components/Rates/Rates.constants.js.map +1 -1
  89. package/build/components/Rates/Rates.js +4 -2
  90. package/build/components/Rates/Rates.js.map +1 -1
  91. package/build/components/Rates/__tests__/__snapshots__/Rates.Content.test.js.snap +26 -0
  92. package/build/components/Rates/__tests__/__snapshots__/Rates.Footer.test.js.snap +50 -0
  93. package/build/components/Rates/__tests__/__snapshots__/Rates.Header.test.js.snap +10 -0
  94. package/build/components/Rates/__tests__/__snapshots__/Rates.RoomSelector.test.js.snap +3 -0
  95. package/build/components/Rates/__tests__/__snapshots__/Rates.Unavailability.test.js.snap +63 -0
  96. package/build/components/Rates/__tests__/__snapshots__/Rates.test.js.snap +11091 -0
  97. package/build/components/Rates/components/CardHotel/CardHotel.js +3 -3
  98. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  99. package/build/components/Rates/components/CardHotel/__tests__/__snapshots__/CardHotel.test.js.snap +85 -0
  100. package/build/components/Rates/components/ClubRate/__tests__/__snapshots__/ClubRate.test.js.snap +38 -0
  101. package/build/components/Rates/components/Filters/Filters.js +1 -1
  102. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  103. package/build/components/Rates/components/Filters/__tests__/__snapshots__/FIlters.Button.test.js.snap +33 -0
  104. package/build/components/Rates/components/Filters/__tests__/__snapshots__/Filters.Amenity.test.js.snap +21 -0
  105. package/build/components/Rates/components/Filters/__tests__/__snapshots__/Filters.BookingOption.test.js.snap +32 -0
  106. package/build/components/Rates/components/Filters/__tests__/__snapshots__/Filters.test.js.snap +168 -0
  107. package/build/components/Rates/components/Hotelverse/Hotelverse.js +8 -13
  108. package/build/components/Rates/components/Hotelverse/Hotelverse.js.map +1 -1
  109. package/build/components/Rates/components/Hotelverse/__tests__/__snapshots__/Hotelverse.test.js.snap +3 -0
  110. package/build/components/Rates/components/Item/Item.Preview.js +2 -2
  111. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  112. package/build/components/Rates/components/Item/Item.Rates.js +6 -9
  113. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  114. package/build/components/Rates/components/Item/Item.Summary.js +33 -8
  115. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
  116. package/build/components/Rates/components/Item/Item.js +2 -0
  117. package/build/components/Rates/components/Item/Item.js.map +1 -1
  118. package/build/components/Rates/components/Item/Item.module.css +11 -0
  119. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Preview.test.js.snap +93 -0
  120. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Rates.test.js.snap +9 -0
  121. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Summary.test.js.snap +53 -0
  122. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.test.js.snap +151 -0
  123. package/build/components/Rates/components/Item/components/Amenities/__tests__/__snapshots__/Amenities.test.js.snap +3 -0
  124. package/build/components/Rates/components/Item/components/Features/__tests__/__snapshots__/Features.test.js.snap +40 -0
  125. package/build/components/Rates/components/Item/components/ModalCancellationInfo/__tests__/__snapshots__/ModalCancellationInfo.test.js.snap +35 -0
  126. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +1 -1
  127. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  128. package/build/components/Rates/components/Item/components/ModalInfo/__tests__/__snapshots__/ModalInfo.test.js.snap +72 -0
  129. package/build/components/Rates/components/Item/components/ModalOfferInfo/__tests__/__snapshots__/ModalOfferInfo.test.js.snap +49 -0
  130. package/build/components/Rates/components/Item/components/ModalUrl/__tests__/__snapshots__/ModalUrl.test.js.snap +50 -0
  131. package/build/components/Rates/components/Item/components/Option/__tests__/__snapshots__/Option.test.js.snap +18 -0
  132. package/build/components/Rates/components/Item/components/PriceDetails/__tests__/__snapshots__/PriceDetails.test.js.snap +23 -0
  133. package/build/components/Rates/components/Item/components/RateDetails/__tests__/__snapshots__/RateDetails.Countdown.test.js.snap +3 -0
  134. package/build/components/Rates/components/Item/components/RateDetails/__tests__/__snapshots__/RateDetails.test.js.snap +3 -0
  135. package/build/components/Rates/components/Item/components/Slider/__tests__/__snapshots__/Slider.test.js.snap +27 -0
  136. package/build/components/Rates/components/Item/components/TooltipDates/__tests__/__snapshots__/TooltipDates.test.js.snap +3 -0
  137. package/build/components/Rates/components/ModalExtras/__tests__/__snapshots__/ModalExtras.test.js.snap +68 -0
  138. package/build/components/Rates/components/ModalMapView/__tests__/__snapshots__/ModalMapView.test.js.snap +66 -0
  139. package/build/components/Rates/helpers/getCheckoutParams.js +2 -2
  140. package/build/components/Rates/helpers/getCheckoutParams.js.map +1 -1
  141. package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +7 -7
  142. package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +3 -3
  143. package/build/components/__shared__/BookingDates/__tests__/__snapshots__/BookingDates.test.js.snap +7 -7
  144. package/build/components/__shared__/BookingDetails/__tests__/__snapshots__/BookingDetails.test.js.snap +6 -6
  145. package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.constants.test.js +25 -0
  146. package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.constants.test.js.map +1 -0
  147. package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.test.js +5 -5
  148. package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.test.js.map +1 -1
  149. package/build/components/__shared__/BookingSummary/_tests__/__snapshots__/BookingSummary.test.js.snap +4 -4
  150. package/build/components/__shared__/BookingTable/__tests__/__snapshots__/BookingTable.Row.test.js.snap +10 -10
  151. package/build/components/__shared__/BookingTable/__tests__/__snapshots__/BookingTable.test.js.snap +6 -6
  152. package/build/components/__shared__/BookingTerms/__tests__/__snapshots__/BookingTerms.test.js.snap +4 -4
  153. package/build/components/__shared__/ButtonMore/__tests__/__snapshots__/ButtonMore.test.js.snap +3 -3
  154. package/build/components/__shared__/ButtonPayment/__tests__/__snapshots__/ButtonPayment.test.js.snap +4 -4
  155. package/build/components/__shared__/ButtonPayment/components/Form/Form.js +4 -2
  156. package/build/components/__shared__/ButtonPayment/components/Form/Form.js.map +1 -1
  157. package/build/components/__shared__/ButtonPayment/components/Form/__tests__/__snapshots__/Form.test.js.snap +65 -0
  158. package/build/components/__shared__/ButtonPayment/components/FormAddon/__tests__/__snapshots__/FormAddon.test.js.snap +3 -3
  159. package/build/components/__shared__/ButtonPayment/components/FormCheckout/__tests__/__snapshots__/FormCheckout.test.js.snap +3 -3
  160. package/build/components/__shared__/ButtonPayment/components/FormCheckout/helpers/__tests__/__snapshots__/getStyle.test.js.snap +23 -0
  161. package/build/components/__shared__/ButtonPayment/components/FormPaycomet/__tests__/__snapshots__/FormPaycomet.test.js.snap +1 -1
  162. package/build/components/__shared__/ButtonPayment/components/FormSipay/__tests__/__snapshots__/FormSipay.test.js.snap +3 -3
  163. package/build/components/__shared__/ButtonPayment/components/InputField/__tests__/__snapshots__/InputField.test.js.snap +6 -6
  164. package/build/components/__shared__/Card/__tests__/__snapshots__/Card.test.js.snap +34 -0
  165. package/build/components/__shared__/Countdown/__tests__/__snapshots__/Countdown.test.js.snap +4 -4
  166. package/build/components/__shared__/Field/__tests__/__snapshots__/Field.test.js.snap +17 -17
  167. package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +8 -8
  168. package/build/components/__shared__/FieldPromocode/__tests__/__snapshots__/FieldPromocode.test.jsx.snap +5 -5
  169. package/build/components/__shared__/Footer/__tests__/__snapshots__/Footer.test.js.snap +4 -4
  170. package/build/components/__shared__/NotificationRequiredFields/__tests__/__snapshots__/NotificationRequiredFields.test.js.snap +118 -0
  171. package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +10 -10
  172. package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +5 -5
  173. package/build/components/__shared__/Payment/components/AmazonPay/__tests__/__snapshots__/AmazonPay.test.js.snap +2 -2
  174. package/build/components/__shared__/Payment/components/Aplazame/__tests__/__snapshots__/Aplazame.test.js.snap +1 -1
  175. package/build/components/__shared__/Payment/components/Card/__tests__/__snapshots__/Card.test.js.snap +6 -6
  176. package/build/components/__shared__/Payment/components/PCI/__tests__/__snapshots__/PCI.test.js.snap +4 -4
  177. package/build/components/__shared__/Payment/components/Tpv/__tests__/__snapshots__/Tpv.test.js.snap +3 -3
  178. package/build/components/__shared__/PriceBreakdown/PriceBreakdown.js +1 -1
  179. package/build/components/__shared__/PriceBreakdown/PriceBreakdown.js.map +1 -1
  180. package/build/components/__shared__/PriceBreakdown/__tests__/__snapshots__/PriceBreakdown.Line.test.js.snap +49 -0
  181. package/build/components/__shared__/PriceBreakdown/__tests__/__snapshots__/PriceBreakdown.test.js.snap +337 -0
  182. package/build/components/__shared__/SelectEnvironment/__tests__/__snapshots__/SelectEnvironment.test.js.snap +6 -6
  183. package/build/components/__shared__/Skeleton/__tests__/__snapshots__/Skeleton.test.js.snap +66 -0
  184. package/build/components/__shared__/TextRequiredFields/__tests__/__snapshots__/TextRequiredFields.test.js.snap +3 -3
  185. package/build/components/helpers/addScript.js +2 -2
  186. package/build/components/helpers/addScript.js.map +1 -1
  187. package/build/components/helpers/parseHtml.js +0 -1
  188. package/build/components/helpers/parseHtml.js.map +1 -1
  189. package/build/contexts/PerfomanceManager/providers/gtm/ratesResponse.js +0 -1
  190. package/build/contexts/PerfomanceManager/providers/gtm/ratesResponse.js.map +1 -1
  191. package/build/helpers/checkSession.js.map +1 -1
  192. package/build/helpers/debounce.js +2 -1
  193. package/build/helpers/debounce.js.map +1 -1
  194. package/build/helpers/fetchCookies.js +2 -2
  195. package/build/helpers/fetchCookies.js.map +1 -1
  196. package/build/helpers/loadSentry.js +1 -4
  197. package/build/helpers/loadSentry.js.map +1 -1
  198. package/build/helpers/toOccupation.js +1 -1
  199. package/build/helpers/toOccupation.js.map +1 -1
  200. package/build/index.js +1 -2
  201. package/build/index.js.map +1 -1
  202. package/package.json +1 -1
  203. package/build/Core.definition.js +0 -10
  204. package/build/Core.definition.js.map +0 -1
@@ -18,6 +18,10 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
  const Summary = _ref => {
20
20
  let {
21
+ availableRates = [],
22
+ features: {
23
+ showPricePerNight = false
24
+ } = {},
21
25
  id: roomId,
22
26
  isSoldOut = false,
23
27
  multiRoom = false,
@@ -26,6 +30,7 @@ const Summary = _ref => {
26
30
  selected = {},
27
31
  selectedBoard = {},
28
32
  taxesType,
33
+ valueFactor = 1,
29
34
  onSelect
30
35
  } = _ref;
31
36
  const {
@@ -53,8 +58,8 @@ const Summary = _ref => {
53
58
  fees,
54
59
  id,
55
60
  name,
56
- originalPrice,
57
- price,
61
+ originalPrice = 0,
62
+ price = 0,
58
63
  rateId,
59
64
  taxes,
60
65
  totalPriceRaw
@@ -83,15 +88,30 @@ const Summary = _ref => {
83
88
  const {
84
89
  percentage: discountPercentage = 0
85
90
  } = discount || {};
91
+ const isClub = (0, _helpers.isClubRate)({
92
+ board: selectedBoard,
93
+ rate: availableRates.find(_ref2 => {
94
+ let {
95
+ id
96
+ } = _ref2;
97
+ return rateId === id;
98
+ })
99
+ });
86
100
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
87
101
  className: [style.offset, style.summary]
88
- }, !isSoldOut && discountPercentage > 0 && /*#__PURE__*/_react.default.createElement(_ui.Text, {
102
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
103
+ row: true
104
+ }, isClub && /*#__PURE__*/_react.default.createElement(_ui.Text, {
105
+ bold: true,
106
+ small: true,
107
+ className: [style.tag, style.highlight]
108
+ }, translate(_Item.L10N.LABEL_ONLY_MEMBERS)), !isSoldOut && discountPercentage > 0 && /*#__PURE__*/_react.default.createElement(_ui.Text, {
89
109
  accent: true,
90
110
  bold: true,
91
111
  small: true
92
112
  }, translate(_Item.L10N.LABEL_DISCOUNT, {
93
113
  value: "".concat(discountPercentage, "%")
94
- })), /*#__PURE__*/_react.default.createElement(_ui.View, {
114
+ }))), /*#__PURE__*/_react.default.createElement(_ui.View, {
95
115
  row: true,
96
116
  className: [style.gap, style.content, isSoldOut && style.end]
97
117
  }, !isSoldOut && /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
@@ -104,7 +124,7 @@ const Summary = _ref => {
104
124
  }, currencyFormat({
105
125
  currency,
106
126
  maximumFractionDigits: 0,
107
- value: price
127
+ value: price / valueFactor
108
128
  })), price !== originalPrice && /*#__PURE__*/_react.default.createElement(_ui.Text, {
109
129
  action: true,
110
130
  light: true,
@@ -112,14 +132,14 @@ const Summary = _ref => {
112
132
  }, currencyFormat({
113
133
  currency,
114
134
  maximumFractionDigits: 0,
115
- value: originalPrice
135
+ value: originalPrice / valueFactor
116
136
  }))), nights > 1 && /*#__PURE__*/_react.default.createElement(_ui.Text, {
117
137
  small: !isMobile,
118
138
  tiny: isMobile
119
139
  }, "".concat(currencyFormat({
120
140
  currency,
121
- value: dayPrice
122
- }), " ").concat(translate(_Item.L10N.LABEL_PER_NIGHT))), !!taxesType && /*#__PURE__*/_react.default.createElement(_ui.Text, {
141
+ value: showPricePerNight ? price : dayPrice
142
+ }), " ").concat(translate(showPricePerNight ? _Item.L10N.LABEL_TOTAL : _Item.L10N.LABEL_PER_NIGHT))), !!taxesType && /*#__PURE__*/_react.default.createElement(_ui.Text, {
123
143
  light: true,
124
144
  small: !isMobile,
125
145
  tiny: isMobile
@@ -136,6 +156,10 @@ const Summary = _ref => {
136
156
  exports.Summary = Summary;
137
157
  Summary.displayName = 'Mirai:Core:Rates:Item:Summary';
138
158
  Summary.propTypes = {
159
+ availableRates: _propTypes.default.arrayOf(_propTypes.default.any),
160
+ features: _propTypes.default.shape({
161
+ showPricePerNight: _propTypes.default.bool
162
+ }),
139
163
  id: _propTypes.default.number,
140
164
  isSoldOut: _propTypes.default.bool,
141
165
  multiRoom: _propTypes.default.bool,
@@ -144,6 +168,7 @@ Summary.propTypes = {
144
168
  selected: _propTypes.default.shape({}),
145
169
  selectedBoard: _propTypes.default.shape({}),
146
170
  taxesType: _propTypes.default.number,
171
+ valueFactor: _propTypes.default.number,
147
172
  onSelect: _propTypes.default.func
148
173
  };
149
174
  //# sourceMappingURL=Item.Summary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","id","roomId","isSoldOut","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","onSelect","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","basePrice","cancellationId","checkoutPrice","confidential","dayPrice","deals","discount","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","percentage","discountPercentage","createElement","Fragment","View","className","offset","summary","Text","accent","bold","small","L10N","LABEL_DISCOUNT","concat","row","gap","content","end","headline","level","maximumFractionDigits","action","light","lineThrough","tiny","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","board","priceDetails","Button","disabled","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","number","bool","string","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { getLabelTaxes } from '../../helpers';\n\nconst Summary = ({\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n basePrice,\n cancellationId,\n checkoutPrice,\n confidential,\n dayPrice,\n deals,\n discount,\n fees,\n id,\n name,\n originalPrice,\n price,\n rateId,\n taxes,\n totalPriceRaw,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(\n !isSelected\n ? {\n basePrice,\n cancellationId,\n checkoutPrice,\n confidential,\n deals,\n discount,\n fees,\n id,\n name,\n price,\n rateId,\n roomId,\n roomName,\n taxes,\n totalPriceRaw,\n }\n : undefined,\n );\n };\n\n const { percentage: discountPercentage = 0 } = discount || {};\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n {!isSoldOut && discountPercentage > 0 && (\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <View row className={[style.gap, style.content, isSoldOut && style.end]}>\n {!isSoldOut && (\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_NIGHT,\n )}`}</Text>\n )}\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button busy={busy} disabled={isSoldOut} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(\n isSoldOut\n ? L10N.LABEL_NOT_AVAILABLE\n : multiRoom\n ? isSelected\n ? L10N.LABEL_DESELECT\n : L10N.LABEL_SELECT\n : L10N.ACTION_RESERVE,\n )}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","availableRates","features","showPricePerNight","id","roomId","isSoldOut","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","valueFactor","onSelect","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","basePrice","cancellationId","checkoutPrice","confidential","dayPrice","deals","discount","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","percentage","discountPercentage","isClub","isClubRate","board","rate","find","_ref2","createElement","Fragment","View","className","offset","summary","row","Text","bold","small","tag","highlight","L10N","LABEL_ONLY_MEMBERS","accent","LABEL_DISCOUNT","concat","gap","content","end","headline","level","maximumFractionDigits","action","light","lineThrough","tiny","LABEL_TOTAL","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","priceDetails","Button","disabled","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","bool","number","string","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { getLabelTaxes, isClubRate } from '../../helpers';\n\nconst Summary = ({\n availableRates = [],\n features: { showPricePerNight = false } = {},\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n valueFactor = 1,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n basePrice,\n cancellationId,\n checkoutPrice,\n confidential,\n dayPrice,\n deals,\n discount,\n fees,\n id,\n name,\n originalPrice = 0,\n price = 0,\n rateId,\n taxes,\n totalPriceRaw,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(\n !isSelected\n ? {\n basePrice,\n cancellationId,\n checkoutPrice,\n confidential,\n deals,\n discount,\n fees,\n id,\n name,\n price,\n rateId,\n roomId,\n roomName,\n taxes,\n totalPriceRaw,\n }\n : undefined,\n );\n };\n\n const { percentage: discountPercentage = 0 } = discount || {};\n\n const isClub = isClubRate({\n board: selectedBoard,\n rate: availableRates.find(({ id }) => rateId === id),\n });\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n <View row>\n {isClub && (\n <Text bold small className={[style.tag, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {!isSoldOut && discountPercentage > 0 && (\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\n\n <View row className={[style.gap, style.content, isSoldOut && style.end]}>\n {!isSoldOut && (\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price / valueFactor })}\n </Text>\n\n {price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice / valueFactor })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({\n currency,\n value: showPricePerNight ? price : dayPrice,\n })} ${translate(showPricePerNight ? L10N.LABEL_TOTAL : L10N.LABEL_PER_NIGHT)}`}</Text>\n )}\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button busy={busy} disabled={isSoldOut} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(\n isSoldOut\n ? L10N.LABEL_NOT_AVAILABLE\n : multiRoom\n ? isSelected\n ? L10N.LABEL_DESELECT\n : L10N.LABEL_SELECT\n : L10N.ACTION_RESERVE,\n )}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n availableRates: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n showPricePerNight: PropTypes.bool,\n }),\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n valueFactor: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":"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"}
@@ -106,6 +106,7 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
106
106
  rowMode,
107
107
  showAllBoards,
108
108
  showAllOffers,
109
+ showPricePerNight,
109
110
  showOffersFirst
110
111
  } = features;
111
112
  const {
@@ -165,6 +166,7 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
165
166
  }).sort((a, b) => a.price - b.price) : rates.filter(rate => rate.cancellationId === cancellationId),
166
167
  selected,
167
168
  selectedBoard,
169
+ valueFactor: showPricePerNight && others.nights > 1 ? others.nights : 1,
168
170
  onSelect
169
171
  };
170
172
  return /*#__PURE__*/_react.default.createElement(_shared__.Card, {
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","roomName","name","nextBoard","find","board","cancellationId","rateId","handleBoard","clearSelection","handleCancellation","_ref2","handleRate","_ref3","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","rate","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || boards.length < 1) return;\n setSelectedBoard(metaBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const updateSelectedBoard = () => {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n };\n\n const handleBoard = (board) => {\n clearSelection();\n\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n (rates.length === 0 ||\n (Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id));\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n onSelect,\n };\n\n return (\n <Card\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n }),\n multiRoom: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","roomName","name","nextBoard","find","board","cancellationId","rateId","handleBoard","clearSelection","handleCancellation","_ref2","handleRate","_ref3","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showPricePerNight","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","rate","selectedCancellation","valueFactor","nights","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || boards.length < 1) return;\n setSelectedBoard(metaBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const updateSelectedBoard = () => {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n };\n\n const handleBoard = (board) => {\n clearSelection();\n\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showPricePerNight, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n (rates.length === 0 ||\n (Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id));\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n valueFactor: showPricePerNight && others.nights > 1 ? others.nights : 1,\n onSelect,\n };\n\n return (\n <Card\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n }),\n multiRoom: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
@@ -157,6 +157,17 @@
157
157
  align-items: flex-end;
158
158
  }
159
159
 
160
+ .summary .tag {
161
+ display: inline-flex;
162
+ gap: calc(var(--mirai-ui-space-XXS) / 2);
163
+ background-color: var(--mirai-ui-accent);
164
+ color: var(--mirai-ui-base);
165
+ border-radius: var(--mirai-ui-space-XXS);
166
+ padding: 0 var(--mirai-ui-space-XXS);
167
+ margin-right: var(--mirai-ui-space-XXS);
168
+ width: fit-content;
169
+ }
170
+
160
171
  /* S */
161
172
  @media only screen and (max-width: 480px) {
162
173
  .card .offset {
@@ -0,0 +1,93 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`<Rates> <Item.Preview> renders 1`] = `
4
+ <DocumentFragment>
5
+ <ui-view
6
+ class="view"
7
+ >
8
+ <ui-view
9
+ class="view"
10
+ style="height: 208px; max-height: 208px;"
11
+ >
12
+ <ui-slider
13
+ class="view slider"
14
+ style="height: 208px; max-height: 208px; width: 374px;"
15
+ >
16
+ <ui-scrollview
17
+ class="scrollview snap horizontal scrollView"
18
+ style="width: 374px;"
19
+ />
20
+ <ui-progress
21
+ class="view progress progress"
22
+ >
23
+ <ui-progress-value
24
+ class="view value"
25
+ style="width: 0%;"
26
+ />
27
+ </ui-progress>
28
+ </ui-slider>
29
+ </ui-view>
30
+ <ui-view
31
+ class="view row"
32
+ >
33
+ <ui-view
34
+ class="view row"
35
+ >
36
+ <ui-view
37
+ class="view row"
38
+ >
39
+ <ui-icon
40
+ class="icon headline-3"
41
+ >
42
+ <svg
43
+ fill="currentColor"
44
+ height="1em"
45
+ stroke="currentColor"
46
+ stroke-width="0"
47
+ viewBox="0 0 24 24"
48
+ width="1em"
49
+ xmlns="http://www.w3.org/2000/svg"
50
+ >
51
+ <path
52
+ d="M0 0h24v24H0V0z"
53
+ fill="none"
54
+ />
55
+ <path
56
+ d="M9 13.75c-2.34 0-7 1.17-7 3.5V19h14v-1.75c0-2.33-4.66-3.5-7-3.5zM4.34 17c.84-.58 2.87-1.25 4.66-1.25s3.82.67 4.66 1.25H4.34zM9 12c1.93 0 3.5-1.57 3.5-3.5S10.93 5 9 5 5.5 6.57 5.5 8.5 7.07 12 9 12zm0-5c.83 0 1.5.67 1.5 1.5S9.83 10 9 10s-1.5-.67-1.5-1.5S8.17 7 9 7zm7.04 6.81c1.16.84 1.96 1.96 1.96 3.44V19h4v-1.75c0-2.02-3.5-3.17-5.96-3.44zM15 12c1.93 0 3.5-1.57 3.5-3.5S16.93 5 15 5c-.54 0-1.04.13-1.5.35.63.89 1 1.98 1 3.15s-.37 2.26-1 3.15c.46.22.96.35 1.5.35z"
57
+ />
58
+ </svg>
59
+ </ui-icon>
60
+ <ui-text
61
+ class="text small"
62
+ >
63
+ 2
64
+ </ui-text>
65
+ </ui-view>
66
+ </ui-view>
67
+ <ui-text
68
+ class="text bold error small"
69
+ >
70
+ finder.label.remaining_items
71
+ </ui-text>
72
+ </ui-view>
73
+ <ui-view
74
+ class="view"
75
+ style="flex: 1;"
76
+ >
77
+ <ui-text
78
+ class="text bold brand headline-3"
79
+ />
80
+ <ui-view
81
+ class="view row"
82
+ >
83
+ <ui-action
84
+ class="pressable action"
85
+ tabindex="0"
86
+ >
87
+ common.action.more_info
88
+ </ui-action>
89
+ </ui-view>
90
+ </ui-view>
91
+ </ui-view>
92
+ </DocumentFragment>
93
+ `;
@@ -0,0 +1,9 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`<Rates> <Item.Rates> renders 1`] = `
4
+ <DocumentFragment>
5
+ <ui-view
6
+ class="view"
7
+ />
8
+ </DocumentFragment>
9
+ `;
@@ -0,0 +1,53 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`<Rates> <Item.Summary> renders 1`] = `
4
+ <DocumentFragment>
5
+ <ui-view
6
+ class="view"
7
+ >
8
+ <ui-view
9
+ class="view row"
10
+ />
11
+ <ui-view
12
+ class="view row"
13
+ >
14
+ <ui-view
15
+ class="view"
16
+ >
17
+ <ui-view
18
+ class="view row"
19
+ >
20
+ <ui-text
21
+ class="text bold headline-2"
22
+ >
23
+ 0 EUR
24
+ </ui-text>
25
+ </ui-view>
26
+ <ui-text
27
+ class="text small"
28
+ >
29
+ 0 EUR finder.label.per_night
30
+ </ui-text>
31
+ </ui-view>
32
+ <ui-button
33
+ class="pressable button"
34
+ disabled="false"
35
+ tabindex="0"
36
+ >
37
+ <ui-view
38
+ class="view busyContainer"
39
+ >
40
+ <ui-view
41
+ class="view spinner"
42
+ />
43
+ </ui-view>
44
+ <ui-view
45
+ class="view row children"
46
+ >
47
+ common.action.reserve
48
+ </ui-view>
49
+ </ui-button>
50
+ </ui-view>
51
+ </ui-view>
52
+ </DocumentFragment>
53
+ `;
@@ -0,0 +1,151 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`<Rates> <Item> renders 1`] = `
4
+ <DocumentFragment>
5
+ <ui-view
6
+ class="view"
7
+ >
8
+ <ui-view
9
+ class="view"
10
+ >
11
+ <ui-view
12
+ class="view"
13
+ >
14
+ <ui-view
15
+ class="view"
16
+ style="height: 208px; max-height: 208px;"
17
+ >
18
+ <ui-slider
19
+ class="view slider"
20
+ style="height: 208px; max-height: 208px; width: 374px;"
21
+ >
22
+ <ui-scrollview
23
+ class="scrollview snap horizontal scrollView"
24
+ style="width: 374px;"
25
+ />
26
+ <ui-progress
27
+ class="view progress progress"
28
+ >
29
+ <ui-progress-value
30
+ class="view value"
31
+ style="width: 0%;"
32
+ />
33
+ </ui-progress>
34
+ </ui-slider>
35
+ </ui-view>
36
+ <ui-view
37
+ class="view row"
38
+ >
39
+ <ui-view
40
+ class="view row"
41
+ >
42
+ <ui-view
43
+ class="view row"
44
+ >
45
+ <ui-icon
46
+ class="icon headline-3"
47
+ >
48
+ <svg
49
+ fill="currentColor"
50
+ height="1em"
51
+ stroke="currentColor"
52
+ stroke-width="0"
53
+ viewBox="0 0 24 24"
54
+ width="1em"
55
+ xmlns="http://www.w3.org/2000/svg"
56
+ >
57
+ <path
58
+ d="M0 0h24v24H0V0z"
59
+ fill="none"
60
+ />
61
+ <path
62
+ d="M9 13.75c-2.34 0-7 1.17-7 3.5V19h14v-1.75c0-2.33-4.66-3.5-7-3.5zM4.34 17c.84-.58 2.87-1.25 4.66-1.25s3.82.67 4.66 1.25H4.34zM9 12c1.93 0 3.5-1.57 3.5-3.5S10.93 5 9 5 5.5 6.57 5.5 8.5 7.07 12 9 12zm0-5c.83 0 1.5.67 1.5 1.5S9.83 10 9 10s-1.5-.67-1.5-1.5S8.17 7 9 7zm7.04 6.81c1.16.84 1.96 1.96 1.96 3.44V19h4v-1.75c0-2.02-3.5-3.17-5.96-3.44zM15 12c1.93 0 3.5-1.57 3.5-3.5S16.93 5 15 5c-.54 0-1.04.13-1.5.35.63.89 1 1.98 1 3.15s-.37 2.26-1 3.15c.46.22.96.35 1.5.35z"
63
+ />
64
+ </svg>
65
+ </ui-icon>
66
+ <ui-text
67
+ class="text small"
68
+ >
69
+ 2
70
+ </ui-text>
71
+ </ui-view>
72
+ </ui-view>
73
+ <ui-text
74
+ class="text bold error small"
75
+ >
76
+ finder.label.remaining_items
77
+ </ui-text>
78
+ </ui-view>
79
+ <ui-view
80
+ class="view"
81
+ style="flex: 1;"
82
+ >
83
+ <ui-text
84
+ class="text bold brand headline-3"
85
+ />
86
+ <ui-view
87
+ class="view row"
88
+ >
89
+ <ui-action
90
+ class="pressable action"
91
+ tabindex="0"
92
+ >
93
+ common.action.more_info
94
+ </ui-action>
95
+ </ui-view>
96
+ </ui-view>
97
+ </ui-view>
98
+ <ui-view
99
+ class="view"
100
+ />
101
+ <ui-view
102
+ class="view"
103
+ >
104
+ <ui-view
105
+ class="view row"
106
+ />
107
+ <ui-view
108
+ class="view row"
109
+ >
110
+ <ui-view
111
+ class="view"
112
+ >
113
+ <ui-view
114
+ class="view row"
115
+ >
116
+ <ui-text
117
+ class="text bold headline-2"
118
+ >
119
+ 0 EUR
120
+ </ui-text>
121
+ </ui-view>
122
+ <ui-text
123
+ class="text small"
124
+ >
125
+ 0 EUR finder.label.per_night
126
+ </ui-text>
127
+ </ui-view>
128
+ <ui-button
129
+ class="pressable button"
130
+ disabled="false"
131
+ tabindex="0"
132
+ >
133
+ <ui-view
134
+ class="view busyContainer"
135
+ >
136
+ <ui-view
137
+ class="view spinner"
138
+ />
139
+ </ui-view>
140
+ <ui-view
141
+ class="view row children"
142
+ >
143
+ common.action.reserve
144
+ </ui-view>
145
+ </ui-button>
146
+ </ui-view>
147
+ </ui-view>
148
+ </ui-view>
149
+ </ui-view>
150
+ </DocumentFragment>
151
+ `;
@@ -0,0 +1,3 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`<Rates> <Item> <Amenities> renders 1`] = `<DocumentFragment />`;
@@ -0,0 +1,40 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`<Rates> <Item> <Features> renders 1`] = `
4
+ <DocumentFragment>
5
+ <ui-view
6
+ class="view row"
7
+ >
8
+ <ui-view
9
+ class="view row"
10
+ >
11
+ <ui-icon
12
+ class="icon headline-3"
13
+ >
14
+ <svg
15
+ fill="currentColor"
16
+ height="1em"
17
+ stroke="currentColor"
18
+ stroke-width="0"
19
+ viewBox="0 0 24 24"
20
+ width="1em"
21
+ xmlns="http://www.w3.org/2000/svg"
22
+ >
23
+ <path
24
+ d="M0 0h24v24H0V0z"
25
+ fill="none"
26
+ />
27
+ <path
28
+ d="M9 13.75c-2.34 0-7 1.17-7 3.5V19h14v-1.75c0-2.33-4.66-3.5-7-3.5zM4.34 17c.84-.58 2.87-1.25 4.66-1.25s3.82.67 4.66 1.25H4.34zM9 12c1.93 0 3.5-1.57 3.5-3.5S10.93 5 9 5 5.5 6.57 5.5 8.5 7.07 12 9 12zm0-5c.83 0 1.5.67 1.5 1.5S9.83 10 9 10s-1.5-.67-1.5-1.5S8.17 7 9 7zm7.04 6.81c1.16.84 1.96 1.96 1.96 3.44V19h4v-1.75c0-2.02-3.5-3.17-5.96-3.44zM15 12c1.93 0 3.5-1.57 3.5-3.5S16.93 5 15 5c-.54 0-1.04.13-1.5.35.63.89 1 1.98 1 3.15s-.37 2.26-1 3.15c.46.22.96.35 1.5.35z"
29
+ />
30
+ </svg>
31
+ </ui-icon>
32
+ <ui-text
33
+ class="text small"
34
+ >
35
+ 2
36
+ </ui-text>
37
+ </ui-view>
38
+ </ui-view>
39
+ </DocumentFragment>
40
+ `;