@mirai/core 0.3.406 → 0.3.407
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/Rates/Rates.Header.js +12 -10
- package/build/components/Rates/Rates.Header.js.map +1 -1
- package/build/components/Rates/Rates.js +10 -2
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.js +15 -5
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.l10n.js +3 -0
- package/build/components/Rates/components/Filters/Filters.l10n.js.map +1 -1
- package/build/components/Rates/components/Filters/helpers/getAvailableFilters.js +4 -1
- package/build/components/Rates/components/Filters/helpers/getAvailableFilters.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +5 -5
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Summary.js +7 -5
- package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +3 -2
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.l10n.js +3 -0
- package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
- package/build/components/Rates/helpers/select.js +7 -1
- package/build/components/Rates/helpers/select.js.map +1 -1
- package/build/contexts/PerfomanceManager/PerfomanceManager.js +1 -1
- package/build/contexts/PerfomanceManager/PerfomanceManager.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filters.l10n.js","names":["L10N","exports","ACTION_CLEAR_ALL","id","ACTION_CLUB_VIEW_CONDITIONS","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_PLAN","LABEL_AMENITIES","LABEL_BED_TYPE","LABEL_BED_TYPE_DOUBLE","LABEL_BED_TYPE_SINGLE","LABEL_BOOKING_OPTIONS","LABEL_CLUB_MEMBERS_EXCLUSIVE","LABEL_CLUB_BENEFITS","LABEL_CLUB_CONDITIONS","LABEL_FREE_CANCELLATION","LABEL_FILTERS","LABEL_NO_EXACT_MATCHES","LABEL_OTHERS","LABEL_PRICE_RANGE","LABEL_ROOM_SIZE","LABEL_SET_PRICE_RANGE","LABEL_SHOW_COUNT_RESULTS","LABEL_SHOW_ONLY_DEALS","LABEL_SHOW_ONLY_PROMOTION","LABEL_SHOW_ONLY_ROOM"],"sources":["../../../../../src/components/Rates/components/Filters/Filters.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_CLEAR_ALL: { id: 'common.action.clear_all' },\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_PLAN: { id: 'finder.label.accommodation_plan' },\n LABEL_AMENITIES: { id: 'finder.label.amenities' },\n LABEL_BED_TYPE: { id: 'finder.label.bed_type' },\n LABEL_BED_TYPE_DOUBLE: { id: 'finder.label.bed_type_double' },\n LABEL_BED_TYPE_SINGLE: { id: 'finder.label.bed_type_single' },\n LABEL_BOOKING_OPTIONS: { id: 'finder.label.booking_options' },\n LABEL_CLUB_MEMBERS_EXCLUSIVE: { id: 'finder.label.club_members_exclusive' },\n LABEL_CLUB_BENEFITS: { id: 'finder.label.club_benefits' },\n LABEL_CLUB_CONDITIONS: { id: 'finder.label.club_conditions' },\n LABEL_FREE_CANCELLATION: { id: 'finder.label.free_cancellation' },\n LABEL_FILTERS: { id: 'common.label.filters' },\n LABEL_NO_EXACT_MATCHES: { id: 'finder.label.no_exact_matches' },\n LABEL_OTHERS: { id: 'common.label.others' },\n LABEL_PRICE_RANGE: { id: 'finder.label.price_range' },\n LABEL_ROOM_SIZE: { id: 'common.label.room_size' },\n LABEL_SET_PRICE_RANGE: { id: 'finder.label.set_price_range' },\n LABEL_SHOW_COUNT_RESULTS: { id: 'finder.label.show_count_results' },\n LABEL_SHOW_ONLY_DEALS: { id: 'common.label.show_only_deals' },\n LABEL_SHOW_ONLY_PROMOTION: { id: 'common.label.show_only_promotion' },\n LABEL_SHOW_ONLY_ROOM: { id: 'common.label.show_only_room' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,2BAA2B,EAAE;IAAED,EAAE,EAAE;EAAqC,CAAC;EACzEE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EAEnDG,wBAAwB,EAAE;IAAEH,EAAE,EAAE;EAAkC,CAAC;EACnEI,eAAe,EAAE;IAAEJ,EAAE,EAAE;EAAyB,CAAC;EACjDK,cAAc,EAAE;IAAEL,EAAE,EAAE;EAAwB,CAAC;EAC/CM,qBAAqB,EAAE;IAAEN,EAAE,EAAE;EAA+B,CAAC;EAC7DO,qBAAqB,EAAE;IAAEP,EAAE,EAAE;EAA+B,CAAC;EAC7DQ,qBAAqB,EAAE;IAAER,EAAE,EAAE;EAA+B,CAAC;EAC7DS,4BAA4B,EAAE;IAAET,EAAE,EAAE;EAAsC,CAAC;EAC3EU,mBAAmB,EAAE;IAAEV,EAAE,EAAE;EAA6B,CAAC;EACzDW,qBAAqB,EAAE;IAAEX,EAAE,EAAE;EAA+B,CAAC;EAC7DY,uBAAuB,EAAE;IAAEZ,EAAE,EAAE;EAAiC,CAAC;EACjEa,aAAa,EAAE;IAAEb,EAAE,EAAE;EAAuB,CAAC;EAC7Cc,
|
|
1
|
+
{"version":3,"file":"Filters.l10n.js","names":["L10N","exports","ACTION_CLEAR_ALL","id","ACTION_CLUB_VIEW_CONDITIONS","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_PLAN","LABEL_AMENITIES","LABEL_BED_TYPE","LABEL_BED_TYPE_DOUBLE","LABEL_BED_TYPE_SINGLE","LABEL_BOOKING_OPTIONS","LABEL_CLUB_MEMBERS_EXCLUSIVE","LABEL_CLUB_BENEFITS","LABEL_CLUB_CONDITIONS","LABEL_FREE_CANCELLATION","LABEL_FILTERS","LABEL_NIGHTLY_PRICES","LABEL_NO_EXACT_MATCHES","LABEL_OTHERS","LABEL_PRICE_RANGE","LABEL_ROOM_SIZE","LABEL_SET_PRICE_RANGE","LABEL_SHOW_COUNT_RESULTS","LABEL_SHOW_ONLY_DEALS","LABEL_SHOW_ONLY_PROMOTION","LABEL_SHOW_ONLY_ROOM"],"sources":["../../../../../src/components/Rates/components/Filters/Filters.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_CLEAR_ALL: { id: 'common.action.clear_all' },\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_PLAN: { id: 'finder.label.accommodation_plan' },\n LABEL_AMENITIES: { id: 'finder.label.amenities' },\n LABEL_BED_TYPE: { id: 'finder.label.bed_type' },\n LABEL_BED_TYPE_DOUBLE: { id: 'finder.label.bed_type_double' },\n LABEL_BED_TYPE_SINGLE: { id: 'finder.label.bed_type_single' },\n LABEL_BOOKING_OPTIONS: { id: 'finder.label.booking_options' },\n LABEL_CLUB_MEMBERS_EXCLUSIVE: { id: 'finder.label.club_members_exclusive' },\n LABEL_CLUB_BENEFITS: { id: 'finder.label.club_benefits' },\n LABEL_CLUB_CONDITIONS: { id: 'finder.label.club_conditions' },\n LABEL_FREE_CANCELLATION: { id: 'finder.label.free_cancellation' },\n LABEL_FILTERS: { id: 'common.label.filters' },\n LABEL_NIGHTLY_PRICES: { id: 'common.label.nightly_prices' },\n LABEL_NO_EXACT_MATCHES: { id: 'finder.label.no_exact_matches' },\n LABEL_OTHERS: { id: 'common.label.others' },\n LABEL_PRICE_RANGE: { id: 'finder.label.price_range' },\n LABEL_ROOM_SIZE: { id: 'common.label.room_size' },\n LABEL_SET_PRICE_RANGE: { id: 'finder.label.set_price_range' },\n LABEL_SHOW_COUNT_RESULTS: { id: 'finder.label.show_count_results' },\n LABEL_SHOW_ONLY_DEALS: { id: 'common.label.show_only_deals' },\n LABEL_SHOW_ONLY_PROMOTION: { id: 'common.label.show_only_promotion' },\n LABEL_SHOW_ONLY_ROOM: { id: 'common.label.show_only_room' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,2BAA2B,EAAE;IAAED,EAAE,EAAE;EAAqC,CAAC;EACzEE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EAEnDG,wBAAwB,EAAE;IAAEH,EAAE,EAAE;EAAkC,CAAC;EACnEI,eAAe,EAAE;IAAEJ,EAAE,EAAE;EAAyB,CAAC;EACjDK,cAAc,EAAE;IAAEL,EAAE,EAAE;EAAwB,CAAC;EAC/CM,qBAAqB,EAAE;IAAEN,EAAE,EAAE;EAA+B,CAAC;EAC7DO,qBAAqB,EAAE;IAAEP,EAAE,EAAE;EAA+B,CAAC;EAC7DQ,qBAAqB,EAAE;IAAER,EAAE,EAAE;EAA+B,CAAC;EAC7DS,4BAA4B,EAAE;IAAET,EAAE,EAAE;EAAsC,CAAC;EAC3EU,mBAAmB,EAAE;IAAEV,EAAE,EAAE;EAA6B,CAAC;EACzDW,qBAAqB,EAAE;IAAEX,EAAE,EAAE;EAA+B,CAAC;EAC7DY,uBAAuB,EAAE;IAAEZ,EAAE,EAAE;EAAiC,CAAC;EACjEa,aAAa,EAAE;IAAEb,EAAE,EAAE;EAAuB,CAAC;EAC7Cc,oBAAoB,EAAE;IAAEd,EAAE,EAAE;EAA8B,CAAC;EAC3De,sBAAsB,EAAE;IAAEf,EAAE,EAAE;EAAgC,CAAC;EAC/DgB,YAAY,EAAE;IAAEhB,EAAE,EAAE;EAAsB,CAAC;EAC3CiB,iBAAiB,EAAE;IAAEjB,EAAE,EAAE;EAA2B,CAAC;EACrDkB,eAAe,EAAE;IAAElB,EAAE,EAAE;EAAyB,CAAC;EACjDmB,qBAAqB,EAAE;IAAEnB,EAAE,EAAE;EAA+B,CAAC;EAC7DoB,wBAAwB,EAAE;IAAEpB,EAAE,EAAE;EAAkC,CAAC;EACnEqB,qBAAqB,EAAE;IAAErB,EAAE,EAAE;EAA+B,CAAC;EAC7DsB,yBAAyB,EAAE;IAAEtB,EAAE,EAAE;EAAmC,CAAC;EACrEuB,oBAAoB,EAAE;IAAEvB,EAAE,EAAE;EAA8B;AAC5D,CAAC"}
|
|
@@ -8,6 +8,9 @@ var _Rates = require("../../../Rates.constants");
|
|
|
8
8
|
var _Filters = require("../Filters.constants");
|
|
9
9
|
const getAvailableFilters = function () {
|
|
10
10
|
let items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
11
|
+
let {
|
|
12
|
+
priceFactor = 1
|
|
13
|
+
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
11
14
|
const filters = {
|
|
12
15
|
amenities: [],
|
|
13
16
|
bedTypes: [],
|
|
@@ -61,7 +64,7 @@ const getAvailableFilters = function () {
|
|
|
61
64
|
text,
|
|
62
65
|
type
|
|
63
66
|
});
|
|
64
|
-
filters.prices.push(price);
|
|
67
|
+
filters.prices.push(price / priceFactor);
|
|
65
68
|
});
|
|
66
69
|
const [firstFreeCancellation] = !filters.freeCancellation ? cancellations.filter(_ref => {
|
|
67
70
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAvailableFilters.js","names":["_Rates","require","_Filters","getAvailableFilters","items","arguments","length","undefined","filters","amenities","bedTypes","boards","freeCancellation","prices","sizes","sizeUnit","forEach","cancellations","size","rawSize","highlight","id","text","find","item","push","name","type","price","firstFreeCancellation","filter","_ref","toLowerCase","includes","FREE_CANCELLATION","title","caption","unit","split","parseInt","some","_ref2","index","MAX_AMENITIES","sort","a","b","MIN_BOARDS","MAX_BOARDS","slice","exports"],"sources":["../../../../../../src/components/Rates/components/Filters/helpers/getAvailableFilters.js"],"sourcesContent":["import { FREE_CANCELLATION } from '../../../Rates.constants';\nimport { MAX_AMENITIES, MAX_BOARDS, MIN_BOARDS } from '../Filters.constants';\n\nexport const getAvailableFilters = (items = []) => {\n const filters = {\n amenities: [],\n bedTypes: [],\n boards: [],\n freeCancellation: undefined,\n prices: [],\n sizes: [],\n sizeUnit: undefined,\n };\n\n // ! TODO: Should order by price asc?\n items.forEach(({ amenities = [], bedTypes = [], boards = [], cancellations = [], size: rawSize = '' } = {}) => {\n amenities.forEach(({ highlight, id, text } = {}) => {\n if (!filters.amenities.find((item = {}) => item.id === id)) filters.amenities.push({ highlight, id, text });\n });\n\n bedTypes.forEach((id = []) => {\n if (!filters.bedTypes.find((item) => item === id)) filters.bedTypes.push(id);\n });\n\n boards.forEach(({ id, name: text, type, price } = {}) => {\n if (!filters.boards.find((item = {}) => item.type === type)) filters.boards.push({ id, text, type });\n\n filters.prices.push(price);\n });\n\n const [firstFreeCancellation] = !filters.freeCancellation\n ? cancellations.filter(({ id }) => id.toLowerCase().includes(FREE_CANCELLATION))\n : [];\n\n if (firstFreeCancellation) {\n const { id, name: text, title: caption } = firstFreeCancellation;\n filters.freeCancellation = { id, text, caption };\n }\n\n const [size, unit] = rawSize.split(' ');\n if (size.length > 0 && !filters.sizes.find((item = {}) => item.size === parseInt(size))) {\n if (unit && !filters.sizeUnit) filters.sizeUnit = unit;\n filters.sizes.push(parseInt(size));\n }\n });\n\n // Clean filters\n if (!filters.amenities.some(({ highlight }) => highlight)) {\n filters.amenities.forEach((filter = {}, index) => {\n filters.amenities[index] = { ...filter, highlight: index < MAX_AMENITIES };\n });\n }\n\n filters.bedTypes = filters.bedTypes.sort((a, b) => a - b);\n\n if (filters.boards.length < MIN_BOARDS) filters.boards = [];\n else if (filters.boards.length > MAX_BOARDS) filters.boards = filters.boards.slice(0, MAX_BOARDS);\n\n return filters;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,MAAME,mBAAmB,GAAG,SAAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"getAvailableFilters.js","names":["_Rates","require","_Filters","getAvailableFilters","items","arguments","length","undefined","priceFactor","filters","amenities","bedTypes","boards","freeCancellation","prices","sizes","sizeUnit","forEach","cancellations","size","rawSize","highlight","id","text","find","item","push","name","type","price","firstFreeCancellation","filter","_ref","toLowerCase","includes","FREE_CANCELLATION","title","caption","unit","split","parseInt","some","_ref2","index","MAX_AMENITIES","sort","a","b","MIN_BOARDS","MAX_BOARDS","slice","exports"],"sources":["../../../../../../src/components/Rates/components/Filters/helpers/getAvailableFilters.js"],"sourcesContent":["import { FREE_CANCELLATION } from '../../../Rates.constants';\nimport { MAX_AMENITIES, MAX_BOARDS, MIN_BOARDS } from '../Filters.constants';\n\nexport const getAvailableFilters = (items = [], { priceFactor = 1 } = {}) => {\n const filters = {\n amenities: [],\n bedTypes: [],\n boards: [],\n freeCancellation: undefined,\n prices: [],\n sizes: [],\n sizeUnit: undefined,\n };\n\n // ! TODO: Should order by price asc?\n items.forEach(({ amenities = [], bedTypes = [], boards = [], cancellations = [], size: rawSize = '' } = {}) => {\n amenities.forEach(({ highlight, id, text } = {}) => {\n if (!filters.amenities.find((item = {}) => item.id === id)) filters.amenities.push({ highlight, id, text });\n });\n\n bedTypes.forEach((id = []) => {\n if (!filters.bedTypes.find((item) => item === id)) filters.bedTypes.push(id);\n });\n\n boards.forEach(({ id, name: text, type, price } = {}) => {\n if (!filters.boards.find((item = {}) => item.type === type)) filters.boards.push({ id, text, type });\n\n filters.prices.push(price / priceFactor);\n });\n\n const [firstFreeCancellation] = !filters.freeCancellation\n ? cancellations.filter(({ id }) => id.toLowerCase().includes(FREE_CANCELLATION))\n : [];\n\n if (firstFreeCancellation) {\n const { id, name: text, title: caption } = firstFreeCancellation;\n filters.freeCancellation = { id, text, caption };\n }\n\n const [size, unit] = rawSize.split(' ');\n if (size.length > 0 && !filters.sizes.find((item = {}) => item.size === parseInt(size))) {\n if (unit && !filters.sizeUnit) filters.sizeUnit = unit;\n filters.sizes.push(parseInt(size));\n }\n });\n\n // Clean filters\n if (!filters.amenities.some(({ highlight }) => highlight)) {\n filters.amenities.forEach((filter = {}, index) => {\n filters.amenities[index] = { ...filter, highlight: index < MAX_AMENITIES };\n });\n }\n\n filters.bedTypes = filters.bedTypes.sort((a, b) => a - b);\n\n if (filters.boards.length < MIN_BOARDS) filters.boards = [];\n else if (filters.boards.length > MAX_BOARDS) filters.boards = filters.boards.slice(0, MAX_BOARDS);\n\n return filters;\n};\n"],"mappings":"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"}
|
|
@@ -32,9 +32,9 @@ const Rates = _ref => {
|
|
|
32
32
|
showOffersFirst = false,
|
|
33
33
|
showRateIncluded = false
|
|
34
34
|
} = {},
|
|
35
|
+
priceFactor = 1,
|
|
35
36
|
rates = [],
|
|
36
37
|
selectedBoard = {},
|
|
37
|
-
valueFactor = 1,
|
|
38
38
|
onBoard,
|
|
39
39
|
onCancellation,
|
|
40
40
|
onCancellationInfo,
|
|
@@ -107,7 +107,7 @@ const Rates = _ref => {
|
|
|
107
107
|
checked: id === cancellationId,
|
|
108
108
|
inline: has.inlineCancellations,
|
|
109
109
|
outlined: hideRadio,
|
|
110
|
-
value: !showOffersFirst ? price /
|
|
110
|
+
value: !showOffersFirst ? price / priceFactor : undefined,
|
|
111
111
|
onPress: () => onCancellation(id)
|
|
112
112
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
113
113
|
action: !isMobile,
|
|
@@ -189,7 +189,7 @@ const Rates = _ref => {
|
|
|
189
189
|
checked: id === rateId,
|
|
190
190
|
disabled: disabled,
|
|
191
191
|
outlined: hideRadio,
|
|
192
|
-
value: price /
|
|
192
|
+
value: price / priceFactor,
|
|
193
193
|
onPress: rates.length > 0 ? () => onRate({
|
|
194
194
|
id,
|
|
195
195
|
cancellationId
|
|
@@ -247,7 +247,7 @@ const Rates = _ref => {
|
|
|
247
247
|
inline: has.inlineBoards,
|
|
248
248
|
outlined: hideRadio,
|
|
249
249
|
title: name,
|
|
250
|
-
value: has.boards ? increment /
|
|
250
|
+
value: has.boards ? increment / priceFactor : undefined,
|
|
251
251
|
onPress: () => onBoard(board)
|
|
252
252
|
}, variants.length > 0 && /*#__PURE__*/_react.default.createElement(_components.TooltipDates, {
|
|
253
253
|
captions: variants.map(function () {
|
|
@@ -279,9 +279,9 @@ Rates.propTypes = {
|
|
|
279
279
|
showOffersFirst: _propTypes.default.bool,
|
|
280
280
|
showRateIncluded: _propTypes.default.bool
|
|
281
281
|
}),
|
|
282
|
+
priceFactor: _propTypes.default.number,
|
|
282
283
|
rates: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
283
284
|
selectedBoard: _propTypes.default.shape({}),
|
|
284
|
-
valueFactor: _propTypes.default.number,
|
|
285
285
|
onBoard: _propTypes.default.func,
|
|
286
286
|
onCancellation: _propTypes.default.func,
|
|
287
287
|
onCancellationInfo: _propTypes.default.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_helpers2","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availableBoards","availableRates","boards","cancellations","features","columnMode","hideRadio","highlightStandaloneOption","rowMode","showOffersFirst","showRateIncluded","rates","selectedBoard","valueFactor","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","value","finder","promocode","useStore","cancellationId","rateId","id","boardId","length","filter","name","arguments","undefined","inlineBoards","inlineCancellations","rate","isClubRate","board","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","_ref2","map","_ref3","highlight","caption","price","cancellation","Option","key","checked","inline","outlined","onPress","medium","small","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","countdown","description","disabled","included","restrictions","find","discount","breakdown","percentage","isClub","isPromocode","_ref5","type","DISCOUNT_TYPE","DEAL","PROMOTION","includes","discountPercentage","RateDetails","tags","DISCOUNT","toUpperCase","LABEL_DISCOUNT","concat","LABEL_ACCOMMODATION_PLAN","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","hideStandaloneBoard","number","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\nimport { isClubRate } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n highlightStandaloneOption = false,\n rowMode,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n rates = [],\n selectedBoard = {},\n valueFactor = 1,\n onBoard,\n onCancellation,\n onCancellationInfo,\n onRate,\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { value: { finder: { promocode } = {} } = {} } = useStore();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n cancellations: cancellations.length > 1 || highlightStandaloneOption,\n boards:\n (boards.length > 1 &&\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length !==\n availableBoards.length) ||\n highlightStandaloneOption,\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode || rowMode ? 3 : 2),\n inlineCancellations:\n hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode || rowMode ? 3 : 2),\n rates:\n cancellations.length !== availableRates.length ||\n highlightStandaloneOption ||\n availableRates.filter((rate) =>\n isClubRate({ board: availableBoards.filter(({ rateId } = {}) => rateId === rate.id)[0], rate }),\n ).length > 0,\n };\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellations\n .filter(({ id }) => !showOffersFirst || (showOffersFirst && id === cancellationId))\n .map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n inline={has.inlineCancellations}\n outlined={hideRadio}\n value={!showOffersFirst ? price / valueFactor : undefined}\n onPress={() => onCancellation(id)}\n >\n <Text action={!isMobile} medium={highlight} small={isMobile} className={style.optionText}>\n {highlight ? (\n <Text\n action={!isMobile}\n medium={highlight}\n small={isMobile}\n className={styles(highlight && style.tag)}\n >\n {name}\n </Text>\n ) : (\n name\n )}\n\n <Pressable onPress={() => onCancellationInfo({ ...selectedBoard, cancellation })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\n </Option>\n )),\n )}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({ id, cancellationId, countdown, description, disabled, included, name, price, restrictions }) => {\n const rate = rates.find((rate) => rate.id === id);\n const board = availableBoards.filter(({ rateId } = {}) => rateId === id)[0];\n const { discount: { breakdown = [], percentage } = {} } = board || {};\n const isClub = isClubRate({ board, rate });\n const isPromocode =\n promocode && breakdown.find(({ type }) => [DISCOUNT_TYPE.DEAL, DISCOUNT_TYPE.PROMOTION].includes(type));\n const discountPercentage = ((isClub || isPromocode) && percentage) || undefined;\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n discountPercentage,\n included: showRateIncluded ? included : undefined,\n isClub,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo(rate),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n outlined={hideRadio}\n value={price / valueFactor}\n onPress={rates.length > 0 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action={!isMobile} small={isMobile} className={style.optionText}>\n <View row className={style.tags}>\n {isPromocode && (\n <Text action={!isMobile} medium small={isMobile} className={[style.tag, style.highlight]}>\n <Icon action value={ICON.DISCOUNT} />\n {promocode.toUpperCase()}\n </Text>\n )}\n {discountPercentage && (\n <Text action={!isMobile} medium small={isMobile} className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo(rate)}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n </Text>\n )}\n </Option>\n );\n },\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {has.boards && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n {React.createElement(\n has.inlineBoards ? View : React.Fragment,\n has.inlineBoards ? { row: true, className: style.inlineOptions } : undefined,\n boards.map((board = {}) => {\n const { disabled, id, increment, name, variants = [] } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n inline={has.inlineBoards}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment / valueFactor : undefined}\n onPress={() => onBoard(board)}\n >\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </Option>\n );\n }),\n )}\n </View>\n )}\n\n <View />\n </>\n );\n};\n\nRates.propTypes = {\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\n rowMode: PropTypes.bool,\n showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n valueFactor: PropTypes.number,\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onCancellationInfo: PropTypes.func,\n onChange: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onRate: PropTypes.func,\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nexport { Rates };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_helpers2","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availableBoards","availableRates","boards","cancellations","features","columnMode","hideRadio","highlightStandaloneOption","rowMode","showOffersFirst","showRateIncluded","priceFactor","rates","selectedBoard","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","value","finder","promocode","useStore","cancellationId","rateId","id","boardId","length","filter","name","arguments","undefined","inlineBoards","inlineCancellations","rate","isClubRate","board","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","_ref2","map","_ref3","highlight","caption","price","cancellation","Option","key","checked","inline","outlined","onPress","medium","small","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","countdown","description","disabled","included","restrictions","find","discount","breakdown","percentage","isClub","isPromocode","_ref5","type","DISCOUNT_TYPE","DEAL","PROMOTION","includes","discountPercentage","RateDetails","tags","DISCOUNT","toUpperCase","LABEL_DISCOUNT","concat","LABEL_ACCOMMODATION_PLAN","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","hideStandaloneBoard","number","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\nimport { isClubRate } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n highlightStandaloneOption = false,\n rowMode,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n priceFactor = 1,\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onCancellationInfo,\n onRate,\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { value: { finder: { promocode } = {} } = {} } = useStore();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n cancellations: cancellations.length > 1 || highlightStandaloneOption,\n boards:\n (boards.length > 1 &&\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length !==\n availableBoards.length) ||\n highlightStandaloneOption,\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode || rowMode ? 3 : 2),\n inlineCancellations:\n hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode || rowMode ? 3 : 2),\n rates:\n cancellations.length !== availableRates.length ||\n highlightStandaloneOption ||\n availableRates.filter((rate) =>\n isClubRate({ board: availableBoards.filter(({ rateId } = {}) => rateId === rate.id)[0], rate }),\n ).length > 0,\n };\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellations\n .filter(({ id }) => !showOffersFirst || (showOffersFirst && id === cancellationId))\n .map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n inline={has.inlineCancellations}\n outlined={hideRadio}\n value={!showOffersFirst ? price / priceFactor : undefined}\n onPress={() => onCancellation(id)}\n >\n <Text action={!isMobile} medium={highlight} small={isMobile} className={style.optionText}>\n {highlight ? (\n <Text\n action={!isMobile}\n medium={highlight}\n small={isMobile}\n className={styles(highlight && style.tag)}\n >\n {name}\n </Text>\n ) : (\n name\n )}\n\n <Pressable onPress={() => onCancellationInfo({ ...selectedBoard, cancellation })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\n </Option>\n )),\n )}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({ id, cancellationId, countdown, description, disabled, included, name, price, restrictions }) => {\n const rate = rates.find((rate) => rate.id === id);\n const board = availableBoards.filter(({ rateId } = {}) => rateId === id)[0];\n const { discount: { breakdown = [], percentage } = {} } = board || {};\n const isClub = isClubRate({ board, rate });\n const isPromocode =\n promocode && breakdown.find(({ type }) => [DISCOUNT_TYPE.DEAL, DISCOUNT_TYPE.PROMOTION].includes(type));\n const discountPercentage = ((isClub || isPromocode) && percentage) || undefined;\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n discountPercentage,\n included: showRateIncluded ? included : undefined,\n isClub,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo(rate),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n outlined={hideRadio}\n value={price / priceFactor}\n onPress={rates.length > 0 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action={!isMobile} small={isMobile} className={style.optionText}>\n <View row className={style.tags}>\n {isPromocode && (\n <Text action={!isMobile} medium small={isMobile} className={[style.tag, style.highlight]}>\n <Icon action value={ICON.DISCOUNT} />\n {promocode.toUpperCase()}\n </Text>\n )}\n {discountPercentage && (\n <Text action={!isMobile} medium small={isMobile} className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo(rate)}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n </Text>\n )}\n </Option>\n );\n },\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {has.boards && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n {React.createElement(\n has.inlineBoards ? View : React.Fragment,\n has.inlineBoards ? { row: true, className: style.inlineOptions } : undefined,\n boards.map((board = {}) => {\n const { disabled, id, increment, name, variants = [] } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n inline={has.inlineBoards}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment / priceFactor : undefined}\n onPress={() => onBoard(board)}\n >\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </Option>\n );\n }),\n )}\n </View>\n )}\n\n <View />\n </>\n );\n};\n\nRates.propTypes = {\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\n rowMode: PropTypes.bool,\n showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n priceFactor: PropTypes.number,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onCancellationInfo: PropTypes.func,\n onChange: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onRate: PropTypes.func,\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -27,10 +27,10 @@ const Summary = _ref => {
|
|
|
27
27
|
multiRoom = false,
|
|
28
28
|
name: roomName,
|
|
29
29
|
nights = 2,
|
|
30
|
+
priceFactor = 1,
|
|
30
31
|
selected = {},
|
|
31
32
|
selectedBoard = {},
|
|
32
33
|
taxesType,
|
|
33
|
-
valueFactor = 1,
|
|
34
34
|
onSelect
|
|
35
35
|
} = _ref;
|
|
36
36
|
const {
|
|
@@ -124,7 +124,7 @@ const Summary = _ref => {
|
|
|
124
124
|
}, currencyFormat({
|
|
125
125
|
currency,
|
|
126
126
|
maximumFractionDigits: 0,
|
|
127
|
-
value: price /
|
|
127
|
+
value: price / priceFactor
|
|
128
128
|
})), price !== originalPrice && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
129
129
|
action: true,
|
|
130
130
|
light: true,
|
|
@@ -132,14 +132,16 @@ const Summary = _ref => {
|
|
|
132
132
|
}, currencyFormat({
|
|
133
133
|
currency,
|
|
134
134
|
maximumFractionDigits: 0,
|
|
135
|
-
value: originalPrice /
|
|
135
|
+
value: originalPrice / priceFactor
|
|
136
136
|
}))), nights > 1 && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
137
137
|
small: !isMobile,
|
|
138
138
|
tiny: isMobile
|
|
139
139
|
}, "".concat(currencyFormat({
|
|
140
140
|
currency,
|
|
141
141
|
value: showPricePerNight ? price : dayPrice
|
|
142
|
-
}), " ").concat(translate(showPricePerNight ? _Item.L10N.
|
|
142
|
+
}), " ").concat(translate(showPricePerNight ? _Item.L10N.LABEL_FOR_NIGHTS : _Item.L10N.LABEL_PER_NIGHT, {
|
|
143
|
+
nights
|
|
144
|
+
}))), !!taxesType && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
143
145
|
light: true,
|
|
144
146
|
small: !isMobile,
|
|
145
147
|
tiny: isMobile
|
|
@@ -165,10 +167,10 @@ Summary.propTypes = {
|
|
|
165
167
|
multiRoom: _propTypes.default.bool,
|
|
166
168
|
name: _propTypes.default.string,
|
|
167
169
|
nights: _propTypes.default.number,
|
|
170
|
+
priceFactor: _propTypes.default.number,
|
|
168
171
|
selected: _propTypes.default.shape({}),
|
|
169
172
|
selectedBoard: _propTypes.default.shape({}),
|
|
170
173
|
taxesType: _propTypes.default.number,
|
|
171
|
-
valueFactor: _propTypes.default.number,
|
|
172
174
|
onSelect: _propTypes.default.func
|
|
173
175
|
};
|
|
174
176
|
//# sourceMappingURL=Item.Summary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","availableRates","features","showPricePerNight","id","roomId","isSoldOut","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","valueFactor","onSelect","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","basePrice","cancellationId","checkoutPrice","confidential","dayPrice","deals","discount","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","percentage","discountPercentage","isClub","isClubRate","board","rate","find","_ref2","createElement","Fragment","View","className","offset","summary","row","Text","bold","small","tag","highlight","L10N","LABEL_ONLY_MEMBERS","accent","LABEL_DISCOUNT","concat","gap","content","end","headline","level","maximumFractionDigits","action","light","lineThrough","tiny","LABEL_TOTAL","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","priceDetails","Button","disabled","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","bool","number","string","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { getLabelTaxes, isClubRate } from '../../helpers';\n\nconst Summary = ({\n availableRates = [],\n features: { showPricePerNight = false } = {},\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n valueFactor = 1,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n basePrice,\n cancellationId,\n checkoutPrice,\n confidential,\n dayPrice,\n deals,\n discount,\n fees,\n id,\n name,\n originalPrice = 0,\n price = 0,\n rateId,\n taxes,\n totalPriceRaw,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(\n !isSelected\n ? {\n basePrice,\n cancellationId,\n checkoutPrice,\n confidential,\n deals,\n discount,\n fees,\n id,\n name,\n price,\n rateId,\n roomId,\n roomName,\n taxes,\n totalPriceRaw,\n }\n : undefined,\n );\n };\n\n const { percentage: discountPercentage = 0 } = discount || {};\n\n const isClub = isClubRate({\n board: selectedBoard,\n rate: availableRates.find(({ id }) => rateId === id),\n });\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n <View row>\n {isClub && (\n <Text bold small className={[style.tag, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {!isSoldOut && discountPercentage > 0 && (\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\n\n <View row className={[style.gap, style.content, isSoldOut && style.end]}>\n {!isSoldOut && (\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price / valueFactor })}\n </Text>\n\n {price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice / valueFactor })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({\n currency,\n value: showPricePerNight ? price : dayPrice,\n })} ${translate(showPricePerNight ? L10N.LABEL_TOTAL : L10N.LABEL_PER_NIGHT)}`}</Text>\n )}\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button busy={busy} disabled={isSoldOut} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(\n isSoldOut\n ? L10N.LABEL_NOT_AVAILABLE\n : multiRoom\n ? isSelected\n ? L10N.LABEL_DESELECT\n : L10N.LABEL_SELECT\n : L10N.ACTION_RESERVE,\n )}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n availableRates: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n showPricePerNight: PropTypes.bool,\n }),\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n valueFactor: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","availableRates","features","showPricePerNight","id","roomId","isSoldOut","multiRoom","name","roomName","nights","priceFactor","selected","selectedBoard","taxesType","onSelect","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","basePrice","cancellationId","checkoutPrice","confidential","dayPrice","deals","discount","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","percentage","discountPercentage","isClub","isClubRate","board","rate","find","_ref2","createElement","Fragment","View","className","offset","summary","row","Text","bold","small","tag","highlight","L10N","LABEL_ONLY_MEMBERS","accent","LABEL_DISCOUNT","concat","gap","content","end","headline","level","maximumFractionDigits","action","light","lineThrough","tiny","LABEL_FOR_NIGHTS","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","priceDetails","Button","disabled","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","bool","number","string","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { getLabelTaxes, isClubRate } from '../../helpers';\n\nconst Summary = ({\n availableRates = [],\n features: { showPricePerNight = false } = {},\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n priceFactor = 1,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n basePrice,\n cancellationId,\n checkoutPrice,\n confidential,\n dayPrice,\n deals,\n discount,\n fees,\n id,\n name,\n originalPrice = 0,\n price = 0,\n rateId,\n taxes,\n totalPriceRaw,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(\n !isSelected\n ? {\n basePrice,\n cancellationId,\n checkoutPrice,\n confidential,\n deals,\n discount,\n fees,\n id,\n name,\n price,\n rateId,\n roomId,\n roomName,\n taxes,\n totalPriceRaw,\n }\n : undefined,\n );\n };\n\n const { percentage: discountPercentage = 0 } = discount || {};\n\n const isClub = isClubRate({\n board: selectedBoard,\n rate: availableRates.find(({ id }) => rateId === id),\n });\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n <View row>\n {isClub && (\n <Text bold small className={[style.tag, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {!isSoldOut && discountPercentage > 0 && (\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\n\n <View row className={[style.gap, style.content, isSoldOut && style.end]}>\n {!isSoldOut && (\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price / priceFactor })}\n </Text>\n\n {price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice / priceFactor })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({\n currency,\n value: showPricePerNight ? price : dayPrice,\n })} ${translate(showPricePerNight ? L10N.LABEL_FOR_NIGHTS : L10N.LABEL_PER_NIGHT, { nights })}`}</Text>\n )}\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button busy={busy} disabled={isSoldOut} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(\n isSoldOut\n ? L10N.LABEL_NOT_AVAILABLE\n : multiRoom\n ? isSelected\n ? L10N.LABEL_DESELECT\n : L10N.LABEL_SELECT\n : L10N.ACTION_RESERVE,\n )}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n availableRates: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n showPricePerNight: PropTypes.bool,\n }),\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n priceFactor: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAA0D,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAhB,uBAAA4B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAE1D,MAAMC,OAAO,GAAGC,IAAA,IAaV;EAAA,IAbW;IACfC,cAAc,GAAG,EAAE;IACnBC,QAAQ,EAAE;MAAEC,iBAAiB,GAAG;IAAM,CAAC,GAAG,CAAC,CAAC;IAC5CC,EAAE,EAAEC,MAAM;IACVC,SAAS,GAAG,KAAK;IACjBC,SAAS,GAAG,KAAK;IACjBC,IAAI,EAAEC,QAAQ;IACdC,MAAM,GAAG,CAAC;IACVC,WAAW,GAAG,CAAC;IACfC,QAAQ,GAAG,CAAC,CAAC;IACbC,aAAa,GAAG,CAAC,CAAC;IAClBC,SAAS;IACTC;EACF,CAAC,GAAAf,IAAA;EACC,MAAM;IAAEgB;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,cAAc;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjD,MAAM;IAAEC,KAAK,EAAE;MAAEC;IAAS,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAE/C,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEvC,IAAAC,gBAAS,EAAC,MAAMtC,MAAM,CAACuC,IAAI,CAAChB,QAAQ,CAAC,CAACiB,MAAM,KAAK,CAAC,IAAIJ,OAAO,CAAC,KAAK,CAAC,EAAE,CAACb,QAAQ,CAAC,CAAC;EAEjF,MAAM;IACJkB,SAAS;IACTC,cAAc;IACdC,aAAa;IACbC,YAAY;IACZC,QAAQ;IACRC,KAAK;IACLC,QAAQ;IACRC,IAAI;IACJjC,EAAE;IACFI,IAAI;IACJ8B,aAAa,GAAG,CAAC;IACjBC,KAAK,GAAG,CAAC;IACTC,MAAM;IACNC,KAAK;IACLC;EACF,CAAC,GAAG7B,aAAa;EAEjB,MAAM8B,UAAU,GAAG/B,QAAQ,CAACR,EAAE,KAAKA,EAAE;EAErC,MAAMwC,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAI,CAACrC,SAAS,EAAEkB,OAAO,CAAC,IAAI,CAAC;IAC7BV,QAAQ,CACN,CAAC4B,UAAU,GACP;MACEb,SAAS;MACTC,cAAc;MACdC,aAAa;MACbC,YAAY;MACZE,KAAK;MACLC,QAAQ;MACRC,IAAI;MACJjC,EAAE;MACFI,IAAI;MACJ+B,KAAK;MACLC,MAAM;MACNnC,MAAM;MACNI,QAAQ;MACRgC,KAAK;MACLC;IACF,CAAC,GACDG,SACN,CAAC;EACH,CAAC;EAED,MAAM;IAAEC,UAAU,EAAEC,kBAAkB,GAAG;EAAE,CAAC,GAAGX,QAAQ,IAAI,CAAC,CAAC;EAE7D,MAAMY,MAAM,GAAG,IAAAC,mBAAU,EAAC;IACxBC,KAAK,EAAErC,aAAa;IACpBsC,IAAI,EAAElD,cAAc,CAACmD,IAAI,CAACC,KAAA;MAAA,IAAC;QAAEjD;MAAG,CAAC,GAAAiD,KAAA;MAAA,OAAKb,MAAM,KAAKpC,EAAE;IAAA;EACrD,CAAC,CAAC;EAEF,oBACEjC,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAAAnF,MAAA,CAAAY,OAAA,CAAAwE,QAAA,qBACEpF,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACtF,GAAA,CAAAwF,IAAI;IAACC,SAAS,EAAE,CAAClF,KAAK,CAACmF,MAAM,EAAEnF,KAAK,CAACoF,OAAO;EAAE,gBAC7CxF,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACtF,GAAA,CAAAwF,IAAI;IAACI,GAAG;EAAA,GACNZ,MAAM,iBACL7E,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACtF,GAAA,CAAA6F,IAAI;IAACC,IAAI;IAACC,KAAK;IAACN,SAAS,EAAE,CAAClF,KAAK,CAACyF,GAAG,EAAEzF,KAAK,CAAC0F,SAAS;EAAE,GACtD9C,SAAS,CAAC+C,UAAI,CAACC,kBAAkB,CAC9B,CACP,EAEA,CAAC7D,SAAS,IAAIyC,kBAAkB,GAAG,CAAC,iBACnC5E,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACtF,GAAA,CAAA6F,IAAI;IAACO,MAAM;IAACN,IAAI;IAACC,KAAK;EAAA,GACpB5C,SAAS,CAAC+C,UAAI,CAACG,cAAc,EAAE;IAAEhD,KAAK,KAAAiD,MAAA,CAAKvB,kBAAkB;EAAI,CAAC,CAC/D,CAEJ,CAAC,eAEP5E,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACtF,GAAA,CAAAwF,IAAI;IAACI,GAAG;IAACH,SAAS,EAAE,CAAClF,KAAK,CAACgG,GAAG,EAAEhG,KAAK,CAACiG,OAAO,EAAElE,SAAS,IAAI/B,KAAK,CAACkG,GAAG;EAAE,GACrE,CAACnE,SAAS,iBACTnC,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACtF,GAAA,CAAAwF,IAAI,qBACHrF,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACtF,GAAA,CAAAwF,IAAI;IAACI,GAAG;IAACH,SAAS,EAAElF,KAAK,CAACgE;EAAM,gBAC/BpE,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACtF,GAAA,CAAA6F,IAAI;IAACC,IAAI;IAACY,QAAQ;IAACC,KAAK,EAAE3D,QAAQ,IAAIT,SAAS,IAAIgC,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG;EAAE,GACxErB,cAAc,CAAC;IAAEI,QAAQ;IAAEsD,qBAAqB,EAAE,CAAC;IAAEvD,KAAK,EAAEkB,KAAK,GAAG5B;EAAY,CAAC,CAC9E,CAAC,EAEN4B,KAAK,KAAKD,aAAa,iBACtBnE,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACtF,GAAA,CAAA6F,IAAI;IAACgB,MAAM;IAACC,KAAK;IAACrB,SAAS,EAAElF,KAAK,CAACwG;EAAY,GAC7C7D,cAAc,CAAC;IAAEI,QAAQ;IAAEsD,qBAAqB,EAAE,CAAC;IAAEvD,KAAK,EAAEiB,aAAa,GAAG3B;EAAY,CAAC,CACtF,CAEJ,CAAC,EAEND,MAAM,GAAG,CAAC,iBACTvC,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACtF,GAAA,CAAA6F,IAAI;IAACE,KAAK,EAAE,CAAC/C,QAAS;IAACgE,IAAI,EAAEhE;EAAS,MAAAsD,MAAA,CAAKpD,cAAc,CAAC;IACzDI,QAAQ;IACRD,KAAK,EAAElB,iBAAiB,GAAGoC,KAAK,GAAGL;EACrC,CAAC,CAAC,OAAAoC,MAAA,CAAInD,SAAS,CAAChB,iBAAiB,GAAG+D,UAAI,CAACe,gBAAgB,GAAGf,UAAI,CAACgB,eAAe,EAAE;IAAExE;EAAO,CAAC,CAAC,CAAS,CACvG,EAEA,CAAC,CAACI,SAAS,iBACV3C,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACtF,GAAA,CAAA6F,IAAI;IAACiB,KAAK;IAACf,KAAK,EAAE,CAAC/C,QAAS;IAACgE,IAAI,EAAEhE;EAAS,GAC1CG,SAAS,CAAC,IAAAgE,sBAAa,EAACrE,SAAS,CAAC,CAC/B,CACP,EAEA,CAACiC,kBAAkB,GAAG,CAAC,IAAIV,IAAI,GAAG,CAAC,IAAII,KAAK,GAAG,CAAC,kBAC/CtE,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACjF,WAAA,CAAA+G,YAAY;IAAOlC,KAAK,EAAErC,aAAa;IAAI4C,SAAS,EAAElF,KAAK,CAAC8G;EAAa,CAAE,CAE1E,CACP,eAEDlH,MAAA,CAAAY,OAAA,CAAAuE,aAAA,CAACtF,GAAA,CAAAsH,MAAM;IAAC9D,IAAI,EAAEA,IAAK;IAAC+D,QAAQ,EAAEjF,SAAU;IAACkF,SAAS,EAAEjF,SAAS,IAAIoC,UAAW;IAAC8C,OAAO,EAAE7C;EAAY,GAC/FzB,SAAS,CACRb,SAAS,GACL4D,UAAI,CAACwB,mBAAmB,GACxBnF,SAAS,GACToC,UAAU,GACRuB,UAAI,CAACyB,cAAc,GACnBzB,UAAI,CAAC0B,YAAY,GACnB1B,UAAI,CAAC2B,cACX,CACM,CACJ,CACF,CACN,CAAC;AAEP,CAAC;AAACC,OAAA,CAAA/F,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAACgG,WAAW,GAAG,+BAA+B;AAErDhG,OAAO,CAACiG,SAAS,GAAG;EAClB/F,cAAc,EAAEgG,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EAChDjG,QAAQ,EAAE+F,kBAAS,CAACG,KAAK,CAAC;IACxBjG,iBAAiB,EAAE8F,kBAAS,CAACI;EAC/B,CAAC,CAAC;EACFjG,EAAE,EAAE6F,kBAAS,CAACK,MAAM;EACpBhG,SAAS,EAAE2F,kBAAS,CAACI,IAAI;EACzB9F,SAAS,EAAE0F,kBAAS,CAACI,IAAI;EACzB7F,IAAI,EAAEyF,kBAAS,CAACM,MAAM;EACtB7F,MAAM,EAAEuF,kBAAS,CAACK,MAAM;EACxB3F,WAAW,EAAEsF,kBAAS,CAACK,MAAM;EAC7B1F,QAAQ,EAAEqF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BvF,aAAa,EAAEoF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAClCtF,SAAS,EAAEmF,kBAAS,CAACK,MAAM;EAC3BvF,QAAQ,EAAEkF,kBAAS,CAACO;AACtB,CAAC"}
|
|
@@ -26,6 +26,7 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
26
26
|
filters = {},
|
|
27
27
|
metaBoard,
|
|
28
28
|
multiRoom,
|
|
29
|
+
priceFactor = 1,
|
|
29
30
|
rates = [],
|
|
30
31
|
selected,
|
|
31
32
|
onPreview,
|
|
@@ -120,7 +121,6 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
120
121
|
rowMode,
|
|
121
122
|
showAllBoards,
|
|
122
123
|
showAllOffers,
|
|
123
|
-
showPricePerNight,
|
|
124
124
|
showOffersFirst
|
|
125
125
|
} = features;
|
|
126
126
|
const {
|
|
@@ -166,6 +166,7 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
166
166
|
features,
|
|
167
167
|
isSoldOut,
|
|
168
168
|
multiRoom,
|
|
169
|
+
priceFactor,
|
|
169
170
|
rates: showOffersFirst ? rates.map(rate => ({
|
|
170
171
|
...rate,
|
|
171
172
|
price: rate.price + findPrice(rate.cancellationId, cancellations)
|
|
@@ -180,7 +181,6 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
180
181
|
}).sort((a, b) => a.price - b.price) : rates.filter(rate => rate.cancellationId === cancellationId),
|
|
181
182
|
selected,
|
|
182
183
|
selectedBoard,
|
|
183
|
-
valueFactor: showPricePerNight && others.nights > 1 ? others.nights : 1,
|
|
184
184
|
onSelect
|
|
185
185
|
};
|
|
186
186
|
return /*#__PURE__*/_react.default.createElement(_shared__.Card, {
|
|
@@ -211,6 +211,7 @@ Item.propTypes = {
|
|
|
211
211
|
id: _propTypes.default.string
|
|
212
212
|
}),
|
|
213
213
|
multiRoom: _propTypes.default.bool,
|
|
214
|
+
priceFactor: _propTypes.default.number,
|
|
214
215
|
rates: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
215
216
|
selected: _propTypes.default.shape({
|
|
216
217
|
id: _propTypes.default.string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","roomName","name","nextBoard","find","board","cancellationId","rateId","handleBoard","clearSelection","Event","publish","EVENT","METRICS","handleCancellation","_ref2","cancellation","handleRate","_ref3","offer","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showPricePerNight","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","rate","selectedCancellation","valueFactor","nights","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || boards.length < 1) return;\n setSelectedBoard(metaBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const updateSelectedBoard = () => {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n };\n\n const handleBoard = (board) => {\n clearSelection();\n setSelectedBoard(board);\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:BOARD', board: board.id });\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:CANCELLATION', cancellation: id });\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:OFFER', offer: id });\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showPricePerNight, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n (rates.length === 0 ||\n (Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id));\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n valueFactor: showPricePerNight && others.nights > 1 ? others.nights : 1,\n onSelect,\n };\n\n return (\n <Card\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n }),\n multiRoom: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","priceFactor","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","roomName","name","nextBoard","find","board","cancellationId","rateId","handleBoard","clearSelection","Event","publish","EVENT","METRICS","handleCancellation","_ref2","cancellation","handleRate","_ref3","offer","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","rate","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","bool","number","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n priceFactor = 1,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || boards.length < 1) return;\n setSelectedBoard(metaBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const updateSelectedBoard = () => {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n };\n\n const handleBoard = (board) => {\n clearSelection();\n setSelectedBoard(board);\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:BOARD', board: board.id });\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:CANCELLATION', cancellation: id });\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:OFFER', offer: id });\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n (rates.length === 0 ||\n (Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id));\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n priceFactor,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n onSelect,\n };\n\n return (\n <Card\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n }),\n multiRoom: PropTypes.bool,\n priceFactor: PropTypes.number,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.l10n.js","names":["L10N","exports","ACTION_MORE_INFO","id","ACTION_RESERVE","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_PLAN","LABEL_BASE_PRICE","LABEL_BED_DISPOSITION","LABEL_CANCELLATION_POLICY","LABEL_COUNTDOWN","LABEL_CLUB_MEMBERS","LABEL_DESCRIPTION","LABEL_DESELECT","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_DOUBLE_BED_WIDTH","LABEL_EXTRAS","LABEL_FEES","LABEL_INCLUDED","LABEL_LIMITED_OFFER","LABEL_MAX_OCCUPATION","LABEL_MORE_SERVICES","LABEL_NOT_AVAILABLE","LABEL_OFFER","LABEL_ONLY_MEMBERS","LABEL_OR","LABEL_PAYMENT_TERMS","LABEL_PER_NIGHT","LABEL_PRICE_DETAILS","LABEL_REMAINING_ITEMS","LABEL_SELECT","LABEL_SELECTED_OCCUPATION","LABEL_TAXES","LABEL_TOP_AMENITIES","LABEL_TOTAL","LABEL_WHATS_INCLUDED","LABEL_YEARS_OLD"],"sources":["../../../../../src/components/Rates/components/Item/Item.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_PLAN: { id: 'finder.label.accommodation_plan' },\n LABEL_BASE_PRICE: { id: 'common.label.base_price' },\n LABEL_BED_DISPOSITION: { id: 'finder.label.bed_disposition' },\n LABEL_CANCELLATION_POLICY: { id: 'common.label.cancellation_policy' },\n LABEL_COUNTDOWN: { id: 'finder.label.countdown' },\n LABEL_CLUB_MEMBERS: { id: 'finder.label.club_members' },\n LABEL_DESCRIPTION: { id: 'common.label.description' },\n LABEL_DESELECT: { id: 'common.label.deselect' },\n LABEL_DISCOUNT: { id: 'finder.label.discount' },\n LABEL_DISCOUNT_INCLUDED: { id: 'finder.label.discount_included' },\n LABEL_DISCOUNT_TYPE: {\n 0: { id: 'finder.label.discount_club' },\n 1: { id: 'finder.label.discount_deal' },\n 2: { id: 'finder.label.discount_promotion' },\n },\n LABEL_DOUBLE_BED_WIDTH: { id: 'finder.label.double_bed_width' },\n LABEL_EXTRAS: { id: 'common.label.extras' },\n LABEL_FEES: { id: 'finder.label.fees' },\n LABEL_INCLUDED: { id: 'common.label.included' },\n LABEL_LIMITED_OFFER: { id: 'finder.label.limited_offer' },\n LABEL_MAX_OCCUPATION: { id: 'common.label.max_occupation' },\n LABEL_MORE_SERVICES: { id: 'finder.label.more_services' },\n LABEL_NOT_AVAILABLE: { id: 'common.label.not_available' },\n LABEL_OFFER: { id: 'common.label.offer' },\n LABEL_ONLY_MEMBERS: { id: 'finder.label.only_members' },\n LABEL_OR: { id: 'common.label.or' },\n LABEL_PAYMENT_TERMS: { id: 'common.label.payment_terms' },\n LABEL_PER_NIGHT: { id: 'finder.label.per_night' },\n LABEL_PRICE_DETAILS: { id: 'finder.label.price_details' },\n LABEL_REMAINING_ITEMS: { id: 'finder.label.remaining_items' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_SELECTED_OCCUPATION: { id: 'common.label.selected_occupation' },\n LABEL_TAXES: { id: 'finder.label.taxes' },\n LABEL_TOP_AMENITIES: { id: 'finder.label.top_amenities' },\n LABEL_TOTAL: { id: 'common.label.total' },\n LABEL_WHATS_INCLUDED: { id: 'finder.label.whats_included' },\n LABEL_YEARS_OLD: { id: 'common.label.years_old' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,cAAc,EAAE;IAAED,EAAE,EAAE;EAAwB,CAAC;EAC/CE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EAEnDG,wBAAwB,EAAE;IAAEH,EAAE,EAAE;EAAkC,CAAC;EACnEI,gBAAgB,EAAE;IAAEJ,EAAE,EAAE;EAA0B,CAAC;EACnDK,qBAAqB,EAAE;IAAEL,EAAE,EAAE;EAA+B,CAAC;EAC7DM,yBAAyB,EAAE;IAAEN,EAAE,EAAE;EAAmC,CAAC;EACrEO,eAAe,EAAE;IAAEP,EAAE,EAAE;EAAyB,CAAC;EACjDQ,kBAAkB,EAAE;IAAER,EAAE,EAAE;EAA4B,CAAC;EACvDS,iBAAiB,EAAE;IAAET,EAAE,EAAE;EAA2B,CAAC;EACrDU,cAAc,EAAE;IAAEV,EAAE,EAAE;EAAwB,CAAC;EAC/CW,cAAc,EAAE;IAAEX,EAAE,EAAE;EAAwB,CAAC;EAC/CY,uBAAuB,EAAE;IAAEZ,EAAE,EAAE;EAAiC,CAAC;EACjEa,mBAAmB,EAAE;IACnB,CAAC,EAAE;MAAEb,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAAkC;EAC7C,CAAC;EACDc,sBAAsB,EAAE;IAAEd,EAAE,EAAE;EAAgC,CAAC;EAC/De,YAAY,EAAE;IAAEf,EAAE,EAAE;EAAsB,CAAC;EAC3CgB,UAAU,EAAE;IAAEhB,EAAE,EAAE;EAAoB,CAAC;EACvCiB,
|
|
1
|
+
{"version":3,"file":"Item.l10n.js","names":["L10N","exports","ACTION_MORE_INFO","id","ACTION_RESERVE","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_PLAN","LABEL_BASE_PRICE","LABEL_BED_DISPOSITION","LABEL_CANCELLATION_POLICY","LABEL_COUNTDOWN","LABEL_CLUB_MEMBERS","LABEL_DESCRIPTION","LABEL_DESELECT","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_DOUBLE_BED_WIDTH","LABEL_EXTRAS","LABEL_FEES","LABEL_FOR_NIGHTS","LABEL_INCLUDED","LABEL_LIMITED_OFFER","LABEL_MAX_OCCUPATION","LABEL_MORE_SERVICES","LABEL_NOT_AVAILABLE","LABEL_OFFER","LABEL_ONLY_MEMBERS","LABEL_OR","LABEL_PAYMENT_TERMS","LABEL_PER_NIGHT","LABEL_PRICE_DETAILS","LABEL_REMAINING_ITEMS","LABEL_SELECT","LABEL_SELECTED_OCCUPATION","LABEL_TAXES","LABEL_TOP_AMENITIES","LABEL_TOTAL","LABEL_WHATS_INCLUDED","LABEL_YEARS_OLD"],"sources":["../../../../../src/components/Rates/components/Item/Item.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_PLAN: { id: 'finder.label.accommodation_plan' },\n LABEL_BASE_PRICE: { id: 'common.label.base_price' },\n LABEL_BED_DISPOSITION: { id: 'finder.label.bed_disposition' },\n LABEL_CANCELLATION_POLICY: { id: 'common.label.cancellation_policy' },\n LABEL_COUNTDOWN: { id: 'finder.label.countdown' },\n LABEL_CLUB_MEMBERS: { id: 'finder.label.club_members' },\n LABEL_DESCRIPTION: { id: 'common.label.description' },\n LABEL_DESELECT: { id: 'common.label.deselect' },\n LABEL_DISCOUNT: { id: 'finder.label.discount' },\n LABEL_DISCOUNT_INCLUDED: { id: 'finder.label.discount_included' },\n LABEL_DISCOUNT_TYPE: {\n 0: { id: 'finder.label.discount_club' },\n 1: { id: 'finder.label.discount_deal' },\n 2: { id: 'finder.label.discount_promotion' },\n },\n LABEL_DOUBLE_BED_WIDTH: { id: 'finder.label.double_bed_width' },\n LABEL_EXTRAS: { id: 'common.label.extras' },\n LABEL_FEES: { id: 'finder.label.fees' },\n LABEL_FOR_NIGHTS: { id: 'common.label.for_nights' },\n LABEL_INCLUDED: { id: 'common.label.included' },\n LABEL_LIMITED_OFFER: { id: 'finder.label.limited_offer' },\n LABEL_MAX_OCCUPATION: { id: 'common.label.max_occupation' },\n LABEL_MORE_SERVICES: { id: 'finder.label.more_services' },\n LABEL_NOT_AVAILABLE: { id: 'common.label.not_available' },\n LABEL_OFFER: { id: 'common.label.offer' },\n LABEL_ONLY_MEMBERS: { id: 'finder.label.only_members' },\n LABEL_OR: { id: 'common.label.or' },\n LABEL_PAYMENT_TERMS: { id: 'common.label.payment_terms' },\n LABEL_PER_NIGHT: { id: 'finder.label.per_night' },\n LABEL_PRICE_DETAILS: { id: 'finder.label.price_details' },\n LABEL_REMAINING_ITEMS: { id: 'finder.label.remaining_items' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_SELECTED_OCCUPATION: { id: 'common.label.selected_occupation' },\n LABEL_TAXES: { id: 'finder.label.taxes' },\n LABEL_TOP_AMENITIES: { id: 'finder.label.top_amenities' },\n LABEL_TOTAL: { id: 'common.label.total' },\n LABEL_WHATS_INCLUDED: { id: 'finder.label.whats_included' },\n LABEL_YEARS_OLD: { id: 'common.label.years_old' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,cAAc,EAAE;IAAED,EAAE,EAAE;EAAwB,CAAC;EAC/CE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EAEnDG,wBAAwB,EAAE;IAAEH,EAAE,EAAE;EAAkC,CAAC;EACnEI,gBAAgB,EAAE;IAAEJ,EAAE,EAAE;EAA0B,CAAC;EACnDK,qBAAqB,EAAE;IAAEL,EAAE,EAAE;EAA+B,CAAC;EAC7DM,yBAAyB,EAAE;IAAEN,EAAE,EAAE;EAAmC,CAAC;EACrEO,eAAe,EAAE;IAAEP,EAAE,EAAE;EAAyB,CAAC;EACjDQ,kBAAkB,EAAE;IAAER,EAAE,EAAE;EAA4B,CAAC;EACvDS,iBAAiB,EAAE;IAAET,EAAE,EAAE;EAA2B,CAAC;EACrDU,cAAc,EAAE;IAAEV,EAAE,EAAE;EAAwB,CAAC;EAC/CW,cAAc,EAAE;IAAEX,EAAE,EAAE;EAAwB,CAAC;EAC/CY,uBAAuB,EAAE;IAAEZ,EAAE,EAAE;EAAiC,CAAC;EACjEa,mBAAmB,EAAE;IACnB,CAAC,EAAE;MAAEb,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAAkC;EAC7C,CAAC;EACDc,sBAAsB,EAAE;IAAEd,EAAE,EAAE;EAAgC,CAAC;EAC/De,YAAY,EAAE;IAAEf,EAAE,EAAE;EAAsB,CAAC;EAC3CgB,UAAU,EAAE;IAAEhB,EAAE,EAAE;EAAoB,CAAC;EACvCiB,gBAAgB,EAAE;IAAEjB,EAAE,EAAE;EAA0B,CAAC;EACnDkB,cAAc,EAAE;IAAElB,EAAE,EAAE;EAAwB,CAAC;EAC/CmB,mBAAmB,EAAE;IAAEnB,EAAE,EAAE;EAA6B,CAAC;EACzDoB,oBAAoB,EAAE;IAAEpB,EAAE,EAAE;EAA8B,CAAC;EAC3DqB,mBAAmB,EAAE;IAAErB,EAAE,EAAE;EAA6B,CAAC;EACzDsB,mBAAmB,EAAE;IAAEtB,EAAE,EAAE;EAA6B,CAAC;EACzDuB,WAAW,EAAE;IAAEvB,EAAE,EAAE;EAAqB,CAAC;EACzCwB,kBAAkB,EAAE;IAAExB,EAAE,EAAE;EAA4B,CAAC;EACvDyB,QAAQ,EAAE;IAAEzB,EAAE,EAAE;EAAkB,CAAC;EACnC0B,mBAAmB,EAAE;IAAE1B,EAAE,EAAE;EAA6B,CAAC;EACzD2B,eAAe,EAAE;IAAE3B,EAAE,EAAE;EAAyB,CAAC;EACjD4B,mBAAmB,EAAE;IAAE5B,EAAE,EAAE;EAA6B,CAAC;EACzD6B,qBAAqB,EAAE;IAAE7B,EAAE,EAAE;EAA+B,CAAC;EAC7D8B,YAAY,EAAE;IAAE9B,EAAE,EAAE;EAAsB,CAAC;EAC3C+B,yBAAyB,EAAE;IAAE/B,EAAE,EAAE;EAAmC,CAAC;EACrEgC,WAAW,EAAE;IAAEhC,EAAE,EAAE;EAAqB,CAAC;EACzCiC,mBAAmB,EAAE;IAAEjC,EAAE,EAAE;EAA6B,CAAC;EACzDkC,WAAW,EAAE;IAAElC,EAAE,EAAE;EAAqB,CAAC;EACzCmC,oBAAoB,EAAE;IAAEnC,EAAE,EAAE;EAA8B,CAAC;EAC3DoC,eAAe,EAAE;IAAEpC,EAAE,EAAE;EAAyB;AAClD,CAAC"}
|
|
@@ -15,6 +15,9 @@ const select = function () {
|
|
|
15
15
|
priceRange = {},
|
|
16
16
|
sizeRange = {}
|
|
17
17
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
18
|
+
let {
|
|
19
|
+
priceFactor = 1
|
|
20
|
+
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
18
21
|
return items.filter(function () {
|
|
19
22
|
let {
|
|
20
23
|
amenities = [],
|
|
@@ -47,7 +50,10 @@ const select = function () {
|
|
|
47
50
|
} = (0, _filterItem.filterItem)(item, {
|
|
48
51
|
board,
|
|
49
52
|
freeCancellation,
|
|
50
|
-
priceRange
|
|
53
|
+
priceRange: {
|
|
54
|
+
max: priceRange.max ? priceRange.max * priceFactor : undefined,
|
|
55
|
+
min: priceRange.min ? priceRange.min * priceFactor : undefined
|
|
56
|
+
}
|
|
51
57
|
});
|
|
52
58
|
const hasOptions = availability === 0 || boards.length > 0 && (cancellations.length > 0 || rates.length > 0);
|
|
53
59
|
return hasAmenities && hasBedTypes && hasSize && hasOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","names":["_filterItem","require","select","items","arguments","length","undefined","amenities","filterAmenities","bedType","board","freeCancellation","priceRange","sizeRange","filter","availability","bedTypes","size","rawSize","item","hasAmenities","every","map","_ref","id","includes","hasBedTypes","hasSize","split","max","maxSize","min","minSize","parseInt","boards","cancellations","rates","filterItem","hasOptions","exports"],"sources":["../../../../src/components/Rates/helpers/select.js"],"sourcesContent":["import { filterItem } from './filterItem';\n\nexport const select = (\n items = [],\n { amenities: filterAmenities = [], bedType, board, freeCancellation, priceRange = {}, sizeRange = {} } = {},\n) =>\n items.filter(({ amenities = [], availability = 0, bedTypes = [], size: rawSize = '', ...item } = {}) => {\n const hasAmenities =\n filterAmenities.length === 0 || filterAmenities.every((item) => amenities.map(({ id }) => id).includes(item));\n\n const hasBedTypes = !bedType || bedTypes.includes(bedType);\n\n let hasSize = true;\n let [size] = rawSize.split(' ');\n if (size) {\n const { max: maxSize, min: minSize } = sizeRange;\n\n size = parseInt(size);\n hasSize = (!minSize || size >= minSize) && (!maxSize || size <= maxSize);\n }\n\n const {
|
|
1
|
+
{"version":3,"file":"select.js","names":["_filterItem","require","select","items","arguments","length","undefined","amenities","filterAmenities","bedType","board","freeCancellation","priceRange","sizeRange","priceFactor","filter","availability","bedTypes","size","rawSize","item","hasAmenities","every","map","_ref","id","includes","hasBedTypes","hasSize","split","max","maxSize","min","minSize","parseInt","boards","cancellations","rates","filterItem","hasOptions","exports"],"sources":["../../../../src/components/Rates/helpers/select.js"],"sourcesContent":["import { filterItem } from './filterItem';\n\nexport const select = (\n items = [],\n { amenities: filterAmenities = [], bedType, board, freeCancellation, priceRange = {}, sizeRange = {} } = {},\n { priceFactor = 1 } = {},\n) =>\n items.filter(({ amenities = [], availability = 0, bedTypes = [], size: rawSize = '', ...item } = {}) => {\n const hasAmenities =\n filterAmenities.length === 0 || filterAmenities.every((item) => amenities.map(({ id }) => id).includes(item));\n\n const hasBedTypes = !bedType || bedTypes.includes(bedType);\n\n let hasSize = true;\n let [size] = rawSize.split(' ');\n if (size) {\n const { max: maxSize, min: minSize } = sizeRange;\n\n size = parseInt(size);\n hasSize = (!minSize || size >= minSize) && (!maxSize || size <= maxSize);\n }\n\n const {\n boards = [],\n cancellations = [],\n rates = [],\n } = filterItem(item, {\n board,\n freeCancellation,\n priceRange: {\n max: priceRange.max ? priceRange.max * priceFactor : undefined,\n min: priceRange.min ? priceRange.min * priceFactor : undefined,\n },\n });\n const hasOptions = availability === 0 || (boards.length > 0 && (cancellations.length > 0 || rates.length > 0));\n\n return hasAmenities && hasBedTypes && hasSize && hasOptions;\n });\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEO,MAAMC,MAAM,GAAG,SAAAA,CAAA;EAAA,IACpBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACV;IAAEG,SAAS,EAAEC,eAAe,GAAG,EAAE;IAAEC,OAAO;IAAEC,KAAK;IAAEC,gBAAgB;IAAEC,UAAU,GAAG,CAAC,CAAC;IAAEC,SAAS,GAAG,CAAC;EAAE,CAAC,GAAAT,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAC3G;IAAEU,WAAW,GAAG;EAAE,CAAC,GAAAV,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OAExBD,KAAK,CAACY,MAAM,CAAC,YAA2F;IAAA,IAA1F;MAAER,SAAS,GAAG,EAAE;MAAES,YAAY,GAAG,CAAC;MAAEC,QAAQ,GAAG,EAAE;MAAEC,IAAI,EAAEC,OAAO,GAAG,EAAE;MAAE,GAAGC;IAAK,CAAC,GAAAhB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IACjG,MAAMiB,YAAY,GAChBb,eAAe,CAACH,MAAM,KAAK,CAAC,IAAIG,eAAe,CAACc,KAAK,CAAEF,IAAI,IAAKb,SAAS,CAACgB,GAAG,CAACC,IAAA;MAAA,IAAC;QAAEC;MAAG,CAAC,GAAAD,IAAA;MAAA,OAAKC,EAAE;IAAA,EAAC,CAACC,QAAQ,CAACN,IAAI,CAAC,CAAC;IAE/G,MAAMO,WAAW,GAAG,CAAClB,OAAO,IAAIQ,QAAQ,CAACS,QAAQ,CAACjB,OAAO,CAAC;IAE1D,IAAImB,OAAO,GAAG,IAAI;IAClB,IAAI,CAACV,IAAI,CAAC,GAAGC,OAAO,CAACU,KAAK,CAAC,GAAG,CAAC;IAC/B,IAAIX,IAAI,EAAE;MACR,MAAM;QAAEY,GAAG,EAAEC,OAAO;QAAEC,GAAG,EAAEC;MAAQ,CAAC,GAAGpB,SAAS;MAEhDK,IAAI,GAAGgB,QAAQ,CAAChB,IAAI,CAAC;MACrBU,OAAO,GAAG,CAAC,CAACK,OAAO,IAAIf,IAAI,IAAIe,OAAO,MAAM,CAACF,OAAO,IAAIb,IAAI,IAAIa,OAAO,CAAC;IAC1E;IAEA,MAAM;MACJI,MAAM,GAAG,EAAE;MACXC,aAAa,GAAG,EAAE;MAClBC,KAAK,GAAG;IACV,CAAC,GAAG,IAAAC,sBAAU,EAAClB,IAAI,EAAE;MACnBV,KAAK;MACLC,gBAAgB;MAChBC,UAAU,EAAE;QACVkB,GAAG,EAAElB,UAAU,CAACkB,GAAG,GAAGlB,UAAU,CAACkB,GAAG,GAAGhB,WAAW,GAAGR,SAAS;QAC9D0B,GAAG,EAAEpB,UAAU,CAACoB,GAAG,GAAGpB,UAAU,CAACoB,GAAG,GAAGlB,WAAW,GAAGR;MACvD;IACF,CAAC,CAAC;IACF,MAAMiC,UAAU,GAAGvB,YAAY,KAAK,CAAC,IAAKmB,MAAM,CAAC9B,MAAM,GAAG,CAAC,KAAK+B,aAAa,CAAC/B,MAAM,GAAG,CAAC,IAAIgC,KAAK,CAAChC,MAAM,GAAG,CAAC,CAAE;IAE9G,OAAOgB,YAAY,IAAIM,WAAW,IAAIC,OAAO,IAAIW,UAAU;EAC7D,CAAC,CAAC;AAAA;AAACC,OAAA,CAAAtC,MAAA,GAAAA,MAAA"}
|
|
@@ -65,7 +65,7 @@ const PerfomanceManager = () => {
|
|
|
65
65
|
id,
|
|
66
66
|
...props
|
|
67
67
|
} = _ref3;
|
|
68
|
-
if (!id || window.IS_PLAYWRIGHT) return;
|
|
68
|
+
if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;
|
|
69
69
|
const event = id.toUpperCase().trim();
|
|
70
70
|
const method = event.includes('RENDER') ? trackRender : track;
|
|
71
71
|
method(event, {
|