@mirai/core 0.3.163 → 0.3.165
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.
- package/build/components/BannerLoyalty/BannerLoyalty.module.css +0 -5
- package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Menu.test.js.snap +48 -32
- package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Session.test.js.snap +36 -20
- package/build/components/Rates/Rates.Content.js +19 -3
- package/build/components/Rates/Rates.Content.js.map +1 -1
- package/build/components/Rates/Rates.js +1 -1
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/Rates.module.css +5 -0
- package/build/components/Rates/components/Item/Item.Preview.js +42 -11
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +17 -6
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +24 -13
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
- package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +18 -14
- package/build/components/__shared__/ButtonPayment/components/FormPaycomet/FormPaycomet.js +2 -2
- package/build/components/__shared__/ButtonPayment/components/FormPaycomet/FormPaycomet.js.map +1 -1
- package/build/components/__shared__/ButtonPayment/components/FormSipay/__tests__/__snapshots__/FormSipay.test.js.snap +30 -18
- package/build/components/__shared__/ButtonPayment/components/InputField/__tests__/__snapshots__/InputField.test.js.snap +2 -2
- package/build/components/__shared__/Occupation/Occupation.js +1 -1
- package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
- package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +21 -13
- package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +84 -336
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +12 -24
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +72 -180
- package/build/services/Rates/__tests__/__mocks__/rates-response.json +8 -32
- package/build/services/Rates/helpers/parseBoards.js +35 -19
- package/build/services/Rates/helpers/parseBoards.js.map +1 -1
- package/package.json +1 -1
|
@@ -48,11 +48,6 @@
|
|
|
48
48
|
|
|
49
49
|
/* M & L */
|
|
50
50
|
@media only screen and (min-width: 431px) {
|
|
51
|
-
.container {
|
|
52
|
-
margin-bottom: var(--mirai-ui-space-M);
|
|
53
|
-
margin-top: var(--mirai-ui-space-XS);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
51
|
.container > * {
|
|
57
52
|
gap: var(--mirai-ui-space-M);
|
|
58
53
|
padding: var(--mirai-ui-space-L);
|
|
@@ -234,10 +234,10 @@ exports[`component:<Booking> partial:<Menu> inherit:className 1`] = `
|
|
|
234
234
|
</div>
|
|
235
235
|
</div>
|
|
236
236
|
<div
|
|
237
|
-
class="view row notification warning inline
|
|
237
|
+
class="view row notification warning inline small"
|
|
238
238
|
>
|
|
239
239
|
<span
|
|
240
|
-
class="icon
|
|
240
|
+
class="icon headline-3"
|
|
241
241
|
>
|
|
242
242
|
<svg
|
|
243
243
|
fill="currentColor"
|
|
@@ -253,16 +253,20 @@ exports[`component:<Booking> partial:<Menu> inherit:className 1`] = `
|
|
|
253
253
|
/>
|
|
254
254
|
</svg>
|
|
255
255
|
</span>
|
|
256
|
-
<
|
|
257
|
-
class="
|
|
256
|
+
<div
|
|
257
|
+
class="view texts"
|
|
258
258
|
>
|
|
259
259
|
<span
|
|
260
|
-
|
|
260
|
+
class="text small"
|
|
261
261
|
>
|
|
262
|
-
|
|
262
|
+
<span
|
|
263
|
+
style="font-weight: bold;"
|
|
264
|
+
>
|
|
265
|
+
{{price.description}
|
|
266
|
+
</span>
|
|
267
|
+
} Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
|
|
263
268
|
</span>
|
|
264
|
-
|
|
265
|
-
</span>
|
|
269
|
+
</div>
|
|
266
270
|
</div>
|
|
267
271
|
</div>
|
|
268
272
|
</div>
|
|
@@ -505,10 +509,10 @@ exports[`component:<Booking> partial:<Menu> renders 1`] = `
|
|
|
505
509
|
</div>
|
|
506
510
|
</div>
|
|
507
511
|
<div
|
|
508
|
-
class="view row notification warning inline
|
|
512
|
+
class="view row notification warning inline small"
|
|
509
513
|
>
|
|
510
514
|
<span
|
|
511
|
-
class="icon
|
|
515
|
+
class="icon headline-3"
|
|
512
516
|
>
|
|
513
517
|
<svg
|
|
514
518
|
fill="currentColor"
|
|
@@ -524,16 +528,20 @@ exports[`component:<Booking> partial:<Menu> renders 1`] = `
|
|
|
524
528
|
/>
|
|
525
529
|
</svg>
|
|
526
530
|
</span>
|
|
527
|
-
<
|
|
528
|
-
class="
|
|
531
|
+
<div
|
|
532
|
+
class="view texts"
|
|
529
533
|
>
|
|
530
534
|
<span
|
|
531
|
-
|
|
535
|
+
class="text small"
|
|
532
536
|
>
|
|
533
|
-
|
|
537
|
+
<span
|
|
538
|
+
style="font-weight: bold;"
|
|
539
|
+
>
|
|
540
|
+
{{price.description}
|
|
541
|
+
</span>
|
|
542
|
+
} Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
|
|
534
543
|
</span>
|
|
535
|
-
|
|
536
|
-
</span>
|
|
544
|
+
</div>
|
|
537
545
|
</div>
|
|
538
546
|
</div>
|
|
539
547
|
</div>
|
|
@@ -777,10 +785,10 @@ exports[`component:<Booking> partial:<Menu> testID 1`] = `
|
|
|
777
785
|
</div>
|
|
778
786
|
</div>
|
|
779
787
|
<div
|
|
780
|
-
class="view row notification warning inline
|
|
788
|
+
class="view row notification warning inline small"
|
|
781
789
|
>
|
|
782
790
|
<span
|
|
783
|
-
class="icon
|
|
791
|
+
class="icon headline-3"
|
|
784
792
|
>
|
|
785
793
|
<svg
|
|
786
794
|
fill="currentColor"
|
|
@@ -796,16 +804,20 @@ exports[`component:<Booking> partial:<Menu> testID 1`] = `
|
|
|
796
804
|
/>
|
|
797
805
|
</svg>
|
|
798
806
|
</span>
|
|
799
|
-
<
|
|
800
|
-
class="
|
|
807
|
+
<div
|
|
808
|
+
class="view texts"
|
|
801
809
|
>
|
|
802
810
|
<span
|
|
803
|
-
|
|
811
|
+
class="text small"
|
|
804
812
|
>
|
|
805
|
-
|
|
813
|
+
<span
|
|
814
|
+
style="font-weight: bold;"
|
|
815
|
+
>
|
|
816
|
+
{{price.description}
|
|
817
|
+
</span>
|
|
818
|
+
} Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
|
|
806
819
|
</span>
|
|
807
|
-
|
|
808
|
-
</span>
|
|
820
|
+
</div>
|
|
809
821
|
</div>
|
|
810
822
|
</div>
|
|
811
823
|
</div>
|
|
@@ -1048,10 +1060,10 @@ exports[`component:<Booking> partial:<Menu> with a store 1`] = `
|
|
|
1048
1060
|
</div>
|
|
1049
1061
|
</div>
|
|
1050
1062
|
<div
|
|
1051
|
-
class="view row notification warning inline
|
|
1063
|
+
class="view row notification warning inline small"
|
|
1052
1064
|
>
|
|
1053
1065
|
<span
|
|
1054
|
-
class="icon
|
|
1066
|
+
class="icon headline-3"
|
|
1055
1067
|
>
|
|
1056
1068
|
<svg
|
|
1057
1069
|
fill="currentColor"
|
|
@@ -1067,16 +1079,20 @@ exports[`component:<Booking> partial:<Menu> with a store 1`] = `
|
|
|
1067
1079
|
/>
|
|
1068
1080
|
</svg>
|
|
1069
1081
|
</span>
|
|
1070
|
-
<
|
|
1071
|
-
class="
|
|
1082
|
+
<div
|
|
1083
|
+
class="view texts"
|
|
1072
1084
|
>
|
|
1073
1085
|
<span
|
|
1074
|
-
|
|
1086
|
+
class="text small"
|
|
1075
1087
|
>
|
|
1076
|
-
|
|
1088
|
+
<span
|
|
1089
|
+
style="font-weight: bold;"
|
|
1090
|
+
>
|
|
1091
|
+
{{price.description}
|
|
1092
|
+
</span>
|
|
1093
|
+
} Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
|
|
1077
1094
|
</span>
|
|
1078
|
-
|
|
1079
|
-
</span>
|
|
1095
|
+
</div>
|
|
1080
1096
|
</div>
|
|
1081
1097
|
</div>
|
|
1082
1098
|
</div>
|
package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Session.test.js.snap
CHANGED
|
@@ -7,7 +7,7 @@ exports[`component:<Checkout> partial:<Session> inherit:className 1`] = `
|
|
|
7
7
|
datasource="[object Object]"
|
|
8
8
|
>
|
|
9
9
|
<span
|
|
10
|
-
class="icon
|
|
10
|
+
class="icon headline-3"
|
|
11
11
|
>
|
|
12
12
|
<svg
|
|
13
13
|
fill="currentColor"
|
|
@@ -27,11 +27,15 @@ exports[`component:<Checkout> partial:<Session> inherit:className 1`] = `
|
|
|
27
27
|
/>
|
|
28
28
|
</svg>
|
|
29
29
|
</span>
|
|
30
|
-
<
|
|
31
|
-
class="
|
|
30
|
+
<div
|
|
31
|
+
class="view texts"
|
|
32
32
|
>
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
<span
|
|
34
|
+
class="text small"
|
|
35
|
+
>
|
|
36
|
+
user.notification.session_booking
|
|
37
|
+
</span>
|
|
38
|
+
</div>
|
|
35
39
|
</div>
|
|
36
40
|
<div
|
|
37
41
|
class="pressable container overflow"
|
|
@@ -211,7 +215,7 @@ exports[`component:<Checkout> partial:<Session> renders 1`] = `
|
|
|
211
215
|
datasource="[object Object]"
|
|
212
216
|
>
|
|
213
217
|
<span
|
|
214
|
-
class="icon
|
|
218
|
+
class="icon headline-3"
|
|
215
219
|
>
|
|
216
220
|
<svg
|
|
217
221
|
fill="currentColor"
|
|
@@ -231,11 +235,15 @@ exports[`component:<Checkout> partial:<Session> renders 1`] = `
|
|
|
231
235
|
/>
|
|
232
236
|
</svg>
|
|
233
237
|
</span>
|
|
234
|
-
<
|
|
235
|
-
class="
|
|
238
|
+
<div
|
|
239
|
+
class="view texts"
|
|
236
240
|
>
|
|
237
|
-
|
|
238
|
-
|
|
241
|
+
<span
|
|
242
|
+
class="text small"
|
|
243
|
+
>
|
|
244
|
+
user.notification.session_booking
|
|
245
|
+
</span>
|
|
246
|
+
</div>
|
|
239
247
|
</div>
|
|
240
248
|
<div
|
|
241
249
|
class="pressable container overflow"
|
|
@@ -416,7 +424,7 @@ exports[`component:<Checkout> partial:<Session> testID 1`] = `
|
|
|
416
424
|
datasource="[object Object]"
|
|
417
425
|
>
|
|
418
426
|
<span
|
|
419
|
-
class="icon
|
|
427
|
+
class="icon headline-3"
|
|
420
428
|
>
|
|
421
429
|
<svg
|
|
422
430
|
fill="currentColor"
|
|
@@ -436,11 +444,15 @@ exports[`component:<Checkout> partial:<Session> testID 1`] = `
|
|
|
436
444
|
/>
|
|
437
445
|
</svg>
|
|
438
446
|
</span>
|
|
439
|
-
<
|
|
440
|
-
class="
|
|
447
|
+
<div
|
|
448
|
+
class="view texts"
|
|
441
449
|
>
|
|
442
|
-
|
|
443
|
-
|
|
450
|
+
<span
|
|
451
|
+
class="text small"
|
|
452
|
+
>
|
|
453
|
+
user.notification.session_booking
|
|
454
|
+
</span>
|
|
455
|
+
</div>
|
|
444
456
|
</div>
|
|
445
457
|
<div
|
|
446
458
|
class="pressable container overflow"
|
|
@@ -620,7 +632,7 @@ exports[`component:<Checkout> partial:<Session> with a store 1`] = `
|
|
|
620
632
|
datasource="[object Object]"
|
|
621
633
|
>
|
|
622
634
|
<span
|
|
623
|
-
class="icon
|
|
635
|
+
class="icon headline-3"
|
|
624
636
|
>
|
|
625
637
|
<svg
|
|
626
638
|
fill="currentColor"
|
|
@@ -640,11 +652,15 @@ exports[`component:<Checkout> partial:<Session> with a store 1`] = `
|
|
|
640
652
|
/>
|
|
641
653
|
</svg>
|
|
642
654
|
</span>
|
|
643
|
-
<
|
|
644
|
-
class="
|
|
655
|
+
<div
|
|
656
|
+
class="view texts"
|
|
645
657
|
>
|
|
646
|
-
|
|
647
|
-
|
|
658
|
+
<span
|
|
659
|
+
class="text small"
|
|
660
|
+
>
|
|
661
|
+
user.notification.session_booking
|
|
662
|
+
</span>
|
|
663
|
+
</div>
|
|
648
664
|
</div>
|
|
649
665
|
<div
|
|
650
666
|
class="pressable container overflow"
|
|
@@ -7,23 +7,39 @@ exports.Content = void 0;
|
|
|
7
7
|
var _ui = require("@mirai/ui");
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var style = _interopRequireWildcard(require("./Rates.module.css"));
|
|
10
11
|
var _BannerLoyalty = require("../BannerLoyalty");
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
11
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
15
|
const Content = _ref => {
|
|
13
16
|
let {
|
|
17
|
+
bannerLoyalty = true,
|
|
14
18
|
dangerousChildren = [],
|
|
19
|
+
increments,
|
|
15
20
|
...others
|
|
16
21
|
} = _ref;
|
|
17
|
-
|
|
22
|
+
const {
|
|
23
|
+
isMobile
|
|
24
|
+
} = (0, _ui.useDevice)();
|
|
25
|
+
return bannerLoyalty || dangerousChildren.length > 0 || increments ? /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
26
|
+
className: style.extraContent
|
|
27
|
+
}, increments && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
|
|
28
|
+
small: isMobile,
|
|
29
|
+
warning: true,
|
|
30
|
+
wide: true
|
|
31
|
+
}, increments), dangerousChildren.length ? /*#__PURE__*/_react.default.createElement(_ui.View, others, dangerousChildren.map((child, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
18
32
|
key: index,
|
|
19
33
|
dangerouslySetInnerHTML: {
|
|
20
34
|
__html: child.outerHTML
|
|
21
35
|
}
|
|
22
|
-
}))) : null, /*#__PURE__*/_react.default.createElement(_BannerLoyalty.BannerLoyalty, null));
|
|
36
|
+
}))) : null, /*#__PURE__*/_react.default.createElement(_BannerLoyalty.BannerLoyalty, null)) : null;
|
|
23
37
|
};
|
|
24
38
|
exports.Content = Content;
|
|
25
39
|
Content.displayName = 'Mirai:Core:Rates:Content';
|
|
26
40
|
Content.propTypes = {
|
|
27
|
-
|
|
41
|
+
bannerLoyalty: _propTypes.default.bool,
|
|
42
|
+
dangerousChildren: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
43
|
+
increments: _propTypes.default.string
|
|
28
44
|
};
|
|
29
45
|
//# sourceMappingURL=Rates.Content.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Content.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_BannerLoyalty","
|
|
1
|
+
{"version":3,"file":"Rates.Content.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_BannerLoyalty","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Content","_ref","bannerLoyalty","dangerousChildren","increments","others","isMobile","useDevice","length","createElement","View","className","extraContent","Notification","small","warning","wide","map","child","index","key","dangerouslySetInnerHTML","__html","outerHTML","BannerLoyalty","exports","displayName","propTypes","PropTypes","bool","arrayOf","any","string"],"sources":["../../../src/components/Rates/Rates.Content.jsx"],"sourcesContent":["import { Notification, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Rates.module.css';\nimport { BannerLoyalty } from '../BannerLoyalty';\n\nconst Content = ({ bannerLoyalty = true, dangerousChildren = [], increments, ...others }) => {\n const { isMobile } = useDevice();\n\n return bannerLoyalty || dangerousChildren.length > 0 || increments ? (\n <View className={style.extraContent}>\n {increments && (\n <Notification small={isMobile} warning wide>\n {increments}\n </Notification>\n )}\n\n {dangerousChildren.length ? (\n <View {...others}>\n {dangerousChildren.map((child, index) => (\n <View key={index} dangerouslySetInnerHTML={{ __html: child.outerHTML }} />\n ))}\n </View>\n ) : null}\n\n <BannerLoyalty />\n </View>\n ) : null;\n};\n\nContent.displayName = 'Mirai:Core:Rates:Content';\n\nContent.propTypes = {\n bannerLoyalty: PropTypes.bool,\n dangerousChildren: PropTypes.arrayOf(PropTypes.any),\n increments: PropTypes.string,\n};\n\nexport { Content };\n"],"mappings":"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"}
|
|
@@ -317,7 +317,7 @@ const Rates = _ref => {
|
|
|
317
317
|
className: (0, _ui.styles)(style.container, others.className)
|
|
318
318
|
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
319
319
|
className: [style.wrapper, style.content]
|
|
320
|
-
}, response && !responseError && /*#__PURE__*/_react.default.createElement(_Rates2.Content, others), (response || multiRoom && !responseError) && /*#__PURE__*/_react.default.createElement(_Rates4.Header, {
|
|
320
|
+
}, response && !responseError && /*#__PURE__*/_react.default.createElement(_Rates2.Content, _extends({}, dataSource, others)), (response || multiRoom && !responseError) && /*#__PURE__*/_react.default.createElement(_Rates4.Header, {
|
|
321
321
|
clubDiscount,
|
|
322
322
|
dataSource,
|
|
323
323
|
features,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_services2","_Finder","_helpers2","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","rates","cart","storeCart","session","urlParams","useStore","calendar","occupation","place","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","useEffect","callback","fetch","Event","subscribe","EVENT","INTENT_CURRENCY","unsubscribe","boards","items","map","_ref2","name","roomName","board","flat","nextCart","find","filter","console","log","replaceHistory","multiRoom","current","offsetHeight","offsetTop","document","documentElement","scrollTo","top","behavior","getNextUrlParams","trackDataSource","nextClubDiscount","params","publish","FINDER","nextParams","parties","parseToParties","nextDataSource","ServiceRates","catch","externalSignout","signout","JSON","stringify","history","replaceState","toUrlParams","lang","getFinderParams","handleFinder","values","handleClubDiscount","next","handleSelect","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","hotelCurrency","selectableExtras","some","included","handleCheckout","location","href","getForwarderUrl","contentBackground","Theme","features","getFeatures","nights","dateDiff","days","response","roomSelectorProps","onPress","createElement","Fragment","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","L10N","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","Header","onClubDiscount","onSelect","row","_ref3","index","item","Item","concat","taxesType","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getCheckoutParams, getFeatures, getFinderParams, getForwarderUrl, signout, trackDataSource } from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder';\nimport { EVENT, opacity, parseToParties, toUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n useEffect(() => {\n const callback = async ({ currency } = {}) => {\n set({ currency });\n // ! TODO: Here locale is not correct\n await fetch(currency, clubDiscount, undefined, room);\n };\n\n Event.subscribe(EVENT.INTENT_CURRENCY, callback);\n return () => Event.unsubscribe(EVENT.INTENT_CURRENCY, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n useEffect(() => {\n if (!storeCart.length || !dataSource || cart.length) return;\n\n const boards = dataSource.items\n .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))\n .flat();\n const nextCart = storeCart.map((id) => boards.find((board) => board.id === id)).filter((board) => !!board);\n\n // eslint-disable-next-line no-console\n console.log('::cart from url::', nextCart);\n\n // if (storeCart.length === nextCart.length) setCart(nextCart);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cart, dataSource, storeCart]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => currency && locale && replaceHistory(), [currency, locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n fetch(currency, undefined, getNextUrlParams(), room);\n replaceHistory();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [finder, locale, room, session]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n\n trackDataSource({ ...dataSource, ...urlParams, isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n const fetch = async (currency, nextClubDiscount = clubDiscount, params = urlParams, room) => {\n if (skeleton || (!multiRoom && room !== undefined)) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n const nextParams = {\n ...params,\n club,\n clubDiscount: nextClubDiscount,\n currency,\n id,\n locale,\n occupation,\n place,\n session,\n };\n if (room !== undefined) nextParams.parties = parseToParties([occupation[room]]);\n\n const nextDataSource = await ServiceRates.get(nextParams).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && multiRoom && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const replaceHistory = (nextParams = getNextUrlParams() || {}, nextCart = cart || []) => {\n if (nextCart.length) nextParams.rates = JSON.stringify(nextCart.map(({ id } = {}) => id));\n else if (nextParams.rates) nextParams.rates = undefined;\n\n history.replaceState({}, '', toUrlParams({ ...nextParams, currency, lang: language, locale }));\n };\n\n const getNextUrlParams = () => getFinderParams({ ...urlParams, ...finder, currency, locale, hotel });\n\n const handleFinder = (values) => {\n setCart([]);\n setDataSource(undefined);\n setRoom(undefined);\n\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n replaceHistory(params);\n };\n\n const handleClubDiscount = async (next) => {\n setCart([]);\n setClubDiscount(next);\n login && setLogin(false);\n\n await fetch(currency, next, undefined, room);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) replaceHistory(undefined, nextCart);\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n replaceHistory(undefined, cart);\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: getNextUrlParams() }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n const urlParams = getNextUrlParams();\n document.location.href = getForwarderUrl({ cart, clubDiscount, currency, extras, forwarder, session, urlParams });\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams);\n const multiRoom = occupation?.length > 1;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n\n return (\n <>\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && !responseError && <Content {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <Header\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </Header>\n )}\n\n {response ? (\n <View row={!isMobile} className={style.items}>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n key={`${id || index}:${fetching}:${width}`}\n {...{ id, ...item, features, multiRoom, nights, taxesType: dataSource.taxesType }}\n cart={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </View>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && <Footer {...{ cart, dataSource, extras, occupation }} onSubmit={() => handleSubmit(cart)} />}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...itemInfo}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => handleSelect()}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_services2","_Finder","_helpers2","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","rates","cart","storeCart","session","urlParams","useStore","calendar","occupation","place","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","useEffect","callback","fetch","Event","subscribe","EVENT","INTENT_CURRENCY","unsubscribe","boards","items","map","_ref2","name","roomName","board","flat","nextCart","find","filter","console","log","replaceHistory","multiRoom","current","offsetHeight","offsetTop","document","documentElement","scrollTo","top","behavior","getNextUrlParams","trackDataSource","nextClubDiscount","params","publish","FINDER","nextParams","parties","parseToParties","nextDataSource","ServiceRates","catch","externalSignout","signout","JSON","stringify","history","replaceState","toUrlParams","lang","getFinderParams","handleFinder","values","handleClubDiscount","next","handleSelect","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","hotelCurrency","selectableExtras","some","included","handleCheckout","location","href","getForwarderUrl","contentBackground","Theme","features","getFeatures","nights","dateDiff","days","response","roomSelectorProps","onPress","createElement","Fragment","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","L10N","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","Header","onClubDiscount","onSelect","row","_ref3","index","item","Item","concat","taxesType","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getCheckoutParams, getFeatures, getFinderParams, getForwarderUrl, signout, trackDataSource } from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder';\nimport { EVENT, opacity, parseToParties, toUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n useEffect(() => {\n const callback = async ({ currency } = {}) => {\n set({ currency });\n // ! TODO: Here locale is not correct\n await fetch(currency, clubDiscount, undefined, room);\n };\n\n Event.subscribe(EVENT.INTENT_CURRENCY, callback);\n return () => Event.unsubscribe(EVENT.INTENT_CURRENCY, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n useEffect(() => {\n if (!storeCart.length || !dataSource || cart.length) return;\n\n const boards = dataSource.items\n .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))\n .flat();\n const nextCart = storeCart.map((id) => boards.find((board) => board.id === id)).filter((board) => !!board);\n\n // eslint-disable-next-line no-console\n console.log('::cart from url::', nextCart);\n\n // if (storeCart.length === nextCart.length) setCart(nextCart);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cart, dataSource, storeCart]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => currency && locale && replaceHistory(), [currency, locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n fetch(currency, undefined, getNextUrlParams(), room);\n replaceHistory();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [finder, locale, room, session]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n\n trackDataSource({ ...dataSource, ...urlParams, isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n const fetch = async (currency, nextClubDiscount = clubDiscount, params = urlParams, room) => {\n if (skeleton || (!multiRoom && room !== undefined)) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n const nextParams = {\n ...params,\n club,\n clubDiscount: nextClubDiscount,\n currency,\n id,\n locale,\n occupation,\n place,\n session,\n };\n if (room !== undefined) nextParams.parties = parseToParties([occupation[room]]);\n\n const nextDataSource = await ServiceRates.get(nextParams).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && multiRoom && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const replaceHistory = (nextParams = getNextUrlParams() || {}, nextCart = cart || []) => {\n if (nextCart.length) nextParams.rates = JSON.stringify(nextCart.map(({ id } = {}) => id));\n else if (nextParams.rates) nextParams.rates = undefined;\n\n history.replaceState({}, '', toUrlParams({ ...nextParams, currency, lang: language, locale }));\n };\n\n const getNextUrlParams = () => getFinderParams({ ...urlParams, ...finder, currency, locale, hotel });\n\n const handleFinder = (values) => {\n setCart([]);\n setDataSource(undefined);\n setRoom(undefined);\n\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n replaceHistory(params);\n };\n\n const handleClubDiscount = async (next) => {\n setCart([]);\n setClubDiscount(next);\n login && setLogin(false);\n\n await fetch(currency, next, undefined, room);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) replaceHistory(undefined, nextCart);\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n replaceHistory(undefined, cart);\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: getNextUrlParams() }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n const urlParams = getNextUrlParams();\n document.location.href = getForwarderUrl({ cart, clubDiscount, currency, extras, forwarder, session, urlParams });\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams);\n const multiRoom = occupation?.length > 1;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n\n return (\n <>\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && !responseError && <Content {...dataSource} {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <Header\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </Header>\n )}\n\n {response ? (\n <View row={!isMobile} className={style.items}>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n key={`${id || index}:${fetching}:${width}`}\n {...{ id, ...item, features, multiRoom, nights, taxesType: dataSource.taxesType }}\n cart={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </View>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && <Footer {...{ cart, dataSource, extras, occupation }} onSubmit={() => handleSubmit(cart)} />}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...itemInfo}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => handleSelect()}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -60,6 +60,10 @@ const Preview = _ref => {
|
|
|
60
60
|
action: !isMobile,
|
|
61
61
|
small: isMobile
|
|
62
62
|
};
|
|
63
|
+
const {
|
|
64
|
+
offerDates,
|
|
65
|
+
variants = []
|
|
66
|
+
} = selectedBoard;
|
|
63
67
|
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
64
68
|
ref: ref
|
|
65
69
|
}, /*#__PURE__*/_react.default.createElement(_components.Slider, {
|
|
@@ -107,7 +111,23 @@ const Preview = _ref => {
|
|
|
107
111
|
className: style.row
|
|
108
112
|
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
109
113
|
value: _helpers.ICON.AMENITY
|
|
110
|
-
}), /*#__PURE__*/_react.default.createElement(_ui.Text, caption, item))), boards.length === 1 && /*#__PURE__*/_react.default.createElement(_ui.
|
|
114
|
+
}), /*#__PURE__*/_react.default.createElement(_ui.Text, caption, item))), boards.length === 1 && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
115
|
+
row: true,
|
|
116
|
+
className: style.row
|
|
117
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Text, caption, boards[0].name), variants.length > 0 && /*#__PURE__*/_react.default.createElement(_components.TooltipDates, {
|
|
118
|
+
captions: variants.map(function () {
|
|
119
|
+
let {
|
|
120
|
+
name
|
|
121
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
122
|
+
return name;
|
|
123
|
+
}),
|
|
124
|
+
values: variants.map(function () {
|
|
125
|
+
let {
|
|
126
|
+
value
|
|
127
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
128
|
+
return (0, _locale.parseDate)(value);
|
|
129
|
+
})
|
|
130
|
+
}))), cancellations.length === 1 && /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
111
131
|
row: true
|
|
112
132
|
}, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
113
133
|
onPress: () => onRateInfo({
|
|
@@ -129,16 +149,27 @@ const Preview = _ref => {
|
|
|
129
149
|
action: !isMobile,
|
|
130
150
|
small: isMobile,
|
|
131
151
|
className: [style.rate, style.highlight]
|
|
132
|
-
}, translate(_Item.L10N.LABEL_ONLY_MEMBERS))), uniqueRate === null || uniqueRate === void 0 ? void 0 : uniqueRate.restrictions.map((
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
152
|
+
}, translate(_Item.L10N.LABEL_ONLY_MEMBERS))), uniqueRate === null || uniqueRate === void 0 ? void 0 : uniqueRate.restrictions.map(function () {
|
|
153
|
+
let {
|
|
154
|
+
isVariableOffer,
|
|
155
|
+
value
|
|
156
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
157
|
+
let index = arguments.length > 1 ? arguments[1] : undefined;
|
|
158
|
+
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
159
|
+
key: index,
|
|
160
|
+
row: true,
|
|
161
|
+
className: style.row
|
|
162
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
163
|
+
warning: true,
|
|
164
|
+
value: _helpers.ICON.WARNING
|
|
165
|
+
}), /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({
|
|
166
|
+
warning: true
|
|
167
|
+
}, caption), value), isVariableOffer && offerDates.length > 0 && /*#__PURE__*/_react.default.createElement(_components.TooltipDates, {
|
|
168
|
+
captions: offerDates.map(() => translate(_Item.L10N.LABEL_INCLUDED)),
|
|
169
|
+
values: offerDates.map(date => (0, _locale.parseDate)(date)),
|
|
170
|
+
warning: true
|
|
171
|
+
}));
|
|
172
|
+
}), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
142
173
|
row: true
|
|
143
174
|
}, /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
144
175
|
inline: true,
|