@mirai/core 0.3.336 → 0.3.337

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 (92) hide show
  1. package/build/components/BannerLoyalty/BannerLoyalty.js +3 -1
  2. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  3. package/build/components/BannerLoyalty/BannerLoyalty.module.css +1 -0
  4. package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.test.js.snap +34 -34
  5. package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +270 -260
  6. package/build/components/Booking/components/Field/__tests__/__snapshots__/Field.test.js.snap +36 -36
  7. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Menu.test.js.snap +164 -148
  8. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Modal.test.js.snap +128 -104
  9. package/build/components/BookingQuery/__tests__/__snapshots__/BookingQuery.test.js.snap +332 -290
  10. package/build/components/Chat/Chat.js +2 -1
  11. package/build/components/Chat/Chat.js.map +1 -1
  12. package/build/components/Chat/components/Avatar/__tests__/__snapshots__/Avatar.test.jsx.snap +30 -30
  13. package/build/components/Chat/components/Input/__tests__/__snapshots__/Input.test.jsx.snap +27 -24
  14. package/build/components/Chat/components/InputRich/__tests__/__snapshots__/InputRich.test.jsx.snap +75 -68
  15. package/build/components/Chat/components/Message/__tests__/__snapshots__/Message.test.jsx.snap +74 -74
  16. package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +392 -376
  17. package/build/components/Checkout/components/InputRadio/InputRadio.module.css +4 -0
  18. package/build/components/Checkout/components/InputRadio/__tests__/__snapshots__/InputRadio.test.js.snap +124 -100
  19. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Confirmation.test.js.snap +606 -588
  20. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +824 -748
  21. package/build/components/Deals/__tests__/__snapshots__/Deals.Calendar.test.js.snap +1761 -1758
  22. package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +2794 -2760
  23. package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +8106 -7994
  24. package/build/components/Finder/components/Calendar/__tests__/__snapshots__/Calendar.test.js.snap +4325 -4318
  25. package/build/components/Finder/components/Places/__tests__/__snapshots__/Places.test.js.snap +139 -115
  26. package/build/components/Profile/components/Bookings/__tests__/__snapshots__/Bookings.test.js.snap +6 -6
  27. package/build/components/Rates/Rates.Footer.js +5 -2
  28. package/build/components/Rates/Rates.Footer.js.map +1 -1
  29. package/build/components/Rates/Rates.RoomSelector.js +7 -14
  30. package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
  31. package/build/components/Rates/Rates.js +13 -7
  32. package/build/components/Rates/Rates.js.map +1 -1
  33. package/build/components/Rates/Rates.module.css +7 -51
  34. package/build/components/Rates/components/Filters/Filters.js +1 -0
  35. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  36. package/build/components/Rates/components/Item/Item.Rates.js +24 -15
  37. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  38. package/build/components/Rates/components/Item/Item.module.css +9 -10
  39. package/build/components/Rates/components/Item/components/{ModalRateInfo/ModalRateInfo.js → ModalCancellationInfo/ModalCancellationInfo.js} +7 -7
  40. package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.js.map +1 -0
  41. package/build/components/Rates/components/Item/components/ModalCancellationInfo/index.js +17 -0
  42. package/build/components/Rates/components/Item/components/ModalCancellationInfo/index.js.map +1 -0
  43. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +1 -0
  44. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  45. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +81 -0
  46. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -0
  47. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.module.css +24 -0
  48. package/build/components/Rates/components/Item/components/ModalOfferInfo/index.js +17 -0
  49. package/build/components/Rates/components/Item/components/ModalOfferInfo/index.js.map +1 -0
  50. package/build/components/Rates/components/Item/components/Option/Option.module.css +1 -1
  51. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +7 -16
  52. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
  53. package/build/components/Rates/components/Item/components/index.js +15 -4
  54. package/build/components/Rates/components/Item/components/index.js.map +1 -1
  55. package/build/components/Rates/components/Item/index.js +12 -5
  56. package/build/components/Rates/components/Item/index.js.map +1 -1
  57. package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +351 -305
  58. package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +303 -270
  59. package/build/components/__shared__/BookingDates/__tests__/__snapshots__/BookingDates.test.js.snap +74 -74
  60. package/build/components/__shared__/BookingDetails/__tests__/__snapshots__/BookingDetails.test.js.snap +1068 -1063
  61. package/build/components/__shared__/BookingSummary/_tests__/__snapshots__/BookingSummary.test.js.snap +316 -316
  62. package/build/components/__shared__/BookingTable/__tests__/__snapshots__/BookingTable.Row.test.js.snap +200 -200
  63. package/build/components/__shared__/BookingTable/__tests__/__snapshots__/BookingTable.test.js.snap +320 -320
  64. package/build/components/__shared__/BookingTerms/__tests__/__snapshots__/BookingTerms.test.js.snap +156 -144
  65. package/build/components/__shared__/ButtonMore/__tests__/__snapshots__/ButtonMore.test.js.snap +15 -12
  66. package/build/components/__shared__/ButtonPayment/__tests__/__snapshots__/ButtonPayment.test.js.snap +43 -32
  67. package/build/components/__shared__/ButtonPayment/components/FormAddon/__tests__/__snapshots__/FormAddon.test.js.snap +12 -12
  68. package/build/components/__shared__/ButtonPayment/components/FormCheckout/__tests__/__snapshots__/FormCheckout.test.js.snap +129 -129
  69. package/build/components/__shared__/ButtonPayment/components/FormPaycomet/__tests__/__snapshots__/FormPaycomet.test.js.snap +46 -45
  70. package/build/components/__shared__/ButtonPayment/components/FormSipay/__tests__/__snapshots__/FormSipay.test.js.snap +30 -30
  71. package/build/components/__shared__/ButtonPayment/components/InputField/__tests__/__snapshots__/InputField.test.js.snap +51 -51
  72. package/build/components/__shared__/Countdown/__tests__/__snapshots__/Countdown.test.js.snap +8 -8
  73. package/build/components/__shared__/Field/__tests__/__snapshots__/Field.test.js.snap +266 -219
  74. package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +556 -513
  75. package/build/components/__shared__/FieldPromocode/__tests__/__snapshots__/FieldPromocode.test.jsx.snap +63 -59
  76. package/build/components/__shared__/Footer/__tests__/__snapshots__/Footer.test.js.snap +68 -60
  77. package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +783 -732
  78. package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +334 -308
  79. package/build/components/__shared__/Payment/components/Aplazame/__tests__/__snapshots__/Aplazame.test.js.snap +8 -6
  80. package/build/components/__shared__/Payment/components/Card/__tests__/__snapshots__/Card.test.js.snap +254 -231
  81. package/build/components/__shared__/Payment/components/PCI/__tests__/__snapshots__/PCI.test.js.snap +140 -140
  82. package/build/components/__shared__/Payment/components/Tpv/__tests__/__snapshots__/Tpv.test.js.snap +30 -27
  83. package/build/components/__shared__/SelectEnvironment/__tests__/__snapshots__/SelectEnvironment.test.js.snap +53 -53
  84. package/build/components/__shared__/TextRequiredFields/__tests__/__snapshots__/TextRequiredFields.test.js.snap +6 -6
  85. package/build/components/helpers/__tests__/__snapshots__/parseHtml.test.js.snap +108 -104
  86. package/package.json +3 -3
  87. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +0 -1
  88. package/build/components/Rates/components/Item/components/ModalRateInfo/index.js +0 -17
  89. package/build/components/Rates/components/Item/components/ModalRateInfo/index.js.map +0 -1
  90. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.Tooltip.js +0 -49
  91. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.Tooltip.js.map +0 -1
  92. /package/build/components/Rates/components/Item/components/{ModalRateInfo/ModalRateInfo.module.css → ModalCancellationInfo/ModalCancellationInfo.module.css} +0 -0
