@mirai/core 0.3.139 → 0.3.141

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 (50) hide show
  1. package/build/Core.constants.js +5 -1
  2. package/build/Core.constants.js.map +1 -1
  3. package/build/Core.js +1 -0
  4. package/build/Core.js.map +1 -1
  5. package/build/components/Finder/Finder.js +4 -0
  6. package/build/components/Finder/Finder.js.map +1 -1
  7. package/build/components/Finder/components/Calendar/Calendar.js +26 -2
  8. package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
  9. package/build/components/Finder/components/Calendar/Calendar.l10n.js +6 -1
  10. package/build/components/Finder/components/Calendar/Calendar.l10n.js.map +1 -1
  11. package/build/components/Finder/components/Calendar/helpers/calcMinStay.js +34 -0
  12. package/build/components/Finder/components/Calendar/helpers/calcMinStay.js.map +1 -0
  13. package/build/components/Finder/components/Calendar/helpers/calcTooltips.js +33 -0
  14. package/build/components/Finder/components/Calendar/helpers/calcTooltips.js.map +1 -0
  15. package/build/components/Finder/components/Calendar/helpers/index.js +22 -0
  16. package/build/components/Finder/components/Calendar/helpers/index.js.map +1 -1
  17. package/build/components/Rates/Rates.Footer.js +0 -1
  18. package/build/components/Rates/Rates.Footer.js.map +1 -1
  19. package/build/components/Rates/Rates.Header.js +15 -43
  20. package/build/components/Rates/Rates.Header.js.map +1 -1
  21. package/build/components/Rates/Rates.Unavailability.js +19 -9
  22. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  23. package/build/components/Rates/Rates.js +29 -31
  24. package/build/components/Rates/Rates.js.map +1 -1
  25. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +0 -4
  26. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
  27. package/build/helpers/consolidateStore.js +2 -2
  28. package/build/helpers/consolidateStore.js.map +1 -1
  29. package/build/helpers/index.js +11 -0
  30. package/build/helpers/index.js.map +1 -1
  31. package/build/helpers/themeDirection.js +14 -0
  32. package/build/helpers/themeDirection.js.map +1 -0
  33. package/build/services/Rates/helpers/compareSuggestions.js +40 -0
  34. package/build/services/Rates/helpers/compareSuggestions.js.map +1 -0
  35. package/build/services/Rates/helpers/getCalendarSuggestions.js +60 -0
  36. package/build/services/Rates/helpers/getCalendarSuggestions.js.map +1 -0
  37. package/build/services/Rates/helpers/getDisabledDates.js +35 -0
  38. package/build/services/Rates/helpers/getDisabledDates.js.map +1 -0
  39. package/build/services/Rates/helpers/getMinStayDates.js +36 -0
  40. package/build/services/Rates/helpers/getMinStayDates.js.map +1 -0
  41. package/build/services/Rates/helpers/getOccupationSuggestions.js +22 -47
  42. package/build/services/Rates/helpers/getOccupationSuggestions.js.map +1 -1
  43. package/build/services/Rates/helpers/getRooms.js +55 -0
  44. package/build/services/Rates/helpers/getRooms.js.map +1 -0
  45. package/build/services/Rates/helpers/parseUnavailability.js +31 -2
  46. package/build/services/Rates/helpers/parseUnavailability.js.map +1 -1
  47. package/build/services/Rates/rates.js +2 -0
  48. package/build/services/Rates/rates.js.map +1 -1
  49. package/package.json +1 -1
  50. package/public/routes/Step1-Rates.jsx +2 -2
@@ -4,7 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getOccupationSuggestions = void 0;
7
- var _parseBoards2 = require("./parseBoards");
7
+ var _compareSuggestions = require("./compareSuggestions");
8
+ var _getRooms = require("./getRooms");
8
9
  var _shared__ = require("../../../components/__shared__");
