@mirai/core 0.4.308 → 0.4.310

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.
@@ -23,7 +23,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
23
23
  const Calendar = _ref => {
24
24
  var _getDataSource, _getDataSource$places, _getDataSource$places2, _getDataSource$places3, _getDataSource2;
25
25
  let {
26
- captions = {},
26
+ captions,
27
27
  highlights = [],
28
28
  minNightsWithDeals,
29
29
  pricesInfo: {
@@ -125,7 +125,7 @@ const Calendar = _ref => {
125
125
  from,
126
126
  rangeMinDays,
127
127
  to
128
- }), /*#__PURE__*/_react.default.createElement(_ui.Text, {
128
+ }), currency && nights && taxType ? /*#__PURE__*/_react.default.createElement(_ui.Text, {
129
129
  small: true,
130
130
  className: style.notification
131
131
  }, translate(_RatesExplorer2.L10N.LABEL_INFO_PRICES_WITH_GUESTS, {
@@ -140,7 +140,7 @@ const Calendar = _ref => {
140
140
  }),
141
141
  nights,
142
142
  taxType
143
- }))), isMobile && /*#__PURE__*/_react.default.createElement(_ui.View, {
143
+ })) : null), isMobile && /*#__PURE__*/_react.default.createElement(_ui.View, {
144
144
  row: true,
145
145
  className: style.footer
146
146
  }, /*#__PURE__*/_react.default.createElement(_.BookingDates, {
@@ -1 +1 @@
1
- {"version":3,"file":"RatesExplorer.Calendar.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_RatesExplorer","_RatesExplorer2","style","_","_helpers2","_helpers3","_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","Calendar","_ref","_getDataSource","_getDataSource$places","_getDataSource$places2","_getDataSource$places3","_getDataSource2","captions","highlights","minNightsWithDeals","pricesInfo","currency","guests","propGuests","nights","taxType","rangeMaxDays","rangeMinDays","visible","visited","onPress","others","height","isMobile","useDevice","translate","useLocale","value","locale","store","useStore","focus","setFocus","useState","setValue","valueFormat","useEffect","from","to","parseValue","config","hotels","dataSource","lodgingDenomination","individual","hotel","id","tagId","getDataSource","places","options","find","ids","isHotel","undefined","accommodationType","getAccommodationType","getHotels","placesSource","adults","children","getOccupation","React","createElement","Field","Fragment","caption","getCalendarCaption","dateFormat","error","icon","ICON","CALENDAR","label","L10N","LABEL_WHEN","placeholder","className","fieldCalendar","testId","concat","format","calcFromDate","months","MONTHS_IN_MOBILE","range","calcToDate","tooltips","calcTooltips","onFocus","styles","content","DEVICE_XS_HEIGHT","calendarXS","View","calendarInfo","BookingDates","Text","small","notification","LABEL_INFO_PRICES_WITH_GUESTS","accommodation","LABEL_ACCOMMODATION_TYPE","type","LABEL_OCCUPATION_TYPE_GUEST","LABEL_ADULTS_AND_CHILDREN","row","footer","Button","disabled","ACTION_NEXT","exports","displayName","propTypes","PropTypes","shape","arrayOf","string","number","bool","onChange","func"],"sources":["../../../../src/components/__shared__/RatesExplorer/RatesExplorer.Calendar.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { dateFormat, useLocale } from '@mirai/locale';\nimport { Button, Calendar as CalendarBase, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { Fragment, useEffect, useState } from 'react';\n\nimport { calcFromDate, calcToDate, calcTooltips, getOccupation } from './helpers';\nimport { DEVICE_XS_HEIGHT } from './RatesExplorer.constants';\nimport { L10N } from './RatesExplorer.l10n';\nimport * as style from './RatesExplorer.module.css';\nimport { BookingDates, Field } from '../';\nimport { getDataSource, getHotels } from '../../Finder/helpers';\nimport {\n CALENDAR_FORMAT as format,\n getAccommodationType,\n getCalendarCaption,\n ICON,\n MONTHS_IN_MOBILE,\n parseValue,\n valueFormat,\n} from '../../helpers';\n\nconst Calendar = ({\n captions = {},\n highlights = [],\n minNightsWithDeals,\n pricesInfo: { currency, guests: propGuests, nights, taxType } = {},\n rangeMaxDays,\n rangeMinDays,\n visible,\n visited,\n onPress,\n ...others\n}) => {\n const { height, isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { locale, ...store },\n } = useStore();\n\n const [focus, setFocus] = useState();\n const [value, setValue] = useState(valueFormat(others.value));\n\n useEffect(() => {\n setValue(valueFormat(others.value));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [others.value]);\n\n const [from, to] = parseValue(value);\n\n const { config: { hotels: dataSource, lodgingDenomination: individual } = {}, hotel: { id } = {} } = store || {};\n\n const tagId = getDataSource(store)?.places?.options?.find(\n ({ id: ids = [], isHotel } = {}) => isHotel && ids[0] === id,\n )?.value;\n\n const accommodationType = getAccommodationType({\n dataSource,\n hotels: getHotels(getDataSource(store)?.placesSource, tagId),\n individual: individual && typeof individual === 'object' ? individual[id] : individual,\n });\n\n const { adults = 0, children = 0, guests = 0 } = getOccupation(propGuests);\n\n return React.createElement(\n isMobile ? Field : Fragment,\n isMobile\n ? {\n caption: value.length ? getCalendarCaption(parseValue(value), translate, dateFormat, locale) : undefined,\n error: visited && (!from || !to),\n icon: ICON.CALENDAR,\n label: translate(L10N.LABEL_WHEN),\n placeholder: getCalendarCaption(undefined, translate, dateFormat, locale),\n visible,\n onPress,\n className: style.fieldCalendar,\n testId: `${others.testId}-field`,\n }\n : undefined,\n <>\n <CalendarBase\n {...{\n ...others,\n captions,\n format,\n from: calcFromDate(highlights),\n highlights,\n locale,\n months: isMobile ? MONTHS_IN_MOBILE : undefined,\n range: true,\n rangeMaxDays,\n rangeMinDays,\n to: calcToDate(highlights, rangeMaxDays),\n tooltips: calcTooltips({ focus, from, highlights, minNightsWithDeals, rangeMinDays, to, translate }),\n value,\n onFocus: setFocus,\n className: styles(style.content, height <= DEVICE_XS_HEIGHT && style.calendarXS),\n }}\n />\n\n <View className={style.calendarInfo}>\n {!isMobile && <BookingDates {...{ focus, from, rangeMinDays, to }} />}\n\n <Text small className={style.notification}>\n {translate(L10N.LABEL_INFO_PRICES_WITH_GUESTS, {\n accommodation: translate(L10N.LABEL_ACCOMMODATION_TYPE, { type: accommodationType }),\n currency,\n guests: translate(guests > 0 ? L10N.LABEL_OCCUPATION_TYPE_GUEST : L10N.LABEL_ADULTS_AND_CHILDREN, {\n adults,\n children,\n guests,\n }),\n nights,\n taxType,\n })}\n </Text>\n </View>\n\n {isMobile && (\n <View row className={style.footer}>\n <BookingDates {...{ focus, from, rangeMinDays, to }} />\n\n <Button disabled={!from || !to} onPress={onPress} testId={`${others.testId}-button-next`}>\n {translate(L10N.ACTION_NEXT)}\n </Button>\n </View>\n )}\n </>,\n );\n};\n\nCalendar.displayName = 'Mirai:Core:RatesExplorer:Calendar';\n\nCalendar.propTypes = {\n captions: PropTypes.shape({}),\n highlights: PropTypes.arrayOf(PropTypes.string),\n minNightsWithDeals: PropTypes.number,\n pricesInfo: PropTypes.shape({\n currency: PropTypes.string,\n guests: PropTypes.number,\n nights: PropTypes.number,\n taxType: PropTypes.number,\n }),\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n visible: PropTypes.bool,\n visited: PropTypes.bool,\n onChange: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Calendar };\n"],"mappings":"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"}
1
+ {"version":3,"file":"RatesExplorer.Calendar.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_RatesExplorer","_RatesExplorer2","style","_","_helpers2","_helpers3","_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","Calendar","_ref","_getDataSource","_getDataSource$places","_getDataSource$places2","_getDataSource$places3","_getDataSource2","captions","highlights","minNightsWithDeals","pricesInfo","currency","guests","propGuests","nights","taxType","rangeMaxDays","rangeMinDays","visible","visited","onPress","others","height","isMobile","useDevice","translate","useLocale","value","locale","store","useStore","focus","setFocus","useState","setValue","valueFormat","useEffect","from","to","parseValue","config","hotels","dataSource","lodgingDenomination","individual","hotel","id","tagId","getDataSource","places","options","find","ids","isHotel","undefined","accommodationType","getAccommodationType","getHotels","placesSource","adults","children","getOccupation","React","createElement","Field","Fragment","caption","getCalendarCaption","dateFormat","error","icon","ICON","CALENDAR","label","L10N","LABEL_WHEN","placeholder","className","fieldCalendar","testId","concat","format","calcFromDate","months","MONTHS_IN_MOBILE","range","calcToDate","tooltips","calcTooltips","onFocus","styles","content","DEVICE_XS_HEIGHT","calendarXS","View","calendarInfo","BookingDates","Text","small","notification","LABEL_INFO_PRICES_WITH_GUESTS","accommodation","LABEL_ACCOMMODATION_TYPE","type","LABEL_OCCUPATION_TYPE_GUEST","LABEL_ADULTS_AND_CHILDREN","row","footer","Button","disabled","ACTION_NEXT","exports","displayName","propTypes","PropTypes","shape","arrayOf","string","number","bool","onChange","func"],"sources":["../../../../src/components/__shared__/RatesExplorer/RatesExplorer.Calendar.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { dateFormat, useLocale } from '@mirai/locale';\nimport { Button, Calendar as CalendarBase, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { Fragment, useEffect, useState } from 'react';\n\nimport { calcFromDate, calcToDate, calcTooltips, getOccupation } from './helpers';\nimport { DEVICE_XS_HEIGHT } from './RatesExplorer.constants';\nimport { L10N } from './RatesExplorer.l10n';\nimport * as style from './RatesExplorer.module.css';\nimport { BookingDates, Field } from '../';\nimport { getDataSource, getHotels } from '../../Finder/helpers';\nimport {\n CALENDAR_FORMAT as format,\n getAccommodationType,\n getCalendarCaption,\n ICON,\n MONTHS_IN_MOBILE,\n parseValue,\n valueFormat,\n} from '../../helpers';\n\nconst Calendar = ({\n captions,\n highlights = [],\n minNightsWithDeals,\n pricesInfo: { currency, guests: propGuests, nights, taxType } = {},\n rangeMaxDays,\n rangeMinDays,\n visible,\n visited,\n onPress,\n ...others\n}) => {\n const { height, isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { locale, ...store },\n } = useStore();\n\n const [focus, setFocus] = useState();\n const [value, setValue] = useState(valueFormat(others.value));\n\n useEffect(() => {\n setValue(valueFormat(others.value));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [others.value]);\n\n const [from, to] = parseValue(value);\n\n const { config: { hotels: dataSource, lodgingDenomination: individual } = {}, hotel: { id } = {} } = store || {};\n\n const tagId = getDataSource(store)?.places?.options?.find(\n ({ id: ids = [], isHotel } = {}) => isHotel && ids[0] === id,\n )?.value;\n\n const accommodationType = getAccommodationType({\n dataSource,\n hotels: getHotels(getDataSource(store)?.placesSource, tagId),\n individual: individual && typeof individual === 'object' ? individual[id] : individual,\n });\n\n const { adults = 0, children = 0, guests = 0 } = getOccupation(propGuests);\n\n return React.createElement(\n isMobile ? Field : Fragment,\n isMobile\n ? {\n caption: value.length ? getCalendarCaption(parseValue(value), translate, dateFormat, locale) : undefined,\n error: visited && (!from || !to),\n icon: ICON.CALENDAR,\n label: translate(L10N.LABEL_WHEN),\n placeholder: getCalendarCaption(undefined, translate, dateFormat, locale),\n visible,\n onPress,\n className: style.fieldCalendar,\n testId: `${others.testId}-field`,\n }\n : undefined,\n <>\n <CalendarBase\n {...{\n ...others,\n captions,\n format,\n from: calcFromDate(highlights),\n highlights,\n locale,\n months: isMobile ? MONTHS_IN_MOBILE : undefined,\n range: true,\n rangeMaxDays,\n rangeMinDays,\n to: calcToDate(highlights, rangeMaxDays),\n tooltips: calcTooltips({ focus, from, highlights, minNightsWithDeals, rangeMinDays, to, translate }),\n value,\n onFocus: setFocus,\n className: styles(style.content, height <= DEVICE_XS_HEIGHT && style.calendarXS),\n }}\n />\n\n <View className={style.calendarInfo}>\n {!isMobile && <BookingDates {...{ focus, from, rangeMinDays, to }} />}\n\n {currency && nights && taxType ? (\n <Text small className={style.notification}>\n {translate(L10N.LABEL_INFO_PRICES_WITH_GUESTS, {\n accommodation: translate(L10N.LABEL_ACCOMMODATION_TYPE, { type: accommodationType }),\n currency,\n guests: translate(guests > 0 ? L10N.LABEL_OCCUPATION_TYPE_GUEST : L10N.LABEL_ADULTS_AND_CHILDREN, {\n adults,\n children,\n guests,\n }),\n nights,\n taxType,\n })}\n </Text>\n ) : null}\n </View>\n\n {isMobile && (\n <View row className={style.footer}>\n <BookingDates {...{ focus, from, rangeMinDays, to }} />\n\n <Button disabled={!from || !to} onPress={onPress} testId={`${others.testId}-button-next`}>\n {translate(L10N.ACTION_NEXT)}\n </Button>\n </View>\n )}\n </>,\n );\n};\n\nCalendar.displayName = 'Mirai:Core:RatesExplorer:Calendar';\n\nCalendar.propTypes = {\n captions: PropTypes.shape({}),\n highlights: PropTypes.arrayOf(PropTypes.string),\n minNightsWithDeals: PropTypes.number,\n pricesInfo: PropTypes.shape({\n currency: PropTypes.string,\n guests: PropTypes.number,\n nights: PropTypes.number,\n taxType: PropTypes.number,\n }),\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n visible: PropTypes.bool,\n visited: PropTypes.bool,\n onChange: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Calendar };\n"],"mappings":"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"}
@@ -40,8 +40,7 @@ const ratesResponse = function () {
40
40
  hotel: {
41
41
  accommodationType,
42
42
  features = {},
43
- variants = {},
44
- ...hotel
43
+ variants = {}
45
44
  } = {},
46
45
  id,
47
46
  language,
@@ -210,8 +209,8 @@ const ratesResponse = function () {
210
209
  mobile,
211
210
  hotel: {
212
211
  accommodationType,
213
- variants,
214
- ...hotel
212
+ id: hotelId,
213
+ variants
215
214
  },
216
215
  id,
217
216
  step,
@@ -1 +1 @@
1
- {"version":3,"file":"ratesResponse.js","names":["_locale","require","_duetto","_helpers","_helpers2","_helpers3","_Core","_helpers4","_helpers5","_helpers6","_legacy","ACCOMMODATION_TYPE_NAME","Object","keys","ACCOMMODATION_TYPE","ratesResponse","_variants$hotelId","device","mobile","response","calendar","calendarSuggestion","hotels","infantAge","tracking","store","currency","finder","occupation","place","title","searchCategory","promocode","hotel","accommodationType","features","variants","id","language","session","type","urlParams","arguments","length","undefined","idchain","idoffers","idtokenprovider","hotelId","roomTypeId","fetchUrlParams","location","search","country","hotelInfo","hotelCurrency","propertyName","propertyType","hotelInfoBAR","localTaxesIncluded","rates","taxesIncluded","userCurrency","value","userCurrencyValue","adults","children","getOccupationTotals","minRate","maxRate","getRatesPriceRange","days","nights","dateDiff","showPricePerNight","getFeatures","step","common","availability","chainId","checkin","dateFormat","format","checkout","coupon","home","document","hostname","idOffer","parseInt","idRoom","lodgingDenomination","multiroom","numAdults","numChildren","numRooms","pricePerNight","userCountry","userLogged","dataLayer","code","exchangeRate","highestRate","parseRate","lowestRate","ratesByRoom","values","map","name","occupationOptions","occupations","numFirstRangeChildren","numSecondRangeChildren","boardOptions","boards","totalBasePrice","totalLocalTaxes","totalPriceWithTaxes","localTaxes","formatPrice","netPrice","taxes","hotelIds","idTokenProvider","join","hotelNames","hotelName","bestAvailableRate","totalPrice","internalWithTaxes","dataLayerPush","getInitEvent","event","duettoRatesResponse","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/ratesResponse.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\nimport { ratesResponse as duettoRatesResponse } from './duetto';\nimport { getInitEvent, parseRate } from './helpers';\nimport { getOccupationTotals } from '../../../../components/helpers';\nimport { getFeatures } from '../../../../components/Rates/helpers';\nimport { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { dataLayerPush } from '../../helpers';\nimport { getRatesPriceRange } from '../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const ratesResponse = ({\n device: { mobile } = {},\n response: { calendar: calendarSuggestion, hotels, infantAge, tracking = {} } = {},\n store: {\n currency,\n finder: { calendar = [], occupation = [], place: { title: searchCategory } = {}, promocode = '' } = {},\n hotel: { accommodationType, features = {}, variants = {}, ...hotel } = {},\n id,\n language,\n session,\n type,\n urlParams,\n } = {},\n} = {}) => {\n // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------\n const {\n idchain,\n idoffers,\n idtokenprovider: hotelId, // ? TODO: Could we take it from store?\n roomTypeId,\n } = fetchUrlParams(location.search);\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n country,\n hotelInfo: { currency: hotelCurrency = {}, propertyName, propertyType } = {},\n hotelInfoBAR,\n localTaxesIncluded,\n rates,\n taxesIncluded,\n userCurrency: { value: userCurrencyValue } = {},\n } = tracking;\n\n const { adults = 0, children = 0 } = getOccupationTotals({ infantAge, occupation });\n const { minRate, maxRate } = getRatesPriceRange(rates, hotelCurrency);\n const { days: nights } = dateDiff(...calendar);\n const { showPricePerNight = false } = getFeatures(features, urlParams);\n\n const step = hotels && !calendarSuggestion && searchCategory ? 'CHAINRESULT' : 'BOOKINGSTEP1';\n const common = {\n ...(!rates && hotelInfoBAR?.length === 0 ? { availability: 'no' } : undefined),\n chainId: idchain,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n checkout: dateFormat(calendar[1], { format: 'DD/MM/YYYY' }),\n coupon: promocode,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n home: document.location.hostname,\n hotelId,\n idOffer: idoffers ? parseInt(idoffers) : undefined,\n idRoom: roomTypeId ? parseInt(roomTypeId) : undefined,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n multiroom: occupation.length > 1,\n numAdults: adults,\n numChildren: children,\n numRooms: occupation.length,\n pricePerNight: showPricePerNight,\n propertyName,\n propertyType,\n ...(!rates && hotelInfoBAR ? { searchCategory } : undefined),\n step,\n userCountry: country,\n userLogged: !!session,\n };\n\n const dataLayer = rates\n ? {\n ...common,\n currency: hotelCurrency.code,\n exchangeRate: userCurrencyValue && hotelCurrency.value && userCurrencyValue / hotelCurrency.value,\n highestRate: parseRate(maxRate, hotelCurrency, nights),\n localTaxesIncluded,\n lowestRate: parseRate(minRate, hotelCurrency, nights),\n nights,\n ratesByRoom: Object.values(rates).map(({ id, name, occupationOptions = {} } = {}) => ({\n id,\n name,\n occupations: Object.values(occupationOptions).map(\n ({ numAdults = 0, numFirstRangeChildren = 0, numSecondRangeChildren = 0, id, rates = {} } = {}) => ({\n adults: numAdults,\n children: numFirstRangeChildren + numSecondRangeChildren,\n id,\n rates: Object.values(rates).map(({ boardOptions = {}, id, name } = {}) => ({\n boards: Object.values(boardOptions).map(\n ({ id, name, totalBasePrice, totalLocalTaxes = 0, totalPriceWithTaxes } = {}) => ({\n id,\n localTaxes: formatPrice(totalLocalTaxes, hotelCurrency),\n name,\n netPrice: formatPrice(totalBasePrice, hotelCurrency),\n taxes: formatPrice(totalPriceWithTaxes - totalBasePrice, hotelCurrency),\n }),\n ),\n id,\n name,\n })),\n }),\n ),\n })),\n taxesIncluded,\n userCurrency: currency,\n }\n : hotelInfoBAR?.length > 0\n ? {\n ...common,\n availability: 'yes',\n exchangeRate:\n userCurrencyValue && hotelInfoBAR[0].currency.value && userCurrencyValue / hotelInfoBAR[0].currency.value,\n hotelIds: hotelInfoBAR.map(({ idTokenProvider } = {}) => idTokenProvider).join(','),\n hotelNames: hotelInfoBAR.map(({ hotelName } = {}) => hotelName).join(','),\n lowestRate: formatPrice(\n hotelInfoBAR[0].bestAvailableRate.totalPrice.internalWithTaxes / nights,\n hotelInfoBAR[0].currency,\n ),\n }\n : common;\n\n dataLayerPush(getInitEvent({ mobile, hotel: { accommodationType, variants, ...hotel }, id, step, type }));\n dataLayerPush({\n event: rates || hotelInfoBAR?.length > 0 ? 'mirai.Availability' : 'mirai.noAvailability',\n 'mirai.data': dataLayer,\n });\n duettoRatesResponse({ ...common, hotelCurrency, rates });\n\n return dataLayer;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ratesResponse.js","names":["_locale","require","_duetto","_helpers","_helpers2","_helpers3","_Core","_helpers4","_helpers5","_helpers6","_legacy","ACCOMMODATION_TYPE_NAME","Object","keys","ACCOMMODATION_TYPE","ratesResponse","_variants$hotelId","device","mobile","response","calendar","calendarSuggestion","hotels","infantAge","tracking","store","currency","finder","occupation","place","title","searchCategory","promocode","hotel","accommodationType","features","variants","id","language","session","type","urlParams","arguments","length","undefined","idchain","idoffers","idtokenprovider","hotelId","roomTypeId","fetchUrlParams","location","search","country","hotelInfo","hotelCurrency","propertyName","propertyType","hotelInfoBAR","localTaxesIncluded","rates","taxesIncluded","userCurrency","value","userCurrencyValue","adults","children","getOccupationTotals","minRate","maxRate","getRatesPriceRange","days","nights","dateDiff","showPricePerNight","getFeatures","step","common","availability","chainId","checkin","dateFormat","format","checkout","coupon","home","document","hostname","idOffer","parseInt","idRoom","lodgingDenomination","multiroom","numAdults","numChildren","numRooms","pricePerNight","userCountry","userLogged","dataLayer","code","exchangeRate","highestRate","parseRate","lowestRate","ratesByRoom","values","map","name","occupationOptions","occupations","numFirstRangeChildren","numSecondRangeChildren","boardOptions","boards","totalBasePrice","totalLocalTaxes","totalPriceWithTaxes","localTaxes","formatPrice","netPrice","taxes","hotelIds","idTokenProvider","join","hotelNames","hotelName","bestAvailableRate","totalPrice","internalWithTaxes","dataLayerPush","getInitEvent","event","duettoRatesResponse","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/ratesResponse.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\nimport { ratesResponse as duettoRatesResponse } from './duetto';\nimport { getInitEvent, parseRate } from './helpers';\nimport { getOccupationTotals } from '../../../../components/helpers';\nimport { getFeatures } from '../../../../components/Rates/helpers';\nimport { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { dataLayerPush } from '../../helpers';\nimport { getRatesPriceRange } from '../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const ratesResponse = ({\n device: { mobile } = {},\n response: { calendar: calendarSuggestion, hotels, infantAge, tracking = {} } = {},\n store: {\n currency,\n finder: { calendar = [], occupation = [], place: { title: searchCategory } = {}, promocode = '' } = {},\n hotel: { accommodationType, features = {}, variants = {} } = {},\n id,\n language,\n session,\n type,\n urlParams,\n } = {},\n} = {}) => {\n // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------\n const {\n idchain,\n idoffers,\n idtokenprovider: hotelId, // ? TODO: Could we take it from store?\n roomTypeId,\n } = fetchUrlParams(location.search);\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n country,\n hotelInfo: { currency: hotelCurrency = {}, propertyName, propertyType } = {},\n hotelInfoBAR,\n localTaxesIncluded,\n rates,\n taxesIncluded,\n userCurrency: { value: userCurrencyValue } = {},\n } = tracking;\n\n const { adults = 0, children = 0 } = getOccupationTotals({ infantAge, occupation });\n const { minRate, maxRate } = getRatesPriceRange(rates, hotelCurrency);\n const { days: nights } = dateDiff(...calendar);\n const { showPricePerNight = false } = getFeatures(features, urlParams);\n\n const step = hotels && !calendarSuggestion && searchCategory ? 'CHAINRESULT' : 'BOOKINGSTEP1';\n const common = {\n ...(!rates && hotelInfoBAR?.length === 0 ? { availability: 'no' } : undefined),\n chainId: idchain,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n checkout: dateFormat(calendar[1], { format: 'DD/MM/YYYY' }),\n coupon: promocode,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n home: document.location.hostname,\n hotelId,\n idOffer: idoffers ? parseInt(idoffers) : undefined,\n idRoom: roomTypeId ? parseInt(roomTypeId) : undefined,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n multiroom: occupation.length > 1,\n numAdults: adults,\n numChildren: children,\n numRooms: occupation.length,\n pricePerNight: showPricePerNight,\n propertyName,\n propertyType,\n ...(!rates && hotelInfoBAR ? { searchCategory } : undefined),\n step,\n userCountry: country,\n userLogged: !!session,\n };\n\n const dataLayer = rates\n ? {\n ...common,\n currency: hotelCurrency.code,\n exchangeRate: userCurrencyValue && hotelCurrency.value && userCurrencyValue / hotelCurrency.value,\n highestRate: parseRate(maxRate, hotelCurrency, nights),\n localTaxesIncluded,\n lowestRate: parseRate(minRate, hotelCurrency, nights),\n nights,\n ratesByRoom: Object.values(rates).map(({ id, name, occupationOptions = {} } = {}) => ({\n id,\n name,\n occupations: Object.values(occupationOptions).map(\n ({ numAdults = 0, numFirstRangeChildren = 0, numSecondRangeChildren = 0, id, rates = {} } = {}) => ({\n adults: numAdults,\n children: numFirstRangeChildren + numSecondRangeChildren,\n id,\n rates: Object.values(rates).map(({ boardOptions = {}, id, name } = {}) => ({\n boards: Object.values(boardOptions).map(\n ({ id, name, totalBasePrice, totalLocalTaxes = 0, totalPriceWithTaxes } = {}) => ({\n id,\n localTaxes: formatPrice(totalLocalTaxes, hotelCurrency),\n name,\n netPrice: formatPrice(totalBasePrice, hotelCurrency),\n taxes: formatPrice(totalPriceWithTaxes - totalBasePrice, hotelCurrency),\n }),\n ),\n id,\n name,\n })),\n }),\n ),\n })),\n taxesIncluded,\n userCurrency: currency,\n }\n : hotelInfoBAR?.length > 0\n ? {\n ...common,\n availability: 'yes',\n exchangeRate:\n userCurrencyValue && hotelInfoBAR[0].currency.value && userCurrencyValue / hotelInfoBAR[0].currency.value,\n hotelIds: hotelInfoBAR.map(({ idTokenProvider } = {}) => idTokenProvider).join(','),\n hotelNames: hotelInfoBAR.map(({ hotelName } = {}) => hotelName).join(','),\n lowestRate: formatPrice(\n hotelInfoBAR[0].bestAvailableRate.totalPrice.internalWithTaxes / nights,\n hotelInfoBAR[0].currency,\n ),\n }\n : common;\n\n dataLayerPush(getInitEvent({ mobile, hotel: { accommodationType, id: hotelId, variants }, id, step, type }));\n dataLayerPush({\n event: rates || hotelInfoBAR?.length > 0 ? 'mirai.Availability' : 'mirai.noAvailability',\n 'mirai.data': dataLayer,\n });\n duettoRatesResponse({ ...common, hotelCurrency, rates });\n\n return dataLayer;\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.4.308",
3
+ "version": "0.4.310",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",