@@ -2,287 +2,311 @@
2
2
 
3
3
  exports[`component:<Places> inherit:className 1`] = `
4
4
  <DocumentFragment>
5
- <div
5
+ <ui_view
6
6
  class="view"
7
7
  >
8
- <ul
8
+ <ui_ul
9
9
  class="scrollview snap vertical"
10
10
  >
11
- <li
11
+ <ui_li
12
12
  class="pressable"
13
+ tabindex="0"
13
14
  >
14
- <span
15
+ <ui_text
15
16
  class="text bold paragraph"
16
17
  >
17
18
  Gran Canaria
18
- </span>
19
- </li>
20
- <li
19
+ </ui_text>
20
+ </ui_li>
21
+ <ui_li
21
22
  class="pressable"
23
+ tabindex="0"
22
24
  >
23
- <span
25
+ <ui_text
24
26
  class="text action"
25
27
  >
26
28
   Gloria Palace Amadores Thalasso & Hotel
27
- </span>
28
- </li>
29
- <li
29
+ </ui_text>
30
+ </ui_li>
31
+ <ui_li
30
32
  class="pressable"
33
+ tabindex="0"
31
34
  >
32
- <span
35
+ <ui_text
33
36
  class="text action"
34
37
  >
35
38
   Gloria Palace Royal Hotel & Spa **** sup
36
- </span>
37
- </li>
38
- <li
39
+ </ui_text>
40
+ </ui_li>
41
+ <ui_li
39
42
  class="pressable"
43
+ tabindex="0"
40
44
  >
41
- <span
45
+ <ui_text
42
46
  class="text action"
43
47
  >
44
48
   Gloria Palace San Agustín Thalasso & Hotel
45
- </span>
46
- </li>
47
- <li
49
+ </ui_text>
50
+ </ui_li>
51
+ <ui_li
48
52
  class="pressable"
53
+ tabindex="0"
49
54
  >
50
- <span
55
+ <ui_text
51
56
  class="text bold paragraph"
52
57
  >
53
58
  Lanzarote
54
- </span>
55
- </li>
56
- <li
59
+ </ui_text>
60
+ </ui_li>
61
+ <ui_li
57
62
  class="pressable"
63
+ tabindex="0"
58
64
  >
59
- <span
65
+ <ui_text
60
66
  class="text action"
61
67
  >
62
68
   Gloria Izaro Club Hotel
63
- </span>
64
- </li>
65
- </ul>
66
- </div>
69
+ </ui_text>
70
+ </ui_li>
71
+ </ui_ul>
72
+ </ui_view>
67
73
  </DocumentFragment>
68
74
  `;
69
75
 
70
76
  exports[`component:<Places> prop:autoColumn 1`] = `
71
77
  <DocumentFragment>
72
- <div
78
+ <ui_view
73
79
  class="view"
74
80
  >
75
- <ul
81
+ <ui_ul
76
82
  class="scrollview snap vertical"
77
83
  >
78
- <li
84
+ <ui_li
79
85
  class="pressable"
86
+ tabindex="0"
80
87
  >
81
- <span
88
+ <ui_text
82
89
  class="text bold paragraph"
83
90
  >
84
91
  Gran Canaria
85
- </span>
86
- </li>
87
- <li
92
+ </ui_text>
93
+ </ui_li>
94
+ <ui_li
88
95
  class="pressable"
96
+ tabindex="0"
89
97
  >
90
- <span
98
+ <ui_text
91
99
  class="text action"
92
100
  >
93
101
   Gloria Palace Amadores Thalasso & Hotel
94
- </span>
95
- </li>
96
- <li
102
+ </ui_text>
103
+ </ui_li>
104
+ <ui_li
97
105
  class="pressable"
106
+ tabindex="0"
98
107
  >
99
- <span
108
+ <ui_text
100
109
  class="text action"
101
110
  >
102
111
   Gloria Palace Royal Hotel & Spa **** sup
103
- </span>
104
- </li>
105
- <li
112
+ </ui_text>
113
+ </ui_li>
114
+ <ui_li
106
115
  class="pressable"
116
+ tabindex="0"
107
117
  >
108
- <span
118
+ <ui_text
109
119
  class="text action"
110
120
  >
111
121
   Gloria Palace San Agustín Thalasso & Hotel
112
- </span>
113
- </li>
114
- <li
122
+ </ui_text>
123
+ </ui_li>
124
+ <ui_li
115
125
  class="pressable"
126
+ tabindex="0"
116
127
  >
117
- <span
128
+ <ui_text
118
129
  class="text bold paragraph"
119
130
  >
120
131
  Lanzarote
121
- </span>
122
- </li>
123
- <li
132
+ </ui_text>
133
+ </ui_li>
134
+ <ui_li
124
135
  class="pressable"
136
+ tabindex="0"
125
137
  >
126
- <span
138
+ <ui_text
127
139
  class="text action"
128
140
  >
129
141
   Gloria Izaro Club Hotel
130
- </span>
131
- </li>
132
- </ul>
133
- </div>
142
+ </ui_text>
143
+ </ui_li>
144
+ </ui_ul>
145
+ </ui_view>
134
146
  </DocumentFragment>
135
147
  `;