9
10
  const {
10
11
  ADULT,
@@ -13,15 +14,11 @@ const {
13
14
  } = _shared__.TYPE_OCCUPATION;
14
15
  const getOccupationSuggestions = _ref => {
15
16
  let {
16
- currency,
17
- fees,
18
- hotelCurrency,
19
17
  infantAge,
20
18
  occupation = [],
21
- roomTypes,
22
- taxes
19
+ ...others
23
20
  } = _ref;
24
- const isGuestType = occupation.flat().some(function () {
21
+ const isGuest = occupation.flat().some(function () {
25
22
  let {
26
23
  type
27
24
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -60,42 +57,7 @@ const getOccupationSuggestions = _ref => {
60
57
  ages: []
61
58
  });
62
59
  const ageBaby = agesChildren.find(age => age < infantAge);
63
- const rooms = Object.values(Object.values(roomTypes).flatMap(function () {
64
- let {
65
- amountAvailable: availability,
66
- occupationOptions
67
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
68
- return Object.values(occupationOptions).map(function () {
69
- var _parseBoards, _parseBoards$boards, _parseBoards$boards$;
70
- let {
71
- idWithBaby: id,
72
- occupationQuantities: {
73
- numAdults,
74
- numBabies,
75
- totalChildren
76
- } = {},
77
- rates
78
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
79
- return {
80
- availability,
81
- id,
82
- adults: numAdults,
83
- babies: numBabies,
84
- children: totalChildren,
85
- price: (_parseBoards = (0, _parseBoards2.parseBoards)({
86
- currency,
87
- fees,
88
- hotelCurrency,
89
- rates,
90
- taxes
91
- })) === null || _parseBoards === void 0 ? void 0 : (_parseBoards$boards = _parseBoards.boards) === null || _parseBoards$boards === void 0 ? void 0 : (_parseBoards$boards$ = _parseBoards$boards[0]) === null || _parseBoards$boards$ === void 0 ? void 0 : _parseBoards$boards$.price
92
- };
93
- });
94
- }).sort((a, b) => a.price - b.price).reduce((result, current) => {
95
- const key = "".concat(current.adults, "-").concat(current.babies, "-").concat(current.children);
96
- if (!result[key]) result[key] = current;
97
- return result;
98
- }, {}));
60
+ const rooms = (0, _getRooms.getRooms)(others);
99
61
  const suggestions = [];
100
62
  const search = _ref2 => {
101
63
  let {
@@ -107,7 +69,10 @@ const getOccupationSuggestions = _ref => {
107
69
  startIndex = 0,
108
70
  suggestion = []
109
71
  } = _ref2;
110
- if (adults === 0 && children === 0 && babies === 0 && availability >= 0) {
72
+ if (adults === 0 && children === 0 && babies === 0 && availability >= 0 && !(0, _compareSuggestions.compareSuggestions)({
73
+ suggestion,
74
+ suggestions
75
+ })) {
111
76
  const initAges = [...agesChildren].filter(age => age !== ageBaby);
112
77
  suggestions.push({
113
78
  occupation: suggestion.map(function () {
@@ -121,7 +86,7 @@ const getOccupationSuggestions = _ref => {
121
86
  occupation.push({
122
87
  ages: Array(adults).fill(undefined),
123
88
  amount: adults,
124
- type: isGuestType ? GUEST : ADULT
89
+ type: isGuest ? GUEST : ADULT
125
90
  });
126
91
  }
127
92
  const ages = Array(children).fill(undefined).map(() => initAges.pop());
@@ -138,7 +103,8 @@ const getOccupationSuggestions = _ref => {
138
103
  price
139
104
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
140
105
  return total + price;
141
- }, 0)
106
+ }, 0),
107
+ suggestion
142
108
  });
143
109
  return;
144
110
  }
@@ -177,7 +143,16 @@ const getOccupationSuggestions = _ref => {
177
143
  rooms
178
144
  });
179
145
  }
180
- return suggestions;
146
+ return suggestions.map(function () {
147
+ let {
148
+ occupation,
149
+ price
150
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
151
+ return {
152
+ occupation,
153
+ price
154
+ };
155
+ }).sort((a, b) => a.price - b.price);
181
156
  };
182
157
  exports.getOccupationSuggestions = getOccupationSuggestions;
183
158
  //# sourceMappingURL=getOccupationSuggestions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getOccupationSuggestions.js","names":["_parseBoards2","require","_shared__","ADULT","CHILD","GUEST","TYPE_OCCUPATION","getOccupationSuggestions","_ref","currency","fees","hotelCurrency","infantAge","occupation","roomTypes","taxes","isGuestType","flat","some","type","arguments","length","undefined","adults","reduce","total","amount","children","ages","agesChildren","filter","totalAges","ageBaby","find","age","rooms","Object","values","flatMap","amountAvailable","availability","occupationOptions","map","_parseBoards","_parseBoards$boards","_parseBoards$boards$","idWithBaby","id","occupationQuantities","numAdults","numBabies","totalChildren","rates","babies","price","parseBoards","boards","sort","a","b","result","current","key","concat","suggestions","search","_ref2","startIndex","suggestion","initAges","push","Array","fill","pop","index","room","exports"],"sources":["../../../../src/services/Rates/helpers/getOccupationSuggestions.js"],"sourcesContent":["import { parseBoards } from './parseBoards';\nimport { TYPE_OCCUPATION } from '../../../components/__shared__';\n\nconst { ADULT, CHILD, GUEST } = TYPE_OCCUPATION;\n\nexport const getOccupationSuggestions = ({\n currency,\n fees,\n hotelCurrency,\n infantAge,\n occupation = [],\n roomTypes,\n taxes,\n}) => {\n const isGuestType = occupation.flat().some(({ type } = {}) => type === GUEST);\n const adults = occupation.flat().reduce((total, { amount, type } = {}) => total + (type !== CHILD ? amount : 0), 0);\n const { amount: children, ages: agesChildren } = occupation\n .flat()\n .filter(({ type } = {}) => type === CHILD)\n .reduce(\n ({ ages: totalAges, amount: total } = {}, { ages, amount } = {}) => ({\n amount: total + amount,\n ages: [...totalAges, ...ages],\n }),\n { amount: 0, ages: [] },\n );\n const ageBaby = agesChildren.find((age) => age < infantAge);\n const rooms = Object.values(\n Object.values(roomTypes)\n .flatMap(({ amountAvailable: availability, occupationOptions } = {}) =>\n Object.values(occupationOptions).map(\n ({ idWithBaby: id, occupationQuantities: { numAdults, numBabies, totalChildren } = {}, rates } = {}) => ({\n availability,\n id,\n adults: numAdults,\n babies: numBabies,\n children: totalChildren,\n price: parseBoards({ currency, fees, hotelCurrency, rates, taxes })?.boards?.[0]?.price,\n }),\n ),\n )\n .sort((a, b) => a.price - b.price)\n .reduce((result, current) => {\n const key = `${current.adults}-${current.babies}-${current.children}`;\n if (!result[key]) result[key] = current;\n\n return result;\n }, {}),\n );\n\n const suggestions = [];\n\n const search = ({ adults, availability, babies, children, rooms, startIndex = 0, suggestion = [] }) => {\n if (adults === 0 && children === 0 && babies === 0 && availability >= 0) {\n const initAges = [...agesChildren].filter((age) => age !== ageBaby);\n suggestions.push({\n occupation: suggestion.map(({ adults, babies, children } = {}) => {\n const occupation = [];\n if (adults > 0) {\n occupation.push({ ages: Array(adults).fill(undefined), amount: adults, type: isGuestType ? GUEST : ADULT });\n }\n\n const ages = Array(children)\n .fill(undefined)\n .map(() => initAges.pop());\n if (babies > 0) ages.push(ageBaby);\n if (children + babies > 0) occupation.push({ ages, amount: children + babies, type: CHILD });\n\n return occupation;\n }),\n price: suggestion.reduce((total, { price } = {}) => total + price, 0),\n });\n\n return;\n }\n\n for (let index = startIndex; index < rooms.length; index++) {\n const room = rooms[index];\n if (room.adults <= adults && room.children <= children && room.babies <= babies) {\n search({\n rooms,\n adults: adults - room.adults,\n availability: room.availability - 1,\n children: children - room.children,\n babies: babies - room.babies,\n suggestion: [\n ...suggestion,\n {\n id: room.id,\n adults: room.adults,\n children: room.children,\n babies: room.babies,\n price: room.price,\n },\n ],\n startIndex: index + 1,\n });\n }\n }\n };\n\n search({ adults, babies: ageBaby >= 0 ? 1 : 0, children: ageBaby >= 0 ? children - 1 : children, rooms });\n\n if (suggestions.length === 0) {\n search({\n adults: ageBaby >= 0 ? adults + children - 1 : adults + children,\n babies: ageBaby >= 0 ? 1 : 0,\n children: 0,\n rooms,\n });\n }\n\n return suggestions;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"getOccupationSuggestions.js","names":["_compareSuggestions","require","_getRooms","_shared__","ADULT","CHILD","GUEST","TYPE_OCCUPATION","getOccupationSuggestions","_ref","infantAge","occupation","others","isGuest","flat","some","type","arguments","length","undefined","adults","reduce","total","amount","children","ages","agesChildren","filter","totalAges","ageBaby","find","age","rooms","getRooms","suggestions","search","_ref2","availability","babies","startIndex","suggestion","compareSuggestions","initAges","push","map","Array","fill","pop","price","index","room","id","sort","a","b","exports"],"sources":["../../../../src/services/Rates/helpers/getOccupationSuggestions.js"],"sourcesContent":["import { compareSuggestions } from './compareSuggestions';\nimport { getRooms } from './getRooms';\nimport { TYPE_OCCUPATION } from '../../../components/__shared__';\n\nconst { ADULT, CHILD, GUEST } = TYPE_OCCUPATION;\n\nexport const getOccupationSuggestions = ({ infantAge, occupation = [], ...others }) => {\n const isGuest = occupation.flat().some(({ type } = {}) => type === GUEST);\n const adults = occupation.flat().reduce((total, { amount, type } = {}) => total + (type !== CHILD ? amount : 0), 0);\n const { amount: children, ages: agesChildren } = occupation\n .flat()\n .filter(({ type } = {}) => type === CHILD)\n .reduce(\n ({ ages: totalAges, amount: total } = {}, { ages, amount } = {}) => ({\n amount: total + amount,\n ages: [...totalAges, ...ages],\n }),\n { amount: 0, ages: [] },\n );\n const ageBaby = agesChildren.find((age) => age < infantAge);\n const rooms = getRooms(others);\n\n const suggestions = [];\n\n const search = ({ adults, availability, babies, children, rooms, startIndex = 0, suggestion = [] }) => {\n if (\n adults === 0 &&\n children === 0 &&\n babies === 0 &&\n availability >= 0 &&\n !compareSuggestions({ suggestion, suggestions })\n ) {\n const initAges = [...agesChildren].filter((age) => age !== ageBaby);\n suggestions.push({\n occupation: suggestion.map(({ adults, babies, children } = {}) => {\n const occupation = [];\n if (adults > 0) {\n occupation.push({ ages: Array(adults).fill(undefined), amount: adults, type: isGuest ? GUEST : ADULT });\n }\n\n const ages = Array(children)\n .fill(undefined)\n .map(() => initAges.pop());\n if (babies > 0) ages.push(ageBaby);\n if (children + babies > 0) occupation.push({ ages, amount: children + babies, type: CHILD });\n\n return occupation;\n }),\n price: suggestion.reduce((total, { price } = {}) => total + price, 0),\n suggestion,\n });\n\n return;\n }\n\n for (let index = startIndex; index < rooms.length; index++) {\n const room = rooms[index];\n if (room.adults <= adults && room.children <= children && room.babies <= babies) {\n search({\n rooms,\n adults: adults - room.adults,\n availability: room.availability - 1,\n children: children - room.children,\n babies: babies - room.babies,\n suggestion: [\n ...suggestion,\n { id: room.id, adults: room.adults, children: room.children, babies: room.babies, price: room.price },\n ],\n startIndex: index + 1,\n });\n }\n }\n };\n\n search({ adults, babies: ageBaby >= 0 ? 1 : 0, children: ageBaby >= 0 ? children - 1 : children, rooms });\n\n if (suggestions.length === 0) {\n search({\n adults: ageBaby >= 0 ? adults + children - 1 : adults + children,\n babies: ageBaby >= 0 ? 1 : 0,\n children: 0,\n rooms,\n });\n }\n\n return suggestions.map(({ occupation, price } = {}) => ({ occupation, price })).sort((a, b) => a.price - b.price);\n};\n"],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getRooms = void 0;
7
+ var _parseBoards2 = require("./parseBoards");
8
+ const MAX_ROOM_AVAILABILITY = 5;
9
+ const getRooms = _ref => {
10
+ let {
11
+ currency,
12
+ fees,
13
+ hotelCurrency,
14
+ roomTypes,
15
+ taxes
16
+ } = _ref;
17
+ return Object.values(Object.values(roomTypes).flatMap(function () {
18
+ let {
19
+ amountAvailable: availability,
20
+ occupationOptions
21
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
22
+ return Object.values(occupationOptions).map(function () {
23
+ var _parseBoards, _parseBoards$boards, _parseBoards$boards$;
24
+ let {
25
+ idWithBaby: id,
26
+ occupationQuantities: {
27
+ numAdults,
28
+ numBabies,
29
+ totalChildren
30
+ } = {},
31
+ rates
32
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
33
+ return {
34
+ availability,
35
+ id,
36
+ adults: numAdults,
37
+ babies: numBabies,
38
+ children: totalChildren,
39
+ price: (_parseBoards = (0, _parseBoards2.parseBoards)({
40
+ currency,
41
+ fees,
42
+ hotelCurrency,
43
+ rates,
44
+ taxes
45
+ })) === null || _parseBoards === void 0 ? void 0 : (_parseBoards$boards = _parseBoards.boards) === null || _parseBoards$boards === void 0 ? void 0 : (_parseBoards$boards$ = _parseBoards$boards[0]) === null || _parseBoards$boards$ === void 0 ? void 0 : _parseBoards$boards$.price
46
+ };
47
+ });
48
+ }).sort((a, b) => a.price - b.price).reduce((result, current) => {
49
+ const key = "".concat(current.adults, "-").concat(current.babies, "-").concat(current.children);
50
+ if (!result[key]) result[key] = current;
51
+ return result;
52
+ }, {})).flatMap(room => Array(room.availability > MAX_ROOM_AVAILABILITY ? MAX_ROOM_AVAILABILITY : room.availability).fill(undefined).map(() => room));
53
+ };
54
+ exports.getRooms = getRooms;
55
+ //# sourceMappingURL=getRooms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRooms.js","names":["_parseBoards2","require","MAX_ROOM_AVAILABILITY","getRooms","_ref","currency","fees","hotelCurrency","roomTypes","taxes","Object","values","flatMap","amountAvailable","availability","occupationOptions","arguments","length","undefined","map","_parseBoards","_parseBoards$boards","_parseBoards$boards$","idWithBaby","id","occupationQuantities","numAdults","numBabies","totalChildren","rates","adults","babies","children","price","parseBoards","boards","sort","a","b","reduce","result","current","key","concat","room","Array","fill","exports"],"sources":["../../../../src/services/Rates/helpers/getRooms.js"],"sourcesContent":["import { parseBoards } from './parseBoards';\n\nconst MAX_ROOM_AVAILABILITY = 5;\n\nexport const getRooms = ({ currency, fees, hotelCurrency, roomTypes, taxes }) =>\n Object.values(\n Object.values(roomTypes)\n .flatMap(({ amountAvailable: availability, occupationOptions } = {}) =>\n Object.values(occupationOptions).map(\n ({ idWithBaby: id, occupationQuantities: { numAdults, numBabies, totalChildren } = {}, rates } = {}) => ({\n availability,\n id,\n adults: numAdults,\n babies: numBabies,\n children: totalChildren,\n price: parseBoards({ currency, fees, hotelCurrency, rates, taxes })?.boards?.[0]?.price,\n }),\n ),\n )\n .sort((a, b) => a.price - b.price)\n .reduce((result, current) => {\n const key = `${current.adults}-${current.babies}-${current.children}`;\n if (!result[key]) result[key] = current;\n\n return result;\n }, {}),\n ).flatMap((room) =>\n Array(room.availability > MAX_ROOM_AVAILABILITY ? MAX_ROOM_AVAILABILITY : room.availability)\n .fill(undefined)\n .map(() => room),\n );\n"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAEA,MAAMC,qBAAqB,GAAG,CAAC;AAExB,MAAMC,QAAQ,GAAGC,IAAA;EAAA,IAAC;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,aAAa;IAAEC,SAAS;IAAEC;EAAM,CAAC,GAAAL,IAAA;EAAA,OAC1EM,MAAM,CAACC,MAAM,CACXD,MAAM,CAACC,MAAM,CAACH,SAAS,CAAC,CACrBI,OAAO,CAAC;IAAA,IAAC;MAAEC,eAAe,EAAEC,YAAY;MAAEC;IAAkB,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OACjEN,MAAM,CAACC,MAAM,CAACI,iBAAiB,CAAC,CAACI,GAAG,CAClC;MAAA,IAAAC,YAAA,EAAAC,mBAAA,EAAAC,oBAAA;MAAA,IAAC;QAAEC,UAAU,EAAEC,EAAE;QAAEC,oBAAoB,EAAE;UAAEC,SAAS;UAAEC,SAAS;UAAEC;QAAc,CAAC,GAAG,CAAC,CAAC;QAAEC;MAAM,CAAC,GAAAb,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAM;QACvGF,YAAY;QACZU,EAAE;QACFM,MAAM,EAAEJ,SAAS;QACjBK,MAAM,EAAEJ,SAAS;QACjBK,QAAQ,EAAEJ,aAAa;QACvBK,KAAK,GAAAb,YAAA,GAAE,IAAAc,yBAAW,EAAC;UAAE7B,QAAQ;UAAEC,IAAI;UAAEC,aAAa;UAAEsB,KAAK;UAAEpB;QAAM,CAAC,CAAC,cAAAW,YAAA,wBAAAC,mBAAA,GAA5DD,YAAA,CAA8De,MAAM,cAAAd,mBAAA,wBAAAC,oBAAA,GAApED,mBAAA,CAAuE,CAAC,CAAC,cAAAC,oBAAA,uBAAzEA,oBAAA,CAA2EW;MACpF,CAAC;IAAA,CACH,CAAC;EAAA,CACH,CAAC,CACAG,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACJ,KAAK,GAAGK,CAAC,CAACL,KAAK,CAAC,CACjCM,MAAM,CAAC,CAACC,MAAM,EAAEC,OAAO,KAAK;IAC3B,MAAMC,GAAG,MAAAC,MAAA,CAAMF,OAAO,CAACX,MAAM,OAAAa,MAAA,CAAIF,OAAO,CAACV,MAAM,OAAAY,MAAA,CAAIF,OAAO,CAACT,QAAQ,CAAE;IACrE,IAAI,CAACQ,MAAM,CAACE,GAAG,CAAC,EAAEF,MAAM,CAACE,GAAG,CAAC,GAAGD,OAAO;IAEvC,OAAOD,MAAM;EACf,CAAC,EAAE,CAAC,CAAC,CACT,CAAC,CAAC5B,OAAO,CAAEgC,IAAI,IACbC,KAAK,CAACD,IAAI,CAAC9B,YAAY,GAAGZ,qBAAqB,GAAGA,qBAAqB,GAAG0C,IAAI,CAAC9B,YAAY,CAAC,CACzFgC,IAAI,CAAC5B,SAAS,CAAC,CACfC,GAAG,CAAC,MAAMyB,IAAI,CACnB,CAAC;AAAA;AAACG,OAAA,CAAA5C,QAAA,GAAAA,QAAA"}
@@ -4,25 +4,48 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.parseUnavailability = void 0;
7
+ var _getCalendarSuggestions = require("./getCalendarSuggestions");
8
+ var _getDisabledDates = require("./getDisabledDates");
9
+ var _getMinStayDates = require("./getMinStayDates");
7
10
  var _getOccupationSuggestions = require("./getOccupationSuggestions");
8
11
  var _getTaxesType = require("./getTaxesType");
12
+ var _Core = require("../../../Core.constants");
13
+ const BY_CHECK_IN = 'BY_CHECKIN';
9
14
  const parseUnavailability = function () {
10
15
  let {
11
16
  availabilitySuggestions: availability,
12
17
  firstChildInterval,
13
18
  messages: {
14
- availabilityMessage
19
+ availabilityMessage,
20
+ noAvailabilityMessage
15
21
  } = {},
16
22
  occupation: propOccupation,
17
23
  roomTypes,
18
24
  ...response
19
25
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
20
26
  let calendar;
27
+ let disabledDates;
28
+ let description;
29
+ let minStayDates;
30
+ let minStayType;
21
31
  let occupation;
22
32
  let hotels;
23
33
  if (availability !== null) {
24
34
  var _availability$hotelSu;
25
- calendar = true;
35
+ const {
36
+ calendar: {
37
+ minimumStayConfig: config = BY_CHECK_IN
38
+ } = {}
39
+ } = availability;
40
+ minStayType = config === BY_CHECK_IN ? _Core.MIN_STAY_TYPE.CHECK_IN : _Core.MIN_STAY_TYPE.STAY;
41
+ calendar = (0, _getCalendarSuggestions.getCalendarSuggestions)({
42
+ ...availability,
43
+ ...response,
44
+ minStayType
45
+ });
46
+ disabledDates = (0, _getDisabledDates.getDisabledDates)(availability);
47
+ minStayDates = (0, _getMinStayDates.getMinStayDates)(availability);
48
+ description = noAvailabilityMessage === null || noAvailabilityMessage === void 0 ? void 0 : noAvailabilityMessage.noDispoMessage;
26
49
  hotels = availability === null || availability === void 0 ? void 0 : (_availability$hotelSu = availability.hotelSuggestions) === null || _availability$hotelSu === void 0 ? void 0 : _availability$hotelSu.map(_ref => {
27
50
  let {
28
51
  distanceMessage: distance,
@@ -58,9 +81,15 @@ const parseUnavailability = function () {
58
81
  });
59
82
  }
60
83
  return hotels || calendar || occupation ? {
84
+ calendar: {
85
+ disabledDates,
86
+ minStayDates,
87
+ minStayType
88
+ },
61
89
  hotels,
62
90
  suggestions: {
63
91
  calendar,
92
+ description,
64
93
  occupation
65
94
  },
66
95
  taxesType: (0, _getTaxesType.getTaxesType)(response)
@@ -1 +1 @@
1
- {"version":3,"file":"parseUnavailability.js","names":["_getOccupationSuggestions","require","_getTaxesType","parseUnavailability","availabilitySuggestions","availability","firstChildInterval","messages","availabilityMessage","occupation","propOccupation","roomTypes","response","arguments","length","undefined","calendar","hotels","_availability$hotelSu","hotelSuggestions","map","_ref","distanceMessage","distance","idtokenprovider","id","location","name","photo","rates","price","url","rest","split","features","images","join","notOccupationRequested","infantAge","lowerBound","getOccupationSuggestions","suggestions","taxesType","getTaxesType","exports"],"sources":["../../../../src/services/Rates/helpers/parseUnavailability.js"],"sourcesContent":["import { getOccupationSuggestions } from './getOccupationSuggestions';\nimport { getTaxesType } from './getTaxesType';\n\nexport const parseUnavailability = ({\n availabilitySuggestions: availability,\n firstChildInterval,\n messages: { availabilityMessage } = {},\n occupation: propOccupation,\n roomTypes,\n ...response\n} = {}) => {\n let calendar;\n let occupation;\n let hotels;\n\n if (availability !== null) {\n calendar = true;\n hotels = availability?.hotelSuggestions?.map(\n ({\n distanceMessage: distance,\n idtokenprovider: id,\n location,\n name,\n photo,\n rates: [{ price = 0 } = {}] = [],\n url,\n }) => {\n const [, ...rest] = name.split(' ');\n\n return { features: { distance, location, url }, id, images: [photo], name: rest.join(' '), price: price / 100 };\n },\n );\n }\n if (availabilityMessage !== null && availabilityMessage.notOccupationRequested != null) {\n const infantAge = firstChildInterval?.lowerBound;\n occupation = getOccupationSuggestions({ infantAge, roomTypes, occupation: propOccupation });\n }\n\n return hotels || calendar || occupation\n ? { hotels, suggestions: { calendar, occupation }, taxesType: getTaxesType(response) }\n : undefined;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,yBAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEO,MAAME,mBAAmB,GAAG,SAAAA,CAAA,EAOxB;EAAA,IAPyB;IAClCC,uBAAuB,EAAEC,YAAY;IACrCC,kBAAkB;IAClBC,QAAQ,EAAE;MAAEC;IAAoB,CAAC,GAAG,CAAC,CAAC;IACtCC,UAAU,EAAEC,cAAc;IAC1BC,SAAS;IACT,GAAGC;EACL,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACJ,IAAIG,QAAQ;EACZ,IAAIP,UAAU;EACd,IAAIQ,MAAM;EAEV,IAAIZ,YAAY,KAAK,IAAI,EAAE;IAAA,IAAAa,qBAAA;IACzBF,QAAQ,GAAG,IAAI;IACfC,MAAM,GAAGZ,YAAY,aAAZA,YAAY,wBAAAa,qBAAA,GAAZb,YAAY,CAAEc,gBAAgB,cAAAD,qBAAA,uBAA9BA,qBAAA,CAAgCE,GAAG,CAC1CC,IAAA,IAQM;MAAA,IARL;QACCC,eAAe,EAAEC,QAAQ;QACzBC,eAAe,EAAEC,EAAE;QACnBC,QAAQ;QACRC,IAAI;QACJC,KAAK;QACLC,KAAK,EAAE,CAAC;UAAEC,KAAK,GAAG;QAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;QAChCC;MACF,CAAC,GAAAV,IAAA;MACC,MAAM,GAAG,GAAGW,IAAI,CAAC,GAAGL,IAAI,CAACM,KAAK,CAAC,GAAG,CAAC;MAEnC,OAAO;QAAEC,QAAQ,EAAE;UAAEX,QAAQ;UAAEG,QAAQ;UAAEK;QAAI,CAAC;QAAEN,EAAE;QAAEU,MAAM,EAAE,CAACP,KAAK,CAAC;QAAED,IAAI,EAAEK,IAAI,CAACI,IAAI,CAAC,GAAG,CAAC;QAAEN,KAAK,EAAEA,KAAK,GAAG;MAAI,CAAC;IACjH,CACF,CAAC;EACH;EACA,IAAItB,mBAAmB,KAAK,IAAI,IAAIA,mBAAmB,CAAC6B,sBAAsB,IAAI,IAAI,EAAE;IACtF,MAAMC,SAAS,GAAGhC,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEiC,UAAU;IAChD9B,UAAU,GAAG,IAAA+B,kDAAwB,EAAC;MAAEF,SAAS;MAAE3B,SAAS;MAAEF,UAAU,EAAEC;IAAe,CAAC,CAAC;EAC7F;EAEA,OAAOO,MAAM,IAAID,QAAQ,IAAIP,UAAU,GACnC;IAAEQ,MAAM;IAAEwB,WAAW,EAAE;MAAEzB,QAAQ;MAAEP;IAAW,CAAC;IAAEiC,SAAS,EAAE,IAAAC,0BAAY,EAAC/B,QAAQ;EAAE,CAAC,GACpFG,SAAS;AACf,CAAC;AAAC6B,OAAA,CAAAzC,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"file":"parseUnavailability.js","names":["_getCalendarSuggestions","require","_getDisabledDates","_getMinStayDates","_getOccupationSuggestions","_getTaxesType","_Core","BY_CHECK_IN","parseUnavailability","availabilitySuggestions","availability","firstChildInterval","messages","availabilityMessage","noAvailabilityMessage","occupation","propOccupation","roomTypes","response","arguments","length","undefined","calendar","disabledDates","description","minStayDates","minStayType","hotels","_availability$hotelSu","minimumStayConfig","config","MIN_STAY_TYPE","CHECK_IN","STAY","getCalendarSuggestions","getDisabledDates","getMinStayDates","noDispoMessage","hotelSuggestions","map","_ref","distanceMessage","distance","idtokenprovider","id","location","name","photo","rates","price","url","rest","split","features","images","join","notOccupationRequested","infantAge","lowerBound","getOccupationSuggestions","suggestions","taxesType","getTaxesType","exports"],"sources":["../../../../src/services/Rates/helpers/parseUnavailability.js"],"sourcesContent":["import { getCalendarSuggestions } from './getCalendarSuggestions';\nimport { getDisabledDates } from './getDisabledDates';\nimport { getMinStayDates } from './getMinStayDates';\nimport { getOccupationSuggestions } from './getOccupationSuggestions';\nimport { getTaxesType } from './getTaxesType';\nimport { MIN_STAY_TYPE } from '../../../Core.constants';\n\nconst BY_CHECK_IN = 'BY_CHECKIN';\n\nexport const parseUnavailability = ({\n availabilitySuggestions: availability,\n firstChildInterval,\n messages: { availabilityMessage, noAvailabilityMessage } = {},\n occupation: propOccupation,\n roomTypes,\n ...response\n} = {}) => {\n let calendar;\n let disabledDates;\n let description;\n let minStayDates;\n let minStayType;\n let occupation;\n let hotels;\n\n if (availability !== null) {\n const { calendar: { minimumStayConfig: config = BY_CHECK_IN } = {} } = availability;\n\n minStayType = config === BY_CHECK_IN ? MIN_STAY_TYPE.CHECK_IN : MIN_STAY_TYPE.STAY;\n calendar = getCalendarSuggestions({ ...availability, ...response, minStayType });\n disabledDates = getDisabledDates(availability);\n minStayDates = getMinStayDates(availability);\n description = noAvailabilityMessage?.noDispoMessage;\n hotels = availability?.hotelSuggestions?.map(\n ({\n distanceMessage: distance,\n idtokenprovider: id,\n location,\n name,\n photo,\n rates: [{ price = 0 } = {}] = [],\n url,\n }) => {\n const [, ...rest] = name.split(' ');\n\n return { features: { distance, location, url }, id, images: [photo], name: rest.join(' '), price: price / 100 };\n },\n );\n }\n if (availabilityMessage !== null && availabilityMessage.notOccupationRequested != null) {\n const infantAge = firstChildInterval?.lowerBound;\n occupation = getOccupationSuggestions({ infantAge, roomTypes, occupation: propOccupation });\n }\n\n return hotels || calendar || occupation\n ? {\n calendar: { disabledDates, minStayDates, minStayType },\n hotels,\n suggestions: { calendar, description, occupation },\n taxesType: getTaxesType(response),\n }\n : undefined;\n};\n"],"mappings":"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"}
@@ -73,6 +73,8 @@ const rates = function () {
73
73
 
74
74
  const unavailability = (0, _helpers.parseUnavailability)({
75
75
  ...response,
76
+ checkIn: checkin,
77
+ nights,
76
78
  occupation
77
79
  });
78
80
  if (unavailability) return reject(unavailability);
@@ -1 +1 @@
1
- {"version":3,"file":"rates.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","DOUBLE","SINGLE","BED_TYPE","FEATURE","PESTANA","rates","session","authorization","clubDiscount","locale","occupation","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_club$clubLogin","idtokenprovider","id","checkin","nights","club","authentication","type","rest","language","split","params","Object","entries","applyClubDiscount","cid","sha1","concat","KEY_HASH","currency","accessClubToken","lang","parseExternalToken","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","unavailability","parseUnavailability","currencyCode","hotelCurrency","firstChildInterval","measureUnit","unit","roomTypes","showLocalTaxes","fees","userCountry","country","vatIncluded","taxes","ServiceCurrency","exchange","items","values","infantAge","lowerBound","clubConditions","ServiceFeatures","get","EXTERNAL","URL","DEFAULT_LANGUAGE","externalSignout","TYPE","clubLogin","status","VALID","map","amountAvailable","availability","name","newInfoRoom","info","occupationOptions","description","roomTypeInfo","bedDistributions","bedType","galleryMedia","url3D","video","urlVideo","photos","roomSize","size","occupationQuantities","numAdults","adults","totalChildren","children","posibilities","nightsDeal","amenities","parseAmenities","bedDisposition","BED_DISPOSITION","bedTypes","reduce","next","forEach","amount","includes","parseBoards","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","maxOccupation","media","UNIT","taxesType","getTaxesType","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/rates.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency, ServiceFeatures } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { BED_DISPOSITION, BED_TYPE, DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, UNIT, VALID } from './constants';\nimport {\n getTaxesType,\n parseAmenities,\n parseBoards,\n parseExternalToken,\n parseTracking,\n parseUnavailability,\n} from './helpers';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nconst FEATURE = { PESTANA: 'pestana' };\n\nexport const rates = ({\n session: { authorization } = {},\n clubDiscount,\n locale,\n occupation,\n userCurrency,\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n const {\n idtokenprovider: id,\n checkin,\n nights,\n club: { authentication: { type } = {} } = {},\n ...rest\n } = others || {};\n\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n applyClubDiscount: clubDiscount,\n checkin,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n currency: userCurrency,\n idtokenprovider: id,\n nights,\n ...rest,\n accessClubToken: authorization,\n lang: language,\n ...parseExternalToken(rest),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const unavailability = parseUnavailability({ ...response, occupation });\n if (unavailability) return reject(unavailability);\n\n const {\n club,\n currencyCode: hotelCurrency,\n firstChildInterval = {},\n measureUnit: unit,\n roomTypes,\n showLocalTaxes: fees,\n userCountry: country,\n vatIncluded: taxes,\n } = response;\n\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n const items = Object.values(roomTypes);\n const infantAge = firstChildInterval?.lowerBound;\n\n resolve({\n clubConditions: ServiceFeatures.get(FEATURE.PESTANA, id)\n ? EXTERNAL.URL[language] || EXTERNAL.URL[DEFAULT_LANGUAGE]\n : undefined,\n country,\n currency: hotelCurrency,\n externalSignout: authorization && type === EXTERNAL.TYPE && club?.clubLogin?.status !== VALID,\n infantAge: infantAge !== null ? infantAge : undefined,\n items: items.map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const {\n description,\n roomTypeInfo: {\n bedDistributions: bedType = [],\n galleryMedia: { url3D, video: urlVideo } = {},\n photos,\n roomSize: size,\n } = {},\n } = info;\n const {\n occupationQuantities: { numAdults: adults = 0, totalChildren: children = 0 } = {},\n posibilities: [{ nights: nightsDeal } = {}] = [],\n rates,\n } = Object.values(occupationOptions)[0] || {};\n\n return {\n amenities: parseAmenities(info),\n availability,\n bedDisposition: bedType.map((type) => BED_DISPOSITION[type]),\n bedTypes: bedType.reduce((result, next) => {\n BED_DISPOSITION[next].forEach(({ amount, type } = {}) => {\n if ([DOUBLE, SINGLE].includes(type) && amount > 0) result[result.length ? 1 : 0] = type;\n });\n\n return result;\n }, []),\n ...parseBoards({ currency, fees, hotelCurrency, rates, taxes }),\n description,\n images: photos?.map(({ photoAltDescription: alt, urlLarge: large, urlMediumRect: thumbnail } = {}) => ({\n alt,\n large,\n thumbnail,\n })),\n name,\n nightsDeal,\n maxOccupation: adults + children,\n media: url3D || urlVideo ? { url3D, urlVideo } : undefined,\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n ),\n taxesType: getTaxesType(response),\n tracking: parseTracking(response),\n });\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"rates.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","DOUBLE","SINGLE","BED_TYPE","FEATURE","PESTANA","rates","session","authorization","clubDiscount","locale","occupation","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_club$clubLogin","idtokenprovider","id","checkin","nights","club","authentication","type","rest","language","split","params","Object","entries","applyClubDiscount","cid","sha1","concat","KEY_HASH","currency","accessClubToken","lang","parseExternalToken","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","unavailability","parseUnavailability","checkIn","currencyCode","hotelCurrency","firstChildInterval","measureUnit","unit","roomTypes","showLocalTaxes","fees","userCountry","country","vatIncluded","taxes","ServiceCurrency","exchange","items","values","infantAge","lowerBound","clubConditions","ServiceFeatures","get","EXTERNAL","URL","DEFAULT_LANGUAGE","externalSignout","TYPE","clubLogin","status","VALID","map","amountAvailable","availability","name","newInfoRoom","info","occupationOptions","description","roomTypeInfo","bedDistributions","bedType","galleryMedia","url3D","video","urlVideo","photos","roomSize","size","occupationQuantities","numAdults","adults","totalChildren","children","posibilities","nightsDeal","amenities","parseAmenities","bedDisposition","BED_DISPOSITION","bedTypes","reduce","next","forEach","amount","includes","parseBoards","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","maxOccupation","media","UNIT","taxesType","getTaxesType","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/rates.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency, ServiceFeatures } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { BED_DISPOSITION, BED_TYPE, DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, UNIT, VALID } from './constants';\nimport {\n getTaxesType,\n parseAmenities,\n parseBoards,\n parseExternalToken,\n parseTracking,\n parseUnavailability,\n} from './helpers';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nconst FEATURE = { PESTANA: 'pestana' };\n\nexport const rates = ({\n session: { authorization } = {},\n clubDiscount,\n locale,\n occupation,\n userCurrency,\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n const {\n idtokenprovider: id,\n checkin,\n nights,\n club: { authentication: { type } = {} } = {},\n ...rest\n } = others || {};\n\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n applyClubDiscount: clubDiscount,\n checkin,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n currency: userCurrency,\n idtokenprovider: id,\n nights,\n ...rest,\n accessClubToken: authorization,\n lang: language,\n ...parseExternalToken(rest),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const unavailability = parseUnavailability({ ...response, checkIn: checkin, nights, occupation });\n if (unavailability) return reject(unavailability);\n\n const {\n club,\n currencyCode: hotelCurrency,\n firstChildInterval = {},\n measureUnit: unit,\n roomTypes,\n showLocalTaxes: fees,\n userCountry: country,\n vatIncluded: taxes,\n } = response;\n\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n const items = Object.values(roomTypes);\n const infantAge = firstChildInterval?.lowerBound;\n\n resolve({\n clubConditions: ServiceFeatures.get(FEATURE.PESTANA, id)\n ? EXTERNAL.URL[language] || EXTERNAL.URL[DEFAULT_LANGUAGE]\n : undefined,\n country,\n currency: hotelCurrency,\n externalSignout: authorization && type === EXTERNAL.TYPE && club?.clubLogin?.status !== VALID,\n infantAge: infantAge !== null ? infantAge : undefined,\n items: items.map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const {\n description,\n roomTypeInfo: {\n bedDistributions: bedType = [],\n galleryMedia: { url3D, video: urlVideo } = {},\n photos,\n roomSize: size,\n } = {},\n } = info;\n const {\n occupationQuantities: { numAdults: adults = 0, totalChildren: children = 0 } = {},\n posibilities: [{ nights: nightsDeal } = {}] = [],\n rates,\n } = Object.values(occupationOptions)[0] || {};\n\n return {\n amenities: parseAmenities(info),\n availability,\n bedDisposition: bedType.map((type) => BED_DISPOSITION[type]),\n bedTypes: bedType.reduce((result, next) => {\n BED_DISPOSITION[next].forEach(({ amount, type } = {}) => {\n if ([DOUBLE, SINGLE].includes(type) && amount > 0) result[result.length ? 1 : 0] = type;\n });\n\n return result;\n }, []),\n ...parseBoards({ currency, fees, hotelCurrency, rates, taxes }),\n description,\n images: photos?.map(({ photoAltDescription: alt, urlLarge: large, urlMediumRect: thumbnail } = {}) => ({\n alt,\n large,\n thumbnail,\n })),\n name,\n nightsDeal,\n maxOccupation: adults + children,\n media: url3D || urlVideo ? { url3D, urlVideo } : undefined,\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n ),\n taxesType: getTaxesType(response),\n tracking: parseTracking(response),\n });\n });\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.139",
3
+ "version": "0.3.141",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",
@@ -5,8 +5,8 @@ import { Logo } from './components';
5
5
 
6
6
  export const Step1 = () => (
7
7
  <>
8
- {/* <View style={{ height: '256px', backgroundColor: 'var(--mirai-ui-accent)' }} /> */}
9
- <View data-mirai-component="header" data-currency="true" data-logo={true}>
8
+ <View style={{ height: '256px', backgroundColor: 'var(--mirai-ui-accent)' }} />
9
+ <View data-mirai-component="header" data-currency="true" data-logo="true">
10
10
  <Logo data-ghost />
11
11
  </View>
12
12
  <View data-mirai-component="rates">