@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.
Files changed (29) hide show
  1. package/build/components/BannerLoyalty/BannerLoyalty.module.css +0 -5
  2. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Menu.test.js.snap +48 -32
  3. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Session.test.js.snap +36 -20
  4. package/build/components/Rates/Rates.Content.js +19 -3
  5. package/build/components/Rates/Rates.Content.js.map +1 -1
  6. package/build/components/Rates/Rates.js +1 -1
  7. package/build/components/Rates/Rates.js.map +1 -1
  8. package/build/components/Rates/Rates.module.css +5 -0
  9. package/build/components/Rates/components/Item/Item.Preview.js +42 -11
  10. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  11. package/build/components/Rates/components/Item/Item.Rates.js +17 -6
  12. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  13. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +24 -13
  14. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
  15. package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +18 -14
  16. package/build/components/__shared__/ButtonPayment/components/FormPaycomet/FormPaycomet.js +2 -2
  17. package/build/components/__shared__/ButtonPayment/components/FormPaycomet/FormPaycomet.js.map +1 -1
  18. package/build/components/__shared__/ButtonPayment/components/FormSipay/__tests__/__snapshots__/FormSipay.test.js.snap +30 -18
  19. package/build/components/__shared__/ButtonPayment/components/InputField/__tests__/__snapshots__/InputField.test.js.snap +2 -2
  20. package/build/components/__shared__/Occupation/Occupation.js +1 -1
  21. package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
  22. package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +21 -13
  23. package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +84 -336
  24. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +12 -24
  25. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +72 -180
  26. package/build/services/Rates/__tests__/__mocks__/rates-response.json +8 -32
  27. package/build/services/Rates/helpers/parseBoards.js +35 -19
  28. package/build/services/Rates/helpers/parseBoards.js.map +1 -1
  29. 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 inline small"
237
+ class="view row notification warning inline small"
238
238
  >
239
239
  <span
240
- class="icon paragraph 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
- <span
257
- class="text small text warning"
256
+ <div
257
+ class="view texts"
258
258
  >
259
259
  <span
260
- style="font-weight: bold;"
260
+ class="text small"
261
261
  >
262
- {{price.description}
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
- } Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
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 inline small"
512
+ class="view row notification warning inline small"
509
513
  >
510
514
  <span
511
- class="icon paragraph 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
- <span
528
- class="text small text warning"
531
+ <div
532
+ class="view texts"
529
533
  >
530
534
  <span
531
- style="font-weight: bold;"
535
+ class="text small"
532
536
  >
533
- {{price.description}
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
- } Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
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 inline small"
788
+ class="view row notification warning inline small"
781
789
  >
782
790
  <span
783
- class="icon paragraph 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
- <span
800
- class="text small text warning"
807
+ <div
808
+ class="view texts"
801
809
  >
802
810
  <span
803
- style="font-weight: bold;"
811
+ class="text small"
804
812
  >
805
- {{price.description}
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
- } Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
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 inline small"
1063
+ class="view row notification warning inline small"
1052
1064
  >
1053
1065
  <span
1054
- class="icon paragraph 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
- <span
1071
- class="text small text warning"
1082
+ <div
1083
+ class="view texts"
1072
1084
  >
1073
1085
  <span
1074
- style="font-weight: bold;"
1086
+ class="text small"
1075
1087
  >
1076
- {{price.description}
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
- } Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
1079
- </span>
1095
+ </div>
1080
1096
  </div>
1081
1097
  </div>
1082
1098
  </div>
@@ -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 paragraph 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
- <span
31
- class="text small text"
30
+ <div
31
+ class="view texts"
32
32
  >
33
- user.notification.session_booking
34
- </span>
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 paragraph 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
- <span
235
- class="text small text"
238
+ <div
239
+ class="view texts"
236
240
  >
237
- user.notification.session_booking
238
- </span>
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 paragraph 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
- <span
440
- class="text small text"
447
+ <div
448
+ class="view texts"
441
449
  >
442
- user.notification.session_booking
443
- </span>
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 paragraph 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
- <span
644
- class="text small text"
655
+ <div
656
+ class="view texts"
645
657
  >
646
- user.notification.session_booking
647
- </span>
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
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, dangerousChildren.length ? /*#__PURE__*/_react.default.createElement(_ui.View, others, dangerousChildren.map((child, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
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
- dangerousChildren: _propTypes.default.arrayOf(_propTypes.default.any)
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","obj","__esModule","default","Content","_ref","dangerousChildren","others","createElement","Fragment","length","View","map","child","index","key","dangerouslySetInnerHTML","__html","outerHTML","BannerLoyalty","exports","displayName","propTypes","PropTypes","arrayOf","any"],"sources":["../../../src/components/Rates/Rates.Content.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { BannerLoyalty } from '../BannerLoyalty';\n\nconst Content = ({ dangerousChildren = [], ...others }) => {\n return (\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 <BannerLoyalty />\n </>\n );\n};\n\nContent.displayName = 'Mirai:Core:Rates:Content';\n\nContent.propTypes = {\n dangerousChildren: PropTypes.arrayOf(PropTypes.any),\n};\n\nexport { Content };\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,IAAAI,cAAA,GAAAJ,OAAA;AAAiD,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEjD,MAAMG,OAAO,GAAGC,IAAA,IAA2C;EAAA,IAA1C;IAAEC,iBAAiB,GAAG,EAAE;IAAE,GAAGC;EAAO,CAAC,GAAAF,IAAA;EACpD,oBACEN,MAAA,CAAAI,OAAA,CAAAK,aAAA,CAAAT,MAAA,CAAAI,OAAA,CAAAM,QAAA,QACGH,iBAAiB,CAACI,MAAM,gBACvBX,MAAA,CAAAI,OAAA,CAAAK,aAAA,CAACb,GAAA,CAAAgB,IAAI,EAAKJ,MAAM,EACbD,iBAAiB,CAACM,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,kBAClCf,MAAA,CAAAI,OAAA,CAAAK,aAAA,CAACb,GAAA,CAAAgB,IAAI;IAACI,GAAG,EAAED,KAAM;IAACE,uBAAuB,EAAE;MAAEC,MAAM,EAAEJ,KAAK,CAACK;IAAU;EAAE,CAAE,CAC1E,CACG,CAAC,GACL,IAAI,eACRnB,MAAA,CAAAI,OAAA,CAAAK,aAAA,CAACR,cAAA,CAAAmB,aAAa,MAAE,CAChB,CAAC;AAEP,CAAC;AAACC,OAAA,CAAAhB,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAACiB,WAAW,GAAG,0BAA0B;AAEhDjB,OAAO,CAACkB,SAAS,GAAG;EAClBhB,iBAAiB,EAAEiB,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG;AACpD,CAAC"}
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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"}
@@ -38,6 +38,11 @@ body {
38
38
  width: 100%;
39
39
  }
40
40
 
41
+ .container .extraContent {
42
+ gap: var(--mirai-ui-space-M);
43
+ margin-bottom: var(--mirai-ui-space-M);
44
+ }
45
+
41
46
  .container > .content {
42
47
  width: 100%;
43
48
  }
@@ -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.Text, caption, boards[0].name)), cancellations.length === 1 && /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
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((item, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
133
- key: index,
134
- row: true,
135
- className: style.row
136
- }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
137
- warning: true,
138
- value: _helpers.ICON.WARNING
139
- }), /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({
140
- warning: true
141
- }, caption), item))), /*#__PURE__*/_react.default.createElement(_ui.View, {
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,