136
148
 
137
149
  exports[`component:<Places> prop:value 1`] = `
138
150
  <DocumentFragment>
139
- <div
151
+ <ui_view
140
152
  class="view"
141
153
  >
142
- <ul
154
+ <ui_ul
143
155
  class="scrollview snap vertical"
144
156
  >
145
- <li
157
+ <ui_li
146
158
  class="pressable"
159
+ tabindex="0"
147
160
  >
148
- <span
161
+ <ui_text
149
162
  class="text bold paragraph"
150
163
  >
151
164
  Gran Canaria
152
- </span>
153
- </li>
154
- <li
165
+ </ui_text>
166
+ </ui_li>
167
+ <ui_li
155
168
  class="pressable"
169
+ tabindex="0"
156
170
  >
157
- <span
171
+ <ui_text
158
172
  class="text action"
159
173
  >
160
174
   Gloria Palace Amadores Thalasso & Hotel
161
- </span>
162
- </li>
163
- <li
175
+ </ui_text>
176
+ </ui_li>
177
+ <ui_li
164
178
  class="pressable"
179
+ tabindex="0"
165
180
  >
166
- <span
181
+ <ui_text
167
182
  class="text action"
168
183
  >
169
184
   Gloria Palace Royal Hotel & Spa **** sup
170
- </span>
171
- </li>
172
- <li
185
+ </ui_text>
186
+ </ui_li>
187
+ <ui_li
173
188
  class="pressable"
189
+ tabindex="0"
174
190
  >
175
- <span
191
+ <ui_text
176
192
  class="text action"
177
193
  >
178
194
   Gloria Palace San Agustín Thalasso & Hotel
179
- </span>
180
- </li>
181
- <li
195
+ </ui_text>
196
+ </ui_li>
197
+ <ui_li
182
198
  class="pressable"
199
+ tabindex="0"
183
200
  >
184
- <span
201
+ <ui_text
185
202
  class="text bold paragraph"
186
203
  >
187
204
  Lanzarote
188
- </span>
189
- </li>
190
- <li
205
+ </ui_text>
206
+ </ui_li>
207
+ <ui_li
191
208
  class="pressable"
209
+ tabindex="0"
192
210
  >
193
- <span
211
+ <ui_text
194
212
  class="text action"
195
213
  >
196
214
   Gloria Izaro Club Hotel
197
- </span>
198
- </li>
199
- </ul>
200
- </div>
215
+ </ui_text>
216
+ </ui_li>
217
+ </ui_ul>
218
+ </ui_view>
201
219
  </DocumentFragment>
202
220
  `;
203
221
 
204
222
  exports[`component:<Places> renders 1`] = `
205
223
  <DocumentFragment>
206
- <div
224
+ <ui_view
207
225
  class="view"
208
226
  >
209
- <ul
227
+ <ui_ul
210
228
  class="scrollview snap vertical"
211
229
  />
212
- </div>
230
+ </ui_view>
213
231
  </DocumentFragment>
214
232
  `;
215
233
 
216
234
  exports[`component:<Places> testID 1`] = `
217
235
  <DocumentFragment>
218
- <div
236
+ <ui_view
219
237
  class="view"
220
238
  >
221
- <ul
239
+ <ui_ul
222
240
  class="scrollview snap vertical"
223
241
  data-testid="mirai"
224
242
  >
225
- <li
243
+ <ui_li
226
244
  class="pressable"
227
245
  data-testid="mirai-item-0"
246
+ tabindex="0"
228
247
  >
229
- <span
248
+ <ui_text
230
249
  class="text bold paragraph"
231
250
  >
232
251
  Gran Canaria
233
- </span>
234
- </li>
235
- <li
252
+ </ui_text>
253
+ </ui_li>
254
+ <ui_li
236
255
  class="pressable"
237
256
  data-testid="mirai-item-1"
257
+ tabindex="0"
238
258
  >
239
- <span
259
+ <ui_text
240
260
  class="text action"
241
261
  >
242
262
   Gloria Palace Amadores Thalasso & Hotel
243
- </span>
244
- </li>
245
- <li
263
+ </ui_text>
264
+ </ui_li>
265
+ <ui_li
246
266
  class="pressable"
247
267
  data-testid="mirai-item-2"
268
+ tabindex="0"
248
269
  >
249
- <span
270
+ <ui_text
250
271
  class="text action"
251
272
  >
252
273
   Gloria Palace Royal Hotel & Spa **** sup
253
- </span>
254
- </li>
255
- <li
274
+ </ui_text>
275
+ </ui_li>
276
+ <ui_li
256
277
  class="pressable"
257
278
  data-testid="mirai-item-3"
279
+ tabindex="0"
258
280
  >
259
- <span
281
+ <ui_text
260
282
  class="text action"
261
283
  >
262
284
   Gloria Palace San Agustín Thalasso & Hotel
263
- </span>
264
- </li>
265
- <li
285
+ </ui_text>
286
+ </ui_li>
287
+ <ui_li
266
288
  class="pressable"
267
289
  data-testid="mirai-item-4"
290
+ tabindex="0"
268
291
  >
269
- <span
292
+ <ui_text
270
293
  class="text bold paragraph"
271
294
  >
272
295
  Lanzarote
273
- </span>
274
- </li>
275
- <li
296
+ </ui_text>
297
+ </ui_li>
298
+ <ui_li
276
299
  class="pressable"
277
300
  data-testid="mirai-item-5"
301
+ tabindex="0"
278
302
  >
279
- <span
303
+ <ui_text
280
304
  class="text action"
281
305
  >
282
306
   Gloria Izaro Club Hotel
283
- </span>
284
- </li>
285
- </ul>
286
- </div>
307
+ </ui_text>
308
+ </ui_li>
309
+ </ui_ul>
310
+ </ui_view>
287
311
  </DocumentFragment>
288
312
  `;
@@ -2,18 +2,18 @@
2
2
 
3
3
  exports[`component:<Bookings> renders 1`] = `
4
4
  <DocumentFragment>
5
- <div
5
+ <ui_view
6
6
  class="view"
7
7
  >
8
- <div
8
+ <ui_view
9
9
  class="view row"
10
10
  >
11
- <h2
11
+ <ui_text
12
12
  class="text bold headline-2"
13
13
  >
14
14
  user.action.my_bookings
15
- </h2>
16
- </div>
17
- </div>
15
+ </ui_text>
16
+ </ui_view>
17
+ </ui_view>
18
18
  </DocumentFragment>
19
19
  `;
@@ -70,9 +70,11 @@ const Footer = _ref => {
70
70
  setBusy(true);
71
71
  onSubmit();
72
72
  };
73
+ const visible = items.length > 0;
73
74
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
74
75
  ref: refContainer,
75
- className: (0, _ui.styles)(style.footer, items.length && style.visible)
76
+ className: (0, _ui.styles)(style.footer, visible && style.visible),
77
+ "aria-hidden": visible ? 'false' : 'true'
76
78
  }, /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
77
79
  className: style.wrapper,
78
80
  wide: true
@@ -154,7 +156,8 @@ const Footer = _ref => {
154
156
  busy: busy,
155
157
  disabled: !valid,
156
158
  large: !isMobile,
157
- onPress: handleSubmit
159
+ onPress: handleSubmit,
160
+ "aria-label": translate(_Rates.L10N.ACTION_RESERVE)
158
161
  }, translate(_Rates.L10N.ACTION_RESERVE))));
159
162
  };
160
163
  exports.Footer = Footer;
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_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","Footer","_ref","cart","dataSource","taxesType","extras","login","multiRoom","occupation","onSubmit","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","refContainer","useRef","busy","setBusy","useState","useEffect","items","filter","item","undefined","Event","publish","EVENT","MODAL_VISIBLE","visible","content","current","ResizeObserver","observer","FOOTER_HEIGHT_CHANGE","height","offsetHeight","observe","unobserve","totalPrice","reduce","price","valid","handleSubmit","createElement","View","ref","className","styles","footer","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","concat","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","description","bold","action","light","maximumFractionDigits","Button","disabled","large","onPress","L10N","ACTION_RESERVE","summary","headline","level","tiny","getLabelTaxes","exports","displayName","propTypes","PropTypes","arrayOf","shape","bool","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, ICON } from '../helpers';\n\nconst Footer = ({\n cart = [],\n dataSource: { taxesType } = {},\n extras,\n login,\n multiRoom,\n occupation = [],\n onSubmit = () => {},\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => {\n const items = cart.filter((item) => item !== undefined);\n\n Event.publish(EVENT.MODAL_VISIBLE, { visible: items.length > 0 });\n\n const content = refContainer?.current;\n if (!content || typeof ResizeObserver === 'undefined') return;\n\n const observer = new ResizeObserver(() =>\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: items.length ? content.offsetHeight : undefined }),\n );\n observer.observe(content);\n\n return () => observer.unobserve(content);\n }, [cart]);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n useEffect(() => !login && setBusy(false), [login]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View ref={refContainer} className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={`${id}${index}`} className={style.cartItem}>\n {multiRoom && (\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n )}\n\n <View className={style.description}>\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n {multiRoom && <Text light small>{` | ${boardName}`}</Text>}\n </Text>\n {!multiRoom && (\n <Text light small>\n {boardName}\n </Text>\n )}\n </View>\n\n <Text bold {...(multiRoom ? { action: !isMobile, small: isMobile } : { action: isMobile })}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button small busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n )}\n </View>\n );\n })}\n </View>\n </View>\n\n {multiRoom && (\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n login: PropTypes.bool,\n multiRoom: PropTypes.bool,\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AAAyC,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAhB,uBAAA4B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEzC,MAAMK,MAAM,GAAGC,IAAA,IAQT;EAAA,IARU;IACdC,IAAI,GAAG,EAAE;IACTC,UAAU,EAAE;MAAEC;IAAU,CAAC,GAAG,CAAC,CAAC;IAC9BC,MAAM;IACNC,KAAK;IACLC,SAAS;IACTC,UAAU,GAAG,EAAE;IACfC,QAAQ,GAAGA,CAAA,KAAM,CAAC;EACpB,CAAC,GAAAR,IAAA;EACC,MAAM;IAAES;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,cAAc;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjD,MAAM;IAAEC,KAAK,EAAE;MAAEC;IAAS,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAC/C,MAAMC,YAAY,GAAG,IAAAC,aAAM,EAAC,CAAC;EAE7B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEvC,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,KAAK,GAAGtB,IAAI,CAACuB,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKC,SAAS,CAAC;IAEvDC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,aAAa,EAAE;MAAEC,OAAO,EAAER,KAAK,CAAC5B,MAAM,GAAG;IAAE,CAAC,CAAC;IAEjE,MAAMqC,OAAO,GAAGf,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEgB,OAAO;IACrC,IAAI,CAACD,OAAO,IAAI,OAAOE,cAAc,KAAK,WAAW,EAAE;IAEvD,MAAMC,QAAQ,GAAG,IAAID,cAAc,CAAC,MAClCP,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACO,oBAAoB,EAAE;MAAEC,MAAM,EAAEd,KAAK,CAAC5B,MAAM,GAAGqC,OAAO,CAACM,YAAY,GAAGZ;IAAU,CAAC,CACvG,CAAC;IACDS,QAAQ,CAACI,OAAO,CAACP,OAAO,CAAC;IAEzB,OAAO,MAAMG,QAAQ,CAACK,SAAS,CAACR,OAAO,CAAC;EAC1C,CAAC,EAAE,CAAC/B,IAAI,CAAC,CAAC;EAEV,IAAAqB,gBAAS,EAAC,MAAM,CAAClB,MAAM,IAAIgB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAChB,MAAM,CAAC,CAAC;EAEpD,IAAAkB,gBAAS,EAAC,MAAM,CAACjB,KAAK,IAAIe,OAAO,CAAC,KAAK,CAAC,EAAE,CAACf,KAAK,CAAC,CAAC;EAElD,MAAMkB,KAAK,GAAGtB,IAAI,CAACuB,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKC,SAAS,CAAC;EACvD,MAAMe,UAAU,GAAGxC,IAAI,CAACyC,MAAM,CAAC,UAAC5B,KAAK;IAAA,IAAE;MAAE6B,KAAK,GAAG;IAAE,CAAC,GAAAjD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKoB,KAAK,GAAG6B,KAAK;EAAA,GAAE,CAAC,CAAC;EAC/E,MAAMC,KAAK,GAAGrB,KAAK,CAAC5B,MAAM,KAAKY,UAAU,CAACZ,MAAM;EAEhD,MAAMkD,YAAY,GAAGA,CAAA,KAAM;IACzBzB,OAAO,CAAC,IAAI,CAAC;IACbZ,QAAQ,CAAC,CAAC;EACZ,CAAC;EAED,oBACE9C,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;IAACC,GAAG,EAAE/B,YAAa;IAACgC,SAAS,EAAE,IAAAC,UAAM,EAACpF,KAAK,CAACqF,MAAM,EAAE5B,KAAK,CAAC5B,MAAM,IAAI7B,KAAK,CAACiE,OAAO;EAAE,gBACtFrE,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI,qBACHrF,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;IAACE,SAAS,EAAEnF,KAAK,CAACsF,OAAQ;IAACC,IAAI;EAAA,GACjC9B,KAAK,CAAC+B,GAAG,CAAC,YAAsE;IAAA,IAArE;MAAEC,MAAM,GAAG,CAAC;MAAEC,EAAE;MAAEC,IAAI,EAAEC,SAAS;MAAEf,KAAK;MAAEgB;IAAS,CAAC,GAAAjE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEkE,KAAK,GAAAlE,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAgC,SAAA;IAC1E,MAAMmC,MAAM,GAAGtD,UAAU,CAACqD,KAAK,CAAC,CAAClB,MAAM,CAAC,UAACoB,KAAK;MAAA,IAAE;QAAEP;MAAO,CAAC,GAAA7D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKoE,KAAK,GAAGP,MAAM;IAAA,GAAE,CAAC,CAAC;IAEtF,oBACE7F,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;MAACgB,GAAG;MAAClE,GAAG,KAAAmE,MAAA,CAAKR,EAAE,EAAAQ,MAAA,CAAGJ,KAAK,CAAG;MAACX,SAAS,EAAEnF,KAAK,CAACmG;IAAS,GACvD3D,SAAS,iBACR5C,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;MAACgB,GAAG;MAACd,SAAS,EAAEnF,KAAK,CAACoG;IAAK,gBAC9BxG,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAA4G,IAAI;MAACrD,KAAK,EAAE+C,MAAM,KAAK,CAAC,GAAGO,cAAI,CAACC,MAAM,GAAGR,MAAM,KAAK,CAAC,GAAGO,cAAI,CAACE,KAAK,GAAGF,cAAI,CAACG;IAAO,CAAE,CAAC,eACrF7G,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI;MAACC,KAAK;IAAA,GAAEZ,MAAa,CACtB,CACP,eAEDnG,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;MAACE,SAAS,EAAEnF,KAAK,CAAC4G;IAAY,gBACjChH,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI;MAACG,IAAI;MAACC,MAAM,EAAE,CAACnE,QAAS;MAACgE,KAAK,EAAEhE,QAAS;MAACwC,SAAS,EAAEnF,KAAK,CAAC4G;IAAY,MAAAV,MAAA,CACtEL,QAAQ,QACXrD,SAAS,iBAAI5C,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI;MAACK,KAAK;MAACJ,KAAK;IAAA,SAAAT,MAAA,CAAQN,SAAS,CAAS,CACrD,CAAC,EACN,CAACpD,SAAS,iBACT5C,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI;MAACK,KAAK;MAACJ,KAAK;IAAA,GACdf,SACG,CAEJ,CAAC,eAEPhG,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI,EAAAlF,QAAA;MAACqF,IAAI;IAAA,GAAMrE,SAAS,GAAG;MAAEsE,MAAM,EAAE,CAACnE,QAAQ;MAAEgE,KAAK,EAAEhE;IAAS,CAAC,GAAG;MAAEmE,MAAM,EAAEnE;IAAS,CAAC,GACtFE,cAAc,CAAC;MAAEI,QAAQ;MAAE+D,qBAAqB,EAAE,CAAC;MAAEhE,KAAK,EAAEyC,MAAM,GAAGZ;IAAM,CAAC,CACzE,CAAC,EAEN,CAACrC,SAAS,iBACT5C,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwH,MAAM;MAACN,KAAK;MAACtD,IAAI,EAAEA,IAAK;MAAC6D,QAAQ,EAAE,CAACpC,KAAM;MAACqC,KAAK,EAAE,CAACxE,QAAS;MAACyE,OAAO,EAAErC;IAAa,GACjFjC,SAAS,CAACuE,WAAI,CAACC,cAAc,CACxB,CAEN,CAAC;EAEX,CAAC,CACG,CACF,CAAC,EAEN9E,SAAS,iBACR5C,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;IAACgB,GAAG;IAACd,SAAS,EAAE,CAACnF,KAAK,CAACsF,OAAO,EAAEtF,KAAK,CAACuH,OAAO;EAAE,gBAClD3H,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwF,IAAI;IAACE,SAAS,EAAEnF,KAAK,CAAC2E;EAAW,gBAChC/E,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI;IAACG,IAAI;IAACW,QAAQ;IAACC,KAAK,EAAE9E,QAAQ,GAAG,CAAC,GAAG;EAAE,GACzCE,cAAc,CAAC;IAAEI,QAAQ;IAAE+D,qBAAqB,EAAE,CAAC;IAAEhE,KAAK,EAAE2B;EAAW,CAAC,CACrE,CAAC,EAEN,CAAC,CAACtC,SAAS,iBACVzC,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAiH,IAAI;IAACK,KAAK;IAACJ,KAAK,EAAE,CAAChE,QAAS;IAAC+E,IAAI,EAAE/E;EAAS,GAC1CG,SAAS,CAAC,IAAA6E,sBAAa,EAACtF,SAAS,CAAC,CAC/B,CAEJ,CAAC,eAEPzC,MAAA,CAAAY,OAAA,CAAAwE,aAAA,CAACvF,GAAA,CAAAwH,MAAM;IAAC5D,IAAI,EAAEA,IAAK;IAAC6D,QAAQ,EAAE,CAACpC,KAAM;IAACqC,KAAK,EAAE,CAACxE,QAAS;IAACyE,OAAO,EAAErC;EAAa,GAC3EjC,SAAS,CAACuE,WAAI,CAACC,cAAc,CACxB,CACJ,CAEJ,CAAC;AAEX,CAAC;AAACM,OAAA,CAAA3F,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAAC4F,WAAW,GAAG,yBAAyB;AAE9C5F,MAAM,CAAC6F,SAAS,GAAG;EACjB3F,IAAI,EAAE4F,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC5C7F,UAAU,EAAE2F,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/B3F,MAAM,EAAEyF,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9C1F,KAAK,EAAEwF,kBAAS,CAACG,IAAI;EACrB1F,SAAS,EAAEuF,kBAAS,CAACG,IAAI;EACzBzF,UAAU,EAAEsF,kBAAS,CAACC,OAAO,CAC3BD,kBAAS,CAACC,OAAO,CACfD,kBAAS,CAACE,KAAK,CAAC;IACdE,IAAI,EAAEJ,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACK,MAAM,CAAC;IACzC3C,MAAM,EAAEsC,kBAAS,CAACK,MAAM;IACxBC,IAAI,EAAEN,kBAAS,CAACK;EAClB,CAAC,CACH,CACF,CAAC;EACD1F,QAAQ,EAAEqF,kBAAS,CAACO;AACtB,CAAC"}
1
+ {"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_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","Footer","_ref","cart","dataSource","taxesType","extras","login","multiRoom","occupation","onSubmit","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","refContainer","useRef","busy","setBusy","useState","useEffect","items","filter","item","undefined","Event","publish","EVENT","MODAL_VISIBLE","visible","content","current","ResizeObserver","observer","FOOTER_HEIGHT_CHANGE","height","offsetHeight","observe","unobserve","totalPrice","reduce","price","valid","handleSubmit","createElement","View","ref","className","styles","footer","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","concat","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","description","bold","action","light","maximumFractionDigits","Button","disabled","large","onPress","L10N","ACTION_RESERVE","summary","headline","level","tiny","getLabelTaxes","exports","displayName","propTypes","PropTypes","arrayOf","shape","bool","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, ICON } from '../helpers';\n\nconst Footer = ({\n cart = [],\n dataSource: { taxesType } = {},\n extras,\n login,\n multiRoom,\n occupation = [],\n onSubmit = () => {},\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => {\n const items = cart.filter((item) => item !== undefined);\n\n Event.publish(EVENT.MODAL_VISIBLE, { visible: items.length > 0 });\n\n const content = refContainer?.current;\n if (!content || typeof ResizeObserver === 'undefined') return;\n\n const observer = new ResizeObserver(() =>\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: items.length ? content.offsetHeight : undefined }),\n );\n observer.observe(content);\n\n return () => observer.unobserve(content);\n }, [cart]);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n useEffect(() => !login && setBusy(false), [login]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n const visible = items.length > 0;\n\n return (\n <View\n ref={refContainer}\n className={styles(style.footer, visible && style.visible)}\n aria-hidden={visible ? 'false' : 'true'}\n >\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={`${id}${index}`} className={style.cartItem}>\n {multiRoom && (\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n )}\n\n <View className={style.description}>\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n {multiRoom && <Text light small>{` | ${boardName}`}</Text>}\n </Text>\n {!multiRoom && (\n <Text light small>\n {boardName}\n </Text>\n )}\n </View>\n\n <Text bold {...(multiRoom ? { action: !isMobile, small: isMobile } : { action: isMobile })}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button small busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n )}\n </View>\n );\n })}\n </View>\n </View>\n\n {multiRoom && (\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button\n busy={busy}\n disabled={!valid}\n large={!isMobile}\n onPress={handleSubmit}\n aria-label={translate(L10N.ACTION_RESERVE)}\n >\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n login: PropTypes.bool,\n multiRoom: PropTypes.bool,\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
@@ -15,7 +15,6 @@ var _helpers = require("../helpers");
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
18
  const RoomSelector = _ref => {
20
19
  let {
21
20
  cart = [],
@@ -72,30 +71,24 @@ const RoomSelector = _ref => {
72
71
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
73
72
  return total + amount;
74
73
  }, 0);
75
- const textProps = {
76
- action: !isMobile,
77
- small: isMobile
78
- };
79
74
  const hasCart = index <= roomIndex || cart[index] !== undefined || cart[index - 1] !== undefined;
80
75
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
81
76
  key: index,
82
77
  ref: el => itemsRef.current[index] = el
83
- }, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
78
+ }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
79
+ secondary: hasCart && index !== roomIndex,
84
80
  disabled: !hasCart,
85
- onPress: () => onPress(index),
86
- className: [style.tag, index === roomIndex ? style.active : hasCart ? style.highlight : style.disabled]
87
- }, index === roomIndex && !cart[index] && /*#__PURE__*/_react.default.createElement(_ui.Text, textProps, translate(_Rates.L10N.LABEL_SELECT)), /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
88
- capitalize: true
89
- }), "".concat(translate(_Rates.L10N.LABEL_ACCOMMODATION_TYPE, {
81
+ onPress: () => onPress(index)
82
+ }, "".concat(index === roomIndex && !cart[index] ? "".concat(translate(_Rates.L10N.LABEL_SELECT)) : '', " ").concat(translate(_Rates.L10N.LABEL_ACCOMMODATION_TYPE, {
90
83
  type: accommodationType
91
- }), " ").concat(index + 1)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
84
+ }), " ").concat(index + 1).trim(), /*#__PURE__*/_react.default.createElement(_ui.Text, {
92
85
  headline: true,
93
- className: style.separator
86
+ className: [style.separator, index === roomIndex ? style.active : hasCart ? style.secondary : style.disabled]
94
87
  }, "|"), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
95
88
  headline: true,
96
89
  level: isMobile ? 3 : 2,
97
90
  value: guests === 1 || guests > 3 ? _helpers.ICON.PERSON : guests === 2 ? _helpers.ICON.GROUP : _helpers.ICON.GROUPS
98
- }), /*#__PURE__*/_react.default.createElement(_ui.Text, textProps, guests)));
91
+ }), guests));
99
92
  })) : null;
100
93
  };
101
94
  exports.RoomSelector = RoomSelector;
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.RoomSelector.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Rates","style","_helpers","_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","RoomSelector","_ref","cart","occupation","room","roomIndex","onPress","isMobile","useDevice","translate","useLocale","itemsRef","useRef","value","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","scrollTo","setScrollTo","useState","useEffect","_itemsRef$current$roo","next","current","offsetLeft","place","id","isHotel","createElement","ScrollView","horizontal","snap","className","roomSelector","map","items","undefined","index","guests","reduce","total","amount","textProps","action","small","hasCart","View","ref","el","Pressable","disabled","tag","active","highlight","Text","L10N","LABEL_SELECT","capitalize","concat","LABEL_ACCOMMODATION_TYPE","type","headline","separator","Icon","level","ICON","PERSON","GROUP","GROUPS","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","func"],"sources":["../../../src/components/Rates/Rates.RoomSelector.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Pressable, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst RoomSelector = ({ cart = [], occupation = [], room: roomIndex, onPress = () => {} }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n const {\n value: { finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} },\n } = useStore();\n\n const [scrollTo, setScrollTo] = useState();\n\n useEffect(() => {\n setScrollTo(0);\n }, []);\n\n useEffect(() => {\n const next = roomIndex === 0 ? 0 : itemsRef.current[roomIndex]?.offsetLeft;\n if (next) setScrollTo(next - (isMobile ? 8 : 0));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [roomIndex]);\n\n const { place: { id: [id] = [], isHotel = true } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n return isHotel && occupation.length >= 2 ? (\n <ScrollView horizontal scrollTo={scrollTo} snap={false} className={style.roomSelector}>\n {occupation.map((items = [], index) => {\n const guests = items.reduce((total, { amount } = {}) => total + amount, 0);\n const textProps = { action: !isMobile, small: isMobile };\n const hasCart = index <= roomIndex || cart[index] !== undefined || cart[index - 1] !== undefined;\n\n return (\n <View key={index} ref={(el) => (itemsRef.current[index] = el)}>\n <Pressable\n disabled={!hasCart}\n onPress={() => onPress(index)}\n className={[style.tag, index === roomIndex ? style.active : hasCart ? style.highlight : style.disabled]}\n >\n {index === roomIndex && !cart[index] && <Text {...textProps}>{translate(L10N.LABEL_SELECT)}</Text>}\n <Text {...textProps} capitalize>{`${translate(L10N.LABEL_ACCOMMODATION_TYPE, {\n type: accommodationType,\n })} ${index + 1}`}</Text>\n\n <Text headline className={style.separator}>\n |\n </Text>\n <Icon\n headline\n level={isMobile ? 3 : 2}\n value={guests === 1 || guests > 3 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n <Text {...textProps}>{guests}</Text>\n </Pressable>\n </View>\n );\n })}\n </ScrollView>\n ) : null;\n};\n\nRoomSelector.displayName = 'Mirai:Core:Rates:RoomSelector';\n\nRoomSelector.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n room: PropTypes.number,\n onPress: PropTypes.func,\n};\n\nexport { RoomSelector };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAF,uBAAA,CAAAN,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAAkC,SAAAU,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAf,uBAAA2B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAElC,MAAMK,YAAY,GAAGC,IAAA,IAAyE;EAAA,IAAxE;IAAEC,IAAI,GAAG,EAAE;IAAEC,UAAU,GAAG,EAAE;IAAEC,IAAI,EAAEC,SAAS;IAAEC,OAAO,GAAGA,CAAA,KAAM,CAAC;EAAE,CAAC,GAAAL,IAAA;EACvF,MAAM;IAAEM;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAAC,EAAE,CAAC;EAC3B,MAAM;IACJC,KAAK,EAAE;MAAEC,MAAM,GAAG,CAAC,CAAC;MAAEC,KAAK,EAAE;QAAEC,iBAAiB,EAAEC,sBAAsB;QAAEC,QAAQ,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAAE;EACjG,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAE1C,IAAAC,gBAAS,EAAC,MAAM;IACdF,WAAW,CAAC,CAAC,CAAC;EAChB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAE,gBAAS,EAAC,MAAM;IAAA,IAAAC,qBAAA;IACd,MAAMC,IAAI,GAAGpB,SAAS,KAAK,CAAC,GAAG,CAAC,IAAAmB,qBAAA,GAAGb,QAAQ,CAACe,OAAO,CAACrB,SAAS,CAAC,cAAAmB,qBAAA,uBAA3BA,qBAAA,CAA6BG,UAAU;IAC1E,IAAIF,IAAI,EAAEJ,WAAW,CAACI,IAAI,IAAIlB,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD;EACF,CAAC,EAAE,CAACF,SAAS,CAAC,CAAC;EAEf,MAAM;IAAEuB,KAAK,EAAE;MAAEC,EAAE,EAAE,CAACA,EAAE,CAAC,GAAG,EAAE;MAAEC,OAAO,GAAG;IAAK,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGhB,MAAM;EAChE,MAAM;IAAEE,iBAAiB,GAAGC;EAAuB,CAAC,GAAGC,QAAQ,CAACW,EAAE,CAAC,IAAI,CAAC,CAAC;EAEzE,OAAOC,OAAO,IAAI3B,UAAU,CAACP,MAAM,IAAI,CAAC,gBACtChC,MAAA,CAAAW,OAAA,CAAAwD,aAAA,CAACtE,GAAA,CAAAuE,UAAU;IAACC,UAAU;IAACb,QAAQ,EAAEA,QAAS;IAACc,IAAI,EAAE,KAAM;IAACC,SAAS,EAAEpE,KAAK,CAACqE;EAAa,GACnFjC,UAAU,CAACkC,GAAG,CAAC,YAAuB;IAAA,IAAtBC,KAAK,GAAA3C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4C,SAAA,GAAA5C,SAAA,MAAG,EAAE;IAAA,IAAE6C,KAAK,GAAA7C,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA4C,SAAA;IAChC,MAAME,MAAM,GAAGH,KAAK,CAACI,MAAM,CAAC,UAACC,KAAK;MAAA,IAAE;QAAEC;MAAO,CAAC,GAAAjD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4C,SAAA,GAAA5C,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKgD,KAAK,GAAGC,MAAM;IAAA,GAAE,CAAC,CAAC;IAC1E,MAAMC,SAAS,GAAG;MAAEC,MAAM,EAAE,CAACvC,QAAQ;MAAEwC,KAAK,EAAExC;IAAS,CAAC;IACxD,MAAMyC,OAAO,GAAGR,KAAK,IAAInC,SAAS,IAAIH,IAAI,CAACsC,KAAK,CAAC,KAAKD,SAAS,IAAIrC,IAAI,CAACsC,KAAK,GAAG,CAAC,CAAC,KAAKD,SAAS;IAEhG,oBACE3E,MAAA,CAAAW,OAAA,CAAAwD,aAAA,CAACtE,GAAA,CAAAwF,IAAI;MAACnD,GAAG,EAAE0C,KAAM;MAACU,GAAG,EAAGC,EAAE,IAAMxC,QAAQ,CAACe,OAAO,CAACc,KAAK,CAAC,GAAGW;IAAI,gBAC5DvF,MAAA,CAAAW,OAAA,CAAAwD,aAAA,CAACtE,GAAA,CAAA2F,SAAS;MACRC,QAAQ,EAAE,CAACL,OAAQ;MACnB1C,OAAO,EAAEA,CAAA,KAAMA,OAAO,CAACkC,KAAK,CAAE;MAC9BL,SAAS,EAAE,CAACpE,KAAK,CAACuF,GAAG,EAAEd,KAAK,KAAKnC,SAAS,GAAGtC,KAAK,CAACwF,MAAM,GAAGP,OAAO,GAAGjF,KAAK,CAACyF,SAAS,GAAGzF,KAAK,CAACsF,QAAQ;IAAE,GAEvGb,KAAK,KAAKnC,SAAS,IAAI,CAACH,IAAI,CAACsC,KAAK,CAAC,iBAAI5E,MAAA,CAAAW,OAAA,CAAAwD,aAAA,CAACtE,GAAA,CAAAgG,IAAI,EAAKZ,SAAS,EAAGpC,SAAS,CAACiD,WAAI,CAACC,YAAY,CAAQ,CAAC,eAClG/F,MAAA,CAAAW,OAAA,CAAAwD,aAAA,CAACtE,GAAA,CAAAgG,IAAI,EAAAlE,QAAA,KAAKsD,SAAS;MAAEe,UAAU;IAAA,OAAAC,MAAA,CAAKpD,SAAS,CAACiD,WAAI,CAACI,wBAAwB,EAAE;MAC3EC,IAAI,EAAE/C;IACR,CAAC,CAAC,OAAA6C,MAAA,CAAIrB,KAAK,GAAG,CAAC,CAAS,CAAC,eAEzB5E,MAAA,CAAAW,OAAA,CAAAwD,aAAA,CAACtE,GAAA,CAAAgG,IAAI;MAACO,QAAQ;MAAC7B,SAAS,EAAEpE,KAAK,CAACkG;IAAU,GAAC,GAErC,CAAC,eACPrG,MAAA,CAAAW,OAAA,CAAAwD,aAAA,CAACtE,GAAA,CAAAyG,IAAI;MACHF,QAAQ;MACRG,KAAK,EAAE5D,QAAQ,GAAG,CAAC,GAAG,CAAE;MACxBM,KAAK,EAAE4B,MAAM,KAAK,CAAC,IAAIA,MAAM,GAAG,CAAC,GAAG2B,aAAI,CAACC,MAAM,GAAG5B,MAAM,KAAK,CAAC,GAAG2B,aAAI,CAACE,KAAK,GAAGF,aAAI,CAACG;IAAO,CAC3F,CAAC,eACF3G,MAAA,CAAAW,OAAA,CAAAwD,aAAA,CAACtE,GAAA,CAAAgG,IAAI,EAAKZ,SAAS,EAAGJ,MAAa,CAC1B,CACP,CAAC;EAEX,CAAC,CACS,CAAC,GACX,IAAI;AACV,CAAC;AAAC+B,OAAA,CAAAxE,YAAA,GAAAA,YAAA;AAEFA,YAAY,CAACyE,WAAW,GAAG,+BAA+B;AAE1DzE,YAAY,CAAC0E,SAAS,GAAG;EACvBxE,IAAI,EAAEyE,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC5C1E,UAAU,EAAEwE,kBAAS,CAACC,OAAO,CAC3BD,kBAAS,CAACC,OAAO,CACfD,kBAAS,CAACE,KAAK,CAAC;IACdC,IAAI,EAAEH,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACI,MAAM,CAAC;IACzCnC,MAAM,EAAE+B,kBAAS,CAACI,MAAM;IACxBhB,IAAI,EAAEY,kBAAS,CAACI;EAClB,CAAC,CACH,CACF,CAAC;EACD3E,IAAI,EAAEuE,kBAAS,CAACI,MAAM;EACtBzE,OAAO,EAAEqE,kBAAS,CAACK;AACrB,CAAC"}
1
+ {"version":3,"file":"Rates.RoomSelector.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Rates","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","RoomSelector","_ref","cart","occupation","room","roomIndex","onPress","isMobile","useDevice","translate","useLocale","itemsRef","useRef","value","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","scrollTo","setScrollTo","useState","useEffect","_itemsRef$current$roo","next","current","offsetLeft","place","id","isHotel","length","createElement","ScrollView","horizontal","snap","className","roomSelector","map","items","arguments","undefined","index","guests","reduce","total","amount","hasCart","View","key","ref","el","Button","secondary","disabled","concat","L10N","LABEL_SELECT","LABEL_ACCOMMODATION_TYPE","type","trim","Text","headline","separator","active","Icon","level","ICON","PERSON","GROUP","GROUPS","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","func"],"sources":["../../../src/components/Rates/Rates.RoomSelector.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst RoomSelector = ({ cart = [], occupation = [], room: roomIndex, onPress = () => {} }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n const {\n value: { finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} },\n } = useStore();\n\n const [scrollTo, setScrollTo] = useState();\n\n useEffect(() => {\n setScrollTo(0);\n }, []);\n\n useEffect(() => {\n const next = roomIndex === 0 ? 0 : itemsRef.current[roomIndex]?.offsetLeft;\n if (next) setScrollTo(next - (isMobile ? 8 : 0));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [roomIndex]);\n\n const { place: { id: [id] = [], isHotel = true } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n return isHotel && occupation.length >= 2 ? (\n <ScrollView horizontal scrollTo={scrollTo} snap={false} className={style.roomSelector}>\n {occupation.map((items = [], index) => {\n const guests = items.reduce((total, { amount } = {}) => total + amount, 0);\n const hasCart = index <= roomIndex || cart[index] !== undefined || cart[index - 1] !== undefined;\n\n return (\n <View key={index} ref={(el) => (itemsRef.current[index] = el)}>\n <Button secondary={hasCart && index !== roomIndex} disabled={!hasCart} onPress={() => onPress(index)}>\n {`${index === roomIndex && !cart[index] ? `${translate(L10N.LABEL_SELECT)}` : ''} ${translate(\n L10N.LABEL_ACCOMMODATION_TYPE,\n { type: accommodationType },\n )} ${index + 1}`.trim()}\n\n <Text\n headline\n className={[\n style.separator,\n index === roomIndex ? style.active : hasCart ? style.secondary : style.disabled,\n ]}\n >\n |\n </Text>\n\n <Icon\n headline\n level={isMobile ? 3 : 2}\n value={guests === 1 || guests > 3 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n {guests}\n </Button>\n </View>\n );\n })}\n </ScrollView>\n ) : null;\n};\n\nRoomSelector.displayName = 'Mirai:Core:Rates:RoomSelector';\n\nRoomSelector.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n room: PropTypes.number,\n onPress: PropTypes.func,\n};\n\nexport { RoomSelector };\n"],"mappings":"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"}